From: Jeremy Allison Date: Mon, 11 May 2020 21:10:54 +0000 (-0700) Subject: s3: selftest: Add share definition [bad_iconv] in fileserver. X-Git-Tag: samba-4.11.10~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac45713a18aa9f1bfbca3dbd350635e8fbb83a26;p=thirdparty%2Fsamba.git 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 Reviewed-by: Andreas Schneider (back-ported from commit a9651d6bc2b6dea8adc859ce21c2431253868887) --- diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index b6bfcef824d..a15979199f0 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 @@ -1026,6 +1029,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 @@ -1094,6 +1103,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; }