summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_pam.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-11-13 17:19:11 +0100
committerGünther Deschner <gd@samba.org>2008-11-13 17:33:18 +0100
commit6a61580617b0bd2cf46d4857dd0e87b3e48288f6 (patch)
treebf82ecc54c2145fd5af6309819bc83c2ddee9d46 /source3/winbindd/winbindd_pam.c
parent85dec6917184a024f9b76ea6f6654227e6457af3 (diff)
downloadsamba-6a61580617b0bd2cf46d4857dd0e87b3e48288f6.tar.gz
samba-6a61580617b0bd2cf46d4857dd0e87b3e48288f6.tar.bz2
samba-6a61580617b0bd2cf46d4857dd0e87b3e48288f6.zip
s3-winbindd: workaround for samr_ChangePasswordUser3 to User2 fallback for w2k dcs.
Guenther
Diffstat (limited to 'source3/winbindd/winbindd_pam.c')
-rw-r--r--source3/winbindd/winbindd_pam.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c
index 7de28b08a9..597d48aad0 100644
--- a/source3/winbindd/winbindd_pam.c
+++ b/source3/winbindd/winbindd_pam.c
@@ -2117,9 +2117,15 @@ enum winbindd_result winbindd_dual_pam_chauthtok(struct winbindd_domain *contact
got_info = true;
}
+ /* atm the pidl generated rpccli_samr_ChangePasswordUser3 function will
+ * return with NT_STATUS_BUFFER_TOO_SMALL for w2k dcs as w2k just
+ * returns with 4byte error code (NT_STATUS_NOT_SUPPORTED) which is too
+ * short to comply with the samr_ChangePasswordUser3 idl - gd */
+
/* only fallback when the chgpasswd_user3 call is not supported */
if ((NT_STATUS_EQUAL(result, NT_STATUS(DCERPC_FAULT_OP_RNG_ERROR))) ||
(NT_STATUS_EQUAL(result, NT_STATUS_NOT_SUPPORTED)) ||
+ (NT_STATUS_EQUAL(result, NT_STATUS_BUFFER_TOO_SMALL)) ||
(NT_STATUS_EQUAL(result, NT_STATUS_NOT_IMPLEMENTED))) {
DEBUG(10,("Password change with chgpasswd_user3 failed with: %s, retrying chgpasswd_user2\n",