]> git.ipfire.org Git - thirdparty/samba.git/log
thirdparty/samba.git
30 hours agovfs_glusterfs: fix directory fd leak via FSP extension destructor master
Thales Antunes de Oliveira Barretto [Fri, 27 Feb 2026 07:38:06 +0000 (04:38 -0300)] 
vfs_glusterfs: fix directory fd leak via FSP extension destructor

When Samba closes a directory backed by vfs_glusterfs, the glfs_fd_t
opened by vfs_gluster_openat() is never closed.  This leaks one
libgfapi file descriptor and one server-side fd_t in glusterfsd per
directory open/close cycle.  With persistent SMB2 connections the
leak is unbounded and drives monotonic RSS growth on the GlusterFS
brick process.

The leak happens because vfs_glusterfs creates two independent
glfs_fd_t handles per directory: one via glfs_open() in
vfs_gluster_openat(), stored in the FSP extension, and another via
glfs_opendir() in vfs_gluster_fdopendir(), tracked by struct smb_Dir.
On close, smb_Dir_destructor() closes the opendir handle and sets the
pathref fd to -1.  fd_close() then returns early without calling
SMB_VFS_CLOSE, so vfs_gluster_close() never runs and the glfs_open()
handle is orphaned.  The original code passed NULL as the destroy
callback to VFS_ADD_FSP_EXTENSION, so there was no safety net.

The default VFS does not have this problem because fdopendir(3) wraps
the existing kernel fd rather than opening a new handle.  libgfapi
has no equivalent -- glfs_opendir() always creates an independent
handle by path.  The actual glfs_fd_t is stored in the FSP extension,
not in fsp->fh->fd (which holds a sentinel value), so Samba's generic
close path cannot reach it.

Register vfs_gluster_fsp_ext_destroy() as the FSP extension destroy
callback.  It calls glfs_close() on the stored pointer and is invoked
by vfs_remove_all_fsp_extensions() during file_free(), which runs
unconditionally for every fsp.  In the explicit close path,
vfs_gluster_close() NULLs the extension pointer before calling
VFS_REMOVE_FSP_EXTENSION to prevent double-close.  This follows the
same pattern used by vfs_ceph_new.c (vfs_ceph_fsp_ext_destroy_cb).

Observed on a production file server with persistent SMB2 connections
and continuous directory operations.  GlusterFS brick statedumps
showed fd_t pool growth from 1,993 to 80,350 active instances over
6 days, roughly 13,000 leaked fds per day per brick.

RN: Fix a directory file descriptor leak in vfs_glusterfs that caused
unbounded memory growth on the GlusterFS brick with persistent SMB2
connections.

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

Signed-off-by: Thales Antunes de Oliveira Barretto <thales.barretto.git@gmail.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): Wed Apr  8 16:46:12 UTC 2026 on atb-devel-224

31 hours agoprinting: Set default value in case of non-exisiting record
Vinit Agnihotri [Mon, 23 Mar 2026 15:31:37 +0000 (21:01 +0530)] 
printing: Set default value in case of non-exisiting record

This fixes regression caused by commit#e9a7dce599
Newly added function treats non-existing record as error, instead of
setting just -1 i.e. default value for non-exisiting record for
printing subsystem. This results into print_cache_expired returning
incorrect status.

Fix sets default value in case of non-exisiting record
which would ensure print_cache_expired to return correct status.

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

Signed-off-by: Vinit Agnihotri <vagnihot@redhat.com>
Reviewed-by: Rabinarayan Panigrahi <rapanigr@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
31 hours agodsdb: use wellknow object IDs for new user and computer objects gitlab/master
Björn Jacke [Fri, 6 Mar 2026 16:16:46 +0000 (17:16 +0100)] 
dsdb: use wellknow object IDs for new user and computer objects

this allows redirusr and redircmp to work as expected

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

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Wed Apr  8 15:41:21 UTC 2026 on atb-devel-224

32 hours agobootstrap: Move to openSUSE Leap 16
Jennifer Sutton [Wed, 1 Apr 2026 21:51:03 +0000 (10:51 +1300)] 
bootstrap: Move to openSUSE Leap 16

openSUSE Leap 15.5 is out of support.

Signed-off-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
32 hours agobootstrap: Drop Ubuntu 20.04 in CI
Jennifer Sutton [Wed, 1 Apr 2026 21:09:49 +0000 (10:09 +1300)] 
bootstrap: Drop Ubuntu 20.04 in CI

Ubuntu 20.04 is out of support. We want to run Ubuntu 26.04 in CI instead.

Signed-off-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
32 hours agos3:smb2_server: failing lease/oplock breaks should call smbd_server_connection_termin...
Stefan Metzmacher [Thu, 12 Feb 2026 12:21:06 +0000 (13:21 +0100)] 
s3:smb2_server: failing lease/oplock breaks should call smbd_server_connection_terminate()

If there's a problem sending a lease break we need to
call smbd_server_connection_terminate(xconn).

Currently we only called smbXsrv_connection_disconnect_transport(),
which only closes the low level socket, but it doesn't
cleanup smbXsrv_connection and in case of the last connection
for the smbXsrv_client, so we leave the stale structures and
the stale process behind.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
38 hours agobuildtools: fix clang warning: argument unused
Gary Lockyer [Tue, 31 Mar 2026 01:54:44 +0000 (14:54 +1300)] 
buildtools: fix clang warning: argument unused

Fix:
clang-xx: warning: argument unused during compilation:
          '-undefined dynamic_lookup' [-Wunused-command-line-argument]

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Wed Apr  8 08:38:21 UTC 2026 on atb-devel-224

2 days agos3:printing: make printer_list.tdb none readable for others
Shwetha Acharya [Mon, 6 Apr 2026 11:25:42 +0000 (16:55 +0530)] 
s3:printing: make printer_list.tdb none readable for others

Signed-off-by: Shwetha Acharya <Shwetha.K.Acharya@ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Tue Apr  7 16:12:32 UTC 2026 on atb-devel-224

