From ab1b857f58f58dbc871fc444aa1dfefe4a3bfaeb Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 4 Dec 2010 20:16:00 +0100 Subject: s3: Fix bug 7842: WINBIND_LOOKUPRIDS does not return the proper domain name Autobuild-User: Jeremy Allison Autobuild-Date: Mon Dec 6 21:18:07 CET 2010 on sn-devel-104 --- 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 deletion(-) (limited to 'source3') diff --git a/source3/librpc/idl/wbint.idl b/source3/librpc/idl/wbint.idl index 4ac36930d3..470fb8b7eb 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 b661fb37e4..1501fd8c6d 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 bd0a946013..5577ad4743 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); } -- cgit