The Samba-Bugzilla – Attachment 6664 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]
Patch additional patch for v3-5-test
tmp.diff (text/plain), 5.56 KB, created by
Stefan Metzmacher
on 2011-07-04 09:52:00 UTC
(
hide
)
Description:
Patch additional patch for v3-5-test
Filename:
MIME Type:
Creator:
Stefan Metzmacher
Created:
2011-07-04 09:52:00 UTC
Size:
5.56 KB
patch
obsolete
>From d210b6f08273e288643e1220e7462bfbd648e2d1 Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Mon, 4 Jul 2011 11:47:24 +0200 >Subject: [PATCH] s3:librpc/gen_ndr: regen after wbint.idl changes > >metze >--- > source3/librpc/gen_ndr/cli_wbint.c | 4 ++++ > source3/librpc/gen_ndr/cli_wbint.h | 2 ++ > source3/librpc/gen_ndr/ndr_wbint.c | 16 ++++++++++++++++ > source3/librpc/gen_ndr/wbint.h | 1 + > 4 files changed, 23 insertions(+), 0 deletions(-) > >diff --git a/source3/librpc/gen_ndr/cli_wbint.c b/source3/librpc/gen_ndr/cli_wbint.c >index 7200d2a..bf6b04b 100644 >--- a/source3/librpc/gen_ndr/cli_wbint.c >+++ b/source3/librpc/gen_ndr/cli_wbint.c >@@ -2508,6 +2508,7 @@ static void rpccli_wbint_LookupRids_done(struct tevent_req *subreq); > struct tevent_req *rpccli_wbint_LookupRids_send(TALLOC_CTX *mem_ctx, > struct tevent_context *ev, > struct rpc_pipe_client *cli, >+ struct dom_sid *_domain_sid /* [in] [ref] */, > struct wbint_RidArray *_rids /* [in] [ref] */, > const char **_domain_name /* [out] [ref,charset(UTF8)] */, > struct wbint_Principals *_names /* [out] [ref] */) >@@ -2525,6 +2526,7 @@ struct tevent_req *rpccli_wbint_LookupRids_send(TALLOC_CTX *mem_ctx, > state->dispatch_recv = cli->dispatch_recv; > > /* In parameters */ >+ state->orig.in.domain_sid = _domain_sid; > state->orig.in.rids = _rids; > > /* Out parameters */ >@@ -2614,6 +2616,7 @@ NTSTATUS rpccli_wbint_LookupRids_recv(struct tevent_req *req, > > NTSTATUS rpccli_wbint_LookupRids(struct rpc_pipe_client *cli, > TALLOC_CTX *mem_ctx, >+ struct dom_sid *domain_sid /* [in] [ref] */, > struct wbint_RidArray *rids /* [in] [ref] */, > const char **domain_name /* [out] [ref,charset(UTF8)] */, > struct wbint_Principals *names /* [out] [ref] */) >@@ -2622,6 +2625,7 @@ NTSTATUS rpccli_wbint_LookupRids(struct rpc_pipe_client *cli, > NTSTATUS status; > > /* In parameters */ >+ r.in.domain_sid = domain_sid; > r.in.rids = rids; > > status = cli->dispatch(cli, >diff --git a/source3/librpc/gen_ndr/cli_wbint.h b/source3/librpc/gen_ndr/cli_wbint.h >index c4f9a81..6470816 100644 >--- a/source3/librpc/gen_ndr/cli_wbint.h >+++ b/source3/librpc/gen_ndr/cli_wbint.h >@@ -223,6 +223,7 @@ NTSTATUS rpccli_wbint_DsGetDcName(struct rpc_pipe_client *cli, > struct tevent_req *rpccli_wbint_LookupRids_send(TALLOC_CTX *mem_ctx, > struct tevent_context *ev, > struct rpc_pipe_client *cli, >+ struct dom_sid *_domain_sid /* [in] [ref] */, > struct wbint_RidArray *_rids /* [in] [ref] */, > const char **_domain_name /* [out] [ref,charset(UTF8)] */, > struct wbint_Principals *_names /* [out] [ref] */); >@@ -231,6 +232,7 @@ NTSTATUS rpccli_wbint_LookupRids_recv(struct tevent_req *req, > NTSTATUS *result); > NTSTATUS rpccli_wbint_LookupRids(struct rpc_pipe_client *cli, > TALLOC_CTX *mem_ctx, >+ struct dom_sid *domain_sid /* [in] [ref] */, > struct wbint_RidArray *rids /* [in] [ref] */, > const char **domain_name /* [out] [ref,charset(UTF8)] */, > struct wbint_Principals *names /* [out] [ref] */); >diff --git a/source3/librpc/gen_ndr/ndr_wbint.c b/source3/librpc/gen_ndr/ndr_wbint.c >index 5bb6832..27c668e 100644 >--- a/source3/librpc/gen_ndr/ndr_wbint.c >+++ b/source3/librpc/gen_ndr/ndr_wbint.c >@@ -2076,6 +2076,10 @@ _PUBLIC_ void ndr_print_wbint_DsGetDcName(struct ndr_print *ndr, const char *nam > static enum ndr_err_code ndr_push_wbint_LookupRids(struct ndr_push *ndr, int flags, const struct wbint_LookupRids *r) > { > if (flags & NDR_IN) { >+ if (r->in.domain_sid == NULL) { >+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); >+ } >+ NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.domain_sid)); > if (r->in.rids == NULL) { > return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); > } >@@ -2104,6 +2108,7 @@ static enum ndr_err_code ndr_push_wbint_LookupRids(struct ndr_push *ndr, int fla > static enum ndr_err_code ndr_pull_wbint_LookupRids(struct ndr_pull *ndr, int flags, struct wbint_LookupRids *r) > { > uint32_t _ptr_domain_name; >+ TALLOC_CTX *_mem_save_domain_sid_0; > TALLOC_CTX *_mem_save_rids_0; > TALLOC_CTX *_mem_save_domain_name_0; > TALLOC_CTX *_mem_save_domain_name_1; >@@ -2112,6 +2117,13 @@ static enum ndr_err_code ndr_pull_wbint_LookupRids(struct ndr_pull *ndr, int fla > ZERO_STRUCT(r->out); > > if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { >+ NDR_PULL_ALLOC(ndr, r->in.domain_sid); >+ } >+ _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); >+ NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_sid, LIBNDR_FLAG_REF_ALLOC); >+ NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.domain_sid)); >+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, LIBNDR_FLAG_REF_ALLOC); >+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { > NDR_PULL_ALLOC(ndr, r->in.rids); > } > _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); >@@ -2170,6 +2182,10 @@ _PUBLIC_ void ndr_print_wbint_LookupRids(struct ndr_print *ndr, const char *name > if (flags & NDR_IN) { > ndr_print_struct(ndr, "in", "wbint_LookupRids"); > ndr->depth++; >+ ndr_print_ptr(ndr, "domain_sid", r->in.domain_sid); >+ ndr->depth++; >+ ndr_print_dom_sid(ndr, "domain_sid", r->in.domain_sid); >+ ndr->depth--; > ndr_print_ptr(ndr, "rids", r->in.rids); > ndr->depth++; > ndr_print_wbint_RidArray(ndr, "rids", r->in.rids); >diff --git a/source3/librpc/gen_ndr/wbint.h b/source3/librpc/gen_ndr/wbint.h >index 2add7fc..4ba45ad 100644 >--- a/source3/librpc/gen_ndr/wbint.h >+++ b/source3/librpc/gen_ndr/wbint.h >@@ -276,6 +276,7 @@ struct wbint_DsGetDcName { > > struct wbint_LookupRids { > struct { >+ struct dom_sid *domain_sid;/* [ref] */ > struct wbint_RidArray *rids;/* [ref] */ > } in; > >-- >1.7.4.1 >
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:
vl
:
review+
Actions:
View
Attachments on
bug 7841
:
6109
|
6604
|
6605
|
6631
|
6632
|
6633
| 6664