2 days agos3:rpc_server: make epmdb.tdb non readable for others
Shwetha Acharya [Wed, 1 Apr 2026 08:27:51 +0000 (13:57 +0530)] 
s3:rpc_server: make epmdb.tdb non readable for others

Signed-off-by: Shwetha Acharya <Shwetha.K.Acharya@ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
2 days agos3:idmap_tdb2: make idmap2.tdb non readable for others
Shwetha Acharya [Wed, 1 Apr 2026 08:16:29 +0000 (13:46 +0530)] 
s3:idmap_tdb2: make idmap2.tdb non readable for others

Signed-off-by: Shwetha Acharya <Shwetha.K.Acharya@ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
2 days agos3:idmap: make idmap.tdb non readable for others
Shwetha Acharya [Wed, 1 Apr 2026 07:36:01 +0000 (13:06 +0530)] 
s3:idmap: make idmap.tdb non readable for others

Signed-off-by: Shwetha Acharya <Shwetha.K.Acharya@ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
2 days agos3:gencache: make gencache.tdb none readable for others
Ralph Wuerthner [Wed, 26 Feb 2020 10:29:50 +0000 (11:29 +0100)] 
s3:gencache: make gencache.tdb none readable for others

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
2 days agos3:locking: make leases.tdb none readable for others
Ralph Wuerthner [Tue, 21 Jan 2020 08:14:23 +0000 (09:14 +0100)] 
s3:locking: make leases.tdb none readable for others

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
2 days agos3:locking: make locking.tdb none readable for others
Ralph Wuerthner [Tue, 21 Jan 2020 08:14:36 +0000 (09:14 +0100)] 
s3:locking: make locking.tdb none readable for others

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
2 days agos3:idmap_autorid: make autorid.tdb none readable for others
Ralph Wuerthner [Tue, 21 Jan 2020 08:15:40 +0000 (09:15 +0100)] 
s3:idmap_autorid: make autorid.tdb none readable for others

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
2 days agos3:cleanupdb: make smbd_cleanupd.tdb none readable for others
Ralph Wuerthner [Wed, 26 Feb 2020 10:31:26 +0000 (11:31 +0100)] 
s3:cleanupdb: make smbd_cleanupd.tdb none readable for others

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
2 days agos3:smbprofile: make smbprofile.tdb none readable for others
Ralph Wuerthner [Wed, 26 Feb 2020 13:01:50 +0000 (14:01 +0100)] 
s3:smbprofile: make smbprofile.tdb none readable for others

Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Anoop C S <anoopcs@samba.org>
2 days agos3:libads: Set dns_lookup_kdc=false during net ads join
Pavel Filipenský [Mon, 23 Mar 2026 18:05:31 +0000 (19:05 +0100)] 
s3:libads: Set dns_lookup_kdc=false during net ads join

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

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Pavel Filipensky <pfilipensky@samba.org>
Autobuild-Date(master): Tue Apr  7 14:09:40 UTC 2026 on atb-devel-224

2 days agos3:libads: Allow to specify 'dns_lookup_kdc' in krb5.conf
Pavel Filipenský [Mon, 23 Mar 2026 18:03:34 +0000 (19:03 +0100)] 
s3:libads: Allow to specify 'dns_lookup_kdc' in krb5.conf

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

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2 days agos3:libnet: Fix DC numeric ip handling
Pavel Filipenský [Wed, 18 Mar 2026 19:24:37 +0000 (20:24 +0100)] 
s3:libnet: Fix DC numeric ip handling

This is fixing regression introduced via 82f53c8

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

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2 days agosubunit: Do not return successful exit code if tests fail or error
Jennifer Sutton [Thu, 2 Apr 2026 03:11:56 +0000 (16:11 +1300)] 
subunit: Do not return successful exit code if tests fail or error

TestProtocolClient.writeOutcome() removed items from self.errors and
self.failures via TestProtocolClient._filterErrors(). This made wasSuccessful()
inappropriately return True even if there were errors or failures.
subunit.run.runTests() uses wasSuccessful() to determine the exit code.

To fix this, do not remove items from self.errors or self.failures, but instead
use indices to keep track of how many items we have already processed in each of
self.errors and self.failures.

This fixes a regression introduced by commit
421dc7fc4d83629d3a5f9e558d378f44c7b9dad3.

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

Signed-off-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
Autobuild-User(master): Gary Lockyer <gary@samba.org>
Autobuild-Date(master): Tue Apr  7 04:17:08 UTC 2026 on atb-devel-224

2 days agoselftest: Add keywords arguments to addDuration() method
Jennifer Sutton [Thu, 2 Apr 2026 03:09:58 +0000 (16:09 +1300)] 
selftest: Add keywords arguments to addDuration() method

Without these, the type checker complains:

Method "addDuration" overrides class "TestResult" in an incompatible manner.

Signed-off-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
7 days agovfs_ceph_new: fix errno handling in vfs_ceph_readdir
Shweta Sodani [Wed, 25 Mar 2026 09:23:42 +0000 (14:53 +0530)] 
vfs_ceph_new: fix errno handling in vfs_ceph_readdir

Signed-off-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Thu Apr  2 05:49:13 UTC 2026 on atb-devel-224

7 days agovfs_ceph_new: add missing sentinel to enum_vfs_cephfs_fscrypt_vals
Shweta Sodani [Wed, 25 Mar 2026 08:55:08 +0000 (14:25 +0530)] 
vfs_ceph_new: add missing sentinel to enum_vfs_cephfs_fscrypt_vals

Signed-off-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
8 days agos4/dns_server: truncate large dns packets over udp and set truncated flag
Andréas Leroux [Fri, 13 Feb 2026 08:25:55 +0000 (09:25 +0100)] 
s4/dns_server: truncate large dns packets over udp and set truncated flag

Large DNS response must be truncated over UDP, letting client retry over TCP. Current threshold is set to 1232 as it is regarded as a safe size.
Truncated packets have no answers nor record, only the packet header and initial question(s).

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

