mirror of
https://github.com/samba-team/samba.git
synced 2025-02-28 01:58:17 +03:00
selftest: Show vfs_virusscanner crashes when traversing a 2-level directory tree.
Modify check_infected_read() test to use a 2-level deep directory. We must have vfs_default:VFS_OPEN_HOW_RESOLVE_NO_SYMLINKS = no set on the virusscanner share as otherwise the openat flag shortcut defeats the test. Add knownfail. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15283 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
1421969b86
commit
c844bff3ec
1
selftest/knownfail.d/virusscanner
Normal file
1
selftest/knownfail.d/virusscanner
Normal file
@ -0,0 +1 @@
|
||||
^samba3.blackbox.virus_scanner.check_infected_read\(fileserver:local\)
|
@ -1998,6 +1998,7 @@ sub setup_fileserver
|
||||
virusfilter:infected files = *infected*
|
||||
virusfilter:infected file action = rename
|
||||
virusfilter:scan on close = yes
|
||||
vfs_default:VFS_OPEN_HOW_RESOLVE_NO_SYMLINKS = no
|
||||
|
||||
[volumeserialnumber]
|
||||
path = $volume_serial_number_sharedir
|
||||
|
@ -26,25 +26,36 @@ check_infected_read()
|
||||
{
|
||||
rm -rf "${sharedir:?}"/*
|
||||
|
||||
if ! touch "${sharedir}/infected.txt"; then
|
||||
echo "ERROR: Cannot create ${sharedir}/infected.txt"
|
||||
if ! mkdir "${sharedir}/read1"; then
|
||||
echo "ERROR: Cannot create ${sharedir}/read1"
|
||||
return 1
|
||||
fi
|
||||
|
||||
${SMBCLIENT} "//${SERVER_IP}/${SHARE}" -U"${USER}"%"${PASSWORD}" -c "get infected.txt ${sharedir}/infected.download.txt"
|
||||
if ! mkdir "${sharedir}/read1/read2"; then
|
||||
echo "ERROR: Cannot create ${sharedir}/read1/read2"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! touch "${sharedir}/read1/read2/infected.txt"; then
|
||||
echo "ERROR: Cannot create ${sharedir}/read1/read2/infected.txt"
|
||||
return 1
|
||||
fi
|
||||
|
||||
${SMBCLIENT} "//${SERVER_IP}/${SHARE}" -U"${USER}"%"${PASSWORD}" -c "get read1/read2/infected.txt ${sharedir}/read1/read2/infected.download.txt"
|
||||
|
||||
# check that virusfilter:rename prefix/suffix was added
|
||||
if [ ! -f "${sharedir}/virusfilter.infected.txt.infected" ]; then
|
||||
echo "ERROR: ${sharedir}/virusfilter.infected.txt.infected is missing."
|
||||
if [ ! -f "${sharedir}/read1/read2/virusfilter.infected.txt.infected" ]; then
|
||||
echo "ERROR: ${sharedir}/read1/read2/virusfilter.infected.txt.infected is missing."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# check that file was not downloaded
|
||||
if [ -f "${sharedir}/infected.download.txt" ]; then
|
||||
echo "ERROR: {sharedir}/infected.download.txt should not exist."
|
||||
if [ -f "${sharedir}/read1/read2/infected.download.txt" ]; then
|
||||
echo "ERROR: {sharedir}/read1/read2/infected.download.txt should not exist."
|
||||
return 1
|
||||
fi
|
||||
|
||||
rm -rf "${sharedir:?}"/*
|
||||
return 0
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user