]> git.ipfire.org Git - thirdparty/samba.git/log
thirdparty/samba.git
6 months agovfs: Implement streams_depot_fstatat()
Volker Lendecke [Thu, 2 Jan 2025 11:28:55 +0000 (12:28 +0100)] 
vfs: Implement streams_depot_fstatat()

So far we don't call FSTATAT on streams, but this might change soon.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Implement streams_xattr_fstatat()
Volker Lendecke [Thu, 2 Jan 2025 13:31:55 +0000 (14:31 +0100)] 
vfs: Implement streams_xattr_fstatat()

So far we don't call FSTATAT on streams, but this might change soon.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Fix streams_depot_lstat()
Volker Lendecke [Thu, 2 Jan 2025 08:37:32 +0000 (09:37 +0100)] 
vfs: Fix streams_depot_lstat()

When passing NULL as base_sbuf to stream_smb_fname(), it uses
SMB_VFS_NEXT_STAT() to find the right stream directory. This will
potentially dereference the last symlink. Make sure that in
streams_depot_lstat() this is not done.

Also, the current version did not return the stat struct at all.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Use filename_convert_dirfsp_rel() in durable reconnect
Volker Lendecke [Wed, 1 Jan 2025 14:51:11 +0000 (15:51 +0100)] 
smbd: Use filename_convert_dirfsp_rel() in durable reconnect

Avoid a reference to conn->cwd_fsp and thus simplify the code used in
fd_openat().

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agostreams_depot: Simplify walk_streams()
Volker Lendecke [Sat, 18 Jan 2025 14:11:42 +0000 (15:11 +0100)] 
streams_depot: Simplify walk_streams()

Remove unused pdirname parameter

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Simplify delete_all_streams()
Volker Lendecke [Thu, 2 Jan 2025 17:14:43 +0000 (18:14 +0100)] 
smbd: Simplify delete_all_streams()

In our callers we have the dirfsp around, use that and avoid
references to conn->cwd_fsp and deep path-based operations

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Move parent_pathref() up in close_remove_share_mode()
Volker Lendecke [Thu, 2 Jan 2025 21:03:59 +0000 (22:03 +0100)] 
smbd: Move parent_pathref() up in close_remove_share_mode()

Make it available for delete_all_streams()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Move parent_pathref() out of rmdir_internals()
Volker Lendecke [Thu, 2 Jan 2025 17:01:47 +0000 (18:01 +0100)] 
smbd: Move parent_pathref() out of rmdir_internals()

Make the dirfsp() available in close_directory()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Simplify rmdir_internals()
Volker Lendecke [Fri, 3 Jan 2025 09:47:13 +0000 (10:47 +0100)] 
smbd: Simplify rmdir_internals()

recursive_rmdir_fsp() works fine on the original fsp passed in, we
don't need to fetch the dirfsp from the dir_hnd we created to call
can_delete_directory_hnd()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs_fruit: Don't expect a pathref fsp in unlinkat
Volker Lendecke [Fri, 3 Jan 2025 11:33:43 +0000 (12:33 +0100)] 
vfs_fruit: Don't expect a pathref fsp in unlinkat

The unix syscall unlinkat does not expect a file descriptor for the
to-be-removed object. SMB_VFS_UNLINKAT should also not expect
that. Put the special case into vfs_fruit.

This is required to simplify delete_all_streams next, which should not
have to do an openat_pathref_fsp() on all streams just for the
vfs_fruit case.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Modernize a DEBUG
Volker Lendecke [Mon, 20 Jan 2025 14:54:53 +0000 (15:54 +0100)] 
smbd: Modernize a DEBUG

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Do an early talloc_free in an error path
Volker Lendecke [Mon, 20 Jan 2025 14:52:06 +0000 (15:52 +0100)] 
vfs: Do an early talloc_free in an error path

Not a long-term memleak, talloc_tos() takes care of this later, but
this looks cleaner to me.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Rename variables in streams_depot_renameat()
Volker Lendecke [Fri, 17 Jan 2025 12:24:11 +0000 (13:24 +0100)] 
vfs: Rename variables in streams_depot_renameat()

