diff options
author | Jeremy Allison <jra@samba.org> | 2020-05-11 14:10:54 -0700 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2020-06-04 11:47:47 +0000 |
commit | 701cbabc92e3bab2ddf55e8adef2b005ea4ae4c5 (patch) | |
tree | 7287709fd708db81dcf37b883ff0ace067e911db | |
parent | f02893f536005157b214e962497914c5d078e52a (diff) | |
download | samba-701cbabc92e3bab2ddf55e8adef2b005ea4ae4c5.tar.gz |
s3: selftest: Add share definition [bad_iconv] in fileserver.
Creates a utf8 valid filename within that is invalid in CP850.
Useful to test smbclient list directory character set conversions.
https://bugzilla.samba.org/show_bug.cgi?id=14374
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(back-ported from commit a9651d6bc2b6dea8adc859ce21c2431253868887)
-rwxr-xr-x | selftest/target/Samba3.pm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index cdbbbdcef3d..1bfb72af690 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -959,6 +959,9 @@ sub setup_fileserver my $usershare_sharedir="$share_dir/usershares"; push(@dirs,$usershare_sharedir); + my $bad_iconv_sharedir="$share_dir/bad_iconv"; + push(@dirs, $bad_iconv_sharedir); + my $fileserver_options = " kernel change notify = yes rpc_server:mdssvc = embedded @@ -1039,6 +1042,12 @@ sub setup_fileserver path = $share_dir comment = force group test # force group = everyone + +[bad_iconv] + path = $bad_iconv_sharedir + comment = smb username is [%U] + vfs objects = + [homes] comment = Home directories browseable = No @@ -1107,6 +1116,17 @@ sub setup_fileserver close(VALID_USERS_TARGET); chmod 0644, $valid_users_target; + ## + ## create a valid utf8 filename which is invalid as a CP850 conversion + ## + my $bad_iconv_target = "$bad_iconv_sharedir/\xED\x9F\xBF"; + unless (open(BAD_ICONV_TARGET, ">$bad_iconv_target")) { + warn("Unable to open $bad_iconv_target"); + return undef; + } + close(BAD_ICONV_TARGET); + chmod 0644, $bad_iconv_target; + return $vars; } |