[SCM] Samba Shared Repository - branch v3-5-test updated
Karolin Seeger
kseeger at samba.org
Tue Jun 28 13:08:49 MDT 2011
The branch, v3-5-test has been updated
via 1a8155d s3: explicitly pass domain_sid to wbint_LookupRids() (bug #7841)
from 83357ec Fix bug #8254 - "acl check permissions = no" does not work in all cases
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test
- Log -----------------------------------------------------------------
commit 1a8155d347e2a8de3432ce0fe99d598c25c2bafb
Author: Volker Lendecke <vl at samba.org>
Date: Mon Jun 27 14:34:39 2011 +0200
s3: explicitly pass domain_sid to wbint_LookupRids() (bug #7841)
-----------------------------------------------------------------------
Summary of changes:
source3/librpc/idl/wbint.idl | 1 +
source3/winbindd/winbindd_dual_srv.c | 5 +++--
source3/winbindd/winbindd_lookuprids.c | 12 ++++++------
3 files changed, 10 insertions(+), 8 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/librpc/idl/wbint.idl b/source3/librpc/idl/wbint.idl
index d12fae8..3258a32 100644
--- a/source3/librpc/idl/wbint.idl
+++ b/source3/librpc/idl/wbint.idl
@@ -140,6 +140,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/winbindd_dual_srv.c b/source3/winbindd/winbindd_dual_srv.c
index b4232a9..b95e08e 100644
--- a/source3/winbindd/winbindd_dual_srv.c
+++ b/source3/winbindd/winbindd_dual_srv.c
@@ -373,7 +373,7 @@ NTSTATUS _wbint_LookupRids(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;
@@ -388,7 +388,8 @@ NTSTATUS _wbint_LookupRids(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 e1ac26c..b5e9f03 100644
--- a/source3/winbindd/winbindd_lookuprids.c
+++ b/source3/winbindd/winbindd_lookuprids.c
@@ -23,6 +23,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;
@@ -41,7 +42,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);
@@ -55,16 +55,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);
}
@@ -83,8 +83,8 @@ struct tevent_req *winbindd_lookuprids_send(TALLOC_CTX *mem_ctx,
}
subreq = rpccli_wbint_LookupRids_send(
- state, ev, domain->child.rpccli, &state->rids,
- &state->domain_name, &state->names);
+ state, ev, domain->child.rpccli, &state->domain_sid,
+ &state->rids, &state->domain_name, &state->names);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list