These are directory fsps

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Use is_ntfs_stream_smb_fname() where appropriate
Volker Lendecke [Mon, 30 Dec 2024 19:16:41 +0000 (20:16 +0100)] 
vfs: Use is_ntfs_stream_smb_fname() where appropriate

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Slightly simplify acl_common_remove_object()
Volker Lendecke [Mon, 30 Dec 2024 19:15:53 +0000 (20:15 +0100)] 
vfs: Slightly simplify acl_common_remove_object()

This makes it more obvious to me that it's just the flag that differs
between the if-branches.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Simplify acl_common_remove_object()
Volker Lendecke [Mon, 30 Dec 2024 19:28:39 +0000 (20:28 +0100)] 
vfs: Simplify acl_common_remove_object()

These days we have "dirfsp" available inside the unlinkat vfs
functions. There's no need to mess with the cwd.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agodsdb: Avoid a talloc
Volker Lendecke [Mon, 13 Jan 2025 09:07:46 +0000 (10:07 +0100)] 
dsdb: Avoid a talloc

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Slightly simplify rename_internals_fsp()
Volker Lendecke [Mon, 13 Jan 2025 12:38:46 +0000 (13:38 +0100)] 
smbd: Slightly simplify rename_internals_fsp()

The required permissions only depend on S_ISDIR, but before this patch
they were assigned in two places far away from the call to
check_parent_access_fsp(). Consolidate that into where the permissions
are checked.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Slightly simplify rename_internals_fsp()
Volker Lendecke [Mon, 13 Jan 2025 12:32:29 +0000 (13:32 +0100)] 
smbd: Slightly simplify rename_internals_fsp()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agopam_winbind: Align integer types
Volker Lendecke [Wed, 18 Dec 2024 15:49:10 +0000 (16:49 +0100)] 
pam_winbind: Align integer types

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agonsswitch: Align integer types
Volker Lendecke [Mon, 23 Dec 2024 10:14:00 +0000 (11:14 +0100)] 
nsswitch: Align integer types

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agonsswitch: Simplify wbcCtxDcInfo()
Volker Lendecke [Mon, 23 Dec 2024 10:08:35 +0000 (11:08 +0100)] 
nsswitch: Simplify wbcCtxDcInfo()

Use winbindd_free_response()

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15775

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agodsdb: Align an integer type
Volker Lendecke [Sun, 29 Dec 2024 10:57:00 +0000 (11:57 +0100)] 
dsdb: Align an integer type

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agodsdb: Simplification with generate_random_str_list_buf()
Volker Lendecke [Sun, 29 Dec 2024 10:54:38 +0000 (11:54 +0100)] 
dsdb: Simplification with generate_random_str_list_buf()

No NULL check required

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agotorture4: Simplification with generate_random_str_list_buf()
Volker Lendecke [Sun, 29 Dec 2024 10:49:35 +0000 (11:49 +0100)] 
torture4: Simplification with generate_random_str_list_buf()

No NULL check required

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agotorture4: Align a few integer types
Volker Lendecke [Sat, 28 Dec 2024 11:08:21 +0000 (12:08 +0100)] 
torture4: Align a few integer types

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agotorture4: Use generate_random_str_list_buf()
Volker Lendecke [Sat, 28 Dec 2024 10:59:52 +0000 (11:59 +0100)] 
torture4: Use generate_random_str_list_buf()

Avoid a theoretical printf("%s", NULL)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmb1_srv: Use generate_random_str_list_buf()
Volker Lendecke [Fri, 27 Dec 2024 17:53:27 +0000 (18:53 +0100)] 
smb1_srv: Use generate_random_str_list_buf()

Avoid a theoretical printf("%s", NULL)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agolib: factor out generate_random_str_list_buf()
Volker Lendecke [Fri, 27 Dec 2024 17:43:57 +0000 (18:43 +0100)] 
lib: factor out generate_random_str_list_buf()

