From 082a2fe289e1b77a92a9f0686dbb474889981b4b Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 4 Dec 2010 20:16:00 +0100 Subject: [PATCH] s3: Fix bug 7842: WINBIND_LOOKUPRIDS does not return the proper domain name --- source3/librpc/idl/wbint.idl | 1 + source3/winbindd/winbindd_dual_srv.c | 2 ++ source3/winbindd/winbindd_lookuprids.c | 3 ++- 3 files changed, 5 insertions(+), 1 deletions(-) diff --git a/source3/librpc/idl/wbint.idl b/source3/librpc/idl/wbint.idl index 4ac3693..470fb8b 100644 --- a/source3/librpc/idl/wbint.idl +++ b/source3/librpc/idl/wbint.idl @@ -142,6 +142,7 @@ interface wbint NTSTATUS wbint_LookupRids( [in] wbint_RidArray *rids, + [out,string,charset(UTF8)] char **domain_name, [out] wbint_Principals *names ); diff --git a/source3/winbindd/winbindd_dual_srv.c b/source3/winbindd/winbindd_dual_srv.c index b661fb3..1501fd8 100644 --- a/source3/winbindd/winbindd_dual_srv.c +++ b/source3/winbindd/winbindd_dual_srv.c @@ -385,6 +385,8 @@ NTSTATUS _wbint_LookupRids(struct pipes_struct *p, struct wbint_LookupRids *r) return status; } + *r->out.domain_name = talloc_move(r->out.domain_name, &domain_name); + result = talloc_array(p->mem_ctx, struct wbint_Principal, r->in.rids->num_rids); if (result == NULL) { diff --git a/source3/winbindd/winbindd_lookuprids.c b/source3/winbindd/winbindd_lookuprids.c index bd0a946..5577ad4 100644 --- a/source3/winbindd/winbindd_lookuprids.c +++ b/source3/winbindd/winbindd_lookuprids.c @@ -84,7 +84,8 @@ struct tevent_req *winbindd_lookuprids_send(TALLOC_CTX *mem_ctx, } subreq = dcerpc_wbint_LookupRids_send( - state, ev, domain->child.binding_handle, &state->rids, &state->names); + state, ev, domain->child.binding_handle, &state->rids, + &state->domain_name, &state->names); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } -- 1.7.3.2