The Samba-Bugzilla – Attachment 15785 Details for
Bug 14277
REGRESSION: 'force create mode' doesn't work with Samba >= 4.11 anymore
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
A 'force create mode' test
0001-s3-tests-Add-smbclient-test-for-force-create-mode-06.patch (text/plain), 10.13 KB, created by
Andreas Schneider
on 2020-02-12 16:30:44 UTC
(
hide
)
Description:
A 'force create mode' test
Filename:
MIME Type:
Creator:
Andreas Schneider
Created:
2020-02-12 16:30:44 UTC
Size:
10.13 KB
patch
obsolete
>From 356b77942ee4528d249bd3a61908daa50d45b6ee Mon Sep 17 00:00:00 2001 >From: Andreas Schneider <asn@samba.org> >Date: Wed, 12 Feb 2020 16:30:01 +0100 >Subject: [PATCH] s3:tests: Add smbclient test for 'force create mode = 0664' > >Signed-off-by: Andreas Schneider <asn@samba.org> >--- > selftest/target/Samba3.pm | 5 +++ > selftest/target/Samba4.pm | 5 +++ > source3/script/tests/test_smbclient_s3.sh | 50 +++++++++++++++++++++-- > source3/selftest/tests.py | 20 ++++----- > 4 files changed, 67 insertions(+), 13 deletions(-) > >diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm >index 0c9adcc76fd..4bae1d84155 100755 >--- a/selftest/target/Samba3.pm >+++ b/selftest/target/Samba3.pm >@@ -1980,6 +1980,11 @@ sub provision($$) > nfs4acl_xattr:version = 41 > nfs4acl_xattr:xattr_name = security.nfs4acl_xdr > >+[create_mode_664] >+ path = $shrdir >+ comment = smb username is [%U] >+ create mask = 0644 >+ force create mode = 0664 > [xcopy_share] > path = $shrdir > comment = smb username is [%U] >diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm >index 3f25317ea8c..284e8312064 100755 >--- a/selftest/target/Samba4.pm >+++ b/selftest/target/Samba4.pm >@@ -1113,6 +1113,11 @@ sub provision($$$$$$$$$$) > posix:oplocktimeout = 3 > posix:writetimeupdatedelay = 500000 > >+[create_mode_664] >+ path = $ctx->{share} >+ comment = smb username is [%U] >+ create mask = 0644 >+ force create mode = 0664 > [xcopy_share] > path = $ctx->{share} > read only = no >diff --git a/source3/script/tests/test_smbclient_s3.sh b/source3/script/tests/test_smbclient_s3.sh >index 5df8a7cb550..e4dc03879ed 100755 >--- a/source3/script/tests/test_smbclient_s3.sh >+++ b/source3/script/tests/test_smbclient_s3.sh >@@ -2,7 +2,7 @@ > > # this runs the file serving tests that are expected to pass with samba3 > >-if [ $# -lt 13 ]; then >+if [ $# -lt 14 ]; then > cat <<EOF > Usage: test_smbclient_s3.sh SERVER SERVER_IP DOMAIN USERNAME PASSWORD USERID LOCAL_PATH PREFIX SMBCLIENT WBINFO NET CONFIGURATION PROTOCOL > EOF >@@ -21,10 +21,11 @@ SMBCLIENT="${9}" > WBINFO="${10}" > NET="${11}" > CONFIGURATION="${12}" >-PROTOCOL="${13}" >+ENVNAME="${13}" >+PROTOCOL="${14}" > SMBCLIENT="$VALGRIND ${SMBCLIENT}" > WBINFO="$VALGRIND ${WBINFO}" >-shift 13 >+shift 14 > RAWARGS="${CONFIGURATION} -m${PROTOCOL}" > ADDARGS="${RAWARGS} $*" > >@@ -1742,6 +1743,45 @@ EOF > fi > } > >+test_create_mode() >+{ >+ local filename="foo.$$" >+ local filename_path="$PREFIX/$filename" >+ >+ local tmpfile=$PREFIX/smbclient_interactive_prompt_commands >+ >+ touch $filename_path >+ >+ cat > $tmpfile <<EOF >+lcd $PREFIX >+put $filename >+quit >+EOF >+ cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/create_mode_664 -I $SERVER_IP $ADDARGS < $tmpfile 2>&1' >+ eval echo "$cmd" >+ out=`eval $cmd` >+ ret=$? >+ rm -f $tmpfile >+ >+ if [ $ret -ne 0 ] ; then >+ echo "$out" >+ echo "Failed to connect - error: $ret" >+ return 1 >+ fi >+ rm -f $filename_path >+ >+ share_filename="$PREFIX/$ENVNAME/share/$filename" >+ file_perms=$(stat --format=%a $share_filename) >+ if [ "$file_perms" != "664" ]; then >+ echo "Invalid file permissions: $file_perms" >+ return 1 >+ fi >+ >+ rm -f $share_filename >+ >+ return 0 >+} >+ > # Test smbclient non-empty rmdir command > test_del_nedir() > { >@@ -1924,6 +1964,10 @@ testit "volume" \ > test_volume || \ > failed=`expr $failed + 1` > >+testit "create_mode" \ >+ test_create_mode || \ >+ failed=`expr $failed + 1` >+ > testit "rm -rf $LOGDIR" \ > rm -rf $LOGDIR || \ > failed=`expr $failed + 1` >diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py >index 5a897c9ad0b..2d217ec7d40 100755 >--- a/source3/selftest/tests.py >+++ b/source3/selftest/tests.py >@@ -328,25 +328,25 @@ plantestsuite("samba3.blackbox.smbclient_ntlm.plain.SMB3", env, [os.path.join(sa > > # plain > for env in ["nt4_dc"]: >- plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1"]) >- plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "NT1"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "SMB3"]) > > for env in ["nt4_member", "ad_member"]: >- plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1"]) >- plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "NT1"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "SMB3"]) > > for env in ["nt4_dc"]: >- plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1", "--signing=required"]) >- plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3", "--signing=required"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "NT1", "--signing=required"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "SMB3", "--signing=required"]) > > for env in ["nt4_member", "ad_member"]: >- plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1", "--signing=required"]) >- plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3", "--signing=required"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "NT1", "--signing=required"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "SMB3", "--signing=required"]) > > for env in ["nt4_dc"]: > # encrypted >- plantestsuite("samba3.blackbox.smbclient_s3.NT1.crypt", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1", "-e"]) >- plantestsuite("samba3.blackbox.smbclient_s3.SMB3.crypt", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3", "-e"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.NT1.crypt", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "NT1", "-e"]) >+ plantestsuite("samba3.blackbox.smbclient_s3.SMB3.crypt", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, env, "SMB3", "-e"]) > > for env in ["fileserver"]: > plantestsuite("samba3.blackbox.preserve_case.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "NT1"]) >-- >2.25.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 14277
:
15785
|
15786