No talloc required

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agolibsmb: Remove a pointless if-statement
Volker Lendecke [Mon, 30 Dec 2024 11:55:15 +0000 (12:55 +0100)] 
libsmb: Remove a pointless if-statement

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Use fsp_is_alternate_stream() in shadow_copy2
Volker Lendecke [Sat, 11 Jan 2025 08:54:12 +0000 (09:54 +0100)] 
vfs: Use fsp_is_alternate_stream() in shadow_copy2

To me this makes the meaning of this if-statement more obvious

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Modernize a DEBUG
Volker Lendecke [Thu, 2 Jan 2025 16:32:45 +0000 (17:32 +0100)] 
smbd: Modernize a DEBUG

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agodocs: Fix a copy&paste error
Volker Lendecke [Mon, 13 Jan 2025 17:26:37 +0000 (18:26 +0100)] 
docs: Fix a copy&paste error

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Fix a typo
Volker Lendecke [Mon, 13 Jan 2025 15:45:03 +0000 (16:45 +0100)] 
vfs: Fix a typo

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agovfs: Fix DBGs
Volker Lendecke [Mon, 13 Jan 2025 14:50:02 +0000 (15:50 +0100)] 
vfs: Fix DBGs

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agotorture3: Fix an error message
Volker Lendecke [Mon, 19 Dec 2022 15:35:51 +0000 (16:35 +0100)] 
torture3: Fix an error message

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosmbd: Use MIN() instead of explicit if-statement
Volker Lendecke [Fri, 16 Dec 2022 13:12:57 +0000 (14:12 +0100)] 
smbd: Use MIN() instead of explicit if-statement

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
6 months agosamba-tool user disable: add new --remove-supplemental-groups option
Björn Baumbach [Wed, 20 Nov 2024 16:54:17 +0000 (17:54 +0100)] 
samba-tool user disable: add new --remove-supplemental-groups option

Removes all supplemental groups from a user, what is commonly
wanted when a user is disabled.

Pair-programmed-with: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Björn Baumbach <bb@sernet.de>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jule Anger <janger@samba.org>
Autobuild-User(master): Björn Baumbach <bb@sernet.de>
Autobuild-Date(master): Thu Jan 23 19:51:05 UTC 2025 on atb-devel-224

6 months agosamba-tool user disable: make sure that filter matches only one user
Björn Baumbach [Wed, 20 Nov 2024 16:24:10 +0000 (17:24 +0100)] 
samba-tool user disable: make sure that filter matches only one user

toggle_userAccountFlags() can only handle one user.

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agosamba-tool user disable: rename filter variable to search_filter
Björn Baumbach [Wed, 20 Nov 2024 16:10:12 +0000 (17:10 +0100)] 
samba-tool user disable: rename filter variable to search_filter

filter() is a Python built-in function to filter iterables.

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agosamba-tool user disable: set proper --filter option description
Björn Baumbach [Wed, 20 Nov 2024 16:03:24 +0000 (17:03 +0100)] 
samba-tool user disable: set proper --filter option description

Seems to be copied from samba-tool user setpassword command.

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agosamba-tool group removemembers: avoid python backtrace on error
Björn Baumbach [Tue, 26 Nov 2024 16:47:30 +0000 (17:47 +0100)] 
samba-tool group removemembers: avoid python backtrace on error

Pair-programmed-with: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Björn Baumbach <bb@sernet.de>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agopython/samdb: no need to set member_base_dn multiple times
Björn Baumbach [Fri, 22 Nov 2024 21:35:29 +0000 (22:35 +0100)] 
python/samdb: no need to set member_base_dn multiple times

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agopython/samdb: fix group member removal by SID
Björn Baumbach [Tue, 26 Nov 2024 14:46:02 +0000 (15:46 +0100)] 
python/samdb: fix group member removal by SID

Otherwise the removal of groupmembers by SID fails silently, because the
DN does not match the the DN in group member list.

