summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Kos <okos@redhat.com>2013-08-05 16:34:33 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-08-24 18:21:41 +0200
commit23c12381cb56f10e65d41cbc18707f15ba175562 (patch)
treea32c275f443eaa458e9df40fef4db4cc8352aae9
parentfff52809d201ed6e710a3f8de212a34ee27369f2 (diff)
downloadsssd-23c12381cb56f10e65d41cbc18707f15ba175562.tar.gz
sssd-23c12381cb56f10e65d41cbc18707f15ba175562.tar.xz
sssd-23c12381cb56f10e65d41cbc18707f15ba175562.zip
DP: Notify propperly when removing PAC responder
Adds pac_cli be_client structure pointer, to indetify and log the PAC responder termination correctly.
-rw-r--r--src/providers/data_provider_be.c5
-rw-r--r--src/providers/dp_backend.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c
index 1e11bfd24..0d6e10dc9 100644
--- a/src/providers/data_provider_be.c
+++ b/src/providers/data_provider_be.c
@@ -2063,6 +2063,9 @@ static int be_client_destructor(void *ctx)
} else if (becli->bectx->ssh_cli == becli) {
DEBUG(SSSDBG_TRACE_FUNC, ("Removed SSH client\n"));
becli->bectx->ssh_cli = NULL;
+ } else if (becli->bectx->pac_cli == becli) {
+ DEBUG(SSSDBG_TRACE_FUNC, ("Removed PAC client\n"));
+ becli->bectx->pac_cli = NULL;
} else {
DEBUG(SSSDBG_CRIT_FAILURE, ("Unknown client removed ...\n"));
}
@@ -2118,7 +2121,7 @@ static int client_registration(DBusMessage *message,
} else if (strcasecmp(cli_name, "SSH") == 0) {
becli->bectx->ssh_cli = becli;
} else if (strcasecmp(cli_name, "PAC") == 0) {
- /* no need to set becli */
+ becli->bectx->pac_cli = becli;
} else {
DEBUG(1, ("Unknown client! [%s]\n", cli_name));
}
diff --git a/src/providers/dp_backend.h b/src/providers/dp_backend.h
index 638b878c2..62068f5f1 100644
--- a/src/providers/dp_backend.h
+++ b/src/providers/dp_backend.h
@@ -138,6 +138,7 @@ struct be_ctx {
struct be_client *sudo_cli;
struct be_client *autofs_cli;
struct be_client *ssh_cli;
+ struct be_client *pac_cli;
struct loaded_be loaded_be[BET_MAX];
struct bet_info bet_info[BET_MAX];