r9090: Another field in usermod function - account flags.
authorRafal Szczesniak <mimir@samba.org>
Fri, 5 Aug 2005 01:23:06 +0000 (01:23 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:31:15 +0000 (13:31 -0500)
rafal
(This used to be commit f0d51b78c040937bd27857c063fae215a3f0f465)

source4/libnet/composite.h
source4/libnet/userman.c
source4/torture/libnet/userman.c

index 85aa1c08e1002602a6a5e862b35e0d24e1fb5bb6..6d805812c001a59f4989a4ff02648e8841410db7 100644 (file)
@@ -87,6 +87,7 @@ struct libnet_rpc_usermod {
                        struct timeval *acct_expiry;
                        struct timeval *allow_password_change;
                        struct timeval *force_password_change;
+                       uint32_t acct_flags;
                } change;
        } in;
 };
index 3482bba18e0c2500aec64e7fdc7ad04e61a87021..13d9b1330b635b933432d79d1ac39f31d6bfccbd 100644 (file)
@@ -578,6 +578,12 @@ static uint32_t usermod_setfields(struct usermod_state *s, uint16_t *level,
                        i->info17.acct_expiry = timeval_to_nttime(s->change.acct_expiry);
 
                        s->change.fields ^= USERMOD_FIELD_ACCT_EXPIRY;
+
+               } else if (s->change.fields & USERMOD_FIELD_ACCT_FLAGS) {
+                       *level = 16;
+                       i->info16.acct_flags = s->change.acct_flags;
+
+                       s->change.fields ^= USERMOD_FIELD_ACCT_FLAGS;
                }
        }
 
index 169e7fa4a6774be6a0cea5f4a23660d6c6b79d3b..8ddd9566084e9d5e31d4a266aa74c6cfec2d10a1 100644 (file)
@@ -422,15 +422,15 @@ BOOL torture_usermod(void)
        struct timeval force  = { 33333, 55444 };
 
        struct usermod_change changes[] = {
-               { USERMOD_FIELD_ACCOUNT_NAME,   "changed", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
-               { USERMOD_FIELD_FULL_NAME,      NULL, "Testing full account name", NULL, NULL, NULL, NULL, NULL, NULL, NULL },
-               { USERMOD_FIELD_DESCRIPTION,    NULL, NULL, "Description of tested account", NULL, NULL, NULL, NULL, NULL, NULL },
-               { USERMOD_FIELD_COMMENT,        NULL, NULL, NULL, "Comment for the tested account", NULL, NULL, NULL, NULL, NULL },
-               { USERMOD_FIELD_LOGON_SCRIPT,   NULL, NULL, NULL, NULL, "test_logon.cmd", NULL, NULL, NULL, NULL },
-               { USERMOD_FIELD_PROFILE_PATH,   NULL, NULL, NULL, NULL, NULL, "\\\\TESTSRV\\profiles\\test", NULL, NULL, NULL },
-               { USERMOD_FIELD_ACCT_EXPIRY,    NULL, NULL, NULL, NULL, NULL, NULL, &expiry, NULL, NULL },
-               { USERMOD_FIELD_ALLOW_PASS_CHG, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &allow, NULL },
-               { USERMOD_FIELD_FORCE_PASS_CHG, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &force }
+               { USERMOD_FIELD_ACCOUNT_NAME,   "changed", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0 },
+               { USERMOD_FIELD_FULL_NAME,      NULL, "Testing full account name", NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0 },
+               { USERMOD_FIELD_DESCRIPTION,    NULL, NULL, "Description of tested account", NULL, NULL, NULL, NULL, NULL, NULL, 0 },
+               { USERMOD_FIELD_COMMENT,        NULL, NULL, NULL, "Comment for the tested account", NULL, NULL, NULL, NULL, NULL, 0 },
+               { USERMOD_FIELD_LOGON_SCRIPT,   NULL, NULL, NULL, NULL, "test_logon.cmd", NULL, NULL, NULL, NULL, 0 },
+               { USERMOD_FIELD_PROFILE_PATH,   NULL, NULL, NULL, NULL, NULL, "\\\\TESTSRV\\profiles\\test", NULL, NULL, NULL, 0 },
+               { USERMOD_FIELD_ACCT_EXPIRY,    NULL, NULL, NULL, NULL, NULL, NULL, &expiry, NULL, NULL, 0 },
+               { USERMOD_FIELD_ALLOW_PASS_CHG, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &allow, NULL, 0 },
+               { USERMOD_FIELD_FORCE_PASS_CHG, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &force, ACB_NORMAL }
        };
        
        mem_ctx = talloc_init("test_userdel");