]>
git.ipfire.org Git - thirdparty/samba.git/log
Matt Taylor [Mon, 11 May 2020 19:26:41 +0000 (15:26 -0400)]
build: add configure option to control vfs_snapper build
vfs_snapper is currently built if dbus development headers / libraries
are detected during configure. This commit adds new --disable-snapper
and --enable-snapper (default) configure parameters. When enabled,
configure will fail if the dbus development headers / libraries are
missing.
Signed-off-by: Matt Taylor <liverbugg@rinux.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon May 25 01:16:46 UTC 2020 on sn-devel-184
Matt Taylor [Tue, 12 May 2020 13:07:14 +0000 (15:07 +0200)]
build: quota wscript error message spelling fix
Signed-off-by: Matt Taylor <liverbugg@rinux.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Mon, 18 May 2020 10:04:33 +0000 (12:04 +0200)]
s3: rpc_server: Avoid casts calling to find_policy_by_hnd()
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Mon, 4 Nov 2019 18:01:28 +0000 (19:01 +0100)]
s3: rpc_server: Remove dead code
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Mon, 4 Nov 2019 17:38:14 +0000 (18:38 +0100)]
s3: rpc_server: Drop s3 rpc handles implementation
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Tue, 29 Oct 2019 11:36:30 +0000 (12:36 +0100)]
pidl: Set dce_call in pipes_struct before dispatching call
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Thu, 7 May 2020 12:24:56 +0000 (14:24 +0200)]
s3: rpc_server: Remove SAMR specific policy_handle_find() function
The generic function already checks the handle type.
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Thu, 14 May 2020 16:35:28 +0000 (18:35 +0200)]
s3: rpc_server: Move SAMR handle based access check to a wrapper function
Now that the type associated to the handle is the same for all handle
types we can wrap the access check.
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Thu, 7 May 2020 11:29:29 +0000 (13:29 +0200)]
s3: rpc_server: Remove SAMR specific policy_handle_create() function
Now that we pass the handle type to the generic handle creation and find
functions we can drop the specific SAMR ones.
The policy_handle_create() function labeled the talloc chunk used to
allocate the handle's associated data, and the policy_handle_find() is
checking the name matches with the expected data. The check is performed
now by the generic functions based on the handle type so we can drop
these SAMR specific functions.
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Wed, 6 May 2020 11:56:46 +0000 (13:56 +0200)]
s3: rpc_server: pass DCE/RPC handle type to find_policy_handle
Following changes in commit
c7a4578d06427a82ead287f0c5248c1a54cc9336
pass the handle type to the handle search functions. The handle type will
be verified unless passing DCESRV_HANDLE_ANY to find functions.
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Tue, 29 Oct 2019 11:39:10 +0000 (12:39 +0100)]
s3: rpc_server: Strip out access check field from s3 handles implementation
The handle based security model is a SAMR specific feature. The access
granted is stored in the handle's associated data after creating it and
the access is verified after searching the handle.
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Tue, 29 Oct 2019 10:04:43 +0000 (11:04 +0100)]
librpc: core: Move the s4 handles implementation to the RPC server core
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Samuel Cabrero [Fri, 8 May 2020 10:40:55 +0000 (12:40 +0200)]
selftest: Add test for handle types
The test is written for SAMR, but as the handle type is verified by the
server core library it also applies to other RPC services.
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Björn Jacke [Sun, 24 May 2020 12:04:37 +0000 (14:04 +0200)]
ldb: also use portable __has_attribute macro to check for attribute support
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Björn Jacke [Sun, 24 May 2020 11:56:22 +0000 (13:56 +0200)]
talloc: also use portable __has_attribute macro to check for attribute support
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Björn Jacke [Sun, 24 May 2020 11:55:02 +0000 (13:55 +0200)]
tdb: also use __has_attribute macro to check for attribute support
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Björn Jacke [Sun, 24 May 2020 11:57:46 +0000 (13:57 +0200)]
replace, attr.: use function attributes only if supported by feature macro (or old gcc)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12296
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Andreas Schneider [Tue, 19 May 2020 05:21:25 +0000 (07:21 +0200)]
gitlab-ci: Create a single samba-fips runner
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Martin Schwenke [Mon, 4 May 2020 07:15:19 +0000 (17:15 +1000)]
ctdb-tests: Add a new fetch ring test that also checks hot keys
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Fri May 22 08:05:54 UTC 2020 on sn-devel-184
Martin Schwenke [Mon, 4 May 2020 06:58:38 +0000 (16:58 +1000)]
ctdb-tests: Update fetch_ring to take database and key on command line
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Martin Schwenke [Thu, 23 Apr 2020 08:59:47 +0000 (18:59 +1000)]
ctdb-daemon: Fix sorting of hot keys
The current code only ever swaps with slot 0. This will only ever
happen with slots 0 and 1, so probably never sorts.
Replace with qsort().
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Martin Schwenke [Fri, 1 May 2020 06:44:22 +0000 (16:44 +1000)]
ctdb-daemon: Add extra logging of hot keys
ctdbd currently only logs when a new hot key is added. If a key gets
hotter then nothing new is logged.
Log hot key updates when the number of migrations has doubled since
the last time that key was logged.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Martin Schwenke [Fri, 1 May 2020 06:24:27 +0000 (16:24 +1000)]
ctdb-daemon: Update hot key logging
This message indicates that a hot key was added, so say that. After
all the hot key slots have been filled the id will always be 0, so
don't bother logging it.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Martin Schwenke [Thu, 14 May 2020 10:25:22 +0000 (20:25 +1000)]
ctdb-daemon: Fix bug in slot 0 comparison optimisation
This is only valid if all slots are in use.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Martin Schwenke [Thu, 23 Apr 2020 08:59:24 +0000 (18:59 +1000)]
ctdb-daemon: Switch some variables to unsigned
These should be unsigned but luck is currently on our side.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Martin Schwenke [Thu, 23 Apr 2020 08:51:40 +0000 (18:51 +1000)]
ctdb-daemon: Add separate hot keys array for database statistics
There are 2 reasons for this. Sorting of hot keys is broken and will
be changed to an implementation that needs a named (i.e. not
anonymous) structure. Also, at least one non-protocol field will be
added to facilitate more useful logging.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Martin Schwenke [Thu, 21 May 2020 10:19:17 +0000 (20:19 +1000)]
ctdb-build: Fix a typo
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Ralph Boehme [Sun, 17 May 2020 06:05:47 +0000 (08:05 +0200)]
smbd: prepare DH disconnect for AT-names
This ensure cookie.base_name is set to the full path to deal with fsp->fsp_name
being an atname in the future.
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 May 21 22:01:25 UTC 2020 on sn-devel-184
Ralph Boehme [Sun, 17 May 2020 05:53:42 +0000 (07:53 +0200)]
smbd: prepare fsp_str_dbg() for atnames
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 8 May 2020 14:32:56 +0000 (16:32 +0200)]
smbd: use fd_openat()
This leaves basically two callers of fd_open():
* open_internal_dirfsp_at()
* smbd_smb2_query_directory_send()
Those will be the only codepaths that use full paths relative to the share root
and so require and use the symlink race protection provided by
non_widelink_open().
Of course, until we actuall start passing real dirfsps to fd_openat(),
fd_openat() internally calls fd_open().
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 14 May 2020 19:20:22 +0000 (21:20 +0200)]
smbd: add fd_openat()
Until we actually start passing real dirfsps to fd_openat(), fd_openat()
internally calls fd_open().
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:26:14 +0000 (23:26 +0200)]
vfs: remove SMB_VFS_OPEN()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Tue, 19 May 2020 19:35:56 +0000 (21:35 +0200)]
s3/torture: use SMB_VFS_OPENAT() in cmd_set_nt_acl()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Tue, 19 May 2020 19:34:26 +0000 (21:34 +0200)]
s3/torture: use SMB_VFS_OPENAT() in cmd_open()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Tue, 19 May 2020 19:33:00 +0000 (21:33 +0200)]
s3/pysmbd: use SMB_VFS_OPENAT() in init_files_struct()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Tue, 19 May 2020 19:30:24 +0000 (21:30 +0200)]
smbd: use SMB_VFS_OPENAT() in non_widelink_open()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:48:36 +0000 (22:48 +0200)]
vfs_shadow_copy2: use SMB_VFS_NEXT_OPENAT() in shadow_copy2_get_shadow_copy_data()
These are paths not under user control, so it should be safe to call it with
AT_FDCWD and multi-component paths.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Jeremy Allison [Thu, 21 May 2020 18:56:14 +0000 (11:56 -0700)]
s3: VFS: fruit. Now we've gotten rid of SMB_VFS_OPEN(), add const to the functions called by fruit_openat().
Remove the hack that allowed openat() to call non-const functions.
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:05:07 +0000 (23:05 +0200)]
vfs_fruit: use SMB_VFS_NEXT_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:32:57 +0000 (22:32 +0200)]
vfs_xattr_tdb: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:31:04 +0000 (22:31 +0200)]
vfs_virusfilter: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:24:37 +0000 (22:24 +0200)]
vfs_unityed_media: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:22:26 +0000 (22:22 +0200)]
vfs_syncops: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:18:54 +0000 (22:18 +0200)]
vfs_streams_xattr: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:07:20 +0000 (23:07 +0200)]
vfs_streams_depot: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:02:48 +0000 (22:02 +0200)]
vfs_snapper: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 19:51:00 +0000 (21:51 +0200)]
vfs_preopen: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 19:46:41 +0000 (21:46 +0200)]
vfs_prealloc: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 19:43:26 +0000 (21:43 +0200)]
vfs_media_harmony: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 19:34:35 +0000 (21:34 +0200)]
vfs_gpfs: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 19:32:30 +0000 (21:32 +0200)]
vfs_glusterfs: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:04:26 +0000 (23:04 +0200)]
vfs_fruit: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:03:30 +0000 (23:03 +0200)]
vfs_widelinks: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:03:18 +0000 (23:03 +0200)]
vfs_time_audit: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:03:05 +0000 (23:03 +0200)]
vfs_shadow_copy2: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:02:39 +0000 (23:02 +0200)]
vfs_full_audit: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:02:20 +0000 (23:02 +0200)]
vfs_extd_audit: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:02:06 +0000 (23:02 +0200)]
vfs_error_inject: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:01:54 +0000 (23:01 +0200)]
vfs_default: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:01:16 +0000 (23:01 +0200)]
vfs_commit: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:01:04 +0000 (23:01 +0200)]
vfs_ceph_snapshots: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 21:00:52 +0000 (23:00 +0200)]
vfs_ceph: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:59:05 +0000 (22:59 +0200)]
vfs_catia: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Jeremy Allison [Thu, 21 May 2020 18:03:14 +0000 (11:03 -0700)]
s3: VFS: catia: Change saved_errno to catia_saved_errno in a macro.
This is a common variable name.
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:58:56 +0000 (22:58 +0200)]
vfs_cap: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:58:47 +0000 (22:58 +0200)]
vfs_audit: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 20:58:29 +0000 (22:58 +0200)]
vfs_aio_pthread: implement SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 14:47:05 +0000 (16:47 +0200)]
vfs_aio_pthread: add dirfsp arg to create_private_open_data()
Prepares for an upcoming aio_pthread_openat_fn(). open_async() passes fspcwd.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 14:44:15 +0000 (16:44 +0200)]
vfs_aio_pthread: realign create_private_open_data() args
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 14:43:11 +0000 (16:43 +0200)]
vfs_aio_pthread: realign create_private_open_data args
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 15 May 2020 14:29:44 +0000 (16:29 +0200)]
vfs: add SMB_VFS_OPENAT()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 15:51:23 +0000 (17:51 +0200)]
vfs_fruit: pass down cwdfsp as dirfsp in fruit_open()
Not yet used, that comes when we add fruit_openat(). Passing cwdfsp as dirfsp
ensures when calling openat() we get the same behaviour as open().
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Wed, 20 May 2020 15:01:48 +0000 (17:01 +0200)]
s3/vfs: add vfs_at_fspcwd()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 8 May 2020 13:46:02 +0000 (15:46 +0200)]
smbd: remove redundant conn arg from non_widelink_open()
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): Thu May 21 06:43:04 UTC 2020 on sn-devel-184
Ralph Boehme [Fri, 8 May 2020 13:45:11 +0000 (15:45 +0200)]
smbd: realign non_widelink_open() args
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 10 Apr 2020 14:58:16 +0000 (16:58 +0200)]
smbd: remove redundant conn arg from fd_open()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 10 Apr 2020 14:54:53 +0000 (16:54 +0200)]
smbd: remove redundant conn arg from fd_open_atomic()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 8 May 2020 13:24:04 +0000 (15:24 +0200)]
smbd: realign fd_open_atomic() args
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 7 May 2020 18:52:18 +0000 (20:52 +0200)]
smbd: realign args to fd_open_atomic() in open_file()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 7 May 2020 18:46:06 +0000 (20:46 +0200)]
smbd: realign args to open_file() in open_file_ntcreate()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 10 Apr 2020 14:52:07 +0000 (16:52 +0200)]
smbd: remove redundant conn arg from open_file()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Mon, 18 May 2020 10:24:30 +0000 (12:24 +0200)]
smbd: assert (fsp->dirfsp == conn->cwd_fsp) in open_file_ntcreate()
There's a bunch of stuff that needs updating to work with atnames.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Sat, 16 May 2020 06:23:24 +0000 (08:23 +0200)]
smbd: set dirfsp in the SMB2 DH reconnect
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 7 May 2020 14:52:20 +0000 (16:52 +0200)]
smbd: set fsp->dirfsp in create_file_unixpath()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 10 Apr 2020 13:38:55 +0000 (15:38 +0200)]
smbd: use dirfsp in mkdir_internal()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Mon, 18 May 2020 10:09:32 +0000 (12:09 +0200)]
smbd: fix check_parent_access() args alignment in mkdir_internal()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 7 May 2020 15:51:42 +0000 (17:51 +0200)]
smbd: fix SMB_VFS_MKDIRAT() arg alignment in mkdir_internal()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 10 Apr 2020 13:36:34 +0000 (15:36 +0200)]
smbd: pass dirfsp to mkdir_internal()
Not really used for now and marked with
SMB_ASSERT(dirfsp == conn->cwd_fsp)
because it needs to be updated later to work with real dirfsp.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Mon, 18 May 2020 12:30:56 +0000 (14:30 +0200)]
smbd: set fsp->dirfsp in open_directory()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Mon, 18 May 2020 15:07:53 +0000 (17:07 +0200)]
smbd: use dirfsp in open_directory()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 7 May 2020 14:51:35 +0000 (16:51 +0200)]
smbd: pass dirfsp to open_directory()
As the calls to
* SMB_VFS_LSTAT()
* get_share_mode_lock()
and maybe others still have to be updated to work with atnames, we
assert (dirfsp == conn->cwd_fsp).
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 7 May 2020 14:50:20 +0000 (16:50 +0200)]
smbd: realign args in calls to open_directory()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 7 May 2020 14:32:10 +0000 (16:32 +0200)]
smbd: pass dirfsp to create_file_unixpath()
As the calls to
* lease_match()
* open_streams_for_delete()
* check_base_file_access
* SMB_VFS_STAT
and others needs to be updated to work with atnames in the
future, we assert (dirfsp == conn->cwd_fsp).
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 7 May 2020 14:24:16 +0000 (16:24 +0200)]
smbd: realign create_file_unixpath() args
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Thu, 14 May 2020 12:00:22 +0000 (14:00 +0200)]
smbd: add dirfsp arg to SMB_VFS_CREATE_FILE()
As create_file_default() still need to be updated in the future to replace the
SMB_VFS_STAT() calls with AT-based versions, it asserts (dirfsp ==
dirfsp->conn->cwd_fsp).
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Mon, 18 May 2020 12:37:18 +0000 (14:37 +0200)]
smbd: handling of fsp->dirfsps in close_file()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Mon, 6 Apr 2020 13:41:41 +0000 (15:41 +0200)]
smbd: add flag "is_dirfsp" to the fsp_flags
This denotes pure VFS layer dirfsps that are used in *AT varients of VFS
interface functions and which bypass the FSA layer, requiring special handling
in codepaths closing/freeing the fsp.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 15 May 2020 14:18:13 +0000 (16:18 +0200)]
vfs: add dirfsp to struct files_struct
As fsp->fsp_name will be a AT-name in the future, we need something to retrieve
the full path for an fsp from for stuff like fsp_str_dbg().
As there are functions like vfs_stat_fsp() that have internal fallbacks to
path-based VFS functions if fsp->fh->fh == -1, having the original dirfsp as
part of the fsp helps in converting the internal VFS functions to AT versions.
In the future when all such internal fallbacks are eliminated we can remove
fsp->dirfsp to avoid the additional fd per fsp and use a fsp->path or similar.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 15 May 2020 13:25:07 +0000 (15:25 +0200)]
smbd: move fstat from create_internal_dirfsp() to open_internal_dirfsp()
The original idea of doing the fstat in create_internal_dirfsp() was to return
from the function with a valid file_id and that requires valid stat info.
However, as dirfsp->fh->fd will still be -1 at this point vfs_stat_fsp() will
fallback to path-based stat() which must be avoided.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Boehme [Fri, 15 May 2020 13:14:26 +0000 (15:14 +0200)]
smbd: rename create_internal_dirfsp_at() to create_internal_dirfsp()
Having removed the unused dirfsp parameter this is not an AT function.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>