From 8e4583f730abd1a210ec52d5a060dddc4ad850bb Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 11 May 2020 11:08:54 +0200 Subject: [PATCH] test: Show that netfileenum is broken Bug: https://bugzilla.samba.org/show_bug.cgi?id=14355 Signed-off-by: Volker Lendecke Reviewed-by: Stefan Metzmacher --- selftest/knownfail.d/netfileenum | 1 + source3/script/tests/test_netfileenum.sh | 73 ++++++++++++++++++++++++ source3/selftest/tests.py | 9 +++ 3 files changed, 83 insertions(+) create mode 100644 selftest/knownfail.d/netfileenum create mode 100755 source3/script/tests/test_netfileenum.sh diff --git a/selftest/knownfail.d/netfileenum b/selftest/knownfail.d/netfileenum new file mode 100644 index 00000000000..2d3b6fae117 --- /dev/null +++ b/selftest/knownfail.d/netfileenum @@ -0,0 +1 @@ +^samba3.blackbox.netfileenum.netfileenum\(simpleserver:local\) diff --git a/source3/script/tests/test_netfileenum.sh b/source3/script/tests/test_netfileenum.sh new file mode 100755 index 00000000000..e917ad42862 --- /dev/null +++ b/source3/script/tests/test_netfileenum.sh @@ -0,0 +1,73 @@ +#!/bin/bash +# +# Test rpcclient netfileenum +# +# Copyright (C) 2020 Volker Lendecke + +if [ $# -lt 5 ]; then + echo Usage: $0 \ + SMBCLIENT RPCCLIENT NET SERVER SHARE +exit 1 +fi + +SMBCLIENT="$1"; shift 1 +RPCCLIENT="$1"; shift 1 +NET="$1"; shift 1 +SERVER="$1"; shift 1 +SHARE="$1"; shift 1 + +incdir=$(dirname $0)/../../../testprogs/blackbox +. $incdir/subunit.sh + +failed=0 + +rm -f smbclient-stdin smbclient-stdout smbclient-stderr +mkfifo smbclient-stdin smbclient-stdout smbclient-stderr + +CLI_FORCE_INTERACTIVE=1; export CLI_FORCE_INTERACTIVE + +${SMBCLIENT} //${SERVER}/${SHARE} ${CONF} -U${USER}%${PASSWORD} \ + < smbclient-stdin > smbclient-stdout 2>smbclient-stderr & +CLIENT_PID=$! + +sleep 1 + +exec 100>smbclient-stdin 101&100 + +sleep 1 + +testit "Create builtin\\administrators group" \ + "${NET}" groupmap add \ + sid=S-1-5-32-544 unixgroup="${USER}"-group type=builtin || \ + failed=$((failed+1)) +testit "Add ${USER} to builtin\\administrators" \ + "${NET}" groupmap addmem S-1-5-32-544 \ + $("${NET}" lookup name "${USER}" | cut -d' ' -f1) || \ + failed=$((failed+1)) + +"${RPCCLIENT}" "${SERVER}" -U"${USER}"%"${PASSWORD}" -c netfileenum | + grep "$FILE"\$ +RC=$? +testit "netfileenum" test $RC = 0 || failed=$((failed+1)) + +kill ${CLIENT_PID} +rm -f smbclient-stdin smbclient-stdout smbclient-stderr + +testit "Remove ${USER} from builtin\\administrators" \ + "${NET}" groupmap delmem S-1-5-32-544 \ + $("${NET}" lookup name "${USER}" | cut -d' ' -f1) || \ + failed=$((failed+1)) +testit "Remove builtin\\administrators group" \ + "${NET}" groupmap delete \ + sid=S-1-5-32-544 || \ + failed=$((failed+1)) + +testok $0 $failed diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 7309c05a7a5..38ed8c771c2 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -923,6 +923,15 @@ plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local", '$SERVER_IP', "error_inject"]) +plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local", + [os.path.join(samba3srcdir, + "script/tests/test_netfileenum.sh"), + os.path.join(bindir(), "smbclient"), + os.path.join(bindir(), "rpcclient"), + os.path.join(bindir(), "net"), + '$SERVER_IP', + 'tmp']) + plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local", [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"), smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD', -- 2.47.3