summaryrefslogtreecommitdiff
path: root/source3/nsswitch/pam_winbind.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-03-19 21:04:56 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:18:42 -0500
commit3fdef9433a9e08064b32e34a16ce62a60ce144fb (patch)
treec035739e6b8a7c4b57d937fe25961b9e469b4b60 /source3/nsswitch/pam_winbind.c
parent7c09cfd0806d24e89f4dc9714a9efe09758e6f12 (diff)
downloadsamba-3fdef9433a9e08064b32e34a16ce62a60ce144fb.tar.gz
samba-3fdef9433a9e08064b32e34a16ce62a60ce144fb.tar.bz2
samba-3fdef9433a9e08064b32e34a16ce62a60ce144fb.zip
r21878: Fix a bug with smbd serving a windows terminal server: If winbind decides smbd
to be idle it might happen that smbd needs to do a winbind operation (for example sid2name) as non-root. This then fails to get the privileged pipe. When later on on the same connection another authentication request comes in, we try to do the CRAP auth via the non-privileged pipe. This adds a winbindd_priv_request_response() request that kills the existing winbind pipe connection if it's not privileged. Volker (This used to be commit e5741e27c4c22702c9f8b07877641fecc7eef39c)
Diffstat (limited to 'source3/nsswitch/pam_winbind.c')
-rw-r--r--source3/nsswitch/pam_winbind.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source3/nsswitch/pam_winbind.c b/source3/nsswitch/pam_winbind.c
index e16f44dff5..66f9a09314 100644
--- a/source3/nsswitch/pam_winbind.c
+++ b/source3/nsswitch/pam_winbind.c
@@ -436,7 +436,7 @@ static int pam_winbind_request(pam_handle_t * pamh, int ctrl,
/* Fill in request and send down pipe */
init_request(request, req_type);
- if (write_sock(request, sizeof(*request), 0) == -1) {
+ if (write_sock(request, sizeof(*request), 0, 1) == -1) {
_pam_log(pamh, ctrl, LOG_ERR, "pam_winbind_request: write to socket failed!");
close_sock();
return PAM_SERVICE_ERR;