Signed-off-by: Andréas Leroux <aleroux@tranquil.it>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
Autobuild-User(master): Jennifer Sutton <jsutton@samba.org>
Autobuild-Date(master): Wed Apr  1 05:08:14 UTC 2026 on atb-devel-224

8 days agos4/dns_server: add large dns udp truncated packets tests
Andréas Leroux [Fri, 13 Feb 2026 08:22:32 +0000 (09:22 +0100)] 
s4/dns_server: add large dns udp truncated packets tests

Large DNS response must be truncated over UDP, though this is not yet done in samba. Test is added as knownfail until implementation

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

Signed-off-by: Andréas Leroux <aleroux@tranquil.it>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
9 days agoauth: Check return of talloc_strdup() for NULL
Pavel Filipenský [Sun, 8 Mar 2026 18:06:26 +0000 (19:06 +0100)] 
auth: Check return of talloc_strdup() for NULL

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Pavel Filipensky <pfilipensky@samba.org>
Autobuild-Date(master): Tue Mar 31 09:18:43 UTC 2026 on atb-devel-224

9 days agolibcli/smb: Call data_blob_clear() to zero MAC signing key
Pavel Filipenský [Sun, 8 Mar 2026 19:26:53 +0000 (20:26 +0100)] 
libcli/smb: Call data_blob_clear() to zero MAC signing key

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
9 days agoauth: Use secure variant data_blob_talloc_s() to zero sensitive data blobs
Pavel Filipenský [Mon, 9 Mar 2026 07:45:20 +0000 (08:45 +0100)] 
auth: Use secure variant data_blob_talloc_s() to zero sensitive data blobs

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
9 days agoauth: Call talloc_keep_secret() for sensitive memory
Pavel Filipenský [Sat, 7 Mar 2026 20:03:11 +0000 (21:03 +0100)] 
auth: Call talloc_keep_secret() for sensitive memory

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
9 days agoauth: Call ZERO_ARRAY()/ZERO_STRUCT() for sensitive variables on stack
Pavel Filipenský [Sun, 8 Mar 2026 07:43:39 +0000 (08:43 +0100)] 
auth: Call ZERO_ARRAY()/ZERO_STRUCT() for sensitive variables on stack

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
9 days agothird_party:heimdal: Import lorikeet-heimdal-202603261022
Gary Lockyer [Thu, 26 Mar 2026 22:26:06 +0000 (11:26 +1300)] 
third_party:heimdal: Import lorikeet-heimdal-202603261022

Fix compiler errors when compiling with clang 22

Fixes for bug 15746

commits: 5367944b74888bd1f8af3567e18c1b763f8f58c6
         1b18c37544405a74b20c6dff4454c0b7dc79d5df

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

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Autobuild-User(master): Gary Lockyer <gary@samba.org>
Autobuild-Date(master): Tue Mar 31 00:41:46 UTC 2026 on atb-devel-224

9 days agotests:krb5 expired password handling
Gary Lockyer [Thu, 26 Mar 2026 00:39:45 +0000 (13:39 +1300)] 
tests:krb5 expired password handling

The windows ADDC checks password validity before password expiry. So an
incorrect expired password will return KDC_ERR_PREAUTH_REQUIRED not
KDC_ERR_KEY_EXPIRED.

The KDC behaviour fixes will be made to lorikeet-heimdal and then imported to
samba.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=15746

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
10 days agopython:tests/krb5: Make PADATA_PK_AS_REP optional in non-strict mode
Andreas Schneider [Wed, 25 Mar 2026 11:44:02 +0000 (12:44 +0100)] 
python:tests/krb5: Make PADATA_PK_AS_REP optional in non-strict mode

Commit c1433f821f7 added PADATA_PK_AS_REP (PA-PK-AS-REP, type 17) to
the expected padata list when check_rep_padata sees KDC_ERR_KEY_EXPIRED.
This reflects Samba's Heimdal KDC behaviour, which includes PKINIT hints
in expired-password error responses.

Samba with MIT KDC does not include PADATA_PK_AS_REP in KDC_ERR_KEY_EXPIRED
responses; it returns a METHOD-DATA with just the NTSTATUS payload (type 3) and
the FX-COOKIE (type 133).  This causes test_pw_expired to fail intermittently
when the expired-password code path is exercised against MIT KDC.

Add PADATA_PK_AS_REP to the require_strict set alongside PADATA_PK_AS_REP_19,
so it is treated as optional in non-strict checking mode (STRICT_CHECKING=0)
while still being enforced in strict mode.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Mon Mar 30 10:41:07 UTC 2026 on atb-devel-224

10 days agoselftest: Fix missing --configfile in schema_pair_dc drs replicate cmd
Andreas Schneider [Wed, 25 Mar 2026 11:19:32 +0000 (12:19 +0100)] 
selftest: Fix missing --configfile in schema_pair_dc drs replicate cmd

Without the configuration argument, samba-tool falls back to
load_default() which fails in the test environment when there is no
system-wide smb.conf.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
10 days agoselftest: Add test_device_and_server_silo_restrictions to knownfail_mit_kdc
Andreas Schneider [Wed, 25 Mar 2026 10:38:50 +0000 (11:38 +0100)] 
selftest: Add test_device_and_server_silo_restrictions to knownfail_mit_kdc

MIT KRB5 1.22 fixed a spurious FAST armor processing error. In
KRB5 1.21 this spurious error caused verify_access() with device FAST
armor to fail, which accidentally made the device silo restriction check
in test_device_and_server_silo_restrictions appear to work.

With KRB5 1.22 the spurious error is gone. Device authentication is
still not implemented in MIT Kerberos, so the second assertRaises block
(user has silo assigned, device does not) no longer raises NTSTATUSError
and the test fails.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
10 days agopython:tests: Fix assertEqual placement in test_device_group_restrictions
Andreas Schneider [Wed, 25 Mar 2026 10:37:09 +0000 (11:37 +0100)] 
python:tests: Fix assertEqual placement in test_device_group_restrictions

