r1171: Patch from "Lu, Jianliang" <Jianliang.Lu@getronics.com> to
authorJeremy Allison <jra@samba.org>
Wed, 16 Jun 2004 18:05:47 +0000 (18:05 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:51:58 +0000 (10:51 -0500)
reset password counts when account is reset.
Jeremy.
(This used to be commit 6fb64d8b368d1b24768c5817d5deac1e502e694a)

source3/rpc_server/srv_samr_util.c

index 417a712036a8c23121067e92a9d4f849ecb78d83..8cc44074abec64d4c141d1d9b5f1bd81f62ea62f 100644 (file)
@@ -240,6 +240,12 @@ void copy_id21_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_21 *from)
        if (from->fields_present & ACCT_FLAGS) {
                DEBUG(10,("INFO_21 ACCT_CTRL: %08X -> %08X\n",pdb_get_acct_ctrl(to),from->acb_info));
                if (from->acb_info != pdb_get_acct_ctrl(to)) {
+                       if (!(from->acb_info & ACB_AUTOLOCK) && (pdb_get_acct_ctrl(to) & ACB_AUTOLOCK)) {
+                               /* We're unlocking a previously locked user. Reset bad password counts.
+                                  Patch from Jianliang Lu. <Jianliang.Lu@getronics.com> */
+                               pdb_set_bad_password_count(to, 0, PDB_CHANGED);
+                               pdb_set_bad_password_time(to, 0, PDB_CHANGED);
+                       }
                        pdb_set_acct_ctrl(to, from->acb_info, PDB_CHANGED);
                }
        }