diff options
author | Ralph Boehme <slow@samba.org> | 2019-05-21 14:05:04 +0200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2019-06-13 10:22:13 +0000 |
commit | 77655c657378faa4ba4fa7107faead5045b12649 (patch) | |
tree | 6dd80a60e0ef91b04b06fbc6f425048063d15a76 /source3 | |
parent | 45de537de143ba4bca99fe506e147dfe709c51e2 (diff) | |
download | samba-77655c657378faa4ba4fa7107faead5045b12649.tar.gz |
selftest: run vfs.fruit test against a share that deletes empty resource forks
This reveals a bug in the AppleDouble conversion code: the conversion code that
unlinks an empty resource fork AppleDouble sidecar file ("._file") gets
triggered as part of open_file_ntcreate(..., "file:AFP_AfpResource", ...):
after SMB_VFS_OPEN() has been called with O_CREAT, what created the file, we
call SMB_VFS_FSTAT() on the just created filehandle. This ends up in
ad_convert(), finds the resource fork empty and thus deletes the file.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=13958
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit 8ed9b6b457923d2353d1d18838f4a278db48c6b9)
Diffstat (limited to 'source3')
-rwxr-xr-x | source3/selftest/tests.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index f7abda05dea..e390ca390a8 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -538,6 +538,7 @@ for t in tests: plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit', 'metadata_netatalk') plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_metadata_stream -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit', 'metadata_stream') plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_stream_depot -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit_stream_depot', 'streams_depot') + plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_delete_empty_adfiles -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit', 'fruit_delete_empty_adfiles') elif t == "vfs.fruit_netatalk": plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share') elif t == "vfs.fruit_timemachine": |