diff options
author | Günther Deschner <gd@samba.org> | 2008-10-21 10:23:14 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2008-10-27 19:33:22 +0100 |
commit | ea886864190e7d3bb9f58260ec854489c4642c86 (patch) | |
tree | c8a944e59d1db1591985df3214f7cead802cfe62 | |
parent | 36725ec0b4b5fae83404d9b8d97252d0606989fc (diff) | |
download | samba-ea886864190e7d3bb9f58260ec854489c4642c86.tar.gz samba-ea886864190e7d3bb9f58260ec854489c4642c86.tar.bz2 samba-ea886864190e7d3bb9f58260ec854489c4642c86.zip |
s4-lsa: merge lsa_QueryTrustedDomainInfoByName from s3 lsa idl.
Guenther
-rw-r--r-- | source4/librpc/idl/lsa.idl | 4 | ||||
-rw-r--r-- | source4/rpc_server/lsa/dcesrv_lsa.c | 4 | ||||
-rw-r--r-- | source4/torture/rpc/lsa.c | 8 |
3 files changed, 10 insertions, 6 deletions
diff --git a/source4/librpc/idl/lsa.idl b/source4/librpc/idl/lsa.idl index 3803100785..9af5fcffd4 100644 --- a/source4/librpc/idl/lsa.idl +++ b/source4/librpc/idl/lsa.idl @@ -897,9 +897,9 @@ import "misc.idl", "security.idl"; /* Function 0x30 */ NTSTATUS lsa_QueryTrustedDomainInfoByName( [in] policy_handle *handle, - [in] lsa_String trusted_domain, + [in,ref] lsa_String *trusted_domain, [in] lsa_TrustDomInfoEnum level, - [out,unique,switch_is(level)] lsa_TrustedDomainInfo *info + [out,ref,switch_is(level)] lsa_TrustedDomainInfo **info ); /**********************/ diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c index 371510cc98..99afdea654 100644 --- a/source4/rpc_server/lsa/dcesrv_lsa.c +++ b/source4/rpc_server/lsa/dcesrv_lsa.c @@ -1461,7 +1461,7 @@ static NTSTATUS dcesrv_lsa_QueryTrustedDomainInfoByName(struct dcesrv_call_state struct lsa_QueryTrustedDomainInfo query; struct dcesrv_handle *h; open.in.handle = r->in.handle; - open.in.name = r->in.trusted_domain; + open.in.name = *r->in.trusted_domain; open.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; open.out.trustdom_handle = talloc(mem_ctx, struct policy_handle); if (!open.out.trustdom_handle) { @@ -1478,12 +1478,12 @@ static NTSTATUS dcesrv_lsa_QueryTrustedDomainInfoByName(struct dcesrv_call_state query.in.trustdom_handle = open.out.trustdom_handle; query.in.level = r->in.level; + query.out.info = r->out.info; status = dcesrv_lsa_QueryTrustedDomainInfo(dce_call, mem_ctx, &query); if (!NT_STATUS_IS_OK(status)) { return status; } - r->out.info = query.out.info; return NT_STATUS_OK; } diff --git a/source4/torture/rpc/lsa.c b/source4/torture/rpc/lsa.c index 87408b816e..56faab0476 100644 --- a/source4/torture/rpc/lsa.c +++ b/source4/torture/rpc/lsa.c @@ -1903,9 +1903,13 @@ static bool test_query_each_TrustDom(struct dcerpc_pipe *p, for (j=0; j < ARRAY_SIZE(levels); j++) { struct lsa_QueryTrustedDomainInfoByName q; - union lsa_TrustedDomainInfo info; + union lsa_TrustedDomainInfo *info = NULL; + struct lsa_String name; + + name.string = domains->domains[i].name.string; + q.in.handle = handle; - q.in.trusted_domain.string = domains->domains[i].name.string; + q.in.trusted_domain = &name; q.in.level = levels[j]; q.out.info = &info; status = dcerpc_lsa_QueryTrustedDomainInfoByName(p, mem_ctx, &q); |