Pair-programmed-with: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agopython/samdb: fix check which checks if user is already member of group
Björn Baumbach [Mon, 25 Nov 2024 13:05:40 +0000 (14:05 +0100)] 
python/samdb: fix check which checks if user is already member of group

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agopython/samdb: rename filter variable to search_filter
Björn Baumbach [Wed, 20 Nov 2024 22:28:51 +0000 (23:28 +0100)] 
python/samdb: rename filter variable to search_filter

filter() is a Python built-in function to filter iterables.

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agopython/samdb: add missing function parameter description
Björn Baumbach [Wed, 20 Nov 2024 20:33:49 +0000 (21:33 +0100)] 
python/samdb: add missing function parameter description

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agopython/samdb: fix attribute name in parameter description
Björn Baumbach [Wed, 18 Sep 2024 17:22:29 +0000 (19:22 +0200)] 
python/samdb: fix attribute name in parameter description

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Jule Anger <janger@samba.org>
6 months agothird_party: Update socket_wrapper to version 1.4.4
Andreas Schneider [Wed, 22 Jan 2025 14:37:07 +0000 (15:37 +0100)] 
third_party: Update socket_wrapper to version 1.4.4

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Thu Jan 23 11:28:32 UTC 2025 on atb-devel-224

6 months agolib:replace: Don't use deprecated readline CPPFunction cast
Andreas Schneider [Tue, 21 Jan 2025 16:59:27 +0000 (17:59 +0100)] 
lib:replace: Don't use deprecated readline CPPFunction cast

HAVE_RL_COMPLETION_FUNC_T was unused and not checking for the right
function.

libcli/smbreadline/smbreadline.c: In function ‘smb_readline’:
libcli/smbreadline/smbreadline.c:139:17: warning: ‘CPPFunction’ is deprecated [-Wdeprecated-declarations]
  139 |                 rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn;
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libcli/smbreadline/smbreadline.c:139:50: error: assignment to ‘char ** (*)(const char *, int,  int)’ from incompatible pointer type ‘char ** (*)(void)’ [-Wincompatible-pointer-types]
  139 |                 rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn;
      |                                                  ^

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15788

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Tue Jan 21 19:38:37 UTC 2025 on atb-devel-224

6 months agolib:replace: Remove trailing spaces from readline.h
Andreas Schneider [Tue, 21 Jan 2025 16:59:12 +0000 (17:59 +0100)] 
lib:replace: Remove trailing spaces from readline.h

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15788

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
6 months agovfs_fruit: Fix 63f0b59cbed
Volker Lendecke [Sun, 19 Jan 2025 16:27:56 +0000 (17:27 +0100)] 
vfs_fruit: Fix 63f0b59cbed

After 30 years of coding C, pointers and macros are still error-prone :-(

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Mon Jan 20 08:00:24 UTC 2025 on atb-devel-224

6 months agolib:util: Fix stack-use-after-return in crypt_as_best_we_can()
Andreas Schneider [Fri, 17 Jan 2025 12:28:30 +0000 (13:28 +0100)] 
lib:util: Fix stack-use-after-return in crypt_as_best_we_can()

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15784

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Pavel Filipenský <pfilipensky@samba.org>
Autobuild-User(master): Douglas Bagnall <dbagnall@samba.org>
Autobuild-Date(master): Fri Jan 17 23:21:13 UTC 2025 on atb-devel-224

6 months agovfs_ceph_new: add smbprofile for async-ops
Shachar Sharon [Tue, 14 Jan 2025 09:46:05 +0000 (11:46 +0200)] 
vfs_ceph_new: add smbprofile for async-ops

Commit fcd3fc34b2ec5e ("vfs_ceph_new: add profiling support") added
PROFILE accounting for non-async VFS hooks. Add also SMBPROFILE for
async (read/write/fsync) hooks.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15703

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Fri Jan 17 16:47:28 UTC 2025 on atb-devel-224

6 months agoauth: Cleanup exit code paths in kerberos_decode_pac().
Jeremy Allison [Fri, 17 Jan 2025 00:12:31 +0000 (16:12 -0800)] 
auth: Cleanup exit code paths in kerberos_decode_pac().

One more memory leak missed and now fixed. tmp_ctx
must be freed once the pac data is talloc_move'd.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15782

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Reviewed-by: Christian Ambach <ambi@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Fri Jan 17 12:01:47 UTC 2025 on atb-devel-224

6 months agoauth: Add missing talloc_free() in error code path.
Jeremy Allison [Wed, 15 Jan 2025 18:21:19 +0000 (10:21 -0800)] 
auth: Add missing talloc_free() in error code path.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15782

Signed-off-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): Thu Jan 16 14:32:39 UTC 2025 on atb-devel-224

