diff options
author | Günther Deschner <gd@samba.org> | 2008-11-05 02:12:38 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2008-11-10 21:46:27 +0100 |
commit | 93c6129c991dfb94496c0f7a9177a89fb275866d (patch) | |
tree | 26485fc439c0dc0b1e3f62088902d9eea46f258b | |
parent | 47d0c89302af6d84cb35bd1b735dd715105d9630 (diff) | |
download | samba-93c6129c991dfb94496c0f7a9177a89fb275866d.tar.gz samba-93c6129c991dfb94496c0f7a9177a89fb275866d.tar.bz2 samba-93c6129c991dfb94496c0f7a9177a89fb275866d.zip |
s4-samr: merge samr_LookupRids from s3 idl.
Guenther
-rw-r--r-- | librpc/idl/samr.idl | 4 | ||||
-rw-r--r-- | source4/rpc_server/samr/dcesrv_samr.c | 12 | ||||
-rw-r--r-- | source4/torture/rpc/samr.c | 5 |
3 files changed, 13 insertions, 8 deletions
diff --git a/librpc/idl/samr.idl b/librpc/idl/samr.idl index f5d3cdac7a..eb5b23e9ef 100644 --- a/librpc/idl/samr.idl +++ b/librpc/idl/samr.idl @@ -528,8 +528,8 @@ import "misc.idl", "lsa.idl", "security.idl"; [in,ref] policy_handle *domain_handle, [in,range(0,1000)] uint32 num_rids, [in,size_is(1000),length_is(num_rids)] uint32 rids[], - [out] lsa_Strings names, - [out] samr_Ids types + [out,ref] lsa_Strings *names, + [out,ref] samr_Ids *types ); /************************/ diff --git a/source4/rpc_server/samr/dcesrv_samr.c b/source4/rpc_server/samr/dcesrv_samr.c index 86e4a52175..9a45616a8b 100644 --- a/source4/rpc_server/samr/dcesrv_samr.c +++ b/source4/rpc_server/samr/dcesrv_samr.c @@ -1952,8 +1952,8 @@ static NTSTATUS dcesrv_samr_LookupRids(struct dcesrv_call_state *dce_call, TALLO struct lsa_String *names; uint32_t *ids; - ZERO_STRUCT(r->out.names); - ZERO_STRUCT(r->out.types); + ZERO_STRUCTP(r->out.names); + ZERO_STRUCTP(r->out.types); DCESRV_PULL_HANDLE(h, r->in.domain_handle, SAMR_HANDLE_DOMAIN); @@ -2014,11 +2014,11 @@ static NTSTATUS dcesrv_samr_LookupRids(struct dcesrv_call_state *dce_call, TALLO } } - r->out.names.names = names; - r->out.names.count = r->in.num_rids; + r->out.names->names = names; + r->out.names->count = r->in.num_rids; - r->out.types.ids = ids; - r->out.types.count = r->in.num_rids; + r->out.types->ids = ids; + r->out.types->count = r->in.num_rids; return status; } diff --git a/source4/torture/rpc/samr.c b/source4/torture/rpc/samr.c index c52d08ac62..b28877602c 100644 --- a/source4/torture/rpc/samr.c +++ b/source4/torture/rpc/samr.c @@ -3276,6 +3276,9 @@ static bool test_EnumDomainUsers(struct dcerpc_pipe *p, struct torture_context * bool ret = true; struct samr_LookupNames n; struct samr_LookupRids lr ; + struct lsa_Strings names; + struct samr_Ids types; + uint32_t masks[] = {ACB_NORMAL, ACB_DOMTRUST, ACB_WSTRUST, ACB_DISABLED, ACB_NORMAL | ACB_DISABLED, ACB_SVRTRUST | ACB_DOMTRUST | ACB_WSTRUST, @@ -3332,6 +3335,8 @@ static bool test_EnumDomainUsers(struct dcerpc_pipe *p, struct torture_context * lr.in.domain_handle = handle; lr.in.num_rids = r.out.sam->count; lr.in.rids = talloc_array(tctx, uint32_t, r.out.sam->count); + lr.out.names = &names; + lr.out.types = &types; for (i=0;i<r.out.sam->count;i++) { lr.in.rids[i] = r.out.sam->entries[i].idx; } |