The assertEqual calls checking the exception attributes were incorrectly
indented inside the 'with self.assertRaises()' block. When the expected
NTSTATUSError is raised by verify_access(), execution exits the block
immediately, so those lines were never reached.
When the exception is not raised (e.g. with MIT KRB5 1.22 where a spurious FAST
error was fixed), execution falls through to the assertEqual inside the block,
causing AttributeError because error.exception is only available after the
'with' block exits.

The exception returned is NT_STATUS_UNSUCCESSFUL with Heimdal.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
10 days agos3/librpc/crypto: Don't keep growing in memory keytab
Noel Power [Thu, 26 Mar 2026 12:03:55 +0000 (12:03 +0000)] 
s3/librpc/crypto: Don't keep growing in memory keytab

When we have long living concurrent connections every rpc bind
ends up calling and subsequently adding keytab entries to the
memory keytab returned by 'gse_krb5_get_server_keytab(...)'. This is
happening because as long as there is a handle open for the
keytab named "MEMORY:cifs_srv_keytab" then we keep adding entries to
it.

Note: There is no leak of gensec_security nor the krb5_keytab
      it contains. When rpc clients connected to the rpc worker process
      exit the gensec_security and the krb5_keytab structures are
      destructed as expected. However because we use a fixed name
      "MEMORY:cifs_srv_keytab" clients end up with a handle to a
      reference counted shared keytab. Destruction of the keytab results
      in the associated reference count being decremented. When the
      reference count reaches 0 the keytab is destroyed.

To avoid the keytab being extended the easiest solution is to ensure a
unique memory keytab is created for each client.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=16042
Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Noel Power <npower@samba.org>
Autobuild-Date(master): Mon Mar 30 09:36:45 UTC 2026 on atb-devel-224

10 days agoquic:libquic:handshake fix clang-22 warning
Gary Lockyer [Tue, 24 Mar 2026 02:02:19 +0000 (15:02 +1300)] 
quic:libquic:handshake fix clang-22 warning

Fix:
   ../../third_party/quic/libquic/handshake.c:567:56:
      error: format specifies type 'unsigned int' but the argument has type
             'size_t' (aka 'unsigned long') [-Werror,-Wformat]
        567   quic_log_debug("  Read func: %u %u %u", level, htype, datalen);
                                                 ~~                 ^~~~~~~

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Gary Lockyer <gary@samba.org>
Autobuild-Date(master): Mon Mar 30 01:49:56 UTC 2026 on atb-devel-224

13 days agowafsamba: Add -D_FORTIFY_SOURCE=3 when stack protector is enabled
Andreas Schneider [Tue, 24 Mar 2026 14:00:21 +0000 (15:00 +0100)] 
wafsamba: Add -D_FORTIFY_SOURCE=3 when stack protector is enabled

The capability check in SAMBA_CONFIG_H() already tests that the compiler
accepts both -Wp,-D_FORTIFY_SOURCE and the stack protector flag
together, but only the stack protector flag was added to EXTRA_CFLAGS on
success.

The glibc normally silently downgrades to the supported level if the on
specified is not supported.

Note that -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 only sets it if not
already defined.

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

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Fri Mar 27 08:33:09 UTC 2026 on atb-devel-224

2 weeks agodocs-xml: Sync pam_winbind with pam_winbind.conf manpage
Andreas Schneider [Mon, 9 Feb 2026 10:05:10 +0000 (11:05 +0100)] 
docs-xml: Sync pam_winbind with pam_winbind.conf manpage

Reviewed-by: Alexander Bokovoy <ab@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Thu Mar 26 10:59:47 UTC 2026 on atb-devel-224

2 weeks agodocs-xml: Remove trailing spaces from pam_winbind.8.xml
Andreas Schneider [Mon, 9 Feb 2026 10:06:21 +0000 (11:06 +0100)] 
docs-xml: Remove trailing spaces from pam_winbind.8.xml

Reviewed-by: Alexander Bokovoy <ab@samba.org>
2 weeks agos3:winbind: Add support for krb5_ccache_type = DEFAULT
Andreas Schneider [Mon, 9 Feb 2026 10:02:11 +0000 (11:02 +0100)] 
s3:winbind: Add support for krb5_ccache_type = DEFAULT

This will use the ccache_type defined in the krb5.conf.

Pair-Programmed-With: Pavel Filipenský <pfilipen@samba.org>
Signed-off-by: Pavel Filipenský <pfilipen@samba.org>
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
2 weeks agolib:krb5_wrap: Add function to read the default_ccache_name config value
Andreas Schneider [Tue, 10 Feb 2026 13:00:43 +0000 (14:00 +0100)] 
lib:krb5_wrap: Add function to read the default_ccache_name config value

krb5_cc_default_name() expands the config value %{uid} is expanded to the
current id. However when we call this as winbind, it is expanded to root and not
the user we are authenticating. This functions reads directly from the config.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
2 weeks agos3:winbind: Also support %{uid} substitution for krb5_ccache_type
Andreas Schneider [Mon, 9 Feb 2026 10:00:45 +0000 (11:00 +0100)] 
s3:winbind: Also support %{uid} substitution for krb5_ccache_type

Pair-Programmed-With: Pavel Filipenský <pfilipen@redhat.com>
Signed-off-by: Pavel Filipenský <pfilipen@redhat.com>
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
2 weeks agodocs-xml: Update krb5_ccache_type documentation in pam_winbind.5 manpage
Andreas Schneider [Fri, 5 Dec 2025 10:19:32 +0000 (11:19 +0100)] 
docs-xml: Update krb5_ccache_type documentation in pam_winbind.5 manpage

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
2 weeks agos3:winbind: Improve generate_krb5_ccache()
Andreas Schneider [Fri, 5 Dec 2025 10:03:23 +0000 (11:03 +0100)] 
s3:winbind: Improve generate_krb5_ccache()

Signed-off-by: Andreas Schneider <asn@samba.org>
Pair-Programmed-With: Alexander Bokovoy <ab@samba.org>

Reviewed-by: Alexander Bokovoy <ab@samba.org>
2 weeks agovfs_ceph_new: do not set negative value in vfs_aio_state.error
Shachar Sharon [Sun, 22 Mar 2026 17:52:44 +0000 (19:52 +0200)] 
vfs_ceph_new: do not set negative value in vfs_aio_state.error

