1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-12 20:58:37 +03:00

Add test smbclient 'delree' of dir (on DFS share)

deltree of a file on a DFS share results in NT_STATUS_OBJECT_PATH_NOT_FOUND
Addionally add a knownfail for this (to be removed in subsequent patch
to fix bug)
We also need to add a knownfail (which will not be removed) for the
new test which will fail in smb1 envs

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15100

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit 23a5a05db03a8f14ab701005a8bec9a3eeff3d77)
This commit is contained in:
Noel Power 2022-06-17 10:58:48 +01:00 committed by Jule Anger
parent afb6650939
commit 25fa2c7530
3 changed files with 53 additions and 0 deletions

View File

@ -11,6 +11,7 @@
^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.creating a bad symlink and deleting it\((ad_member|nt4_member)\)
^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.Accessing an MS-DFS link\((ad_member|nt4_member)\)
^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.del on MS-DFS share\((ad_member|nt4_member)\)
^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.deltree on MS-DFS share\((ad_member|nt4_member)\)
^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.Ensure archive bit is set correctly on file/dir rename\((ad_member|nt4_member)\)
^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.ccache access works for smbclient\((ad_member|nt4_member)\)
^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.using an authentication file\((ad_member|nt4_member)\)

View File

@ -1,4 +1,5 @@
^samba3.blackbox.smbclient_s3.SMB3.*.creating.a.bad.symlink.and.deleting.it
^samba3.blackbox.smbclient_s3.SMB3.*.deltree on MS-DFS share
^samba3.blackbox.acl_xattr.SMB3.nt_affects_posix
^samba3.blackbox.acl_xattr.SMB3.nt_affects_chown
^samba3.blackbox.acl_xattr.SMB3.nt_affects_chgrp

View File

@ -569,6 +569,53 @@ EOF
return 0
}
test_msdfs_deltree()
{
tmpfile="$PREFIX/smbclient.in.$$"
dirname_src="foodir.$$"
filename_src="src.$$"
filename_src_path="$PREFIX/$filename_src"
dirname_src_path="$PREFIX/$dirname"
rm -f "$filename_src_path"
touch "$filename_src_path"
cat > $tmpfile <<EOF
lcd $PREFIX
cd dfshop1
cd dfshop2
mkdir $dirname_src
cd $dirname_src
put $filename_src
cd ..
deltree $dirname_src
quit
EOF
cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/msdfs-share -I $SERVER_IP $ADDARGS < $tmpfile 2>&1'
eval echo "$cmd"
out=`eval $cmd`
ret=$?
rm -f "$tmpfile"
rm -f "$filename_src_path"
rm -f "$dirname_src_path"
if [ $ret != 0 ] ; then
echo "$out"
echo "deltree failed deleting dir $dirname_src with error $ret"
return 1
fi
echo "$out" | grep "NT_STATUS" >/dev/null 2>&1
ret="$?"
if [ "$ret" -eq 0 ] ; then
echo "$out"
echo "deltree $dirname_src NT_STATUS_ error"
return 1
fi
return 0
}
# Archive bits are correctly set on file/dir creation and rename.
test_rename_archive_bit()
{
@ -2169,6 +2216,10 @@ testit "del on MS-DFS share" \
test_msdfs_del || \
failed=`expr $failed + 1`
testit "deltree on MS-DFS share" \
test_msdfs_deltree || \
failed=`expr $failed + 1`
testit "Ensure archive bit is set correctly on file/dir rename" \
test_rename_archive_bit || \
failed=`expr $failed + 1`