The branch, v4-22-stable has been updated
via 7b3228b88ee VERSION: Disable GIT_SNAPSHOT for the 4.22.0 release.
via 35707224751 WHATSNEW: Add release notes for Samba 4.22.0.
via 36e71a04144 WHATSNEW: mention schema upgrade speed improvements
via 0d4a204cdb1 vfs_shadow_copy2: Use VFS interface to derive mount
point
via ca2add8c968 s3:smbd: disable "vfs mkdir use tmp name = auto" on
OpenBSD
via 1fab55c3be1 ctdb-utils: Fix incorrect FSF address
via a210c2b2bc5 python:tdb_util: "samba-tool domain backup offline"
hangs
via 4d44f8c9ecd VERSION: Bump version up to Samba 4.22.0rc5...
from 70cb2fe5fb5 VERSION: Disable GIT_SNAPSHOT for the 4.22.0rc4 release.
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-22-stable
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
VERSION | 2 +-
WHATSNEW.txt | 47 +++++++++++++++++++-------
ctdb/utils/pmda/Install | 3 +-
ctdb/utils/pmda/Remove | 3 +-
ctdb/utils/pmda/domain.h | 3 +-
ctdb/utils/pmda/help | 3 +-
ctdb/utils/pmda/pmda_ctdb.c | 3 +-
ctdb/utils/pmda/pmns | 3 +-
docs-xml/smbdotconf/vfs/vfsmkdirusetmpname.xml | 2 ++
python/samba/tdb_util.py | 5 +--
source3/modules/vfs_shadow_copy2.c | 31 +++++++++++------
source3/smbd/open.c | 13 +++++++
source3/wscript | 3 ++
13 files changed, 84 insertions(+), 37 deletions(-)
Changeset truncated at 500 lines:
diff --git a/VERSION b/VERSION
index 3527d601e67..cf70dc38672 100644
--- a/VERSION
+++ b/VERSION
@@ -89,7 +89,7 @@ SAMBA_VERSION_PRE_RELEASE=
# e.g. SAMBA_VERSION_RC_RELEASE=1 #
# -> "3.0.0rc1" #
########################################################
-SAMBA_VERSION_RC_RELEASE=4
+SAMBA_VERSION_RC_RELEASE=
########################################################
# To mark SVN snapshots this should be set to 'yes' #
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index ccb811920bb..90f5334d2a7 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,16 +1,11 @@
-Release Announcements
-=====================
+ ==============================
+ Release Notes for Samba 4.22.0
+ March 06, 2025
+ ==============================
-This is the fourth release candidate of Samba 4.22. This is *not*
-intended for production environments and is designed for testing
-purposes only. Please report any defects via the Samba bug reporting
-system at https://bugzilla.samba.org/.
-Samba 4.22 will be the next version of the Samba suite.
-
-
-UPGRADING
-=========
+This is the first stable release of the Samba 4.22 release series.
+Please read the release notes carefully before upgrading.
NEW FEATURES/CHANGES
@@ -50,6 +45,14 @@ parameters include `himmelblaud_sfa_fallback`,
`himmelblaud_hello_enabled`, and
`himmelblaud_hsm_pin_path`.
To enable, configure Samba with `--enable-rust --with-himmelblau`.
+AD DC schema upgrade and provision performance improvements
+-----------------------------------------------------------
+
+By increasing the LDB index cache size for certain offline operations
+that are likely to require large transactions, these are now several
+times faster.
+
+
REMOVED FEATURES
================
@@ -96,6 +99,26 @@ smb.conf changes
cldap port Removed
+CHANGES SINCE 4.22.0rc4
+=======================
+
+o Ralph Boehme <[email protected]>
+ * BUG 15801: `NT_STATUS_ACCESS_DENIED making remote directory` on OpenBSD.
+
+o Anoop C S <[email protected]>
+ * BUG 15797: Unable to connect to CephFS subvolume shares with
+ vfs_shadow_copy2.
+
+o Stefan Metzmacher <[email protected]>
+ * BUG 15801: `NT_STATUS_ACCESS_DENIED making remote directory` on OpenBSD.
+
+o Martin Schwenke <[email protected]>
+ * BUG 15820: Incorrect FSF address in ctdb pcp scripts.
+
+o Andrea Venturoli <[email protected]>
+ * BUG 15804: "samba-tool domain backup offline" hangs.
+
+
CHANGES SINCE 4.22.0rc3
=======================
@@ -136,7 +159,7 @@ o Shweta Sodani <[email protected]>
* BUG 15703: General improvements for vfs_ceph_new module.
-CHANGES SINCE 4.21.0rc1
+CHANGES SINCE 4.22.0rc1
=======================
o Björn Baumbach <[email protected]>
diff --git a/ctdb/utils/pmda/Install b/ctdb/utils/pmda/Install
index a56a63506a8..bd12b7486cf 100644
--- a/ctdb/utils/pmda/Install
+++ b/ctdb/utils/pmda/Install
@@ -13,8 +13,7 @@
# for more details.
#
# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# with this program; if not, see <https://www.gnu.org/licenses/>.
#
# Install the ctdb PMDA and/or PMNS
#
diff --git a/ctdb/utils/pmda/Remove b/ctdb/utils/pmda/Remove
index 7d1c509e50e..8bf0fe76e15 100644
--- a/ctdb/utils/pmda/Remove
+++ b/ctdb/utils/pmda/Remove
@@ -13,8 +13,7 @@
# for more details.
#
# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# with this program; if not, see <https://www.gnu.org/licenses/>.
#
# Remove the ctdb PMDA
#
diff --git a/ctdb/utils/pmda/domain.h b/ctdb/utils/pmda/domain.h
index 0bed7fef599..b00d32d90dc 100644
--- a/ctdb/utils/pmda/domain.h
+++ b/ctdb/utils/pmda/domain.h
@@ -13,7 +13,6 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
*/
#define CTDB 110
diff --git a/ctdb/utils/pmda/help b/ctdb/utils/pmda/help
index 0e9984eab3a..26b5385b0da 100644
--- a/ctdb/utils/pmda/help
+++ b/ctdb/utils/pmda/help
@@ -12,8 +12,7 @@
# for more details.
#
# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# with this program; if not, see <https://www.gnu.org/licenses/>.
#
# ctdb PMDA help file in the ASCII format
#
diff --git a/ctdb/utils/pmda/pmda_ctdb.c b/ctdb/utils/pmda/pmda_ctdb.c
index 4f7933de9c5..7ac8a3b38d1 100644
--- a/ctdb/utils/pmda/pmda_ctdb.c
+++ b/ctdb/utils/pmda/pmda_ctdb.c
@@ -15,8 +15,7 @@
* for more details.
*
* You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * with this program; if not, see <https://www.gnu.org/licenses/>.
*/
#include "replace.h"
diff --git a/ctdb/utils/pmda/pmns b/ctdb/utils/pmda/pmns
index dc7e3ac2bfa..c9f6644d52f 100644
--- a/ctdb/utils/pmda/pmns
+++ b/ctdb/utils/pmda/pmns
@@ -15,8 +15,7 @@
* for more details.
*
* You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * with this program; if not, see <https://www.gnu.org/licenses/>.
*/
ctdb {
diff --git a/docs-xml/smbdotconf/vfs/vfsmkdirusetmpname.xml
b/docs-xml/smbdotconf/vfs/vfsmkdirusetmpname.xml
index 92a39f8f541..a0d733c47f8 100644
--- a/docs-xml/smbdotconf/vfs/vfsmkdirusetmpname.xml
+++ b/docs-xml/smbdotconf/vfs/vfsmkdirusetmpname.xml
@@ -31,6 +31,8 @@
<smbconfoption name="inherit permissions"/>,
<smbconfoption name="nt acl support"/> or
<smbconfoption name="store dos attributes"/>.
+ Note on OpenBSD Auto (the default) is mapped to <constant>no</constant>,
+ see <ulink
url="https://bugzilla.samba.org/show_bug.cgi?id=15801">https://bugzilla.samba.org/show_bug.cgi?id=15801</ulink>.
</para>
<para>
diff --git a/python/samba/tdb_util.py b/python/samba/tdb_util.py
index 99b6e02e03f..202fbdb3f8b 100644
--- a/python/samba/tdb_util.py
+++ b/python/samba/tdb_util.py
@@ -37,9 +37,10 @@ def tdb_copy(file1, file2, readonly=False):
raise FileNotFoundError(2, "could not find tdbbackup tool: "
"is tdb-tools installed?")
- tdbbackup_cmd = [toolpath, "-s", ".copy.tdb", file1]
if readonly:
- tdbbackup_cmd.append("-r")
+ tdbbackup_cmd = [toolpath, "-r", "-s", ".copy.tdb", file1]
+ else:
+ tdbbackup_cmd = [toolpath, "-s", ".copy.tdb", file1]
status = subprocess.check_call(tdbbackup_cmd, close_fds=True, shell=False)
diff --git a/source3/modules/vfs_shadow_copy2.c
b/source3/modules/vfs_shadow_copy2.c
index 8db3e664f19..42626653e0f 100644
--- a/source3/modules/vfs_shadow_copy2.c
+++ b/source3/modules/vfs_shadow_copy2.c
@@ -726,31 +726,42 @@ static bool
_shadow_copy2_strip_snapshot_converted(TALLOC_CTX *mem_ctx,
static char *shadow_copy2_find_mount_point(TALLOC_CTX *mem_ctx,
vfs_handle_struct *handle)
{
- char *path = talloc_strdup(mem_ctx, handle->conn->connectpath);
+ struct smb_filename *smb_fname_cpath = NULL;
dev_t dev;
- struct stat st;
char *p;
- if (stat(path, &st) != 0) {
- talloc_free(path);
+ smb_fname_cpath = synthetic_smb_fname(mem_ctx,
+ handle->conn->connectpath,
+ NULL,
+ NULL,
+ 0,
+ 0);
+ if (smb_fname_cpath == NULL) {
+ errno = ENOMEM;
+ return NULL;
+ }
+
+ if (SMB_VFS_NEXT_STAT(handle, smb_fname_cpath) != 0) {
+ TALLOC_FREE(smb_fname_cpath);
return NULL;
}
- dev = st.st_dev;
+ dev = smb_fname_cpath->st.st_ex_dev;
- while ((p = strrchr(path, '/')) && p > path) {
+ while ((p = strrchr(smb_fname_cpath->base_name, '/')) &&
+ p > smb_fname_cpath->base_name) {
*p = 0;
- if (stat(path, &st) != 0) {
- talloc_free(path);
+ if (SMB_VFS_NEXT_STAT(handle, smb_fname_cpath) != 0) {
+ TALLOC_FREE(smb_fname_cpath);
return NULL;
}
- if (st.st_dev != dev) {
+ if (smb_fname_cpath->st.st_ex_dev != dev) {
*p = '/';
break;
}
}
- return path;
+ return smb_fname_cpath->base_name;
}
/**
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 3982c39ed47..771734f6203 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -4564,6 +4564,19 @@ static NTSTATUS mkdir_internal(connection_struct *conn,
need_tmpname = true;
}
+#ifdef OPENBSD
+ /*
+ * OpenBSD requires to have write permissions
+ * on both source and destimation of renameat(),
+ * see https://bugzilla.samba.org/show_bug.cgi?id=15801
+ *
+ * For now just disable the new code by default.
+ */
+ if (vfs_use_tmp == Auto) {
+ vfs_use_tmp = false;
+ }
+#endif
+
if (vfs_use_tmp != Auto) {
need_tmpname = vfs_use_tmp;
}
diff --git a/source3/wscript b/source3/wscript
index 26327cba32f..64ce229d030 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -457,6 +457,9 @@ vsyslog
conf.DEFINE('HAVE_FREEBSD_SUNACL_H', '1')
conf.CHECK_FUNCS_IN(['acl'], 'sunacl')
conf.DEFINE('STAT_ST_BLOCKSIZE', '512')
+ elif (host_os.rfind('openbsd') > -1):
+ conf.DEFINE('OPENBSD', 1)
+ conf.DEFINE('STAT_ST_BLOCKSIZE', '512')
elif (host_os.rfind('irix') > -1):
conf.DEFINE('IRIX', 1)
conf.DEFINE('STAT_ST_BLOCKSIZE', '512')
--
Samba Shared Repository