svn commit: samba r21693 - in
branches/SAMBA_4_0/source/torture/rpc: .
abartlet at samba.org
abartlet at samba.org
Mon Mar 5 01:23:45 GMT 2007
Author: abartlet
Date: 2007-03-05 01:23:44 +0000 (Mon, 05 Mar 2007)
New Revision: 21693
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21693
Log:
Fix the RPC-SCANNER test. Share some code with the RPC-MGMT test to
make things easier to keep working.
Andrew Bartlett
Modified:
branches/SAMBA_4_0/source/torture/rpc/mgmt.c
branches/SAMBA_4_0/source/torture/rpc/scanner.c
Changeset:
Modified: branches/SAMBA_4_0/source/torture/rpc/mgmt.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/mgmt.c 2007-03-05 00:18:38 UTC (rev 21692)
+++ branches/SAMBA_4_0/source/torture/rpc/mgmt.c 2007-03-05 01:23:44 UTC (rev 21693)
@@ -30,7 +30,11 @@
/*
ask the server what interface IDs are available on this endpoint
*/
-static BOOL test_inq_if_ids(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
+BOOL test_inq_if_ids(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
+ BOOL (*per_id_test)(const struct dcerpc_interface_table *iface,
+ TALLOC_CTX *mem_ctx,
+ struct dcerpc_syntax_id *id),
+ const void *priv)
{
NTSTATUS status;
struct mgmt_inq_if_ids r;
@@ -63,6 +67,10 @@
printf("\tuuid %s version 0x%08x '%s'\n",
GUID_string(mem_ctx, &id->uuid),
id->if_version, idl_pipe_name(&id->uuid, id->if_version));
+
+ if (per_id_test) {
+ per_id_test(priv, mem_ctx, id);
+ }
}
return True;
@@ -255,7 +263,7 @@
ret = False;
}
- if (!test_inq_if_ids(p, loop_ctx)) {
+ if (!test_inq_if_ids(p, loop_ctx, NULL, NULL)) {
ret = False;
}
Modified: branches/SAMBA_4_0/source/torture/rpc/scanner.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/scanner.c 2007-03-05 00:18:38 UTC (rev 21692)
+++ branches/SAMBA_4_0/source/torture/rpc/scanner.c 2007-03-05 01:23:44 UTC (rev 21693)
@@ -51,7 +51,7 @@
printf("Failed to connect to '%s' on '%s' - %s\n",
uuid_str, iface->name, nt_errstr(status));
talloc_free(uuid_str);
- return False;
+ return True;
}
/* make null calls */
@@ -59,7 +59,7 @@
memset(stub_in.data, 0xFF, stub_in.length);
for (i=0;i<200;i++) {
- status = dcerpc_request(p, NULL, False, i, mem_ctx, &stub_in, &stub_out);
+ status = dcerpc_request(p, NULL, i, False, mem_ctx, &stub_in, &stub_out);
if (!NT_STATUS_IS_OK(status) &&
p->last_fault_code == DCERPC_FAULT_OP_RNG_ERROR) {
break;
@@ -91,54 +91,8 @@
return True;
}
-/*
- ask the server what interface IDs are available on this endpoint
-*/
-static BOOL test_inq_if_ids(struct dcerpc_pipe *p,
- TALLOC_CTX *mem_ctx,
- const struct dcerpc_interface_table *iface)
-{
- NTSTATUS status;
- struct mgmt_inq_if_ids r;
- struct rpc_if_id_vector_t *vector;
- int i;
- r.out.if_id_vector = &vector;
-
- status = dcerpc_mgmt_inq_if_ids(p, mem_ctx, &r);
- if (!NT_STATUS_IS_OK(status)) {
- printf("inq_if_ids failed - %s\n", nt_errstr(status));
- return False;
- }
- if (!W_ERROR_IS_OK(r.out.result)) {
- printf("inq_if_ids gave error code %s\n", win_errstr(r.out.result));
- return False;
- }
-
- if (!r.out.if_id_vector) {
- printf("inq_if_ids gave NULL if_id_vector\n");
- return False;
- }
-
- for (i=0;i<vector->count;i++) {
- const char *uuid;
- struct dcerpc_syntax_id *id = vector->if_id[i].id;
- if (!id) continue;
-
- uuid = GUID_string(mem_ctx, &id->uuid),
-
- printf("\n\tuuid %s version 0x%08x '%s'\n",
- uuid,
- id->if_version, idl_pipe_name(&id->uuid, id->if_version));
-
- test_num_calls(iface, mem_ctx, id);
- }
-
- return True;
-}
-
-
BOOL torture_rpc_scanner(struct torture_context *torture)
{
NTSTATUS status;
@@ -196,10 +150,11 @@
continue;
}
- if (!test_inq_if_ids(p, mem_ctx, l->table)) {
+ if (!test_inq_if_ids(p, mem_ctx, test_num_calls, l->table)) {
ret = False;
}
}
return ret;
}
+
More information about the samba-cvs
mailing list