summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-11-05 02:12:38 +0100
committerGünther Deschner <gd@samba.org>2008-11-10 21:46:27 +0100
commit93c6129c991dfb94496c0f7a9177a89fb275866d (patch)
tree26485fc439c0dc0b1e3f62088902d9eea46f258b
parent47d0c89302af6d84cb35bd1b735dd715105d9630 (diff)
downloadsamba-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.idl4
-rw-r--r--source4/rpc_server/samr/dcesrv_samr.c12
-rw-r--r--source4/torture/rpc/samr.c5
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;
}