s3: Allow pdb password change using WINBINDD_PAM_CHNG_PSWD_AUTH_CRAP
authorVolker Lendecke <vl@samba.org>
Fri, 23 Apr 2010 17:44:05 +0000 (19:44 +0200)
committerVolker Lendecke <vl@samba.org>
Fri, 23 Apr 2010 21:41:05 +0000 (23:41 +0200)
source3/winbindd/winbindd_pam.c

index 334187ca7b876cc4102da9bf06f799da1d608875..aea2a2a34f3cb2a9fdfac2ec9676b66126a1e017 100644 (file)
@@ -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,