summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/torture/rpc/mgmt.c34
-rw-r--r--source4/torture/rpc/scanner.c2
2 files changed, 20 insertions, 16 deletions
diff --git a/source4/torture/rpc/mgmt.c b/source4/torture/rpc/mgmt.c
index 95c13c0ca6..02fee16e55 100644
--- a/source4/torture/rpc/mgmt.c
+++ b/source4/torture/rpc/mgmt.c
@@ -30,7 +30,8 @@
ask the server what interface IDs are available on this endpoint
*/
bool test_inq_if_ids(struct torture_context *tctx,
- struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
+ struct dcerpc_binding_handle *b,
+ TALLOC_CTX *mem_ctx,
bool (*per_id_test)(struct torture_context *,
const struct ndr_interface_table *iface,
TALLOC_CTX *mem_ctx,
@@ -45,7 +46,7 @@ bool test_inq_if_ids(struct torture_context *tctx,
vector = talloc(mem_ctx, struct rpc_if_id_vector_t);
r.out.if_id_vector = &vector;
- status = dcerpc_mgmt_inq_if_ids(p, mem_ctx, &r);
+ status = dcerpc_mgmt_inq_if_ids_r(b, mem_ctx, &r);
if (!NT_STATUS_IS_OK(status)) {
printf("inq_if_ids failed - %s\n", nt_errstr(status));
return false;
@@ -78,7 +79,7 @@ bool test_inq_if_ids(struct torture_context *tctx,
return true;
}
-static bool test_inq_stats(struct dcerpc_pipe *p,
+static bool test_inq_stats(struct dcerpc_binding_handle *b,
TALLOC_CTX *mem_ctx)
{
NTSTATUS status;
@@ -89,7 +90,7 @@ static bool test_inq_stats(struct dcerpc_pipe *p,
r.in.unknown = 0;
r.out.statistics = &statistics;
- status = dcerpc_mgmt_inq_stats(p, mem_ctx, &r);
+ status = dcerpc_mgmt_inq_stats_r(b, mem_ctx, &r);
if (!NT_STATUS_IS_OK(status)) {
printf("inq_stats failed - %s\n", nt_errstr(status));
return false;
@@ -109,7 +110,7 @@ static bool test_inq_stats(struct dcerpc_pipe *p,
return true;
}
-static bool test_inq_princ_name(struct dcerpc_pipe *p,
+static bool test_inq_princ_name(struct dcerpc_binding_handle *b,
TALLOC_CTX *mem_ctx)
{
NTSTATUS status;
@@ -121,7 +122,7 @@ static bool test_inq_princ_name(struct dcerpc_pipe *p,
r.in.authn_proto = i; /* DCERPC_AUTH_TYPE_* */
r.in.princ_name_size = 100;
- status = dcerpc_mgmt_inq_princ_name(p, mem_ctx, &r);
+ status = dcerpc_mgmt_inq_princ_name_r(b, mem_ctx, &r);
if (!NT_STATUS_IS_OK(status)) {
continue;
}
@@ -145,14 +146,14 @@ static bool test_inq_princ_name(struct dcerpc_pipe *p,
return true;
}
-static bool test_is_server_listening(struct dcerpc_pipe *p,
+static bool test_is_server_listening(struct dcerpc_binding_handle *b,
TALLOC_CTX *mem_ctx)
{
NTSTATUS status;
struct mgmt_is_server_listening r;
r.out.status = talloc(mem_ctx, uint32_t);
- status = dcerpc_mgmt_is_server_listening(p, mem_ctx, &r);
+ status = dcerpc_mgmt_is_server_listening_r(b, mem_ctx, &r);
if (!NT_STATUS_IS_OK(status)) {
printf("is_server_listening failed - %s\n", nt_errstr(status));
return false;
@@ -167,13 +168,13 @@ static bool test_is_server_listening(struct dcerpc_pipe *p,
return true;
}
-static bool test_stop_server_listening(struct dcerpc_pipe *p,
+static bool test_stop_server_listening(struct dcerpc_binding_handle *b,
TALLOC_CTX *mem_ctx)
{
NTSTATUS status;
struct mgmt_stop_server_listening r;
- status = dcerpc_mgmt_stop_server_listening(p, mem_ctx, &r);
+ status = dcerpc_mgmt_stop_server_listening_r(b, mem_ctx, &r);
if (!NT_STATUS_IS_OK(status)) {
printf("stop_server_listening failed - %s\n", nt_errstr(status));
return false;
@@ -208,6 +209,8 @@ bool torture_rpc_mgmt(struct torture_context *torture)
}
for (l=ndr_table_list();l;l=l->next) {
+ struct dcerpc_binding_handle *bh;
+
loop_ctx = talloc_named(mem_ctx, 0, "torture_rpc_mgmt loop context");
/* some interfaces are not mappable */
@@ -235,6 +238,7 @@ bool torture_rpc_mgmt(struct torture_context *torture)
talloc_free(loop_ctx);
continue;
}
+ bh = p->binding_handle;
if (!NT_STATUS_IS_OK(status)) {
talloc_free(loop_ctx);
@@ -242,23 +246,23 @@ bool torture_rpc_mgmt(struct torture_context *torture)
continue;
}
- if (!test_is_server_listening(p, loop_ctx)) {
+ if (!test_is_server_listening(bh, loop_ctx)) {
ret = false;
}
- if (!test_stop_server_listening(p, loop_ctx)) {
+ if (!test_stop_server_listening(bh, loop_ctx)) {
ret = false;
}
- if (!test_inq_stats(p, loop_ctx)) {
+ if (!test_inq_stats(bh, loop_ctx)) {
ret = false;
}
- if (!test_inq_princ_name(p, loop_ctx)) {
+ if (!test_inq_princ_name(bh, loop_ctx)) {
ret = false;
}
- if (!test_inq_if_ids(torture, p, loop_ctx, NULL, NULL)) {
+ if (!test_inq_if_ids(torture, bh, loop_ctx, NULL, NULL)) {
ret = false;
}
diff --git a/source4/torture/rpc/scanner.c b/source4/torture/rpc/scanner.c
index 9acc789ee9..c176c3d6f1 100644
--- a/source4/torture/rpc/scanner.c
+++ b/source4/torture/rpc/scanner.c
@@ -139,7 +139,7 @@ bool torture_rpc_scanner(struct torture_context *torture)
continue;
}
- if (!test_inq_if_ids(torture, p, torture, test_num_calls, l->table)) {
+ if (!test_inq_if_ids(torture, p->binding_handle, torture, test_num_calls, l->table)) {
ret = false;
}
}