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 <s...@samba.org>
+   * BUG 15801: `NT_STATUS_ACCESS_DENIED making remote directory` on OpenBSD.
+
+o  Anoop C S <anoo...@samba.org>
+   * BUG 15797: Unable to connect to CephFS subvolume shares with
+     vfs_shadow_copy2.
+
+o  Stefan Metzmacher <me...@samba.org>
+   * BUG 15801: `NT_STATUS_ACCESS_DENIED making remote directory` on OpenBSD.
+
+o  Martin Schwenke <mschwe...@ddn.com>
+   * BUG 15820: Incorrect FSF address in ctdb pcp scripts.
+
+o  Andrea Venturoli <m...@netfence.it>
+   * BUG 15804: "samba-tool domain backup offline" hangs.
+
+
 CHANGES SINCE 4.22.0rc3
 =======================
 
@@ -136,7 +159,7 @@ o  Shweta Sodani <ssod...@redhat.com>
    * BUG 15703: General improvements for vfs_ceph_new module.
 
 
-CHANGES SINCE 4.21.0rc1
+CHANGES SINCE 4.22.0rc1
 =======================
 
 o  Björn Baumbach <b...@sernet.de>
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

Reply via email to