summaryrefslogtreecommitdiff
path: root/source3/rpc_server/netlogon
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2011-10-27 11:21:08 +0200
committerAndreas Schneider <asn@samba.org>2011-10-27 13:32:00 +0200
commitbda9752b1036c4d4db76a526a79a091419bf757c (patch)
tree2f9d19a74c3a7f18f7266df0547a03b468bcc885 /source3/rpc_server/netlogon
parent62ccae32297683815da608cfb938573784614cf8 (diff)
downloadsamba-bda9752b1036c4d4db76a526a79a091419bf757c.tar.gz
samba-bda9752b1036c4d4db76a526a79a091419bf757c.tar.bz2
samba-bda9752b1036c4d4db76a526a79a091419bf757c.zip
s3-netlogon: Fix setting the machinge account password.
This bug has been found with uid wrapper.
Diffstat (limited to 'source3/rpc_server/netlogon')
-rw-r--r--source3/rpc_server/netlogon/srv_netlog_nt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/rpc_server/netlogon/srv_netlog_nt.c b/source3/rpc_server/netlogon/srv_netlog_nt.c
index dc0c33d395..0c94c5be9c 100644
--- a/source3/rpc_server/netlogon/srv_netlog_nt.c
+++ b/source3/rpc_server/netlogon/srv_netlog_nt.c
@@ -1155,6 +1155,7 @@ static NTSTATUS netr_set_machine_account_password(TALLOC_CTX *mem_ctx,
goto out;
}
+ become_root();
status = samr_find_machine_account(mem_ctx,
h,
account_name,
@@ -1162,6 +1163,7 @@ static NTSTATUS netr_set_machine_account_password(TALLOC_CTX *mem_ctx,
NULL,
NULL,
&user_handle);
+ unbecome_root();
if (!NT_STATUS_IS_OK(status)) {
goto out;
}
@@ -1205,12 +1207,14 @@ static NTSTATUS netr_set_machine_account_password(TALLOC_CTX *mem_ctx,
info->info18 = info18;
+ become_root();
status = dcerpc_samr_SetUserInfo2(h,
mem_ctx,
&user_handle,
UserInternal1Information,
info,
&result);
+ unbecome_root();
if (!NT_STATUS_IS_OK(status)) {
goto out;
}