From 4799020e9f1ab9bd811c9b5222af670db0705559 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 24 Aug 2009 23:00:47 +0200 Subject: s3-netlogon: Only hand out rid when netlogon credential chain has been setup sucessfully. Guenther --- source3/rpc_server/srv_netlog_nt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source3/rpc_server/srv_netlog_nt.c') 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: -- cgit