summaryrefslogtreecommitdiffstats
path: root/src/responder/nss
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2010-10-22 12:01:23 +0200
committerStephen Gallagher <sgallagh@redhat.com>2010-10-26 08:00:21 -0400
commit4967fe0bc52580f7e96974e30d3cf2f33fadaabe (patch)
tree670e9a767e483f6e4af045d2d5fb4f65e4be4142 /src/responder/nss
parent04feeade1f6259368a6b23c6b3ecbad261161659 (diff)
downloadsssd-4967fe0bc52580f7e96974e30d3cf2f33fadaabe.tar.gz
sssd-4967fe0bc52580f7e96974e30d3cf2f33fadaabe.tar.xz
sssd-4967fe0bc52580f7e96974e30d3cf2f33fadaabe.zip
Remove all nss requests after a reconnect
Currently we do not handle the open nss request after a reconnect and wait until they timeout (which is a couple of minutes!). This patch adds a handler that terminates all requests after a reconnect. Then responder will return matching cache entries or nothing.
Diffstat (limited to 'src/responder/nss')
-rw-r--r--src/responder/nss/nsssrv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/responder/nss/nsssrv.c b/src/responder/nss/nsssrv.c
index 4f5aa6293..dfb0312e8 100644
--- a/src/responder/nss/nsssrv.c
+++ b/src/responder/nss/nsssrv.c
@@ -39,6 +39,7 @@
#include "dbus/dbus.h"
#include "sbus/sssd_dbus.h"
#include "responder/common/responder_packet.h"
+#include "responder/common/responder.h"
#include "providers/data_provider.h"
#include "monitor/monitor_interfaces.h"
#include "sbus/sbus_client.h"
@@ -143,7 +144,10 @@ static void nss_dp_reconnect_init(struct sbus_connection *conn,
DATA_PROVIDER_VERSION,
"NSS");
/* all fine */
- if (ret == EOK) return;
+ if (ret == EOK) {
+ handle_requests_after_reconnect();
+ return;
+ }
}
/* Failed to reconnect */