summaryrefslogtreecommitdiff
path: root/source4/libnet
diff options
context:
space:
mode:
Diffstat (limited to 'source4/libnet')
-rw-r--r--source4/libnet/composite.h2
-rw-r--r--source4/libnet/userman.c6
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;
}
}