diff options
author | Simo Sorce <simo@redhat.com> | 2012-12-13 18:13:06 -0500 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2012-12-14 17:23:56 +0100 |
commit | 927c089ba7799a0d006769bf3a09f769966b068b (patch) | |
tree | 30ca11fe61fe5ae780804068882079ab060ad6c1 /src/responder/pam | |
parent | 270fcd0ad214d490b6b8e278cdbafda1fb7f9d8f (diff) | |
download | sssd-927c089ba7799a0d006769bf3a09f769966b068b.tar.gz sssd-927c089ba7799a0d006769bf3a09f769966b068b.tar.bz2 sssd-927c089ba7799a0d006769bf3a09f769966b068b.zip |
sssd_pam: Cleanup requests cache on sbus reconect
The pam responder was not properly configured to recover from a backend
disconnect. The connections that were in flight before the disconnection
were never freed and new requests for the same user would just pile up on
top of the now phantom requests.
Fixes: https://fedorahosted.org/sssd/ticket/1655
Diffstat (limited to 'src/responder/pam')
-rw-r--r-- | src/responder/pam/pamsrv.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/responder/pam/pamsrv.c b/src/responder/pam/pamsrv.c index c608f581..f877c4f0 100644 --- a/src/responder/pam/pamsrv.c +++ b/src/responder/pam/pamsrv.c @@ -91,7 +91,10 @@ static void pam_dp_reconnect_init(struct sbus_connection *conn, int status, void DATA_PROVIDER_VERSION, "PAM"); /* all fine */ - if (ret == EOK) return; + if (ret == EOK) { + handle_requests_after_reconnect(be_conn->rctx); + return; + } } /* Handle failure */ |