diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-01-03 15:57:40 +1100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2012-01-05 17:17:28 +0100 |
commit | 7b4f2fad544137db3399e0daa04dd154ba10357d (patch) | |
tree | 807cc287318eb80245f636d0c8000e14df0542cd | |
parent | 73ed88df350c0e307fcf7402be12170c22f2227e (diff) | |
download | samba-7b4f2fad544137db3399e0daa04dd154ba10357d.tar.gz samba-7b4f2fad544137db3399e0daa04dd154ba10357d.tar.bz2 samba-7b4f2fad544137db3399e0daa04dd154ba10357d.zip |
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 <metze@samba.org>
-rw-r--r-- | selftest/knownfail | 9 | ||||
-rwxr-xr-x | source3/script/tests/test_rpcclient.sh | 19 | ||||
-rwxr-xr-x | source3/selftest/tests.py | 11 |
3 files changed, 38 insertions, 1 deletions
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 +Usage: test_rpcclient.sh ccache binding <rpcclient commands> +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: |