From 7b4f2fad544137db3399e0daa04dd154ba10357d Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 3 Jan 2012 15:57:40 +1100 Subject: s3-selftest: Add test for rpcclient, including kerberos authentication Some knownfail entries are added for things the currently fail. Andrew Bartlett Signed-off-by: Stefan Metzmacher --- selftest/knownfail | 9 +++++++++ source3/script/tests/test_rpcclient.sh | 19 +++++++++++++++++++ source3/selftest/tests.py | 11 ++++++++++- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100755 source3/script/tests/test_rpcclient.sh diff --git a/selftest/knownfail b/selftest/knownfail index 9e52fa8943..220df1c232 100644 --- a/selftest/knownfail +++ b/selftest/knownfail @@ -12,6 +12,15 @@ ^samba3.*rap.sam.*.useradd # Not provided by Samba 3 ^samba3.*rap.sam.*.userdelete # Not provided by Samba 3 ^samba3.posix_s3.libsmbclient .opendir # This requires a workgroup called 'WORKGROUP' and for netbios browse lists to have been registered +#These rpcclient combinations (pipe-level authentication but without sign or seal) need fixing in s3 +^samba3.blackbox.rpcclient over ncacn_np with \[spnego\] +^samba3.blackbox.rpcclient over ncacn_np with \[spnego,bigendian\] +^samba3.blackbox.rpcclient over ncacn_np with \[spnego,connect\] +^samba3.blackbox.rpcclient over ncacn_np with \[spnego,connect,bigendian\] +^samba3.blackbox.rpcclient over ncacn_np with \[spnego,smb2\] +^samba3.blackbox.rpcclient over ncacn_np with \[spnego,smb2,bigendian\] +^samba3.blackbox.rpcclient over ncacn_np with \[spnego,connect,smb2\] +^samba3.blackbox.rpcclient over ncacn_np with \[spnego,connect,smb2,bigendian\] # these show that we still have some differences between our system # with our internal iconv because it passes except when we bypass our # internal iconv modules diff --git a/source3/script/tests/test_rpcclient.sh b/source3/script/tests/test_rpcclient.sh new file mode 100755 index 0000000000..6c293166a2 --- /dev/null +++ b/source3/script/tests/test_rpcclient.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +if [ $# -lt 1 ]; then +cat < +EOF +exit 1; +fi + +KRB5CCNAME=$1 +shift 1 +export KRB5CCNAME +ADDARGS="$*" + +incdir=`dirname $0`/../../../testprogs/blackbox +. $incdir/subunit.sh +testit "rpcclient" $VALGRIND $BINDIR/rpcclient -c 'getusername' $ADDARGS || failed=`expr $failed + 1` + +testok $0 $failed diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 2111530903..61bd1bb268 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -251,7 +251,7 @@ if sub.returncode == 0: test = 'rpc.lsa.lookupsids' - auth_options = ["", "ntlm", "spnego" ] + auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ] signseal_options = ["", ",connect", ",sign", ",seal"] smb_options = ["", ",smb2"] endianness_options = ["", ",bigendian"] @@ -262,6 +262,8 @@ if sub.returncode == 0: binding_string = "ncacn_np:$SERVER[%s%s%s%s]" % (a, s, z, e) options = binding_string + " -U$USERNAME%$PASSWORD" plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s%s] ' % (a, s, z, e)) + plantestsuite("samba3.blackbox.rpcclient over ncacn_np with [%s%s%s%s] " % (a, s, z, e), "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"), + "none", options, configuration]) # We should try more combinations in future, but this is all # the pre-calculated credentials cache supports at the moment @@ -274,6 +276,13 @@ if sub.returncode == 0: options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3" plansmbtorturetestsuite(test, "ktest", options, 'over kerberos ncacn_np with [%s%s%s%s] ' % (a, s, z, e)) + auth_options2 = ["krb5", "spnego,krb5"] + for a in auth_options2: + binding_string = "ncacn_np:$SERVER[%s%s%s%s]" % (a, s, z, e) + + plantestsuite("samba3.blackbox.rpcclient over kerberos with ncacn_np with [%s%s%s%s] " % (a, s, z, e), "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"), + "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration]) + for e in endianness_options: -- cgit