From 942123b95923f35a32df4196a072a3ed3468396a Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 21 Oct 2021 16:37:27 -0700 Subject: [PATCH] s3: smbd: Add two tests showing the ability to delete a directory containing a dangling symlink over SMB2 depends on "delete veto files" setting. Add knownfail. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14879 Signed-off-by: Jeremy Allison Reviewed-by: Ralph Boehme --- selftest/knownfail.d/rmdir_dangle_symlink | 1 + selftest/target/Samba3.pm | 4 + .../test_delete_veto_files_only_rmdir.sh | 183 ++++++++++++++++++ source3/selftest/tests.py | 3 + 4 files changed, 191 insertions(+) create mode 100644 selftest/knownfail.d/rmdir_dangle_symlink create mode 100755 source3/script/tests/test_delete_veto_files_only_rmdir.sh diff --git a/selftest/knownfail.d/rmdir_dangle_symlink b/selftest/knownfail.d/rmdir_dangle_symlink new file mode 100644 index 00000000000..c775dc5fe15 --- /dev/null +++ b/selftest/knownfail.d/rmdir_dangle_symlink @@ -0,0 +1 @@ +^samba3.blackbox.test_dangle_rmdir.rmdir can delete directory containing dangling symlink\(fileserver\) diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index 2fdab781fda..8ecfc1aaf82 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -1738,6 +1738,10 @@ sub setup_fileserver veto files = /veto_name*/ delete veto files = yes +[delete_veto_files_only] + path = $veto_sharedir + delete veto files = yes + [homes] comment = Home directories browseable = No diff --git a/source3/script/tests/test_delete_veto_files_only_rmdir.sh b/source3/script/tests/test_delete_veto_files_only_rmdir.sh new file mode 100755 index 00000000000..d2c3b2198f7 --- /dev/null +++ b/source3/script/tests/test_delete_veto_files_only_rmdir.sh @@ -0,0 +1,183 @@ +#!/bin/sh +# +# Check smbclient can (or cannot) delete a directory containing dangling symlinks. +# BUG: https://bugzilla.samba.org/show_bug.cgi?id=14879 +# + +if [ $# -lt 6 ]; then +cat < "$tmpfile" < "$tmpfile" < "$tmpfile" < "$tmpfile" <