From: Günther Deschner Date: Wed, 26 Aug 2009 09:35:40 +0000 (+0200) Subject: s3-netlogon: let get_md4pw() return a struct dom_sid. X-Git-Tag: tevent-0.9.8~186 X-Git-Url: http://git.samba.org/samba.git/?p=ira%2Fwip.git;a=commitdiff_plain;h=2cbacd5e1039fd5dbef001bd3b8add5f4de361c8 s3-netlogon: let get_md4pw() return a struct dom_sid. Guenther --- diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c index 01b2398e863..e7ee3f3bcf7 100644 --- a/source3/rpc_server/srv_netlog_nt.c +++ b/source3/rpc_server/srv_netlog_nt.c @@ -285,7 +285,7 @@ WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p, ******************************************************************/ static NTSTATUS get_md4pw(struct samr_Password *md4pw, const char *mach_acct, - uint16_t sec_chan_type, uint32_t *rid) + uint16_t sec_chan_type, struct dom_sid *sid) { struct samu *sampass = NULL; const uint8 *pass; @@ -381,9 +381,7 @@ static NTSTATUS get_md4pw(struct samr_Password *md4pw, const char *mach_acct, memcpy(md4pw->hash, pass, 16); dump_data(5, md4pw->hash, 16); - if (rid) { - *rid = pdb_get_user_rid(sampass); - } + sid_copy(sid, pdb_get_user_sid(sampass)); TALLOC_FREE(sampass); @@ -468,7 +466,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; + struct dom_sid sid; struct samr_Password mach_pwd; /* According to Microsoft (see bugid #6099) @@ -538,7 +536,7 @@ NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p, status = get_md4pw(&mach_pwd, r->in.account_name, r->in.secure_channel_type, - &rid); + &sid); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("%s: failed to get machine password for " "account %s: %s\n", @@ -582,7 +580,7 @@ NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p, p->dc); unbecome_root(); - *r->out.rid = rid; + sid_peek_rid(&sid, r->out.rid); status = NT_STATUS_OK;