summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2012-12-13 18:13:06 -0500
committerJakub Hrozek <jhrozek@redhat.com>2012-12-14 17:23:56 +0100
commit927c089ba7799a0d006769bf3a09f769966b068b (patch)
tree30ca11fe61fe5ae780804068882079ab060ad6c1
parent270fcd0ad214d490b6b8e278cdbafda1fb7f9d8f (diff)
downloadsssd-927c089ba7799a0d006769bf3a09f769966b068b.tar.gz
sssd-927c089ba7799a0d006769bf3a09f769966b068b.tar.xz
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
-rw-r--r--src/responder/pam/pamsrv.c5
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 */