mirror of
https://github.com/samba-team/samba.git
synced 2025-01-03 01:18:10 +03:00
s3: tests: Add regression test for smbd crash on share force group change with existing connection.
Mark as known fail for now. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13690 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
parent
e903d37ea4
commit
7b21b4c1f5
@ -363,3 +363,5 @@
|
|||||||
^samba.tests.ntlmdisabled.python\(ktest\).python2.ntlmdisabled.NtlmDisabledTests.test_samr_change_password\(ktest\)
|
^samba.tests.ntlmdisabled.python\(ktest\).python2.ntlmdisabled.NtlmDisabledTests.test_samr_change_password\(ktest\)
|
||||||
^samba.tests.ntlmdisabled.python\(ad_dc_no_ntlm\).python3.ntlmdisabled.NtlmDisabledTests.test_ntlm_connection\(ad_dc_no_ntlm\)
|
^samba.tests.ntlmdisabled.python\(ad_dc_no_ntlm\).python3.ntlmdisabled.NtlmDisabledTests.test_ntlm_connection\(ad_dc_no_ntlm\)
|
||||||
^samba.tests.ntlmdisabled.python\(ad_dc_no_ntlm\).python2.ntlmdisabled.NtlmDisabledTests.test_ntlm_connection\(ad_dc_no_ntlm\)
|
^samba.tests.ntlmdisabled.python\(ad_dc_no_ntlm\).python2.ntlmdisabled.NtlmDisabledTests.test_ntlm_connection\(ad_dc_no_ntlm\)
|
||||||
|
# BUG:https://bugzilla.samba.org/show_bug.cgi?id=13690
|
||||||
|
^samba3.blackbox.force_group_change.*
|
||||||
|
@ -207,3 +207,4 @@ smbcquotas = binpath('smbcquotas')
|
|||||||
smbget = binpath('smbget')
|
smbget = binpath('smbget')
|
||||||
rpcclient = binpath('rpcclient')
|
rpcclient = binpath('rpcclient')
|
||||||
smbcacls = binpath('smbcacls')
|
smbcacls = binpath('smbcacls')
|
||||||
|
smbcontrol = binpath('smbcontrol')
|
||||||
|
@ -984,6 +984,11 @@ sub setup_fileserver
|
|||||||
comment = inherit only unix owner
|
comment = inherit only unix owner
|
||||||
inherit owner = unix only
|
inherit owner = unix only
|
||||||
acl_xattr:ignore system acls = yes
|
acl_xattr:ignore system acls = yes
|
||||||
|
# BUG: https://bugzilla.samba.org/show_bug.cgi?id=13690
|
||||||
|
[force_group_test]
|
||||||
|
path = $share_dir
|
||||||
|
comment = force group test
|
||||||
|
# force group = everyone
|
||||||
[homes]
|
[homes]
|
||||||
comment = Home directories
|
comment = Home directories
|
||||||
browseable = No
|
browseable = No
|
||||||
|
73
source3/script/tests/test_force_group_change.sh
Executable file
73
source3/script/tests/test_force_group_change.sh
Executable file
@ -0,0 +1,73 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (c) Jeremy Allison <jra@samba.org>
|
||||||
|
# License: GPLv3
|
||||||
|
# Regression test for BUG:https://bugzilla.samba.org/show_bug.cgi?id=13690
|
||||||
|
|
||||||
|
if [ $# -lt 6 ]; then
|
||||||
|
echo "Usage: test_force_group_change.sh SERVER USERNAME PASSWORD LOCAL_PATH SMBCLIENT SMBCONTROL"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SERVER="${1}"
|
||||||
|
USERNAME="${2}"
|
||||||
|
PASSWORD="${3}"
|
||||||
|
LOCAL_PATH="${4}"
|
||||||
|
SMBCLIENT="${5}"
|
||||||
|
SMBCONTROL="${6}"
|
||||||
|
shift 6
|
||||||
|
|
||||||
|
incdir=`dirname $0`/../../../testprogs/blackbox
|
||||||
|
. $incdir/subunit.sh
|
||||||
|
|
||||||
|
failed=0
|
||||||
|
|
||||||
|
test_force_group_change()
|
||||||
|
{
|
||||||
|
#
|
||||||
|
# A SMB_CONF variable passed in here is the client smb.conf.
|
||||||
|
# We need to convert to the server.conf file from
|
||||||
|
# the LOCAL_PATH variable.
|
||||||
|
#
|
||||||
|
SERVER_CONFIG=`dirname $LOCAL_PATH`/lib/server.conf
|
||||||
|
SERVER_CONFIG_SAVE=${SERVER_CONFIG}.bak
|
||||||
|
SERVER_CONFIG_NEW=${SERVER_CONFIG}.new
|
||||||
|
cp $SERVER_CONFIG $SERVER_CONFIG_SAVE
|
||||||
|
|
||||||
|
sed -e 's/#\tforce group = everyone/\tforce group = everyone/' <${SERVER_CONFIG} >${SERVER_CONFIG_NEW}
|
||||||
|
|
||||||
|
tmpfile=$PREFIX/smbclient_force_group_change_commands
|
||||||
|
cat > $tmpfile <<EOF
|
||||||
|
ls
|
||||||
|
!cp ${SERVER_CONFIG_NEW} ${SERVER_CONFIG}
|
||||||
|
!${SMBCONTROL} --configfile=${SERVER_CONFIG} all reload-config
|
||||||
|
ls
|
||||||
|
!cp ${SERVER_CONFIG_SAVE} ${SERVER_CONFIG}
|
||||||
|
!${SMBCONTROL} --configfile=${SERVER_CONFIG} all reload-config
|
||||||
|
quit
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/force_group_test $CONFIGURATION < $tmpfile 2>&1'
|
||||||
|
eval echo "$cmd"
|
||||||
|
out=$(eval $cmd)
|
||||||
|
ret=$?
|
||||||
|
rm -f $tmpfile
|
||||||
|
rm -f $SERVER_CONFIG_SAVE
|
||||||
|
rm -f $SERVER_CONFIG_NEW
|
||||||
|
|
||||||
|
echo "$out" | grep 'NT_STATUS_CONNECTION_DISCONNECTED'
|
||||||
|
ret=$?
|
||||||
|
if [ $ret -eq 0 ] ; then
|
||||||
|
# Client was disconnected as server crashed.
|
||||||
|
echo "$out"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
testit "test force group change" \
|
||||||
|
test_force_group_change || \
|
||||||
|
failed=`expr $failed + 1`
|
||||||
|
|
||||||
|
testok $0 $failed
|
@ -29,6 +29,7 @@ from selftesthelpers import net, wbinfo, dbwrap_tool, rpcclient, python
|
|||||||
from selftesthelpers import smbget, smbcacls, smbcquotas, ntlm_auth3
|
from selftesthelpers import smbget, smbcacls, smbcquotas, ntlm_auth3
|
||||||
from selftesthelpers import valgrindify, smbtorture4_testsuites
|
from selftesthelpers import valgrindify, smbtorture4_testsuites
|
||||||
from selftesthelpers import smbtorture4_options
|
from selftesthelpers import smbtorture4_options
|
||||||
|
from selftesthelpers import smbcontrol
|
||||||
smbtorture4_options.extend([
|
smbtorture4_options.extend([
|
||||||
'--option=torture:sharedelay=100000',
|
'--option=torture:sharedelay=100000',
|
||||||
'--option=torture:writetimeupdatedelay=500000',
|
'--option=torture:writetimeupdatedelay=500000',
|
||||||
@ -327,6 +328,9 @@ for env in ["fileserver"]:
|
|||||||
plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
|
plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
|
||||||
plantestsuite("samba3.blackbox.give_owner", env, [os.path.join(samba3srcdir, "script/tests/test_give_owner.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp'])
|
plantestsuite("samba3.blackbox.give_owner", env, [os.path.join(samba3srcdir, "script/tests/test_give_owner.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp'])
|
||||||
plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
|
plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
|
||||||
|
plantestsuite("samba3.blackbox.force_group_change", env,
|
||||||
|
[os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
|
||||||
|
'$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
|
||||||
|
|
||||||
#
|
#
|
||||||
# tar command tests
|
# tar command tests
|
||||||
|
Loading…
Reference in New Issue
Block a user