summaryrefslogtreecommitdiffstats
path: root/src/responder/common/responder.h
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2012-03-07 18:05:06 -0500
committerStephen Gallagher <sgallagh@redhat.com>2012-03-09 14:22:49 -0500
commit5a05130ba12de25cceb51462c95f7a8082538328 (patch)
tree0d8468093ed59f777f4d61fe6220157509d2eddd /src/responder/common/responder.h
parent24b34aaa810a1bf641f19b714a80f66f97f1b1a3 (diff)
downloadsssd-5a05130ba12de25cceb51462c95f7a8082538328.tar.gz
sssd-5a05130ba12de25cceb51462c95f7a8082538328.tar.xz
sssd-5a05130ba12de25cceb51462c95f7a8082538328.zip
Use the correct hash table for pending requests
The function that handled pending requests on reconnect was checking an orphaned global variable that was never used, redenring the whole function uselsess. This fixes a very nasty bug that was causing requests for which we never received an answer for (for example because the backend failed and was restarted) to be never removed and therefore causing a black hole effect for any other request of the same type. Fixes: https://fedorahosted.org/sssd/ticket/1229
Diffstat (limited to 'src/responder/common/responder.h')
-rw-r--r--src/responder/common/responder.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/responder/common/responder.h b/src/responder/common/responder.h
index 619ae46ef..1309c14da 100644
--- a/src/responder/common/responder.h
+++ b/src/responder/common/responder.h
@@ -56,10 +56,14 @@ struct cli_protocol_version {
const char *description;
};
+struct resp_ctx;
+
struct be_conn {
struct be_conn *next;
struct be_conn *prev;
+ struct resp_ctx *rctx;
+
const char *cli_name;
struct sss_domain_info *domain;
@@ -188,7 +192,7 @@ struct dp_callback_ctx {
struct cli_ctx *cctx;
};
-void handle_requests_after_reconnect(void);
+void handle_requests_after_reconnect(struct resp_ctx *rctx);
int responder_logrotate(DBusMessage *message,
struct sbus_connection *conn);