svn commit: samba r4560 - in branches/SAMBA_4_0/source: script/tests torture/rpc

tridge at samba.org tridge at samba.org
Thu Jan 6 09:26:14 GMT 2005


Author: tridge
Date: 2005-01-06 09:26:14 +0000 (Thu, 06 Jan 2005)
New Revision: 4560

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

Log:
- fixed crash bugs in the RPC-SCHANNEL and RPC-NETLOGON tests

- disabled the async netlogon tests for now until we better understand async rpc

- added a test_w2k3.sh script that runs rpc tests that a w2k3 DC
  should pass. This is useful for regression testing when PIDL changes
  are made.



Added:
   branches/SAMBA_4_0/source/script/tests/test_w2k3.sh
Modified:
   branches/SAMBA_4_0/source/script/tests/test_rpc.sh
   branches/SAMBA_4_0/source/torture/rpc/netlogon.c
   branches/SAMBA_4_0/source/torture/rpc/schannel.c


Changeset:
Modified: branches/SAMBA_4_0/source/script/tests/test_rpc.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/test_rpc.sh	2005-01-06 09:24:41 UTC (rev 4559)
+++ branches/SAMBA_4_0/source/script/tests/test_rpc.sh	2005-01-06 09:26:14 UTC (rev 4560)
@@ -8,7 +8,7 @@
 
 if [ $# -lt 4 ]; then
 cat <<EOF
-Usage: test_echo.sh SERVER USERNAME PASSWORD DOMAIN
+Usage: test_rpc.sh SERVER USERNAME PASSWORD DOMAIN
 EOF
 exit 1;
 fi

Added: branches/SAMBA_4_0/source/script/tests/test_w2k3.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/test_w2k3.sh	2005-01-06 09:24:41 UTC (rev 4559)
+++ branches/SAMBA_4_0/source/script/tests/test_w2k3.sh	2005-01-06 09:26:14 UTC (rev 4560)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# tests that should pass against a w2k3 DC, as administrator
+
+# add tests to this list as they start passing, so we test
+# that they stay passing
+ncacn_np_tests="RPC-DSSETUP RPC-EPMAPPER RPC-SAMR RPC-WKSSVC RPC-SRVSVC RPC-EVENTLOG RPC-NETLOGON"
+ncacn_ip_tcp_tests="RPC-EPMAPPER RPC-SAMR RPC-NETLOGON"
+
+if [ $# -lt 4 ]; then
+cat <<EOF
+Usage: test_w2k3.sh SERVER USERNAME PASSWORD DOMAIN
+EOF
+exit 1;
+fi
+
+server="$1"
+username="$2"
+password="$3"
+domain="$4"
+shift 4
+
+testit() {
+   trap "rm -f test.$$" EXIT
+   cmdline="$*"
+   if ! $cmdline > test.$$ 2>&1; then
+       cat test.$$;
+       rm -f test.$$;
+       echo "TEST FAILED - $cmdline";
+       exit 1;
+   fi
+   rm -f test.$$;
+}
+
+for transport in ncacn_ip_tcp ncacn_np; do
+ for bindoptions in connect sign seal validate bigendian; do
+     case $transport in
+	 ncacn_np) tests=$ncacn_np_tests ;;
+	 ncacn_ip_tcp) tests=$ncacn_ip_tcp_tests ;;
+     esac
+   for t in $tests; do
+    echo Testing $t on $transport with $bindoptions
+    testit bin/smbtorture $transport:"$server[$bindoptions]" -U"$username"%"$password" -W $domain $t "$*"
+   done
+ done
+done
+
+echo Testing RPC-DRSUAPI on ncacn_ip_tcp with seal
+testit bin/smbtorture ncacn_ip_tcp:"$server[seal]" -U"$username"%"$password" -W $domain RPC-DRSUAPI "$*"
+echo Testing RPC-DRSUAPI on ncacn_ip_tcp with seal,bigendian
+testit bin/smbtorture ncacn_ip_tcp:"$server[seal,bigendian]" -U"$username"%"$password" -W $domain RPC-DRSUAPI "$*"
+
+echo "ALL OK";


Property changes on: branches/SAMBA_4_0/source/script/tests/test_w2k3.sh
___________________________________________________________________
Name: svn:executable
   + *

Modified: branches/SAMBA_4_0/source/torture/rpc/netlogon.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/netlogon.c	2005-01-06 09:24:41 UTC (rev 4559)
+++ branches/SAMBA_4_0/source/torture/rpc/netlogon.c	2005-01-06 09:26:14 UTC (rev 4560)
@@ -1018,8 +1018,13 @@
 	struct creds_CredentialState creds_async[ASYNC_COUNT];
 	struct rpc_request *req[ASYNC_COUNT];
 	int i;