Ceph uses negative error valuers but Samba's VFS expects error value as
non-negative values (errno style).

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Vinit Agnihotri <vagnihot@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Thu Mar 26 09:23:11 UTC 2026 on atb-devel-224

2 weeks agovfs_ceph_new: avoid iref leak due to failure in ceph_ll_link
Shachar Sharon [Sun, 22 Mar 2026 17:50:16 +0000 (19:50 +0200)] 
vfs_ceph_new: avoid iref leak due to failure in ceph_ll_link

Even in cases where vfs_ceph_ll_link fails, we need to do iput in order
to decrement inode's ref-count.

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Vinit Agnihotri <vagnihot@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agovfs_ceph_new: protect from malloc failure in ceph_getcwd
Shachar Sharon [Sun, 22 Mar 2026 17:46:13 +0000 (19:46 +0200)] 
vfs_ceph_new: protect from malloc failure in ceph_getcwd

When ceph_getcwd returns NULL (due to out-of-memory) bail out to avoid
segfault in strlen.

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Vinit Agnihotri <vagnihot@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agoauth: Remove talloc_set_name_const() if talloc_keep_secret() changes the talloc name
Pavel Filipenský [Wed, 11 Mar 2026 19:07:05 +0000 (20:07 +0100)] 
auth: Remove talloc_set_name_const() if talloc_keep_secret() changes the talloc name

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Autobuild-User(timing): Pavel Filipensky <pfilipensky@samba.org>
Autobuild-Date(timing): Wed Mar 25 21:16:35 UTC 2026 on atb-devel-224

2 weeks agoauth/credentials: Add talloc_keep_secret() to zero out old_password
Pavel Filipenský [Wed, 11 Mar 2026 19:11:29 +0000 (20:11 +0100)] 
auth/credentials: Add talloc_keep_secret() to zero out old_password

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
2 weeks agoauth/credentials: Check talloc_strdup() for NULL
Pavel Filipenský [Thu, 12 Mar 2026 08:21:38 +0000 (09:21 +0100)] 
auth/credentials: Check talloc_strdup() for NULL

Return false if talloc_strdup() fails.

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
2 weeks agoutil/tests: Test that talloc_keep_secret() does not overwrite the name
Pavel Filipenský [Wed, 11 Mar 2026 18:37:11 +0000 (19:37 +0100)] 
util/tests: Test that talloc_keep_secret() does not overwrite the name

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
2 weeks agolib/util: Overwrite talloc name in talloc_keep_secret() only if it would reveal memor...
Pavel Filipenský [Wed, 11 Mar 2026 16:39:48 +0000 (17:39 +0100)] 
lib/util: Overwrite talloc name in talloc_keep_secret() only if it would reveal memory content

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
2 weeks agoutil/tests: Extend the 'test_talloc_keep_secret' test
Pavel Filipenský [Wed, 11 Mar 2026 18:36:22 +0000 (19:36 +0100)] 
util/tests: Extend the 'test_talloc_keep_secret' test

Test that talloc_strdup() puts the secret as talloc name.

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
2 weeks agoRevert "lib/util: Avoid overwriting talloc chunk name in talloc_keep_secret()"
Pavel Filipenský [Wed, 11 Mar 2026 16:34:05 +0000 (17:34 +0100)] 
Revert "lib/util: Avoid overwriting talloc chunk name in talloc_keep_secret()"

This reverts commit 7e693b55730ceba2ef326286a0c68d5d91324a22.

Without this commit, for memory allocated via e.g. talloc_strdup(),
talloc name would reveal memory content.

Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
2 weeks agoheimdal_build Remove unneeded -Wno-error flags
Gary Lockyer [Thu, 5 Mar 2026 03:12:23 +0000 (16:12 +1300)] 
heimdal_build Remove unneeded -Wno-error flags

Remove the -Wno-error flags introduced by
commit 3790dcb59d5380b6af164777d8c43585b746807c

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Autobuild-User(master): Gary Lockyer <gary@samba.org>
Autobuild-Date(master): Tue Mar 24 00:13:03 UTC 2026 on atb-devel-224

2 weeks agothird_party:heimdal: Import lorikeet-heimdal-202603022028
Gary Lockyer [Tue, 3 Mar 2026 22:15:30 +0000 (11:15 +1300)] 
third_party:heimdal: Import lorikeet-heimdal-202603022028

Fix compiler errors when compiling with clang 21:

commits: 0373c37e00d290da6256784163245fa746910e40
         8879a6ba3571fdfdd110d8b3bdb9e115c9933a8d
         2d84c5fe790d063737c6023228dce96ca8231092
 c5032b0e576735e45ef701b579ce8e32edf5d75c
 8702e2aa7f786edbf3ebd34eb97c1fe22dd8066e
 ff2e379cb06dfe9440de13a5ffd0b36ab6cbda87
 a4ee4d08ac0f1df8e4bfb0788d3668dcee0dce45

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
2 weeks agolib:util: Remove is_aligned prototype from alignment.h
Gary Lockyer [Sun, 22 Mar 2026 19:43:39 +0000 (08:43 +1300)] 
lib:util: Remove is_aligned prototype from alignment.h

is_aligned is now defined as static inline, so there's no need for the
prototype

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Mon Mar 23 08:23:50 UTC 2026 on atb-devel-224

2 weeks agos4:torture:rpc: spoolss fix cast-align warnings
Gary Lockyer [Wed, 18 Mar 2026 00:42:38 +0000 (13:42 +1300)] 
s4:torture:rpc: spoolss fix cast-align warnings

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Fri Mar 20 14:30:23 UTC 2026 on atb-devel-224

