Revert Flag testing upon abartlet's request ;-)
authorVolker Lendecke <vlendec@samba.org>
Fri, 7 Feb 2003 08:02:18 +0000 (08:02 +0000)
committerVolker Lendecke <vlendec@samba.org>
Fri, 7 Feb 2003 08:02:18 +0000 (08:02 +0000)
Volker
(This used to be commit e8f751fe84cbd20934116d5213f9bb1850aa9dfa)

source3/utils/pdbedit.c

index 4d2df74dd63f9c8e9116ebf2b3f3e765cba97bdc..ee269114c99e372185ffbd69ddc43c8e9511d3ce 100644 (file)
@@ -260,17 +260,19 @@ static int set_user_info (struct pdb_context *in, const char *username,
                pdb_set_profile_path (sam_pwent, profile, PDB_CHANGED);
 
        if (account_control) {
-               uint16 types = ACB_NORMAL|ACB_MNS|ACB_DOMTRUST|ACB_WSTRUST|ACB_SVRTRUST;
+               uint16 not_settable = ~(ACB_DISABLED|ACB_HOMDIRREQ|ACB_PWNOTREQ|
+                                       ACB_PWNOEXP|ACB_AUTOLOCK);
+
                uint16 newflag = pdb_decode_acct_ctrl(account_control);
 
-               if (newflag & types) {
+               if (newflag & not_settable) {
                        fprintf(stderr, "Can only set [NDHLX] flags\n");
                        pdb_free_sam(&sam_pwent);
                        return -1;
                }
 
                pdb_set_acct_ctrl(sam_pwent,
-                                 (pdb_get_acct_ctrl(sam_pwent) & types) | newflag,
+                                 (pdb_get_acct_ctrl(sam_pwent) & not_settable) | newflag,
                                  PDB_CHANGED);
        }