6 months agos3:winbindd: split our wb_gettoken_trybuiltins() helper
Stefan Metzmacher [Sat, 23 Jul 2022 22:46:06 +0000 (00:46 +0200)] 
s3:winbindd: split our wb_gettoken_trybuiltins() helper

This makes the logical steps a bit cleaner and future changes easier.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Wed Jan 15 14:00:28 UTC 2025 on atb-devel-224

6 months agos3:winbindd: split out wb_gettoken_trylocalgroups() function
Stefan Metzmacher [Sat, 23 Jul 2022 22:44:07 +0000 (00:44 +0200)] 
s3:winbindd: split out wb_gettoken_trylocalgroups() function

This makes the logical steps a bit cleaner and future changes easier.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
6 months agos3:winbindd: add winbindd_domain_verify_sid() helper
Stefan Metzmacher [Fri, 22 Jul 2022 13:15:56 +0000 (15:15 +0200)] 
s3:winbindd: add winbindd_domain_verify_sid() helper

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
6 months agos3:winbindd: consistently use add_sid_to_array_unique() in winbindd_ads.c
Stefan Metzmacher [Fri, 22 Jul 2022 13:15:02 +0000 (15:15 +0200)] 
s3:winbindd: consistently use add_sid_to_array_unique() in winbindd_ads.c

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
6 months agos3:winbindd: use struct initializers for all struct winbindd_methods cases
Stefan Metzmacher [Tue, 26 Jul 2022 08:52:19 +0000 (10:52 +0200)] 
s3:winbindd: use struct initializers for all struct winbindd_methods cases

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
6 months agos3:auth: let check_sam_security() add NETLOGON_NTLMV2_ENABLED
Stefan Metzmacher [Wed, 15 Jan 2025 11:41:21 +0000 (12:41 +0100)] 
s3:auth: let check_sam_security() add NETLOGON_NTLMV2_ENABLED

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15783

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
6 months agos4:auth/ntlm: let authsam_check_password_internals() add NETLOGON_NTLMV2_ENABLED
Stefan Metzmacher [Wed, 15 Jan 2025 10:57:12 +0000 (11:57 +0100)] 
s4:auth/ntlm: let authsam_check_password_internals() add NETLOGON_NTLMV2_ENABLED

Windows returns NETLOGON_NTLMV2_ENABLED in all
netr_LogonSamLogon* response messages.
Even if NTLMv1 was actually used and also
for password authentication.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15783

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
6 months agopython:tests/krb5: let netlogon.py check for NETLOGON_NTLMV2_ENABLED
Stefan Metzmacher [Wed, 15 Jan 2025 11:22:34 +0000 (12:22 +0100)] 
python:tests/krb5: let netlogon.py check for NETLOGON_NTLMV2_ENABLED

It's there for network_samlogon and interactive_samlogon,
but not in ticket_samlogon.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15783

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
6 months agoselftest: force 'client use krb5 netlogon = yes' for admem_idmap_autorid
Stefan Metzmacher [Wed, 8 Jan 2025 09:49:42 +0000 (10:49 +0100)] 
selftest: force 'client use krb5 netlogon = yes' for admem_idmap_autorid

With 'reject aes netlogon servers = yes' we prevent any fallback.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Jan 14 00:37:34 UTC 2025 on atb-devel-224

