failed=0
$SRCDIR/script/tests/test_ldap.sh localhost || failed=`expr $failed + $?`
$SRCDIR/script/tests/test_rpc.sh localhost $USERNAME $PASSWORD $DOMAIN $ADDARG || failed=`expr $failed + $?`
+ $SRCDIR/script/tests/test_session_key.sh localhost $USERNAME $PASSWORD $DOMAIN $ADDARG || failed=`expr $failed + $?`
$SRCDIR/script/tests/test_binding_string.sh localhost $USERNAME $PASSWORD $DOMAIN $ADDARG || failed=`expr $failed + $?`
$SRCDIR/script/tests/test_echo.sh localhost $USERNAME $PASSWORD $DOMAIN $ADDARG || failed=`expr $failed + $?`
$SRCDIR/script/tests/test_posix.sh //localhost/tmp $USERNAME $PASSWORD "" $ADDARG || failed=`expr $failed + $?`
ncacn_np_tests="RPC-SPOOLSS RPC-SCHANNEL RPC-ECHO RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND"
ncalrpc_tests="RPC-SCHANNEL RPC-ECHO RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND"
ncacn_ip_tcp_tests="RPC-SCHANNEL RPC-ECHO RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND"
+slow_ncacn_np_tests="RPC-SAMLOGON"
+slow_ncalrpc_tests="RPC-SAMLOGON"
+slow_ncacn_ip_tcp_tests="RPC-SAMLOGON"
if [ $# -lt 4 ]; then
cat <<EOF
done
testok $0 $failed
+
+#for bindoptions in connect validate padcheck bigendian bigendian,seal; do
+# for transport in ncalrpc ncacn_np ncacn_ip_tcp; do
+# case $transport in
+# ncalrpc) tests=$slow_ncalrpc_tests ;;
+# ncacn_np) tests=$slow_ncacn_np_tests ;;
+# ncacn_ip_tcp) tests=$slow_ncacn_ip_tcp_tests ;;
+# esac
+# for t in $tests; do
+# name="$t on $transport with $bindoptions"
+# testit "$name" $VALGRIND bin/smbtorture $TORTURE_OPTIONS $transport:"$server[$bindoptions]" -U"$username"%"$password" -W $domain $t "$*" || failed=`expr $failed + 1`
+# done
+# done
+#done
+
--- /dev/null
+#!/bin/sh
+
+if [ $# -lt 4 ]; then
+cat <<EOF
+Usage: test_session_key.sh SERVER USERNAME PASSWORD DOMAIN
+EOF
+exit 1;
+fi
+
+server="$1"
+username="$2"
+password="$3"
+domain="$4"
+shift 4
+
+incdir=`dirname $0`
+. $incdir/test_functions.sh
+
+failed=0
+transport="ncacn_np"
+ for ntlmoptions in \
+ "--option=usespnego=yes --option=ntlmssp_client:ntlm2=yes" \
+ "--option=usespnego=yes --option=ntlmssp_client:ntlm2=no" \
+ "--option=usespnego=yes --option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:128bit=no" \
+ "--option=usespnego=yes--option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:128bit=no" \
+ "--option=usespnego=yes --option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:keyexchange=no" \
+ "--option=usespnego=yes --option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:keyexchange=no" \
+ "--option=usespnego=no" \
+ ; do
+ name="$transport with $ntlmoptions"
+ testit "$name" bin/smbtorture $TORTURE_OPTIONS $transport:"$server[$bindoptions]" $ntlmoptions -U"$username"%"$password" -W $domain RPC-SECRETS "$*" || failed=`expr $failed + 1`
+ done
+testok $0 $failed
return ret;
}
+
+
+BOOL torture_rpc_lsa_secrets(void)
+{
+ NTSTATUS status;
+ struct dcerpc_pipe *p;
+ TALLOC_CTX *mem_ctx;
+ BOOL ret = True;
+ struct policy_handle handle;
+
+ mem_ctx = talloc_init("torture_rpc_lsa_secrets");
+
+ status = torture_rpc_connection(mem_ctx,
+ &p,
+ DCERPC_LSARPC_NAME,
+ DCERPC_LSARPC_UUID,
+ DCERPC_LSARPC_VERSION);
+ if (!NT_STATUS_IS_OK(status)) {
+ talloc_free(mem_ctx);
+ return False;
+ }
+
+ if (!test_lsa_OpenPolicy2(p, mem_ctx, &handle)) {
+ ret = False;
+ }
+
+ if (!test_CreateSecret(p, mem_ctx, &handle)) {
+ ret = False;
+ }
+
+ talloc_free(mem_ctx);
+
+ return ret;
+}
/* rpc testers */
{"RPC-LSA", torture_rpc_lsa, 0},
+ {"RPC-SECRETS", torture_rpc_lsa_secrets, 0},
{"RPC-ECHO", torture_rpc_echo, 0},
{"RPC-DFS", torture_rpc_dfs, 0},
{"RPC-SPOOLSS", torture_rpc_spoolss, 0},