summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-08-24 23:00:47 +0200
committerGünther Deschner <gd@samba.org>2009-08-24 23:09:57 +0200
commit4799020e9f1ab9bd811c9b5222af670db0705559 (patch)
tree9c5997949d3a28119cb692740d98d8688f22a508 /source3/rpc_server
parent87d30a1968af66619dfd60f9bc7accde2ac22345 (diff)
downloadsamba-4799020e9f1ab9bd811c9b5222af670db0705559.tar.gz
samba-4799020e9f1ab9bd811c9b5222af670db0705559.tar.bz2
samba-4799020e9f1ab9bd811c9b5222af670db0705559.zip
s3-netlogon: Only hand out rid when netlogon credential chain has been setup sucessfully.
Guenther
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_netlog_nt.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c
index 79ff7b1e0b..8a93b20641 100644
--- a/source3/rpc_server/srv_netlog_nt.c
+++ b/source3/rpc_server/srv_netlog_nt.c
@@ -513,6 +513,7 @@ NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p,
uint32_t in_neg_flags = *r->in.negotiate_flags;
struct netr_Credential srv_chal_out;
const char *fn;
+ uint32_t rid;
/* According to Microsoft (see bugid #6099)
* Windows 7 looks at the negotiate_flags
@@ -578,7 +579,7 @@ NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p,
status = get_md4pw((char *)p->dc->mach_pw,
r->in.account_name,
r->in.secure_channel_type,
- r->out.rid);
+ &rid);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0,("%s: failed to get machine password for "
"account %s: %s\n",
@@ -621,6 +622,9 @@ NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p,
r->in.computer_name,
p->dc);
unbecome_root();
+
+ *r->out.rid = rid;
+
status = NT_STATUS_OK;
out: