summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2010-07-23 15:45:46 +0200
committerStephen Gallagher <sgallagh@redhat.com>2010-10-08 19:51:16 -0400
commit37c1fabc077375ed2f40ba1f5fa6274ba281c133 (patch)
tree7a8b066af6ef7b22bf35c4e765dc7a356fc5954b
parent296b412b677bf8d9ab9723548bc6e38d43bb9bc6 (diff)
downloadsssd-37c1fabc077375ed2f40ba1f5fa6274ba281c133.tar.gz
sssd-37c1fabc077375ed2f40ba1f5fa6274ba281c133.tar.xz
sssd-37c1fabc077375ed2f40ba1f5fa6274ba281c133.zip
Allow sssd clients to reconnect
Currently the PAM and NSS client just return an error if there are problems on an open socket. This will lead to problems in long running programs like gdm if sssd is restarted, e.g. during an update. With this patch the socket is closed and reopened.
-rw-r--r--src/sss_client/common.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/sss_client/common.c b/src/sss_client/common.c
index a4856e088..6b79c7830 100644
--- a/src/sss_client/common.c
+++ b/src/sss_client/common.c
@@ -607,12 +607,11 @@ static enum sss_status sss_cli_check_socket(int *errnop, const char *socket_name
*errnop = EBADF;
break;
}
- if (*errnop) {
- sss_cli_close_socket();
- return SSS_STATUS_UNAVAIL;
+ if (*errnop == 0) {
+ return SSS_STATUS_SUCCESS;
}
- return SSS_STATUS_SUCCESS;
+ sss_cli_close_socket();
}
mysd = sss_nss_open_socket(errnop, socket_name);