torture: Test the "server addresses" parameter
authorVolker Lendecke <vl@samba.org>
Mon, 7 Nov 2022 19:34:57 +0000 (20:34 +0100)
committerVolker Lendecke <vl@samba.org>
Thu, 10 Nov 2022 08:23:14 +0000 (08:23 +0000)
Thanks to Metze for the hint that all file servers already listen on 2
addressess -- V4 and V6 :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Thu Nov 10 08:23:14 UTC 2022 on sn-devel-184

selftest/target/Samba3.pm
source3/script/tests/test_server_addresses.sh [new file with mode: 0755]
source3/selftest/tests.py

index 800df1f81bd669785efee3ba61f973892ada1ec0..4db74e4d86ed06178bf8d24b25495a06b6a2710d 100755 (executable)
@@ -3457,6 +3457,10 @@ sub provision($$)
 [full_audit_fail_bad_name]
        copy = tmp
        full_audit:failure = badname
+
+[only_ipv6]
+       copy = tmpguest
+       server addresses = $server_ipv6
        ";
 
        close(CONF);
diff --git a/source3/script/tests/test_server_addresses.sh b/source3/script/tests/test_server_addresses.sh
new file mode 100755 (executable)
index 0000000..891c2f2
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# Blackbox test for the server addresses parameter
+#
+
+incdir=$(dirname $0)/../../../testprogs/blackbox
+. $incdir/subunit.sh
+
+failed=0
+
+testit_grep_count \
+    "[only_ipv6] invisible over ipv4" "netname: only_ipv6" 0 \
+    bin/rpcclient "$SERVER_IP" -U% -c netshareenumall ||
+    failed=$(expr "$failed" + 1)
+
+testit_grep_count \
+    "[only_ipv6] visible over ipv6" "netname: only_ipv6" 1 \
+    bin/rpcclient "$SERVER_IPV6" -U% -c netshareenumall ||
+    failed=$(expr "$failed" + 1)
+
+testit_expect_failure_grep \
+    "[only_ipv6] inaccessible over ipv4" \
+    "tree connect failed: NT_STATUS_BAD_NETWORK_NAME" \
+    bin/smbclient //"$SERVER_IP"/only_ipv6 -U% -c quit ||
+    failed=$(expr "$failed" + 1)
+
+testit \
+    "[only_ipv6] accessible over ipv6" \
+    bin/smbclient //"$SERVER_IPV6"/only_ipv6 -U% -c quit ||
+    failed=$(expr "$failed" + 1)
+
+testok $0 $failed
index 2155866923f38c3b25373888c1cede8c52e36263..182283d9c9d048fc3d120d52c21c1e615dc41976 100755 (executable)
@@ -802,6 +802,11 @@ for env in ["fileserver:local"]:
     plantestsuite("samba3.blackbox.smbstatus", env, [os.path.join(samba3srcdir, "script/tests/test_smbstatus.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, smbstatus, configuration, "SMB3"])
     plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
 
+plantestsuite("samba3.blackbox.server_addresses",
+              "simpleserver",
+              [os.path.join(samba3srcdir,
+                            "script/tests/test_server_addresses.sh")])
+
 # TODO encrypted against member, with member creds, and with DC creds
 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
               [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),