mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
r9037: New fields in usermod function - allow_password_change and
force_password_change datetime.
rafal
(This used to be commit dfa2cc6c4e
)
This commit is contained in:
parent
31867a9714
commit
9d7d5ea229
source4
@ -67,6 +67,7 @@ struct libnet_rpc_userdel {
|
||||
#define USERMOD_FIELD_PROFILE_PATH ( 0x00000200 )
|
||||
#define USERMOD_FIELD_ACCT_EXPIRY ( 0x00004000 )
|
||||
#define USERMOD_FIELD_ALLOW_PASS_CHG ( 0x00008000 )
|
||||
#define USERMOD_FIELD_FORCE_PASS_CHG ( 0x00010000 )
|
||||
#define USERMOD_FIELD_ACCT_FLAGS ( 0x00100000 )
|
||||
|
||||
struct libnet_rpc_usermod {
|
||||
@ -85,6 +86,7 @@ struct libnet_rpc_usermod {
|
||||
const char *profile_path;
|
||||
struct timeval *acct_expiry;
|
||||
struct timeval *allow_password_change;
|
||||
struct timeval *force_password_change;
|
||||
} change;
|
||||
} in;
|
||||
};
|
||||
|
@ -546,6 +546,19 @@ static uint32_t usermod_setfields(struct usermod_state *s, uint16_t *level,
|
||||
|
||||
} else {
|
||||
s->stage = USERMOD_QUERY;
|
||||
return s->change.fields;
|
||||
}
|
||||
|
||||
} else if (s->change.fields & USERMOD_FIELD_FORCE_PASS_CHG) {
|
||||
*level = 3;
|
||||
|
||||
if (s->stage == USERMOD_QUERY) {
|
||||
i->info3.force_password_change = timeval_to_nttime(s->change.force_password_change);
|
||||
s->change.fields ^= USERMOD_FIELD_FORCE_PASS_CHG;
|
||||
|
||||
} else {
|
||||
s->stage = USERMOD_QUERY;
|
||||
return s->change.fields;
|
||||
}
|
||||
|
||||
} else if (s->change.fields & USERMOD_FIELD_LOGON_SCRIPT) {
|
||||
|
@ -418,15 +418,19 @@ BOOL torture_usermod(void)
|
||||
int i;
|
||||
|
||||
struct timeval expiry = { 12345, 67890 };
|
||||
struct timeval allow = { 67890, 12345 };
|
||||
struct timeval force = { 33333, 55444 };
|
||||
|
||||
struct usermod_change changes[] = {
|
||||
{ USERMOD_FIELD_ACCOUNT_NAME, "changed", NULL, NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ USERMOD_FIELD_FULL_NAME, NULL, "Testing full account name", NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ USERMOD_FIELD_DESCRIPTION, NULL, NULL, "Description of tested account", NULL, NULL, NULL, NULL, NULL },
|
||||
{ USERMOD_FIELD_COMMENT, NULL, NULL, NULL, "Comment for the tested account", NULL, NULL, NULL, NULL },
|
||||
{ USERMOD_FIELD_LOGON_SCRIPT, NULL, NULL, NULL, NULL, "test_logon.cmd", NULL, NULL, NULL },
|
||||
{ USERMOD_FIELD_PROFILE_PATH, NULL, NULL, NULL, NULL, NULL, "\\\\TESTSRV\\profiles\\test", NULL, NULL },
|
||||
{ USERMOD_FIELD_ACCT_EXPIRY, NULL, NULL, NULL, NULL, NULL, NULL, &expiry, NULL }
|
||||
{ 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 }
|
||||
};
|
||||
|
||||
mem_ctx = talloc_init("test_userdel");
|
||||
|
Loading…
Reference in New Issue
Block a user