2 weeks agos4:torture:rpc: samr fix cast-align warnings
Gary Lockyer [Wed, 18 Mar 2026 00:39:42 +0000 (13:39 +1300)] 
s4:torture:rpc: samr fix cast-align warnings

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agos4:torture:rpc: netlogon fix cast-align warnings
Gary Lockyer [Wed, 18 Mar 2026 00:38:24 +0000 (13:38 +1300)] 
s4:torture:rpc: netlogon fix cast-align warnings

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agos4:torture:rpc: iremotewinspool fix cast-align warnings
Gary Lockyer [Wed, 18 Mar 2026 00:37:13 +0000 (13:37 +1300)] 
s4:torture:rpc: iremotewinspool fix cast-align warnings

suppress warnings with discard_align_p

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agos4:torture:raw: search fix cast-align warnings
Gary Lockyer [Wed, 18 Mar 2026 00:36:13 +0000 (13:36 +1300)] 
s4:torture:raw: search fix cast-align warnings

Use memcpy to extract the pointer, suppressing the cast-align warnings

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agos4:torture:libnetapi: group fix cast-align warnings
Gary Lockyer [Wed, 18 Mar 2026 00:33:33 +0000 (13:33 +1300)] 
s4:torture:libnetapi: group fix cast-align warnings

Adds code to check that buffer is aligned correctly for the expected types.
Then suppresses the cast-align warnings with discard_align_p

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agos4:torture:libnetapi: user fix cast-align warnings
Gary Lockyer [Wed, 18 Mar 2026 00:35:14 +0000 (13:35 +1300)] 
s4:torture:libnetapi: user fix cast-align warnings

Use talloc_get_type_abort to suppress cats-align warnings.
As buffer is allocated via talloc it will be correctly aligned.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agos3:lib:netapi set talloc type for GROUP_INFO_x
Gary Lockyer [Wed, 18 Mar 2026 00:28:53 +0000 (13:28 +1300)] 
s3:lib:netapi set talloc type for GROUP_INFO_x

Call talloc_set_type setting the type name after copying the GROUP_INFO to the
buffer.  This will allow the client code to use talloc_get_type_abort, if needed
to suppress any cast-align warnings

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agolib:replace add discard_align_p
Gary Lockyer [Wed, 18 Mar 2026 00:25:44 +0000 (13:25 +1300)] 
lib:replace add discard_align_p

Add discard_align_p macro to allow the suppression of cast-align warnings

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agolib:util add alignment utilities
Gary Lockyer [Wed, 18 Mar 2026 00:24:12 +0000 (13:24 +1300)] 
lib:util add alignment utilities

Add utilities to allow checking of pointer alignment.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agos4:torture/smb2: let bench.c use ',' as thousands separator
Stefan Metzmacher [Fri, 6 Feb 2026 15:21:36 +0000 (16:21 +0100)] 
s4:torture/smb2: let bench.c use ',' as thousands separator

While printing very large numbers of bytes or operations per
second, it's hard to reach the value.

So we now print '26,847,201,280' instead of '26847201280'.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agos4:torture/smb2: use ';' as field separator in bench.c progress output
Stefan Metzmacher [Thu, 19 Mar 2026 15:46:16 +0000 (16:46 +0100)] 
s4:torture/smb2: use ';' as field separator in bench.c progress output

',' will be used as thousands separator in the next patch.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 weeks agovfs_ceph_new: fix typecast error in vfs_ceph_flistxattr
Shweta Sodani [Wed, 18 Mar 2026 14:30:21 +0000 (20:00 +0530)] 
vfs_ceph_new: fix typecast error in vfs_ceph_flistxattr

Signed-off-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Fri Mar 20 06:35:12 UTC 2026 on atb-devel-224

2 weeks agovfs_ceph_new: Replace #if with #ifdef
Anoop C S [Tue, 17 Mar 2026 07:41:05 +0000 (13:11 +0530)] 
vfs_ceph_new: Replace #if with #ifdef

Use '#ifdef' instead of '#if' to make the presence of the define
explicit, rather than relying on undefined macros evaluating to zero.

Signed-off-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agovfs_ceph_new: Remove code duplication
Anoop C S [Tue, 17 Mar 2026 07:36:43 +0000 (13:06 +0530)] 
vfs_ceph_new: Remove code duplication

Signed-off-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agovfs_ceph_new: fix the config_tmp talloc leak in load_config
Shweta Sodani [Mon, 16 Mar 2026 14:26:32 +0000 (19:56 +0530)] 
vfs_ceph_new: fix the config_tmp talloc leak in load_config

Signed-off-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 weeks agovfs_ceph_new: fix the inode leak in flistxattr
Shweta Sodani [Mon, 16 Mar 2026 14:08:58 +0000 (19:38 +0530)] 
vfs_ceph_new: fix the inode leak in flistxattr

Signed-off-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
3 weeks agovfs_streams_xattr: fix harmless use-after-free in streams_xattr_connect()
Stefan Metzmacher [Tue, 17 Mar 2026 15:05:47 +0000 (16:05 +0100)] 
vfs_streams_xattr: fix harmless use-after-free in streams_xattr_connect()

While tools like address sanitizer and most likely valgrind
report this it's not actually a real problem.

Most likely the content of default_ext_prefix is still the same
as TALLOC_FREE doesn't explicitly change then content of
the string.

talloc_strdup(config, ext_prefix) may reuse the same memory and the
memcpy in __talloc_strlendup() may get a problem.

Also all values are only controlled by the administrator via
the smb.conf not by the client.

