svn commit: samba r25895 - in branches/SAMBA_4_0/source: . torture/rpc

gd at samba.org gd at samba.org
Wed Nov 7 18:22:56 GMT 2007


Author: gd
Date: 2007-11-07 18:22:56 +0000 (Wed, 07 Nov 2007)
New Revision: 25895

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25895

Log:
Add torture test for netr_DsRAddressToSitenamesW and
netr_DsRAddressToSitenamesExW.

Guenther

Modified:
   branches/SAMBA_4_0/source/samba4-knownfail
   branches/SAMBA_4_0/source/torture/rpc/netlogon.c


Changeset:
Modified: branches/SAMBA_4_0/source/samba4-knownfail
===================================================================
--- branches/SAMBA_4_0/source/samba4-knownfail	2007-11-07 18:21:12 UTC (rev 25894)
+++ branches/SAMBA_4_0/source/samba4-knownfail	2007-11-07 18:22:56 UTC (rev 25895)
@@ -26,5 +26,7 @@
 RPC-NETLOGON.*/GetAnyDCName
 RPC-NETLOGON.*/DsrEnumerateDomainTrusts
 RPC-NETLOGON.*/DsrGetDcSiteCoverageW
+RPC-NETLOGON.*/DsRAddressToSitenamesW
+RPC-NETLOGON.*/DsRAddressToSitenamesExW
 BASE-CHARSET.*/Testing partial surrogate
 .*NET-API-DELSHARE.*				# DelShare isn't implemented yet

Modified: branches/SAMBA_4_0/source/torture/rpc/netlogon.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/netlogon.c	2007-11-07 18:21:12 UTC (rev 25894)
+++ branches/SAMBA_4_0/source/torture/rpc/netlogon.c	2007-11-07 18:22:56 UTC (rev 25895)
@@ -1176,7 +1176,70 @@
 	return true;
 }
 
+static bool test_netr_DsRAddressToSitenamesW(struct torture_context *tctx,
+					     struct dcerpc_pipe *p)
+{
+	NTSTATUS status;
+	struct netr_DsRAddressToSitenamesW r;
+	struct netr_DsRAddress addr;
+	struct netr_DsRAddressToSitenamesWCtr *ctr;
 
+	ctr = talloc(tctx, struct netr_DsRAddressToSitenamesWCtr);
+
+	addr.size = 16;
+	addr.buffer = talloc_zero_array(tctx, uint8_t, addr.size);
+
+	addr.buffer[0] = 2; /* AF_INET */
+	addr.buffer[4] = 127;
+	addr.buffer[5] = 0;
+	addr.buffer[6] = 0;
+	addr.buffer[7] = 1;
+
+	r.in.server_name = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p));
+	r.in.count = 1;
+	r.in.addresses = talloc_zero_array(tctx, struct netr_DsRAddress, r.in.count);
+	r.in.addresses[0] = addr;
+	r.out.ctr = &ctr;
+
+	status = dcerpc_netr_DsRAddressToSitenamesW(p, tctx, &r);
+	torture_assert_ntstatus_ok(tctx, status, "failed");
+	torture_assert_werr_ok(tctx, r.out.result, "failed");
+
+	return true;
+}
+
+static bool test_netr_DsRAddressToSitenamesExW(struct torture_context *tctx,
+					       struct dcerpc_pipe *p)
+{
+	NTSTATUS status;
+	struct netr_DsRAddressToSitenamesExW r;
+	struct netr_DsRAddress addr;
+	struct netr_DsRAddressToSitenamesExWCtr *ctr;
+
+	ctr = talloc(tctx, struct netr_DsRAddressToSitenamesExWCtr);
+
+	addr.size = 16;
+	addr.buffer = talloc_zero_array(tctx, uint8_t, addr.size);
+
+	addr.buffer[0] = 2; /* AF_INET */
+	addr.buffer[4] = 127;
+	addr.buffer[5] = 0;
+	addr.buffer[6] = 0;
+	addr.buffer[7] = 1;
+
+	r.in.server_name = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p));
+	r.in.count = 1;
+	r.in.addresses = talloc_zero_array(tctx, struct	netr_DsRAddress, r.in.count);
+	r.in.addresses[0] = addr;
+	r.out.ctr = &ctr;
+
+	status = dcerpc_netr_DsRAddressToSitenamesExW(p, tctx, &r);
+	torture_assert_ntstatus_ok(tctx, status, "failed");
+	torture_assert_werr_ok(tctx, r.out.result, "failed");
+
+	return true;
+}
+
 static bool test_GetDomainInfo(struct torture_context *tctx, 
 			       struct dcerpc_pipe *p,
 			       struct cli_credentials *machine_credentials)
@@ -1398,7 +1461,6 @@
 
 	tcase = torture_suite_add_machine_rpc_iface_tcase(suite, "netlogon", 
 						  &ndr_table_netlogon, TEST_MACHINE_NAME);
-
 	torture_rpc_tcase_add_test(tcase, "LogonUasLogon", test_LogonUasLogon);
 	torture_rpc_tcase_add_test(tcase, "LogonUasLogoff", test_LogonUasLogoff);
 	torture_rpc_tcase_add_test_creds(tcase, "SamLogon", test_SamLogon);
@@ -1423,6 +1485,8 @@
 	torture_rpc_tcase_add_test(tcase, "DsRGetDCNameEx", test_netr_DsRGetDCNameEx);
 	torture_rpc_tcase_add_test(tcase, "DsRGetDCNameEx2", test_netr_DsRGetDCNameEx2);
 	torture_rpc_tcase_add_test(tcase, "DsrGetDcSiteCoverageW", test_netr_DsrGetDcSiteCoverageW);
+	torture_rpc_tcase_add_test(tcase, "DsRAddressToSitenamesW", test_netr_DsRAddressToSitenamesW);
+	torture_rpc_tcase_add_test(tcase, "DsRAddressToSitenamesExW", test_netr_DsRAddressToSitenamesExW);
 
 	return suite;
 }



More information about the samba-cvs mailing list