6 months agos4:torture/rpc: add rpc.pac tests with DCERPC_SCHANNEL_KRB5/ServerAuthenticateKerberos()
Stefan Metzmacher [Mon, 11 Nov 2024 18:32:48 +0000 (19:32 +0100)] 
s4:torture/rpc: add rpc.pac tests with DCERPC_SCHANNEL_KRB5/ServerAuthenticateKerberos()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agoselftest: add 'server support krb5 netlogon = yes' for fl2008r2dc
Stefan Metzmacher [Wed, 27 Nov 2024 11:32:27 +0000 (12:32 +0100)] 
selftest: add 'server support krb5 netlogon = yes' for fl2008r2dc

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos4:torture/rpc: let rpc.samlogon also test DCERPC_SCHANNEL_KRB5/ServerAuthenticateKer...
Stefan Metzmacher [Wed, 27 Nov 2024 11:21:57 +0000 (12:21 +0100)] 
s4:torture/rpc: let rpc.samlogon also test DCERPC_SCHANNEL_KRB5/ServerAuthenticateKerberos()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos4:torture/rpc: let rpc.samlogon test credential_flags again...
Stefan Metzmacher [Wed, 27 Nov 2024 11:17:27 +0000 (12:17 +0100)] 
s4:torture/rpc: let rpc.samlogon test credential_flags again...

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos4:torture/rpc: let rpc.schannel also use of DCERPC_SCHANNEL_KRB5
Stefan Metzmacher [Fri, 8 Nov 2024 14:56:45 +0000 (15:56 +0100)] 
s4:torture/rpc: let rpc.schannel also use of DCERPC_SCHANNEL_KRB5

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos4:torture/rpc: prepare test_lsa_ops for ServerAuthenticateKerberos
Stefan Metzmacher [Mon, 11 Nov 2024 19:30:25 +0000 (20:30 +0100)] 
s4:torture/rpc: prepare test_lsa_ops for ServerAuthenticateKerberos

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos4:torture/rpc: use expected_{account,authority}_name variables in test_lsa_ops
Stefan Metzmacher [Mon, 11 Nov 2024 19:26:55 +0000 (20:26 +0100)] 
s4:torture/rpc: use expected_{account,authority}_name variables in test_lsa_ops

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos4:torture/rpc: prepare netlogon tests for ServerAuthenticateKerberos
Stefan Metzmacher [Wed, 27 Nov 2024 11:21:12 +0000 (12:21 +0100)] 
s4:torture/rpc: prepare netlogon tests for ServerAuthenticateKerberos

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos4:torture/rpc: prepare lsa lookup tests for ServerAuthenticateKerberos
Stefan Metzmacher [Wed, 27 Nov 2024 11:18:36 +0000 (12:18 +0100)] 
s4:torture/rpc: prepare lsa lookup tests for ServerAuthenticateKerberos

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos4:torture/rpc: make more use of netlogon_creds_client_verify()
Stefan Metzmacher [Wed, 27 Nov 2024 11:15:42 +0000 (12:15 +0100)] 
s4:torture/rpc: make more use of netlogon_creds_client_verify()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos4:librpc/rpc: implement DCERPC_SCHANNEL_KRB5
Stefan Metzmacher [Fri, 8 Nov 2024 16:48:31 +0000 (17:48 +0100)] 
s4:librpc/rpc: implement DCERPC_SCHANNEL_KRB5

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos3:tests: let test_update_keytab.sh use rpc changetrustpw --server
Stefan Metzmacher [Thu, 7 Nov 2024 19:00:08 +0000 (20:00 +0100)] 
s3:tests: let test_update_keytab.sh use rpc changetrustpw --server

If we pass the server name via -I/--ipaddress means we internally loose
the server name and fail to use kerberos with just the ip address.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agopython:tests: let s3_net_join.py avoid kerberos_state=DONT_USE_KERBEROS
Stefan Metzmacher [Thu, 7 Nov 2024 18:09:26 +0000 (19:09 +0100)] 
python:tests: let s3_net_join.py avoid kerberos_state=DONT_USE_KERBEROS