-	int async_counter = 0;
+	int *async_counter = talloc_p(mem_ctx, int);
 
+	if (!lp_parm_bool(-1, "torture", "dangerous", False)) {
+		printf("test_GetDomainInfo_async disabled - enable dangerous tests to use\n");
+		return True;
+	}
+
 	if (!test_SetupCredentials3(p, mem_ctx, NETLOGON_NEG_AUTH2_ADS_FLAGS, 
 				    TEST_MACHINE_NAME, machine_password, &creds)) {
 		return False;
@@ -1049,6 +1054,8 @@
 
 	printf("Testing netr_LogonGetDomainInfo - async count %d\n", ASYNC_COUNT);
 
+	*async_counter = 0;
+
 	for (i=0;i<ASYNC_COUNT;i++) {
 		creds_client_authenticator(&creds, &a);
 
@@ -1056,7 +1063,7 @@
 		req[i] = dcerpc_netr_LogonGetDomainInfo_send(p, mem_ctx, &r);
 
 		req[i]->async.callback = async_callback;
-		req[i]->async.private = &async_counter;
+		req[i]->async.private = async_counter;
 
 		/* even with this flush per request a w2k3 server seems to 
 		   clag with multiple outstanding requests. bleergh. */
@@ -1079,9 +1086,9 @@
 		}
 	}
 
-	printf("Testing netr_LogonGetDomainInfo - async count %d OK\n", async_counter);
+	printf("Testing netr_LogonGetDomainInfo - async count %d OK\n", *async_counter);
 
-	return async_counter == ASYNC_COUNT;
+	return (*async_counter) == ASYNC_COUNT;
 }
 
 
@@ -1110,78 +1117,25 @@
 		return False;
 	}
 
-	if (!test_LogonUasLogon(p, mem_ctx)) {
-		ret = False;
-	}
+	ret &= test_LogonUasLogon(p, mem_ctx);
+	ret &= test_LogonUasLogoff(p, mem_ctx);
+	ret &= test_SamLogon(p, mem_ctx);
+	ret &= test_SetPassword(p, mem_ctx);
+	ret &= test_GetDomainInfo(p, mem_ctx);
+	ret &= test_DatabaseSync(p, mem_ctx);
+	ret &= test_DatabaseDeltas(p, mem_ctx);
+	ret &= test_AccountDeltas(p, mem_ctx);
+	ret &= test_AccountSync(p, mem_ctx);
+	ret &= test_GetDcName(p, mem_ctx);
+	ret &= test_LogonControl(p, mem_ctx);
+	ret &= test_GetAnyDCName(p, mem_ctx);
+	ret &= test_LogonControl2(p, mem_ctx);
+	ret &= test_DatabaseSync2(p, mem_ctx);
+	ret &= test_LogonControl2Ex(p, mem_ctx);
+	ret &= test_DsrEnumerateDomainTrusts(p, mem_ctx);
+	ret &= test_GetDomainInfo_async(p, mem_ctx);
+	ret &= test_netr_DrsGetDCNameEx2(p, mem_ctx);
 
-	if (!test_LogonUasLogoff(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_SamLogon(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_SetPassword(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_GetDomainInfo(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_DatabaseSync(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_DatabaseDeltas(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_AccountDeltas(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_AccountSync(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_GetDcName(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_LogonControl(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_GetAnyDCName(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_LogonControl2(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_DatabaseSync2(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_LogonControl2Ex(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_DsrEnumerateDomainTrusts(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_GetDomainInfo_async(p, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_netr_DrsGetDCNameEx2(p, mem_ctx)) {
-		ret = False;
-	}
-
 	talloc_destroy(mem_ctx);
 
 	torture_rpc_close(p);

Modified: branches/SAMBA_4_0/source/torture/rpc/schannel.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/schannel.c	2005-01-06 09:24:41 UTC (rev 4559)
+++ branches/SAMBA_4_0/source/torture/rpc/schannel.c	2005-01-06 09:26:14 UTC (rev 4560)
@@ -122,8 +122,8 @@
 	NTSTATUS status;
 	const char *binding = lp_parm_string(-1, "torture", "binding");
 	struct dcerpc_binding b;
-	struct dcerpc_pipe *p;
-	struct dcerpc_pipe *p_netlogon;
+	struct dcerpc_pipe *p = NULL;
+	struct dcerpc_pipe *p_netlogon = NULL;
 	struct creds_CredentialState *creds;
 
 	join_ctx = torture_join_domain(TEST_MACHINE_NAME, lp_workgroup(), acct_flags,



More information about the samba-cvs mailing list