diff options
author | Christof Schmitt <cs@samba.org> | 2018-02-28 13:10:43 -0700 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-04-06 17:58:38 +0200 |
commit | 552a00ec1f6795b9025298931a6cc50ebe552052 (patch) | |
tree | 4fbb433d9fc543818be1b26524aae17fe6ec69ae | |
parent | f4db4e86c341a89357082e81e30c302440647530 (diff) | |
download | samba-552a00ec1f6795b9025298931a6cc50ebe552052.tar.gz |
Add test for wbinfo name lookup
This demonstrates that wbinfo -n / --name-to-sid returns information
instead of failing the request. More specifically the query for
INVALIDDOMAIN//user returns the user SID for the joined domain, instead
of failing the request.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13312
Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
-rwxr-xr-x | nsswitch/tests/test_wbinfo_name_lookup.sh | 40 | ||||
-rw-r--r-- | selftest/knownfail | 2 | ||||
-rwxr-xr-x | source3/selftest/tests.py | 4 |
3 files changed, 46 insertions, 0 deletions
diff --git a/nsswitch/tests/test_wbinfo_name_lookup.sh b/nsswitch/tests/test_wbinfo_name_lookup.sh new file mode 100755 index 00000000000..696e25b3a2a --- /dev/null +++ b/nsswitch/tests/test_wbinfo_name_lookup.sh @@ -0,0 +1,40 @@ +#!/bin/sh +# Blackbox test for wbinfo name lookup +if [ $# -lt 2 ]; then +cat <<EOF +Usage: test_wbinfo.sh DOMAIN DC_USERNAME +EOF +exit 1; +fi + +DOMAIN=$1 +DC_USERNAME=$2 +shift 2 + +failed=0 +sambabindir="$BINDIR" +wbinfo="$VALGRIND $sambabindir/wbinfo" + +. `dirname $0`/../../testprogs/blackbox/subunit.sh + +# Correct query is expected to work +testit "name-to-sid.single-separator" \ + $wbinfo -n $DOMAIN/$DC_USERNAME || \ + failed=$(expr $failed + 1) + +# Two separator characters should fail +testit_expect_failure "name-to-sid.double-separator" \ + $wbinfo -n $DOMAIN//$DC_USERNAME || \ + failed=$(expr $failed + 1) + +# Invalid domain is expected to fail +testit_expect_failure "name-to-sid.invalid-domain" \ + $wbinfo -n INVALID/$DC_USERNAME || \ + failed=$(expr $failed + 1) + +# Invalid domain with two separator characters is expected to fail +testit_expect_failure "name-to-sid.double-separator-invalid-domain" \ + $wbinfo -n INVALID//$DC_USERNAME || \ + failed=$(expr $failed + 1) + +exit $failed diff --git a/selftest/knownfail b/selftest/knownfail index a2aeed2690d..6ef61dbcba2 100644 --- a/selftest/knownfail +++ b/selftest/knownfail @@ -343,3 +343,5 @@ # Disabling NTLM means you can't use samr to change the password ^samba.tests.ntlmdisabled.python\(ktest\).ntlmdisabled.NtlmDisabledTests.test_samr_change_password\(ktest\) ^samba.tests.ntlmdisabled.python\(ad_dc_no_ntlm\).ntlmdisabled.NtlmDisabledTests.test_ntlm_connection\(ad_dc_no_ntlm\) +samba3.wbinfo_name_lookup.name-to-sid.double-separator\(ad_member\) +samba3.wbinfo_name_lookup.name-to-sid.double-separator-invalid-domain\(ad_member\) diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index a9b7c209393..a22d5e67dda 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -210,6 +210,10 @@ for env in ["nt4_member", "ad_member"]: env = "ad_member" t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD" plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t]) +plantestsuite("samba3.wbinfo_name_lookup", env, + [ os.path.join(srcdir(), + "nsswitch/tests/test_wbinfo_name_lookup.sh"), + '$DOMAIN', '$DC_USERNAME' ]) t = "WBCLIENT-MULTI-PING" plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""]) plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"]) |