s4:torture/rpc: make use of dcerpc_binding_set_flags()
authorStefan Metzmacher <metze@samba.org>
Thu, 30 Jan 2014 18:40:20 +0000 (19:40 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 13 Feb 2014 10:54:17 +0000 (11:54 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
source4/torture/rpc/bind.c
source4/torture/rpc/samlogon.c
source4/torture/rpc/samr.c
source4/torture/rpc/samsync.c
source4/torture/rpc/schannel.c

index 457dbd95754c2dc3618c83d342ee4c7fcfd166c0..f20af4afb10bb7c5ae0f1e6d2ad1870c45edc7ba 100644 (file)
@@ -46,14 +46,15 @@ static bool test_bind(struct torture_context *tctx,
 {
        struct dcerpc_binding *binding;
        struct dcerpc_pipe *p;
+       NTSTATUS status;
        const uint32_t *flags = (const uint32_t *)private_data;
 
        torture_assert_ntstatus_ok(tctx,
                torture_rpc_binding(tctx, &binding),
                "failed to parse binding string");
 
-       binding->flags &= ~DCERPC_AUTH_OPTIONS;
-       binding->flags |= *flags;
+       status = dcerpc_binding_set_flags(binding, *flags, DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(tctx, status, "set flags");
 
        torture_assert_ntstatus_ok(tctx,
                dcerpc_pipe_connect_b(tctx, &p, binding,
index 886ff39aa76fae476880162e474b429d2c5e681d..3c5398d8c8e65c780113f4d19a6282482f5e691b 100644 (file)
@@ -1753,8 +1753,11 @@ bool torture_rpc_samlogon(struct torture_context *torture)
        /* We have to use schannel, otherwise the SamLogonEx fails
         * with INTERNAL_ERROR */
 
-       b->flags &= ~DCERPC_AUTH_OPTIONS;
-       b->flags |= DCERPC_SCHANNEL | DCERPC_SIGN | DCERPC_SCHANNEL_128;
+       status = dcerpc_binding_set_flags(b,
+                                         DCERPC_SCHANNEL | DCERPC_SIGN |
+                                         DCERPC_SCHANNEL_128,
+                                         DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(torture, status, "set flags");
 
        status = dcerpc_pipe_connect_b(mem_ctx, &p, b,
                                       &ndr_table_netlogon,
index a06529348e518fd9771bf2b0450fe86114b77cc8..6b6ffc30f1b1f7a6c445c2a9616f98b025c67599 100644 (file)
@@ -3180,6 +3180,7 @@ static bool setup_schannel_netlogon_pipe(struct torture_context *tctx,
                                         struct dcerpc_pipe **p)
 {
        struct dcerpc_binding *b;
+       NTSTATUS status;
 
        torture_assert_ntstatus_ok(tctx, torture_rpc_binding(tctx, &b),
                "failed to get rpc binding");
@@ -3187,8 +3188,11 @@ static bool setup_schannel_netlogon_pipe(struct torture_context *tctx,
        /* We have to use schannel, otherwise the SamLogonEx fails
         * with INTERNAL_ERROR */
 
-       b->flags &= ~DCERPC_AUTH_OPTIONS;
-       b->flags |= DCERPC_SCHANNEL | DCERPC_SIGN | DCERPC_SCHANNEL_AUTO;
+       status = dcerpc_binding_set_flags(b,
+                                         DCERPC_SCHANNEL | DCERPC_SIGN |
+                                         DCERPC_SCHANNEL_AUTO,
+                                         DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(tctx, status, "set flags");
 
        torture_assert_ntstatus_ok(tctx,
                dcerpc_pipe_connect_b(tctx, p, b, &ndr_table_netlogon,
index d6d055082196e334c2a14799e225b6a7b8e52431..be026173828876ad425db4d2954f8e3f2fc5e2ea 100644 (file)
@@ -1694,8 +1694,10 @@ bool torture_rpc_samsync(struct torture_context *torture)
                goto failed;
        }
 
-       b->flags &= ~DCERPC_AUTH_OPTIONS;
-       b->flags |= DCERPC_SCHANNEL | DCERPC_SIGN;
+       status = dcerpc_binding_set_flags(b,
+                                         DCERPC_SCHANNEL | DCERPC_SIGN,
+                                         DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(torture, status, "set flags");
 
        credentials = cli_credentials_init(mem_ctx);
 
@@ -1731,8 +1733,10 @@ bool torture_rpc_samsync(struct torture_context *torture)
                goto failed;
        }
 
-       b_netlogon_wksta->flags &= ~DCERPC_AUTH_OPTIONS;
-       b_netlogon_wksta->flags |= DCERPC_SCHANNEL | DCERPC_SIGN;
+       status = dcerpc_binding_set_flags(b_netlogon_wksta,
+                                         DCERPC_SCHANNEL | DCERPC_SIGN,
+                                         DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(torture, status, "set flags");
 
        credentials_wksta = cli_credentials_init(mem_ctx);
 
index a1856c13f6e247daf25c42d122dfdef3152cf845..de93fcad1a6e1221d746d92b4f37afffcdf18d7d 100644 (file)
@@ -380,8 +380,8 @@ static bool test_schannel(struct torture_context *tctx,
        status = dcerpc_parse_binding(tctx, binding, &b);
        torture_assert_ntstatus_ok(tctx, status, "Bad binding string");
 
-       b->flags &= ~DCERPC_AUTH_OPTIONS;
-       b->flags |= dcerpc_flags;
+       status = dcerpc_binding_set_flags(b, dcerpc_flags, DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(tctx, status, "set flags");
 
        status = dcerpc_pipe_connect_b(tctx, &p, b, &ndr_table_samr,
                                       credentials, tctx->ev, tctx->lp_ctx);
@@ -475,8 +475,8 @@ static bool test_schannel(struct torture_context *tctx,
        status = dcerpc_parse_binding(tctx, binding, &b);
        torture_assert_ntstatus_ok(tctx, status, "Bad binding string");
 
-       b->flags &= ~DCERPC_AUTH_OPTIONS;
-       b->flags |= dcerpc_flags;
+       status = dcerpc_binding_set_flags(b, dcerpc_flags, DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(tctx, status, "set flags");
 
        status = dcerpc_pipe_connect_b(tctx, &p_samr2, b, &ndr_table_samr,
                                       credentials, tctx->ev, tctx->lp_ctx);
@@ -522,7 +522,8 @@ static bool test_schannel(struct torture_context *tctx,
        talloc_free(p_samr2);
 
        /* We don't want schannel for this test */
-       b->flags &= ~DCERPC_AUTH_OPTIONS;
+       status = dcerpc_binding_set_flags(b, 0, DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(tctx, status, "set flags");
 
        status = dcerpc_pipe_connect_b(tctx, &p_netlogon3, b, &ndr_table_netlogon,
                                       credentials, tctx->ev, tctx->lp_ctx);
@@ -610,8 +611,8 @@ bool torture_rpc_schannel2(struct torture_context *torture)
        status = dcerpc_parse_binding(torture, binding, &b);
        torture_assert_ntstatus_ok(torture, status, "Bad binding string");
 
-       b->flags &= ~DCERPC_AUTH_OPTIONS;
-       b->flags |= dcerpc_flags;
+       status = dcerpc_binding_set_flags(b, dcerpc_flags, DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(torture, status, "set flags");
 
        torture_comment(torture, "Opening first connection\n");
        status = dcerpc_pipe_connect_b(torture, &p1, b, &ndr_table_netlogon,
@@ -864,8 +865,10 @@ bool torture_rpc_schannel_bench1(struct torture_context *torture)
 
        status = dcerpc_parse_binding(s, binding, &s->b);
        torture_assert_ntstatus_ok(torture, status, "Bad binding string");
-       s->b->flags &= ~DCERPC_AUTH_OPTIONS;
-       s->b->flags |= DCERPC_SCHANNEL | DCERPC_SIGN;
+
+       status = dcerpc_binding_set_flags(s->b, DCERPC_SCHANNEL | DCERPC_SIGN,
+                                         DCERPC_AUTH_OPTIONS);
+       torture_assert_ntstatus_ok(torture, status, "set flags");
 
        torture_comment(torture, "Opening %d connections in parallel\n", s->nprocs);
        for (i=0; i < s->nprocs; i++) {