summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2006-03-17 14:18:05 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:15:35 -0500
commita22d8d987c2b6c373d5f7db6f1afa5e701ebfef2 (patch)
tree3f1f978b64cc94cd10a5fd0f2aeed37c373c971d /source3
parent0342db7e87f4c98da4051e9fc7a8abf1e36218d0 (diff)
downloadsamba-a22d8d987c2b6c373d5f7db6f1afa5e701ebfef2.tar.gz
samba-a22d8d987c2b6c373d5f7db6f1afa5e701ebfef2.tar.bz2
samba-a22d8d987c2b6c373d5f7db6f1afa5e701ebfef2.zip
r14513: Fix winbindd_chauthtok: only fallback when the chgpasswd3 call is not
supported. Is there a better way to check for the 0x1c010002 status code? Guenther (This used to be commit c7268dc9ac304e1b6dac80762087a57484906103)
Diffstat (limited to 'source3')
-rw-r--r--source3/nsswitch/winbindd_pam.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/source3/nsswitch/winbindd_pam.c b/source3/nsswitch/winbindd_pam.c
index e2b4297564..8b400fc1f1 100644
--- a/source3/nsswitch/winbindd_pam.c
+++ b/source3/nsswitch/winbindd_pam.c
@@ -1655,8 +1655,11 @@ void winbindd_pam_chauthtok(struct winbindd_cli_state *state)
reject.reject_reason;
got_info = True;
-
- } else if (!NT_STATUS_IS_OK(result)) {
+
+ /* only fallback when the chgpasswd3 call is not supported */
+ } else if ((result.v == 0x1c010002) ||
+ (NT_STATUS_EQUAL(result, NT_STATUS_NOT_SUPPORTED)) ||
+ (NT_STATUS_EQUAL(result, NT_STATUS_NOT_IMPLEMENTED))) {
DEBUG(10,("Password change with chgpasswd3 failed with: %s, retrying chgpasswd_user\n",
nt_errstr(result)));