s4-samr: merge samr_Connect5 from s3 idl. (fixme python)
authorGünther Deschner <gd@samba.org>
Wed, 5 Nov 2008 00:51:51 +0000 (01:51 +0100)
committerGünther Deschner <gd@samba.org>
Mon, 10 Nov 2008 20:46:28 +0000 (21:46 +0100)
Guenther

librpc/idl/samr.idl
source4/rpc_server/samr/dcesrv_samr.c
source4/torture/rpc/samr.c
source4/torture/rpc/samr_accessmask.c

index 66b3f4bf0f7e26d28e92672c4905064882ab5607..d3dd13d27069514a35c1a163892824b2f61bafa2 100644 (file)
@@ -1418,8 +1418,10 @@ import "misc.idl", "lsa.idl", "security.idl";
        [public] NTSTATUS samr_Connect5(
                [in,unique,string,charset(UTF16)] uint16 *system_name,
                [in]       samr_ConnectAccessMask  access_mask,
-               [in,out]   uint32             level,
-               [in,out,switch_is(level),ref] samr_ConnectInfo *info,
+               [in]       uint32             level_in,
+               [in,ref,switch_is(level_in)] samr_ConnectInfo *info_in,
+               [out,ref]  uint32             *level_out,
+               [out,ref,switch_is(*level_out)] samr_ConnectInfo *info_out,
                [out,ref]  policy_handle      *connect_handle
                );
 
index 45998b9ebd8edc10e85e1e632db07241825aa3cf..552a1b5e3edf48ca20db543cf47b52f299e25d50 100644 (file)
@@ -4285,9 +4285,9 @@ static NTSTATUS dcesrv_samr_Connect5(struct dcesrv_call_state *dce_call, TALLOC_
 
        status = dcesrv_samr_Connect(dce_call, mem_ctx, &c);
 
-       r->out.info->info1.client_version = SAMR_CONNECT_AFTER_W2K;
-       r->out.info->info1.unknown2 = 0;
-       r->out.level = r->in.level;
+       r->out.info_out->info1.client_version = SAMR_CONNECT_AFTER_W2K;
+       r->out.info_out->info1.unknown2 = 0;
+       *r->out.level_out = r->in.level_in;
 
        return status;
 }
index e07ebe9e3d70195c6a725f2e3c77f4539e234507..259a19d0b97911aa4790c3636ec79e8282247639 100644 (file)
@@ -4565,6 +4565,7 @@ static bool test_Connect(struct dcerpc_pipe *p, struct torture_context *tctx,
        struct samr_Connect5 r5;
        union samr_ConnectInfo info;
        struct policy_handle h;
+       uint32_t level_out = 0;
        bool ret = true, got_handle = false;
 
        torture_comment(tctx, "testing samr_Connect\n");
@@ -4645,9 +4646,10 @@ static bool test_Connect(struct dcerpc_pipe *p, struct torture_context *tctx,
 
        r5.in.system_name = "";
        r5.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
-       r5.in.level = 1;
-       r5.in.info = &info;
-       r5.out.info = &info;
+       r5.in.level_in = 1;
+       r5.out.level_out = &level_out;
+       r5.in.info_in = &info;
+       r5.out.info_out = &info;
        r5.out.connect_handle = &h;
 
        status = dcerpc_samr_Connect5(p, tctx, &r5);
index c45b12db60c2a722370f1432437d1bd4bc0b6d50..eb19c0caa497369df784ca1520437f5852b2addd 100644 (file)
@@ -52,13 +52,15 @@ static NTSTATUS torture_samr_Connect5(struct torture_context *tctx,
        NTSTATUS status;
        struct samr_Connect5 r5;
        union samr_ConnectInfo info;
+       uint32_t level_out = 0;
 
        info.info1.client_version = 0;
        info.info1.unknown2 = 0;
        r5.in.system_name = "";
-       r5.in.level = 1;
-       r5.in.info = &info;
-       r5.out.info = &info;
+       r5.in.level_in = 1;
+       r5.in.info_in = &info;
+       r5.out.info_out = &info;
+       r5.out.level_out = &level_out;
        r5.out.connect_handle = h;
        r5.in.access_mask = mask;