diff options
author | Volker Lendecke <vl@samba.org> | 2010-04-23 19:44:05 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2010-04-23 23:41:05 +0200 |
commit | 7099a3c446aa7a4de42c7cffa9b409f319f0ec76 (patch) | |
tree | d624bb4d2f842807d9f6d5ab7e8742b317d53360 | |
parent | f43d1827f389e458d9430bddac7344c8117515c1 (diff) | |
download | samba-7099a3c446aa7a4de42c7cffa9b409f319f0ec76.tar.gz samba-7099a3c446aa7a4de42c7cffa9b409f319f0ec76.tar.bz2 samba-7099a3c446aa7a4de42c7cffa9b409f319f0ec76.zip |
s3: Allow pdb password change using WINBINDD_PAM_CHNG_PSWD_AUTH_CRAP
-rw-r--r-- | source3/winbindd/winbindd_pam.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c index 334187ca7b..aea2a2a34f 100644 --- a/source3/winbindd/winbindd_pam.c +++ b/source3/winbindd/winbindd_pam.c @@ -2185,6 +2185,21 @@ enum winbindd_result winbindd_dual_pam_chng_pswd_auth_crap(struct winbindd_domai DEBUG(3, ("[%5lu]: pam auth crap domain: %s user: %s\n", (unsigned long)state->pid, domain, user)); + if (strequal(domain, get_global_sam_name())) { + enum samPwdChangeReason reject_reason; + + result = pass_oem_change( + user, + state->request->data.chng_pswd_auth_crap.new_lm_pswd, + state->request->data.chng_pswd_auth_crap.old_lm_hash_enc, + state->request->data.chng_pswd_auth_crap.new_nt_pswd, + state->request->data.chng_pswd_auth_crap.old_nt_hash_enc, + &reject_reason); + DEBUG(10, ("pass_oem_change returned %s\n", + nt_errstr(result))); + goto done; + } + /* Change password */ new_nt_password = data_blob_const( state->request->data.chng_pswd_auth_crap.new_nt_pswd, |