s4-lsa: merge lsa_QueryTrustedDomainInfoByName from s3 lsa idl.
authorGünther Deschner <gd@samba.org>
Tue, 21 Oct 2008 08:23:14 +0000 (10:23 +0200)
committerGünther Deschner <gd@samba.org>
Mon, 27 Oct 2008 18:33:22 +0000 (19:33 +0100)
Guenther

source4/librpc/idl/lsa.idl
source4/rpc_server/lsa/dcesrv_lsa.c
source4/torture/rpc/lsa.c

index 3803100785f4f4731382742ba8080f312d21d16d..9af5fcffd444b5109623416875f59a8a9e76091f 100644 (file)
@@ -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
                );
 
        /**********************/
index 371510cc98c0cf1052bf6e06f947aab37f0878ac..99afdea6546d3a427ea1e5d24ea224e75502bb3c 100644 (file)
@@ -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;
 }
 
index 87408b816e92aa0574f33687a65e3a8e7c251748..56faab0476fae144b5b2012fa1180d06c647aec2 100644 (file)
@@ -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);