diff options
author | Rafal Szczesniak <mimir@samba.org> | 2005-07-25 22:00:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:30:03 -0500 |
commit | 2440a008a82f73c8310cde18cbfb53e39c99d362 (patch) | |
tree | 67081090215dfde52eb39861dec20d223a873c58 /source4/libnet | |
parent | 3e418f77e396979dfecbfdf6969391c44b437faa (diff) | |
download | samba-2440a008a82f73c8310cde18cbfb53e39c99d362.tar.gz samba-2440a008a82f73c8310cde18cbfb53e39c99d362.tar.xz samba-2440a008a82f73c8310cde18cbfb53e39c99d362.zip |
r8759: Another couple of fields in usermod routine.
rafal
(This used to be commit 266aaacf0be955096d53e2a967bdaa5d0c5558ed)
Diffstat (limited to 'source4/libnet')
-rw-r--r-- | source4/libnet/composite.h | 6 | ||||
-rw-r--r-- | source4/libnet/userman.c | 24 |
2 files changed, 30 insertions, 0 deletions
diff --git a/source4/libnet/composite.h b/source4/libnet/composite.h index 70e70d04eeb..6fc0886cb3f 100644 --- a/source4/libnet/composite.h +++ b/source4/libnet/composite.h @@ -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; }; diff --git a/source4/libnet/userman.c b/source4/libnet/userman.c index 37b3d1e7233..c3d1435dfe3 100644 --- a/source4/libnet/userman.c +++ b/source4/libnet/userman.c @@ -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; } } |