1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

r8807: Modifying datetime field using struct timeval argument rather than

text-based, after recent discussion with both Andrews :)

Basic test seems to work (at least it doesn't fail now).

rafal
This commit is contained in:
Rafal Szczesniak
2005-07-27 21:46:06 +00:00
committed by Gerald (Jerry) Carter
parent 26e1fdf630
commit 1bc3162e94
3 changed files with 16 additions and 5 deletions

View File

@ -64,6 +64,7 @@ struct libnet_rpc_userdel {
#define USERMOD_FIELD_DESCRIPTION ( 0x00000010 )
#define USERMOD_FIELD_LOGON_SCRIPT ( 0x00000100 )
#define USERMOD_FIELD_PROFILE_PATH ( 0x00000200 )
#define USERMOD_FIELD_ACCT_EXPIRY ( 0x00004000 )
struct libnet_rpc_usermod {
struct {
@ -78,6 +79,7 @@ struct libnet_rpc_usermod {
const char *description;
const char *logon_script;
const char *profile_path;
struct timeval *acct_expiry;
} change;
} in;
};

View File

@ -549,6 +549,12 @@ static NTSTATUS usermod_open(struct composite_context *c,
i->info12.profile_path.string = s->change.profile_path;
s->change.fields ^= USERMOD_FIELD_PROFILE_PATH;
} else if (s->change.fields & USERMOD_FIELD_ACCT_EXPIRY) {
level = 17;
i->info17.acct_expiry = timeval_to_nttime(s->change.acct_expiry);
s->change.fields ^= USERMOD_FIELD_ACCT_EXPIRY;
}
}

View File

@ -417,12 +417,15 @@ BOOL torture_usermod(void)
BOOL ret = True;
int i;
struct timeval expiry = { 12345, 67890 };
struct usermod_change changes[] = {
{ USERMOD_FIELD_ACCOUNT_NAME, "changed", NULL, NULL, NULL, NULL },
{ USERMOD_FIELD_FULL_NAME, NULL, "Testing full account name", NULL, NULL, NULL },
{ USERMOD_FIELD_DESCRIPTION, NULL, NULL, "Description of tested account", NULL, NULL },
{ USERMOD_FIELD_LOGON_SCRIPT, NULL, NULL, NULL, "test_logon.cmd", NULL },
{ USERMOD_FIELD_PROFILE_PATH, NULL, NULL, NULL, NULL, "\\\\TESTSRV\\profiles\\test" }
{ USERMOD_FIELD_ACCOUNT_NAME, "changed", NULL, NULL, NULL, NULL, NULL },
{ USERMOD_FIELD_FULL_NAME, NULL, "Testing full account name", NULL, NULL, NULL, NULL },
{ USERMOD_FIELD_DESCRIPTION, NULL, NULL, "Description of tested account", NULL, NULL, NULL },
{ USERMOD_FIELD_LOGON_SCRIPT, NULL, NULL, NULL, "test_logon.cmd", NULL, NULL },
{ USERMOD_FIELD_PROFILE_PATH, NULL, NULL, NULL, NULL, "\\\\TESTSRV\\profiles\\test", NULL },
{ USERMOD_FIELD_ACCT_EXPIRY, NULL, NULL, NULL, NULL, NULL, &expiry }
};
mem_ctx = talloc_init("test_userdel");