summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-01-30 19:40:20 +0100
committerGünther Deschner <gd@samba.org>2014-02-13 11:54:17 +0100
commit460272d69b5cfc8d1310e0d8ebcf5c62df242a9f (patch)
tree269c35e139c2a84012d0d4117250d0d3e40d8ff1
parente2c59389f04cf4a629d90888637f56fe5e34ca38 (diff)
downloadsamba-460272d69b5cfc8d1310e0d8ebcf5c62df242a9f.tar.gz
s4:torture/rpc: make use of dcerpc_binding_set_flags()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
-rw-r--r--source4/torture/rpc/bind.c5
-rw-r--r--source4/torture/rpc/samlogon.c7
-rw-r--r--source4/torture/rpc/samr.c8
-rw-r--r--source4/torture/rpc/samsync.c12
-rw-r--r--source4/torture/rpc/schannel.c21
5 files changed, 34 insertions, 19 deletions
diff --git a/source4/torture/rpc/bind.c b/source4/torture/rpc/bind.c
index 457dbd95754..f20af4afb10 100644
--- a/source4/torture/rpc/bind.c
+++ b/source4/torture/rpc/bind.c
@@ -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,
diff --git a/source4/torture/rpc/samlogon.c b/source4/torture/rpc/samlogon.c
index 886ff39aa76..3c5398d8c8e 100644
--- a/source4/torture/rpc/samlogon.c
+++ b/source4/torture/rpc/samlogon.c
@@ -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,
diff --git a/source4/torture/rpc/samr.c b/source4/torture/rpc/samr.c
index a06529348e5..6b6ffc30f1b 100644
--- a/source4/torture/rpc/samr.c
+++ b/source4/torture/rpc/samr.c
@@ -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,
diff --git a/source4/torture/rpc/samsync.c b/source4/torture/rpc/samsync.c
index d6d05508219..be026173828 100644
--- a/source4/torture/rpc/samsync.c
+++ b/source4/torture/rpc/samsync.c
@@ -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);
diff --git a/source4/torture/rpc/schannel.c b/source4/torture/rpc/schannel.c
index a1856c13f6e..de93fcad1a6 100644
--- a/source4/torture/rpc/schannel.c
+++ b/source4/torture/rpc/schannel.c
@@ -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++) {