We may use ServerAuthenticateKerberos in future and that needed to
use kerberos.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agotestprogs/blackbox: let test_rpcclient_schannel.sh explicitly use --option=clientusek...
Stefan Metzmacher [Thu, 7 Nov 2024 17:31:25 +0000 (18:31 +0100)] 
testprogs/blackbox: let test_rpcclient_schannel.sh explicitly use --option=clientusekrb5netlogon

This also tests lsa over kerberos

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agopython:tests: let auth_log.py also test --option=clientusekrb5netlogon=yes
Stefan Metzmacher [Thu, 7 Nov 2024 16:37:05 +0000 (17:37 +0100)] 
python:tests: let auth_log.py also test --option=clientusekrb5netlogon=yes

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agopython:tests: let auth_log.py explicitly use --option=clientusekrb5netlogon=no
Stefan Metzmacher [Thu, 7 Nov 2024 15:41:00 +0000 (16:41 +0100)] 
python:tests: let auth_log.py explicitly use --option=clientusekrb5netlogon=no

It also add some additional checks to make sure netlogon with AES was
used.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agopython:tests: let auth_log.py use self.assertIn(received, [4, 5]
Stefan Metzmacher [Thu, 7 Nov 2024 15:37:56 +0000 (16:37 +0100)] 
python:tests: let auth_log.py use self.assertIn(received, [4, 5]

This will simplify further changes.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agoselftest: add 'server support krb5 netlogon = yes' for ad_dc_ntvfs
Stefan Metzmacher [Wed, 27 Nov 2024 11:32:27 +0000 (12:32 +0100)] 
selftest: add 'server support krb5 netlogon = yes' for ad_dc_ntvfs

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agolibcli/auth: add support for ServerAuthenticateKerberos()
Stefan Metzmacher [Fri, 6 Sep 2024 12:07:15 +0000 (14:07 +0200)] 
libcli/auth: add support for ServerAuthenticateKerberos()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos3:winbindd: split out cm_connect_schannel_or_krb5() helper
Stefan Metzmacher [Wed, 6 Nov 2024 13:00:58 +0000 (14:00 +0100)] 
s3:winbindd: split out cm_connect_schannel_or_krb5() helper

This will allow us to use ServerAuthenticateKerberos() later.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos3:cli_netlogon: prepare for netr_ServerAuthenticateKerberos()
Stefan Metzmacher [Wed, 30 Oct 2024 11:13:36 +0000 (12:13 +0100)] 
s3:cli_netlogon: prepare for netr_ServerAuthenticateKerberos()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos3:winbindd: use GENSEC_FEATURE_NO_DELEGATION for trust credentials for netlogon
Stefan Metzmacher [Wed, 27 Nov 2024 09:59:58 +0000 (10:59 +0100)] 
s3:winbindd: use GENSEC_FEATURE_NO_DELEGATION for trust credentials for netlogon

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos3:rpcclient: use GENSEC_FEATURE_NO_DELEGATION for trust credentials
Stefan Metzmacher [Wed, 27 Nov 2024 09:59:58 +0000 (10:59 +0100)] 
s3:rpcclient: use GENSEC_FEATURE_NO_DELEGATION for trust credentials

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos3:libnet_join: use GENSEC_FEATURE_NO_DELEGATION for trust credentials
Stefan Metzmacher [Wed, 27 Nov 2024 09:59:58 +0000 (10:59 +0100)] 
s3:libnet_join: use GENSEC_FEATURE_NO_DELEGATION for trust credentials

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos3:cli_netlogon: use GENSEC_FEATURE_NO_DELEGATION for trust credentials
Stefan Metzmacher [Wed, 30 Oct 2024 11:13:36 +0000 (12:13 +0100)] 
s3:cli_netlogon: use GENSEC_FEATURE_NO_DELEGATION for trust credentials

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agolibcli/auth: add netlogon_creds_cli_use_kerberos() helper
Stefan Metzmacher [Fri, 6 Sep 2024 12:07:15 +0000 (14:07 +0200)] 
libcli/auth: add netlogon_creds_cli_use_kerberos() helper

This allows the calling code to decide if a krb5 or anonymous
netlogon connection should be tried.

Currently we don't try ServerAuthenticateKerberos, but that will change
in a few commits. But before we need to prepare the callers...

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agodocs-xml/smbdotconf: add "client use krb5 netlogon" option
Stefan Metzmacher [Thu, 7 Nov 2024 12:25:37 +0000 (13:25 +0100)] 
docs-xml/smbdotconf: add "client use krb5 netlogon" option

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agodocs-xml/smbdotconf: add "reject aes netlogon servers" option
Stefan Metzmacher [Thu, 7 Nov 2024 11:41:05 +0000 (12:41 +0100)] 
docs-xml/smbdotconf: add "reject aes netlogon servers" option

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos3:libads: prepare trust_pw_change() for ServerAuthenticateKerberos()
Stefan Metzmacher [Thu, 31 Oct 2024 17:32:52 +0000 (18:32 +0100)] 
s3:libads: prepare trust_pw_change() for ServerAuthenticateKerberos()

We use kerberos_kinit_passwords_ext() to check the password before
and after ServerPasswordSet2() as ServerAuthenticateKerberos()
does not check it. We use the ip address of the dcerpc connection
in order to use a fixed KDC, so that we talk to the same server
that also received the ServerPasswordSet2().

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agos3:libads: rename variables in trust_pw_change()
Stefan Metzmacher [Tue, 5 Nov 2024 11:42:37 +0000 (12:42 +0100)] 
s3:libads: rename variables in trust_pw_change()

We'll have more than nt_hashes soon.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
6 months agovfs_ceph_new: add profiling support
Shweta Sodani [Thu, 2 Jan 2025 13:42:08 +0000 (19:12 +0530)] 
vfs_ceph_new: add profiling support

Signed-off-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Mon Jan 13 21:26:34 UTC 2025 on atb-devel-224

6 months agosharesec: Check if share exists in configuration
Vinit Agnihotri [Tue, 3 Dec 2024 05:51:09 +0000 (11:21 +0530)] 
sharesec: Check if share exists in configuration

Load config from registry without share info and check if sharename
exists from configuration. This results into lesser delay for the same.

In case of view we load config with all shares to ensure we get all
shares for diplay purpose.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15780

Signed-off-by: Vinit Agnihotri <vagnihot@redhat.com>
Reviewed-by: John Mulligan <jmulligan@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Fri Jan 10 10:45:30 UTC 2025 on atb-devel-224

6 months agosharesec: Add function to check existence of share from config
Vinit Agnihotri [Tue, 3 Dec 2024 05:49:09 +0000 (11:19 +0530)] 
sharesec: Add function to check existence of share from config

Add function to detect if a share name exists in the registry or config file.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15780

Signed-off-by: Vinit Agnihotri <vagnihot@redhat.com>
Reviewed-by: John Mulligan <jmulligan@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
6 months agoparam: Add API to load registry without share info
Vinit Agnihotri [Tue, 3 Dec 2024 05:42:34 +0000 (11:12 +0530)] 
param: Add API to load registry without share info

As number of shares increases loading entire registry configuration along with
share information becomes very costly operation.
Since we may not require share information all time, we can optimise
this by using API just loading configuration without any share info.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15780

Signed-off-by: Vinit Agnihotri <vagnihot@redhat.com>
Reviewed-by: John Mulligan <jmulligan@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
6 months agosharesec: Fix warning frame not freed in order
Vinit Agnihotri [Thu, 12 Dec 2024 13:35:24 +0000 (19:05 +0530)] 
sharesec: Fix warning frame not freed in order

This change should fix following warning:
Freed frame ../../source3/utils/sharesec.c:515, expected ../../source3/utils/sharesec.c:637

Frame was not getting freed in case of servicename is NULL.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15780

Signed-off-by: Vinit Agnihotri <vagnihot@redhat.com>
Reviewed-by: John Mulligan <jmulligan@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>