git.samba.org
/
samba.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
036af07
)
s4:samr RPC server - dcesrv_samr_SetUserInfo() - password expiration
author
Matthias Dieter Wallnöfer
<mdw@samba.org>
Sun, 9 Jun 2013 08:46:06 +0000
(10:46 +0200)
committer
Andrew Bartlett
<abartlet@samba.org>
Mon, 10 Jun 2013 03:40:21 +0000
(
05:40
+0200)
Also on level 26 this has to be handled the same as on levels 21, 23, 25.
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/rpc_server/samr/dcesrv_samr.c
patch
|
blob
|
history
diff --git
a/source4/rpc_server/samr/dcesrv_samr.c
b/source4/rpc_server/samr/dcesrv_samr.c
index 3826075ebcd08968c12565bb9ff6888a9cd2f5d6..7279fe02f724f1ff6defa3a749b3cbcbe67c260a 100644
(file)
--- a/
source4/rpc_server/samr/dcesrv_samr.c
+++ b/
source4/rpc_server/samr/dcesrv_samr.c
@@
-3510,8
+3510,14
@@
static NTSTATUS dcesrv_samr_SetUserInfo(struct dcesrv_call_state *dce_call, TALL
}
if (r->in.info->info26.password_expired > 0) {
+ NTTIME t = 0;
struct ldb_message_element *set_el;
- if (samdb_msg_add_uint64(sam_ctx, mem_ctx, msg, "pwdLastSet", 0) != LDB_SUCCESS) {
+ if (r->in.info->info26.password_expired
+ == PASS_DONT_CHANGE_AT_NEXT_LOGON) {
+ unix_to_nt_time(&t, time(NULL));
+ }
+ if (samdb_msg_add_uint64(sam_ctx, mem_ctx, msg,
+ "pwdLastSet", t) != LDB_SUCCESS) {
return NT_STATUS_NO_MEMORY;
}
set_el = ldb_msg_find_element(msg, "pwdLastSet");