summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2020-05-11 14:10:54 -0700
committerKarolin Seeger <kseeger@samba.org>2020-06-04 11:47:47 +0000
commit701cbabc92e3bab2ddf55e8adef2b005ea4ae4c5 (patch)
tree7287709fd708db81dcf37b883ff0ace067e911db
parentf02893f536005157b214e962497914c5d078e52a (diff)
downloadsamba-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-xselftest/target/Samba3.pm20
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;
}