summaryrefslogtreecommitdiff
path: root/source3/modules
Commit message (Collapse)AuthorAgeFilesLines
* vfs_fruit: Don't unlink the main fileVolker Lendecke2018-09-051-1/+5
| | | | | | | | | | | | | | | | | | | The original fix for bug 13441 was missing a check that verifies that fruit_ftruncate() is actually called on a stream. Follow-up to Bug: https://bugzilla.samba.org/show_bug.cgi?id=13441 Pair-Programmed-With: Volker Lendecke <vl@samba.org> Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Thu Aug 23 15:28:48 CEST 2018 on sn-devel-144 (cherry picked from commit 8c14234871820eacde46670d722a676fb5f3a46c)
* vfs_delay_inject: adding delay to VFS callsRalph Boehme2018-09-052-0/+65
| | | | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=13549 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 44840ba5b32a2ce7959fd3d7c87822b3159416d3)
* vfs_fruit: Fix a leak of "br_lck"Volker Lendecke2018-08-231-8/+16
| | | | | | | | | | | | | | Fix a panic if fruit_access_check detects a locking conflict. do_lock() returns a valid br_lck even in case of a locking conflict. Not free'ing it leads to a invalid lock order panic later, because "br_lck" corresponds to a dbwrap lock on brlock.tdb. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13584 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 51d57073798f76ec4f1261945e0ba779b2530009)
* s3: vfs: time_audit: fix handling of token_blob in ↵Ralph Wuerthner2018-08-231-9/+3
| | | | | | | | | | | smb_time_audit_offload_read_recv() BUG: https://bugzilla.samba.org/show_bug.cgi?id=13568 Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com> Reviewed-by: Christof Schmitt <cs@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 4909b966050c921b0a6a32285fee55f5f14dc3ff)
* vfs_ceph: don't lie about flock supportDavid Disseldorp2018-07-281-6/+5
| | | | | | | | | | | Instead, match vfs_gluster behaviour and require that users explicitly disable "kernel share modes". Bug: https://bugzilla.samba.org/show_bug.cgi?id=13506 Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 926ae50627d536735cee9b3931ee35bc19060261)
* vfs_fruit: delete 0 byte size streams if AAPL is enabledRalph Boehme2018-07-121-0/+3
| | | | | | | | | | | | | | | | | | | | macOS SMB server uses xattrs as storage backend for streams, directly exposing xattr get/set characteristics. Setting EOF on a stream to 0 just deletes the xattr as macOS doesn't support 0-byte sized xattrs. Note that this does not apply to the AFP_AfpInfo and AFP_Resource streams, they have even stranger semantics and we have other tests for those. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13441 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed May 30 02:34:29 CEST 2018 on sn-devel-144 (cherry picked from commit 46d127865f3fb14041797d395db3b3234ed3bd6c)
* s3:smbd: fix interaction between chown and SD flagsRalph Boehme2018-05-241-2/+5
| | | | | | | | | | | | | | | | | | A change ownership operation that doesn't set the NT ACLs must not touch the SD flags (type). Bug: https://bugzilla.samba.org/show_bug.cgi?id=13432 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri May 11 23:30:32 CEST 2018 on sn-devel-144 (cherry picked from commit ced55850034a3653525823bf9623912a4fcf18a0) Autobuild-User(v4-7-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-7-test): Thu May 24 17:22:35 CEST 2018 on sn-devel-144
* s3: VFS: Fix memory leak in vfs_ceph.Vandana Rungta2018-05-171-10/+11
| | | | | | | | | | | | | | | | | | Centralize error handling. https://bugzilla.samba.org/show_bug.cgi?id=13424 Signed-off-by: Vandana Rungta <vrungta@amazon.com> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed May 9 04:28:11 CEST 2018 on sn-devel-144 (cherry picked from commit 4e78aeedb8329953df83fc7f2c191b2c97a051d0) Autobuild-User(v4-7-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-7-test): Thu May 17 18:18:42 CEST 2018 on sn-devel-144
* vfs_ceph: add fake async pwrite/pread send/recv hooksDavid Disseldorp2018-05-141-1/+108
| | | | | | | | | | | | | | As found by Jeremy, VFS modules that don't provide pread_send() or pwrite_send() hooks result in vfs_default fallback, which is catastrophic for VFS modules with non-mounted filesystems such as vfs_ceph. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13425 Reported-by: Jeremy Allison <jra@samba.org> Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit f0e6453b0420fe9d062936d4ddc05f44b40cf2ba)
* ceph: VFS: Add asynchronous fsync to ceph module, fake using synchronous call.Jeremy Allison2018-05-071-0/+53
| | | | | | | | | | | | | | | This will allow me to ultimately simplify the VFS by removing the synchronous fsync VFS call. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13412 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Mon Apr 30 21:48:55 CEST 2018 on sn-devel-144 (cherry picked from commit aefe444d17a2eee3c0ff38bd34cf9e3f012ecf51)
* s3: vfs: vfs_streams_xattr: Don't blindly re-use the base file mode bits.Jeremy Allison2018-05-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | When returning the stat struct for an xattr stream, we originally base the st_ex_mode field on the value from the base file containing the xattr. If the base file is a directory, it will have S_IFDIR set in st_ex_mode, but streams can never be directories, they must be reported as regular files. The original code OR'ed in S_IFREG, but neglected to AND out S_IFDIR. Note this is not a complete to fix bug 13380 as it doesn't fix the generic case with all streams modules. See later fix and regression test. Found in real-world use case by Andrew Walker <awalker@ixsystems.com>. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13380 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Böhme <slow@samba.org> (cherry picked from commit 4d839d0f46b723ed6809bb932b9ebe4ead2cec82)
* s3: smbd: Fix memory leak in vfswrap_getwd()Jeremy Allison2018-04-101-3/+6
| | | | | | | | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13372 Signed-off-by: Andrew Walker <awalker@ixsystems.com>. Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Mon Apr 9 21:48:12 CEST 2018 on sn-devel-144 (cherry picked from commit 461a1172ff819692aa0a2dc5ce7fc5379c8a529e) Autobuild-User(v4-7-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-7-test): Tue Apr 10 14:09:46 CEST 2018 on sn-devel-144
* s3: smbd: Fruit. Make the use of dom_sid_compare_domain() much clearer.Jeremy Allison2018-03-221-2/+3
| | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13319 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit 5c909ea4530d4e7e4aa27046c45e3e48b094a411)
* s3: smbd: vfs_fruit: Replace code in fruit_fget_nt_acl() with ↵Jeremy Allison2018-03-221-28/+7
| | | | | | | | | | remove_virtual_nfs_aces(). BUG: https://bugzilla.samba.org/show_bug.cgi?id=13319 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit 875ff2575feb96d06cf2290e5b6a226b32ef9758)
* s3: smbd: vfs_fruit: Replace code in check_ms_nfs() with ↵Jeremy Allison2018-03-221-37/+1
| | | | | | | | | | remove_virtual_nfs_aces(). BUG: https://bugzilla.samba.org/show_bug.cgi?id=13319 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit a3c925d80433e3d4fe1b1b315edf6520cacf0a9e)
* s3: smbd: vfs_fruit: Add remove_virtual_nfs_aces() a generic NFS ACE remover.Jeremy Allison2018-03-221-0/+43
| | | | | | | | | | Not yet used, will be used to tidyup existing code. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13319 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit ef091e2cf836793e2aa533990913609ccab5119a)
* s3: vfs_fruit. Change check_ms_nfs() to remove the virtual ACE's generated ↵Jeremy Allison2018-03-221-1/+42
| | | | | | | | | | | | | | | | by fruit_fget_nt_acl(). Ensures they don't get stored in the underlying ACL. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13319 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Thu Mar 8 04:09:38 CET 2018 on sn-devel-144 (cherry picked from commit e0b147f650fe59f606d1faffe57059e6e9d7837b)
* s3: vfs_fruit. If the security descriptor was modified, ensure we set the ↵Jeremy Allison2018-03-221-0/+21
| | | | | | | | | | flags correctly to reflect the ACE's left. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13319 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit 8edad37e476295e25932778721d8ef33713f6853)
* s3: vfs_fruit: Ensure we operate on a copy of the incoming security descriptor.Jeremy Allison2018-03-221-1/+11
| | | | | | | | | | This will allow us to modify it in the next commit. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13319 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit 019a1bc4caf3439adcaac48b384e86d84a1ad383)
* s3: vfs_fruit. Ensure we only return one set of the 'virtual' UNIX ACE entries.Jeremy Allison2018-03-221-0/+28
| | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13319 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit e9059c7b40069cfb036bfb95958b78c6a2c800e4)
* vfs_glusterfs: Fix the wrong pointer being sent in glfs_fsync_asyncPoornima G2018-03-221-1/+1
| | | | | | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13297 Pair-Programmed-With: Anoop C S <anoopcs@redhat.com> Signed-off-by: Poornima G <pgurusid@redhat.com> Reviewed-by: Guenther Deschner <gd@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Mon Feb 26 20:17:50 CET 2018 on sn-devel-144 (cherry picked from commit 46e6626f73f42c84f254507c3ec2b591e2e732ba)
* vfs_fruit: set delete-on-close for empty finderinfoRalph Boehme2018-01-261-24/+36
| | | | | | | | | | | | | | | | | | | | | | | | | We previously removed the stream from the underlying filesystem stream backing store when the client zeroes out FinderInfo in the AFP_AfpInfo stream, but this causes certain operations to fail (eg stat) when trying to access the stream over any file-handle open on that stream. So instead of deleting, set delete-on-close on the stream. The previous commit already implemented not to list list streams with delete-on-close set which is necessary to implemenent correct macOS semantics for this particular stream. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13181 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Tue Jan 9 17:09:12 CET 2018 on sn-devel-144 (cherry picked from commit e61e9e98e9ff461055daae2fe78f0202f7ed8663) Autobuild-User(v4-7-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-7-test): Fri Jan 26 01:29:54 CET 2018 on sn-devel-144
* vfs_fruit: filter out AFP_AfpInfo streams with pending delete-on-closeRalph Boehme2018-01-251-1/+71
| | | | | | | | | | | | | | | | | | | | | | | This is in preperation of fixing the implementation of removing the AFP_AfpInfo stream by zeroing the FinderInfo out. We currently remove the stream blob from the underyling filesystem backing store, but that results in certain operations to fail on any still open file-handle. The fix comes in the next commit which will convert to backing store delete operation to a set delete-on-close on the stream. This commit adds filtering on streams that have the delete-on-close set. It is only needed for the fruit:metadata=stream case, as with fruit:metadata=netatalk the filtering is already done in fruit_streaminfo_meta_netatalk(). Bug: https://bugzilla.samba.org/show_bug.cgi?id=13181 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 70d8f7c5d25f35b58620c2db8f57c7c0758267b3)
* vfs_fruit: factor out delete_invalid_meta_stream() from ↵Ralph Boehme2018-01-251-23/+34
| | | | | | | | | | | | | fruit_streaminfo_meta_stream() No change in behaviour, just some refactoring before adding more code to fruit_streaminfo_meta_stream() in the next commit. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13181 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit c41e1ea9247611473d30184efd953c61955ead15)
* vfs_default: use VFS statvfs macro in fs_capabilitiesDavid Disseldorp2018-01-221-7/+7
| | | | | | | | | | | | | | | | Currently the vfs_default fs_capabilities handler calls statvfs directly, rather than calling the vfs macro. This behaviour may cause issues for VFS modules that delegate fs_capabilities handling to vfs_default but offer their own statvfs hook. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13208 Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 4b25c9f4a4d336a16894452862ea059701b025de) Autobuild-User(v4-7-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-7-test): Mon Jan 22 13:48:30 CET 2018 on sn-devel-144
* vfs_ceph: add fs_capabilities hook to avoid local statvfsDavid Disseldorp2018-01-221-0/+15
| | | | | | | | | | | | Adding the fs_capabilities() hook to the CephFS VFS module avoids fallback to the vfs_default code-path, which calls statvfs() against the share path on the *local* filesystem. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13208 Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 2724e0cac29cd1632ea28075a740fcc888affb36)
* vfs_error_inject: Add new moduleChristof Schmitt2018-01-022-0/+107
| | | | | | | | | | | | | This module allow injecting errors in vfs calls. It only implements one case (return ESTALE from chdir), but the idea is to extend this to more vfs functions and more errors when needed. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13189 Signed-off-by: Christof Schmitt <cs@samba.org> Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 24623d53256c2424563709dedc19af1a106ccc73)
* vfs_zfsacl: fix compilation errorRalph Boehme2017-12-071-4/+6
| | | | | | | | | | | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=6133 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Nov 2 03:16:11 CET 2017 on sn-devel-144 (cherry picked from commit 11da1e5c056c92fd7f51ecce0285628cac65f174) Autobuild-User(v4-7-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-7-test): Thu Dec 7 14:19:57 CET 2017 on sn-devel-144
* vfs_fruit: proper VFS-stackable conversion of FinderInfoRalph Boehme2017-12-051-14/+75
| | | | | | | | | | | | | | | | | | | This fixes the problem that conversion failed with fruit:metadata=stream. Before we were calling ad_set() which stores the metadata in the Netatalk compatible format. Rewrite to fully go through the VFS by calling SMB_VFS_CREATE_FILE() and SMB_VFS_PWRITE(). Bug: https://bugzilla.samba.org/show_bug.cgi?id=13155 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Nov 29 08:38:06 CET 2017 on sn-devel-144 (cherry picked from commit 1da17204344a99a3bfa289355a996027a21814b8)
* vfs_fruit: add AfpInfo prototypesRalph Boehme2017-12-051-0/+4
| | | | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=13155 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 84976cb670847f199598995d48bd9c3f3dd0f035)
* vfs_glusterfs: include glusterfs/api/glfs.h without relying on -I optionsNiels de Vos2017-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13125 The glfs.h header file has always resided under glusterfs/api/ in the standard include directory. The glusterfs-api.pc file adds the unneeded -I${includedir}/glusterfs compiler option. This option will be removed from future versions of the pkg-config file. This change can safely be backported to older versions if there is a need to have them build against glusterfs-3.13 or newer. URL: https://review.gluster.org/18576 CC: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Thu Nov 9 22:37:30 CET 2017 on sn-devel-144 (cherry picked from commit 732ba3c84a2d40040550ea36b0478dd6af9a173a) Autobuild-User(v4-7-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-7-test): Fri Nov 24 16:23:43 CET 2017 on sn-devel-144
* s3:modules: Check correct variable for NULL in posixacl_xattrAndreas Schneider2017-11-011-1/+1
| | | | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=13101 Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Oct 27 04:54:22 CEST 2017 on sn-devel-144 (cherry picked from commit 327190893f5f3352a2e6abc4872b54092ee7de68)
* s3:vfs_glusterfs: Fix a double free in vfs_gluster_getwd()Andreas Schneider2017-11-011-1/+2
| | | | | | | | | | | Found by cppcheck. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13100 Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 16389bed0773952ca563b7bf1fecc2a737587257)
* vfs_glusterfs: Fix exporting subdirs with shadow_copy2Michael Adam2017-11-011-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Since the glusterfs vfs module does not operate on a locally mounted path, but on a "virtual" path starting at the volume root, some assumptions of the code about the vfs connect path fail. One example is the shadow_copy2 module which tries to detect the mount point from the connectpath. In order to circumvent this problem, this patch forces the "shadow:mountpoint" option to "/", which skips the mount-point-detection code. This patch will only have an effect if both the glusterfs and the shadow_copy2 module are listed in vfs objects in the right order, i.e. first shadow_copy2, and then glusterfs. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13091 Pair-Programmed-With: Anoop C S <anoopcs@redhat.com> Signed-off-by: Michael Adam <obnox@samba.org> Signed-off-by: Anoop C S <anoopcs@redhat.com> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 1249801ec73c55449068dd72efde81ce6235ec8e)
* vfs_fruit: Replace closedir() by SMB_VFS_CLOSEDIRAnoop C S2017-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | Pointer to directory 'dh' inside fruit_rmdir() is obtained using SMB_VFS_OPENDIR. But this handle is closed directly by invoking closedir() rather than SMB_VFS_CLOSEDIR. This will result in a smbd crash if this handle was not obtained from local file system. Therefore use SMB_VFS_CLOSEDIR corresponding to SMB_VFS_OPENDIR to correctly close the directory handle. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13086 Signed-off-by: Anoop C S <anoopcs@redhat.com> Reviewed-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Mon Oct 16 19:56:55 CEST 2017 on sn-devel-144 (cherry picked from commit 7917f9721c9f8efdf9e7b7c50a9e5147250e36fe)
* vfs_catia: Fix a potential memleakVolker Lendecke2017-10-251-1/+1
| | | | | | | | | | | | | | | | | | Together with the previous commit this fixes a memleak (twice) that happens when vfs_catia is loaded with no mappings defined. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13090 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Tue Oct 17 18:53:48 CEST 2017 on sn-devel-144 (cherry picked from commit f6d6af3b2d5efcd160c1e5e09778fb1129530be0) Autobuild-User(v4-7-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-7-test): Wed Oct 25 12:59:23 CEST 2017 on sn-devel-144
* vfs_catia: Fix a memory leakVolker Lendecke2017-10-251-0/+1
| | | | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=13090 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit e77b7aff86ab1cb603f59961f2f5689e4dc770ea)
* vfs_fruit: on-access conversion of AppleDouble xattr dataRalph Boehme2017-10-252-1/+121
| | | | | | | | | | | This finally adds on-access conversion of xattr data stored in sidecar AppleDouble files. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> (cherry picked from commit d7068324407a9a0b94d992b539631246e97c9098)
* vfs_fruit: static string fruit_catia_mapsRalph Boehme2017-10-251-14/+16
| | | | | | | | | | In a later commit these will be used somewhere else too. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> (cherry picked from commit ce516a34972f51eda48c1536858d47dc230ea99a)
* vfs_fruit: pass smb_fname to ad_convertRalph Boehme2017-10-251-2/+4
| | | | | | | | | | | This will be needed in a later commit when converting xattrs in sidecar AppleDouble files. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> (cherry picked from commit 386249eea3a13303744dbab88480e80790138329)
* vfs_fruit: unpack AppleDouble xattr header if presentRalph Boehme2017-10-251-0/+141
| | | | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> (cherry picked from commit fb137d6070c8cd872a66a4628b0e392cf40c180e)
* vfs_fruit: allocate ad_data buffer up to AD_XATTR_MAX_HDR_SIZE bytesRalph Boehme2017-10-251-9/+35
| | | | | | | | | | | This is in preperation of reading potential xattr header data from the AppleDouble file, not just reading a fixed amount of bytes. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> (cherry picked from commit ab8d01959b906d0b2873357f836bff72d209ff98)
* vfs_fruit: add AppleDouble xattr structure definitionsRalph Boehme2017-10-251-0/+38
| | | | | | | | | | | Reference: https://opensource.apple.com/source/xnu/xnu-4570.1.46/bsd/vfs/vfs_xattr.c Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> (cherry picked from commit b5a664e2580d8823f4f2d3e7e516b576317eb290)
* vfs_fruit: fix ftruncating resource forkRalph Boehme2017-10-251-1/+1
| | | | | | | | | | | | | | | | | | | fruit_ftruncate_rsrc_adouble() is called to effectively ftruncate() the ._ AppleDouble file to the requested size. The VFS function SMB_VFS_NEXT_FTRUNCATE() otoh would attempt to truncate to fsp *stream* in any way the next VFS module seems fit. As we know we're stacked with a streams module, the module will attempt to truncate the stream. So we're not truncating the ._ file. This went unnoticed as the AppleDouble file header contains the authorative resource fork size that was updated correctly. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> (cherry picked from commit 3d7932a33263514785fa3e95e2d5502bc02b4ea4)
* vfs_catia: factor out mapping functionsRalph Boehme2017-10-254-145/+237
| | | | | | | | | | | | | | | This moves the core mapping functions to a seperate file and makes them global. string_replace_init_map() is called to parse a mapping in string and produce a mapping object that can then be passed to string_replace_allocate() to do the actual mapping of a string. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> (cherry picked from commit f8bd63e19c8b1c063dd6f41b405d6864a9b546ff)
* s3: VFS: Ensure default SMB_VFS_GETWD() call can't return a partially ↵Jeremy Allison2017-10-251-0/+4
| | | | | | | | | | | | | | completed struct smb_filename. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13068 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Wed Oct 4 14:05:33 CEST 2017 on sn-devel-144 (cherry picked from commit b07f22158d7feaf9146b68a874427efe0538dbb6)
* vfs_solarisacl: fix build for samba 4.7 and upJorge Schrauwen via samba-technical2017-10-252-2/+2
| | | | | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=13049 Signed-off-by: Jorge Schrauwen <sjorge@blackdot.be> Reviewed-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit d774aeba5e04eacb98cf938d356e4cc502caa2e7)
* vfs_fake_acls: deny give-ownershipRalph Boehme2017-10-251-0/+18
| | | | | | | | | | | | | | | | | | | | Windows doesn't allow giving ownership away unless the user has SEC_PRIV_RESTORE privilege. This follows from MS-FSA 2.1.5.1, so it's a property of the filesystem layer, not the SMB layer. By implementing this restriction here, we can now have test for this restriction. Other filesystems may want to deliberately allow this behaviour -- although I'm not aware of any that does -- therefor I'm putting in this restriction in the implementation of the chmod VFS function and not into the caller. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 0666093cb0d820cc27a265c1f0a87bc76cd3c167)
* vfs_acl_common: fix take ownership vs give ownershipRalph Boehme2017-10-251-0/+13
| | | | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 7e7afef819b4a858e6de48389c6f4fa7510cf5c6)
* vfs_acl_common: factor out a variable declarationRalph Boehme2017-10-251-2/+3
| | | | | | | | | | Just some refactoring, no change in behaviour. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit e62f90a6d15626a2e20ba92f5cd552101ec4afe0)