summaryrefslogtreecommitdiff
path: root/source3/nsswitch/wbinfo.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2002-02-05 09:40:36 +0000
committerAndrew Bartlett <abartlet@samba.org>2002-02-05 09:40:36 +0000
commited389ee8dc9246b2d6c4e483cee16f7255b9a7f5 (patch)
tree7cb6e1a429f7e996f051f75f91cef2ffe4d69f24 /source3/nsswitch/wbinfo.c
parent209467ece15e2942c5105042f639e16b96fb8d3b (diff)
downloadsamba-ed389ee8dc9246b2d6c4e483cee16f7255b9a7f5.tar.gz
samba-ed389ee8dc9246b2d6c4e483cee16f7255b9a7f5.tar.bz2
samba-ed389ee8dc9246b2d6c4e483cee16f7255b9a7f5.zip
Drastic impromvents to pam_winbind.
This adds code to do generic PAM -> NTSTATUS and NTSTATUS -> PAM error conversions, and uses them to make the error handling in pam_winbind sane. In particular, pam_winbind now uses PAM error codes, not silly '-1, -2 ...' stuff, and logs the NTSTATUS error that winbind now sends over the pipe. Added code to wbinfo to display these - makes a big difference in debugging winbindd. The main change here is the code to allow pam_winbind password changing to correctly stack - This code ripped from pam_unix, and the copyright attached. (Same as for all pam modules, including pam_winbind) Andrew Bartlett (This used to be commit dc1a72f896b83bc1ad3c7bf6c12c36ace3967280)
Diffstat (limited to 'source3/nsswitch/wbinfo.c')
-rw-r--r--source3/nsswitch/wbinfo.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/nsswitch/wbinfo.c b/source3/nsswitch/wbinfo.c
index 32a3c95113..93c73f6095 100644
--- a/source3/nsswitch/wbinfo.c
+++ b/source3/nsswitch/wbinfo.c
@@ -389,6 +389,8 @@ static BOOL wbinfo_auth(char *username)
printf("plaintext password authentication %s\n",
(result == NSS_STATUS_SUCCESS) ? "succeeded" : "failed");
+ printf("error code was %s (HEX: %x)\n", response.data.auth.nt_status_string, response.data.auth.nt_status);
+
return result == NSS_STATUS_SUCCESS;
}
@@ -439,6 +441,10 @@ static BOOL wbinfo_auth_crap(char *username)
printf("challenge/response password authentication %s\n",
(result == NSS_STATUS_SUCCESS) ? "succeeded" : "failed");
+ printf("error code was %s (HEX: %x)\n",
+ response.data.auth.nt_status_string,
+ response.data.auth.nt_status);
+
return result == NSS_STATUS_SUCCESS;
}