The Samba-Bugzilla – Attachment 6633 Details for
Bug 7841
WINBINDD_LOOKUPRIDS asks the wrong domain
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Next try for 3.6.0.
7841.patch (text/plain), 4.18 KB, created by
Volker Lendecke
on 2011-06-27 15:03:44 UTC
(
hide
)
Description:
Next try for 3.6.0.
Filename:
MIME Type:
Creator:
Volker Lendecke
Created:
2011-06-27 15:03:44 UTC
Size:
4.18 KB
patch
obsolete
>From 76645f698f25128217c8534ae61e86930315761a Mon Sep 17 00:00:00 2001 >From: Volker Lendecke <vl@samba.org> >Date: Mon, 27 Jun 2011 14:34:39 +0200 >Subject: [PATCH] s3: explicitly pass domain_sid to wbint_LookupRids() (bug #7841) > >--- > source3/librpc/idl/wbint.idl | 1 + > source3/winbindd/wb_lookupsids.c | 2 +- > source3/winbindd/winbindd_dual_srv.c | 5 +++-- > source3/winbindd/winbindd_lookuprids.c | 12 ++++++------ > 4 files changed, 11 insertions(+), 9 deletions(-) > >diff --git a/source3/librpc/idl/wbint.idl b/source3/librpc/idl/wbint.idl >index 5f7e9bf..cb8a4e4 100644 >--- a/source3/librpc/idl/wbint.idl >+++ b/source3/librpc/idl/wbint.idl >@@ -164,6 +164,7 @@ interface wbint > ); > > NTSTATUS wbint_LookupRids( >+ [in] dom_sid *domain_sid, > [in] wbint_RidArray *rids, > [out,string,charset(UTF8)] char **domain_name, > [out] wbint_Principals *names >diff --git a/source3/winbindd/wb_lookupsids.c b/source3/winbindd/wb_lookupsids.c >index 03b2ca9..b4b7b9c 100644 >--- a/source3/winbindd/wb_lookupsids.c >+++ b/source3/winbindd/wb_lookupsids.c >@@ -198,7 +198,7 @@ static bool wb_lookupsids_next(struct tevent_req *req, > } > subreq = dcerpc_wbint_LookupRids_send( > state, state->ev, dom_child_handle(d->domain), >- &state->rids, &state->domain_name, >+ &d->sid, &state->rids, &state->domain_name, > &state->rid_names); > if (tevent_req_nomem(subreq, req)) { > return false; >diff --git a/source3/winbindd/winbindd_dual_srv.c b/source3/winbindd/winbindd_dual_srv.c >index c2510bc..a52951e 100644 >--- a/source3/winbindd/winbindd_dual_srv.c >+++ b/source3/winbindd/winbindd_dual_srv.c >@@ -494,7 +494,7 @@ NTSTATUS _wbint_LookupRids(struct pipes_struct *p, struct wbint_LookupRids *r) > } > > status = domain->methods->rids_to_names( >- domain, talloc_tos(), &domain->sid, r->in.rids->rids, >+ domain, talloc_tos(), r->in.domain_sid, r->in.rids->rids, > r->in.rids->num_rids, &domain_name, &names, &types); > if (!NT_STATUS_IS_OK(status)) { > return status; >@@ -509,7 +509,8 @@ NTSTATUS _wbint_LookupRids(struct pipes_struct *p, struct wbint_LookupRids *r) > } > > for (i=0; i<r->in.rids->num_rids; i++) { >- sid_compose(&result[i].sid, &domain->sid, r->in.rids->rids[i]); >+ sid_compose(&result[i].sid, r->in.domain_sid, >+ r->in.rids->rids[i]); > result[i].type = types[i]; > result[i].name = talloc_move(result, &names[i]); > } >diff --git a/source3/winbindd/winbindd_lookuprids.c b/source3/winbindd/winbindd_lookuprids.c >index 738adba..e1d7d18 100644 >--- a/source3/winbindd/winbindd_lookuprids.c >+++ b/source3/winbindd/winbindd_lookuprids.c >@@ -24,6 +24,7 @@ > > struct winbindd_lookuprids_state { > struct tevent_context *ev; >+ struct dom_sid domain_sid; > const char *domain_name; > struct wbint_RidArray rids; > struct wbint_Principals names; >@@ -42,7 +43,6 @@ struct tevent_req *winbindd_lookuprids_send(TALLOC_CTX *mem_ctx, > struct tevent_req *req, *subreq; > struct winbindd_lookuprids_state *state; > struct winbindd_domain *domain; >- struct dom_sid sid; > > req = tevent_req_create(mem_ctx, &state, > struct winbindd_lookuprids_state); >@@ -56,16 +56,16 @@ struct tevent_req *winbindd_lookuprids_send(TALLOC_CTX *mem_ctx, > > DEBUG(3, ("lookuprids (%s)\n", request->data.sid)); > >- if (!string_to_sid(&sid, request->data.sid)) { >+ if (!string_to_sid(&state->domain_sid, request->data.sid)) { > DEBUG(5, ("%s not a SID\n", request->data.sid)); > tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); > return tevent_req_post(req, ev); > } > >- domain = find_lookup_domain_from_sid(&sid); >+ domain = find_lookup_domain_from_sid(&state->domain_sid); > if (domain == NULL) { > DEBUG(5, ("Domain for sid %s not found\n", >- sid_string_dbg(&sid))); >+ sid_string_dbg(&state->domain_sid))); > tevent_req_nterror(req, NT_STATUS_NO_SUCH_DOMAIN); > return tevent_req_post(req, ev); > } >@@ -84,8 +84,8 @@ struct tevent_req *winbindd_lookuprids_send(TALLOC_CTX *mem_ctx, > } > > subreq = dcerpc_wbint_LookupRids_send( >- state, ev, dom_child_handle(domain), &state->rids, >- &state->domain_name, &state->names); >+ state, ev, dom_child_handle(domain), &state->domain_sid, >+ &state->rids, &state->domain_name, &state->names); > if (tevent_req_nomem(subreq, req)) { > return tevent_req_post(req, ev); > } >-- >1.6.3.2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
metze
:
review+
Actions:
View
Attachments on
bug 7841
:
6109
|
6604
|
6605
|
6631
|
6632
| 6633 |
6664