mirror of
https://github.com/samba-team/samba.git
synced 2025-03-01 04:58:35 +03:00
r8759: Another couple of fields in usermod routine.
rafal (This used to be commit 266aaacf0be955096d53e2a967bdaa5d0c5558ed)
This commit is contained in:
parent
3e418f77e3
commit
2440a008a8
@ -61,6 +61,9 @@ struct libnet_rpc_userdel {
|
||||
|
||||
#define USERMOD_FIELD_ACCOUNT_NAME ( 0x00000001 )
|
||||
#define USERMOD_FIELD_FULL_NAME ( 0x00000002 )
|
||||
#define USERMOD_FIELD_DESCRIPTION ( 0x00000010 )
|
||||
#define USERMOD_FIELD_LOGON_SCRIPT ( 0x00000100 )
|
||||
#define USERMOD_FIELD_PROFILE_PATH ( 0x00000200 )
|
||||
|
||||
struct libnet_rpc_usermod {
|
||||
struct {
|
||||
@ -72,6 +75,9 @@ struct libnet_rpc_usermod {
|
||||
|
||||
const char *account_name;
|
||||
const char *full_name;
|
||||
const char *description;
|
||||
const char *logon_script;
|
||||
const char *profile_path;
|
||||
} change;
|
||||
} in;
|
||||
};
|
||||
|
@ -496,6 +496,30 @@ static NTSTATUS usermod_open(struct composite_context *c,
|
||||
i->info8.full_name.string = s->change.full_name;
|
||||
|
||||
s->change.fields ^= USERMOD_FIELD_FULL_NAME;
|
||||
|
||||
} else if (s->change.fields & USERMOD_FIELD_DESCRIPTION) {
|
||||
level = 13;
|
||||
i->info13.description.length = 2*strlen_m(s->change.description);
|
||||
i->info13.description.size = 2*strlen_m(s->change.description);
|
||||
i->info13.description.string = s->change.description;
|
||||
|
||||
s->change.fields ^= USERMOD_FIELD_DESCRIPTION;
|
||||
|
||||
} else if (s->change.fields & USERMOD_FIELD_LOGON_SCRIPT) {
|
||||
level = 11;
|
||||
i->info11.logon_script.length = 2*strlen_m(s->change.logon_script);
|
||||
i->info11.logon_script.size = 2*strlen_m(s->change.logon_script);
|
||||
i->info11.logon_script.string = s->change.logon_script;
|
||||
|
||||
s->change.fields ^= USERMOD_FIELD_LOGON_SCRIPT;
|
||||
|
||||
} else if (s->change.fields & USERMOD_FIELD_PROFILE_PATH) {
|
||||
level = 12;
|
||||
i->info12.profile_path.length = 2*strlen_m(s->change.profile_path);
|
||||
i->info12.profile_path.size = 2*strlen_m(s->change.profile_path);
|
||||
i->info12.profile_path.string = s->change.profile_path;
|
||||
|
||||
s->change.fields ^= USERMOD_FIELD_PROFILE_PATH;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -414,8 +414,11 @@ BOOL torture_usermod(void)
|
||||
int i;
|
||||
|
||||
struct usermod_change changes[] = {
|
||||
{ USERMOD_FIELD_ACCOUNT_NAME, "changed", NULL },
|
||||
{ USERMOD_FIELD_FULL_NAME, NULL, "Testing full account name" }
|
||||
{ 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" }
|
||||
};
|
||||
|
||||
mem_ctx = talloc_init("test_userdel");
|
||||
|
Loading…
x
Reference in New Issue
Block a user