summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2012-12-13 18:13:06 -0500
committerJakub Hrozek <jhrozek@redhat.com>2013-01-29 11:41:39 +0100
commit24fff3b6fb04811bca0bfe8fdd4c1a851b889f70 (patch)
tree5fa2d846eb1a285cd7ac8f451d7204e2e333d502
parent6732ee28efb96f01ae71e71b8464129193e7a4a4 (diff)
downloadsssd-24fff3b6fb04811bca0bfe8fdd4c1a851b889f70.tar.gz
sssd-24fff3b6fb04811bca0bfe8fdd4c1a851b889f70.tar.xz
sssd-24fff3b6fb04811bca0bfe8fdd4c1a851b889f70.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 2786fe4e0..e0dac2aff 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 */