diff options
Diffstat (limited to 'source4/libnet')
-rw-r--r-- | source4/libnet/composite.h | 2 | ||||
-rw-r--r-- | source4/libnet/userman.c | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/source4/libnet/composite.h b/source4/libnet/composite.h index 6fc0886cb3..256590bc5b 100644 --- a/source4/libnet/composite.h +++ b/source4/libnet/composite.h @@ -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; }; diff --git a/source4/libnet/userman.c b/source4/libnet/userman.c index a3c1eaf17a..ef7f2658c4 100644 --- a/source4/libnet/userman.c +++ b/source4/libnet/userman.c @@ -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; } } |