To prove this theory I used the following change:

 diff --git a/source3/modules/vfs_streams_xattr.c b/source3/modules/vfs_streams_xattr.c
 index 5d267a1c1fbf..dc20ec1eb2e3 100644
 --- a/source3/modules/vfs_streams_xattr.c
 +++ b/source3/modules/vfs_streams_xattr.c
 @@ -1466,18 +1466,25 @@ static int streams_xattr_connect(vfs_handle_struct *handle,
                 return -1;
         }

 +       DBG_ERR("default_ext_prefix[%p][%zu][%s]\n",
 +                default_ext_prefix, talloc_get_size(default_ext_prefix),
 +                default_ext_prefix);
 +
         ext_prefix = lp_parm_const_string(SNUM(handle->conn),
                                           "streams_xattr",
                                           "ext_prefix",
                                           default_ext_prefix);
 +       DBG_ERR("ext_prefix[%p][%s]\n", ext_prefix, ext_prefix);
 +       SMB_ASSERT(default_ext_prefix == ext_prefix);
         TALLOC_FREE(default_ext_prefix);
 +       DBG_ERR("ext_prefix[%p][%s]\n", ext_prefix, ext_prefix);
         config->ext_prefix = talloc_strdup(config, ext_prefix);
 +       DBG_ERR("config->ext_prefix[%p][%zu][%s]\n",
 +                config->ext_prefix, talloc_get_size(config->ext_prefix),
 +                config->ext_prefix);
 +       SMB_ASSERT(config->ext_prefix == ext_prefix);
         if (config->ext_prefix == NULL) {
                 DEBUG(1, ("talloc_strdup() failed\n"));
                 errno = ENOMEM;
                 return -1;
         }
 -       DBG_DEBUG("using stream ext prefix: %s\n", config->ext_prefix);
 +       DBG_ERR("using stream ext prefix: %s\n", config->ext_prefix);

         config->store_stream_type = lp_parm_bool(SNUM(handle->conn),
                                                  "streams_xattr",

Running it twice in a debugger didn't hit any SMB_ASSERT
and printed the expected values:

smbd version 4.25.0pre1-DEVELOPERBUILD started.
Copyright Andrew Tridgell and the Samba Team 1992-2026
daemon 'smbd' : Starting process ...
streams_xattr_connect: default_ext_prefix[0x5555555ed930][19][user.DosStreamExt.]
streams_xattr_connect: ext_prefix[0x5555555ed930][user.DosStreamExt.]
streams_xattr_connect: ext_prefix[0x5555555ed930][user.DosStreamExt.]
streams_xattr_connect: config->ext_prefix[0x5555555ed930][19][user.DosStreamExt.]
streams_xattr_connect: using stream ext prefix: user.DosStreamExt.

smbd version 4.25.0pre1-DEVELOPERBUILD started.
Copyright Andrew Tridgell and the Samba Team 1992-2026
daemon 'smbd' : Starting process ...
streams_xattr_connect: default_ext_prefix[0x5555555ed6d0][19][user.DosStreamExt.]
streams_xattr_connect: ext_prefix[0x5555555ed6d0][user.DosStreamExt.]
streams_xattr_connect: ext_prefix[0x5555555ed6d0][user.DosStreamExt.]
streams_xattr_connect: config->ext_prefix[0x5555555ed6d0][19][user.DosStreamExt.]
streams_xattr_connect: using stream ext prefix: user.DosStreamExt.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Thu Mar 19 15:00:19 UTC 2026 on atb-devel-224

3 weeks agoctdb-tests: Tweak some NFS monitoring tests for portability
Martin Schwenke [Fri, 13 Mar 2026 06:38:43 +0000 (17:38 +1100)] 
ctdb-tests: Tweak some NFS monitoring tests for portability

FreeBSD doesn't have an option to print time in nanoseconds.

We need to run something to produce fake "statistics" that are
guaranteed to change.  I think this will do - the chances of getting
the same 256 bytes twice in a row seems small enough.

Signed-off-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Wed Mar 18 12:33:13 UTC 2026 on atb-devel-224

3 weeks agoctdb-tests: Skip statd-callout tests on FreeBSD
Martin Schwenke [Fri, 13 Mar 2026 06:32:42 +0000 (17:32 +1100)] 
ctdb-tests: Skip statd-callout tests on FreeBSD

NFS is probably wildly different on FreeBSD and statd_callout_helper
uses chown with the --reference option.  Too hard.

Signed-off-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
3 weeks agoctdb-scripts: Trim "wc -l" output for FreeBSD compatibility
Martin Schwenke [Fri, 13 Mar 2026 06:12:38 +0000 (17:12 +1100)] 
ctdb-scripts: Trim "wc -l" output for FreeBSD compatibility

tests/UNIT/eventscripts/10.interface.020.sh fails in case
"10.interface.script releaseip dev123 10.0.0.3 24" with:

--------------------------------------------------
Output (Exit status: 0):
--------------------------------------------------
Killed       10/10 TCP connections to released IP 10.0.0.3, using ss -K
--------------------------------------------------
Required output (Exit status: 0):
--------------------------------------------------
Killed 10/10 TCP connections to released IP 10.0.0.3, using ss -K

FAILED
==========================================================================
TEST FAILED: ./tests/UNIT/eventscripts/10.interface.020.sh (status 1) (duration: 1s)
==========================================================================

We have seen this type of thing before when output doesn't match
because FreeBSD wc -l space-pads output.  For example, see commit
c6c81ea287924c2924aebc6dc0cdea1dc4322ae2.

Signed-off-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
3 weeks agoctdb-event: Fix the build on FreeBSD
Martin Schwenke [Fri, 13 Mar 2026 04:53:54 +0000 (15:53 +1100)] 
ctdb-event: Fix the build on FreeBSD

FreeBSD does not have ENODATA.  Sorry, I wasn't thinking about
portability when I made the changes that introduced the use of ENODATA
here.  :-(

Use ENOMSG instead, for lack of anything better, to indicate a script
slot containing no result.  ENOENT might seem more appropriate but it
is already involved in this code (where it is sometimes mapped to
ENOEXEC).  The choice of error number only needs to be consistent
within the event code.

Signed-off-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
3 weeks agothird_party: Add check for HAVE_SYSCALL_INT for socket_wrapper
Martin Schwenke [Fri, 13 Mar 2026 04:59:55 +0000 (15:59 +1100)] 
third_party: Add check for HAVE_SYSCALL_INT for socket_wrapper

This is copied from third_party/uid_wrapper/wscript.

Signed-off-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
3 weeks agovfs_ceph_new: profile xattr and fstatvfs
Shachar Sharon [Tue, 10 Mar 2026 11:25:28 +0000 (13:25 +0200)] 
vfs_ceph_new: profile xattr and fstatvfs

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Fri Mar 13 10:42:07 UTC 2026 on atb-devel-224

3 weeks agovfs_default: profile xattr and fstatvfs
Shachar Sharon [Tue, 10 Mar 2026 10:28:02 +0000 (12:28 +0200)] 
vfs_default: profile xattr and fstatvfs

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
3 weeks agoprofile: add xattr and fstatvfs syscalls
Shachar Sharon [Mon, 9 Mar 2026 16:09:11 +0000 (18:09 +0200)] 
profile: add xattr and fstatvfs syscalls

Add missing *xattr and fstatvfs to profile's syscall counters.

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
3 weeks agorpc: Don't offer spoolss RPC with "disable spoolss = yes"
Volker Lendecke [Tue, 10 Mar 2026 09:17:39 +0000 (10:17 +0100)] 
rpc: Don't offer spoolss RPC with "disable spoolss = yes"

Bug: https://bugzilla.samba.org/show_bug.cgi?id=16019
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Fri Mar 13 09:00:05 UTC 2026 on atb-devel-224

4 weeks agosmbd: update declaration in smb2_sesssetup, smb2_tcon
Shwetha Acharya [Thu, 5 Mar 2026 07:06:09 +0000 (12:36 +0530)] 
smbd: update declaration in smb2_sesssetup, smb2_tcon

Signed-off-by: Shwetha K Acharya <Shwetha.K.Acharya@ibm.com>
Reviewed-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Tue Mar 10 13:01:10 UTC 2026 on atb-devel-224

4 weeks agos3: Warn if no mutexes available at runtime
Volker Lendecke [Wed, 9 Jan 2019 14:10:54 +0000 (15:10 +0100)] 
s3: Warn if no mutexes available at runtime

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Guenther Deschner <gd@samba.org>
4 weeks agosmbd: Log client ip when rejecting nonencrypted tcons
Volker Lendecke [Mon, 10 Aug 2015 14:55:22 +0000 (16:55 +0200)] 
smbd: Log client ip when rejecting nonencrypted tcons

Used for better diagnosis

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Guenther Deschner <gd@samba.org>
4 weeks agosmbd: Log client ip when rejecting nonencrypted sesssetups
Volker Lendecke [Mon, 10 Aug 2015 14:55:22 +0000 (16:55 +0200)] 
smbd: Log client ip when rejecting nonencrypted sesssetups

Used for better diagnosis

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Guenther Deschner <gd@samba.org>
4 weeks agorpcclient: Print current_users for share info level 2
Volker Lendecke [Mon, 28 Oct 2013 16:03:06 +0000 (16:03 +0000)] 
rpcclient: Print current_users for share info level 2

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Shweta Sodani <ssodani@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Guenther Deschner <gd@samba.org>
5 weeks agosmbd: Fix getting fs capabilities
Volker Lendecke [Tue, 3 Mar 2026 15:41:03 +0000 (16:41 +0100)] 
smbd: Fix getting fs capabilities

The change from statvfs to fstatvfs has a bug: When this is called in
make_connection_snum, conn->cwd_fsp is not fully set up yet. So the
"This happens in create_conn_struct_as_root()" comment applies
everywhere. We need to look at the share rootdir, so open a pathref
fsp on it. This is called only once per tcon, so it's not in our hot
code path.

Found by a user who has "/" mounted readonly, and MacOS denied
writing.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Wed Mar  4 10:01:41 UTC 2026 on atb-devel-224

5 weeks agobuild: clang 21 re-enable -Wunititialized-const-pointer
Gary Lockyer [Mon, 2 Mar 2026 00:32:23 +0000 (13:32 +1300)] 
build: clang 21 re-enable -Wunititialized-const-pointer

[4102/5009] Compiling source4/torture/rpc/spoolss_notify.c
  ../../source4/torture/rpc/spoolss.c:3984:48: error: variable 'data' is
       uninitialized when passed as a const pointer argument here
       [-Werror,-Wuninitialized-const-pointer]
    3984CHECK_NEEDED_SIZE_LEVEL(spoolss_PrinterData, &data, type, needed, 1);

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Tue Mar  3 05:55:25 UTC 2026 on atb-devel-224

5 weeks agobuild: Allow developer builds with clang 21
Gary Lockyer [Sun, 1 Mar 2026 23:53:19 +0000 (12:53 +1300)] 
build: Allow developer builds with clang 21

Disable clang warnings to allow samba to be compiled with clang 21.

Subsequent commits will fix the offending code.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Anoop C S <anoopcs@samba.org>
5 weeks agovfs: Remove unused SMB_VFS_GETWD()
Volker Lendecke [Tue, 17 Feb 2026 11:22:12 +0000 (12:22 +0100)] 
vfs: Remove unused SMB_VFS_GETWD()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Sun Mar  1 21:22:24 UTC 2026 on atb-devel-224

5 weeks agovfs_shadow_copy2: Remove special chdir-handling
Volker Lendecke [Tue, 17 Feb 2026 11:03:45 +0000 (12:03 +0100)] 
vfs_shadow_copy2: Remove special chdir-handling

With only changing into the share root, and the share root never being
a @GMT-path or one with a twrp, we don't need special handling.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>
5 weeks agovfs_widelinks: Chdir never gets a relative path anymore
Volker Lendecke [Tue, 17 Feb 2026 10:22:13 +0000 (11:22 +0100)] 
vfs_widelinks: Chdir never gets a relative path anymore

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>
5 weeks agolib: Remove the "getwd cache"
Volker Lendecke [Mon, 16 Feb 2026 16:40:55 +0000 (17:40 +0100)] 
lib: Remove the "getwd cache"

No longer needed

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>
5 weeks agotorture: Use SINGLETON_CACHE_TALLOC in tests
Volker Lendecke [Mon, 16 Feb 2026 16:38:02 +0000 (17:38 +0100)] 
torture: Use SINGLETON_CACHE_TALLOC in tests

GETWD_CACHE is on its way out. Despite not having _TALLOC in its name
nor it being marked as talloc in memcache.h, memcache_is_talloc()
shows it as being talloc'ed.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>