[SCM] Samba Shared Repository - branch v4-19-stable updated

Jule Anger janger at samba.org
Mon Sep 4 12:56:06 UTC 2023


The branch, v4-19-stable has been updated
       via  b7921852ad6 VERSION: Disable GIT_SNAPSHOT for the 4.19.0 release.
       via  a21e09363fc WHATSNEW: Add release notes for Samba 4.19.0.
       via  8a34b378932 vfs_aio_pthread: use SMB_VFS_NEXT_OPENAT() in aio_pthread_openat_fn()
       via  1af8a09966a ctdb-common: Set immediate mode for pcap capture
       via  58e7d6a9451 ctdb-common: Replace pcap_open_live() by lower level calls
       via  9f57371128d ctdb-common: Improve error handling
       via  087e7cdc4d1 VERSION: Bump version up to Samba 4.19.0rc5...
      from  0e9c171f5f6 VERSION: Disable GIT_SNAPSHOT for the 4.19.0rc4 release.

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-19-stable


- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 VERSION                           |  2 +-
 WHATSNEW.txt                      | 31 +++++++++++++++++------------
 ctdb/common/system_socket.c       | 42 +++++++++++++++++++++++++++++++++++----
 ctdb/wscript                      |  1 +
 source3/modules/vfs_aio_pthread.c | 28 +++++++++++++-------------
 5 files changed, 72 insertions(+), 32 deletions(-)


Changeset truncated at 500 lines:

diff --git a/VERSION b/VERSION
index 1a2b292e111..e37fdc9cde9 100644
--- a/VERSION
+++ b/VERSION
@@ -87,7 +87,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 97eaec57b1e..439556605ca 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,17 +1,10 @@
-Release Announcements
-=====================
-
-This is the fourth release candidate of Samba 4.19.  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.19 will be the next version of the Samba suite.
-
-
-UPGRADING
-=========
+                   ==============================
+                   Release Notes for Samba 4.19.0
+                         September 04, 2023
+                   ==============================
 
+This is the first stable release of the Samba 4.19 release series.
+Please read the release notes carefully before upgrading.
 
 NEW FEATURES/CHANGES
 ====================
@@ -252,6 +245,18 @@ smb.conf changes
   directory name cache size               Removed
 
 
+CHANGES SINCE 4.19.0rc4
+=======================
+
+o  MikeLiu <mikeliu at qnap.com>
+   * BUG 15453: File doesn't show when user doesn't have permission if
+     aio_pthread is loaded.
+
+o  Martin Schwenke <mschwenke at ddn.com>
+   * BUG 15451: ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
+     1.9.1.
+
+
 CHANGES SINCE 4.19.0rc3
 =======================
 
diff --git a/ctdb/common/system_socket.c b/ctdb/common/system_socket.c
index 06dc558eb22..273b9c3400e 100644
--- a/ctdb/common/system_socket.c
+++ b/ctdb/common/system_socket.c
@@ -980,15 +980,45 @@ int ctdb_sys_open_capture_socket(const char *iface, void **private_data)
 	int pcap_packet_type;
 	const char *t = NULL;
 	int fd;
+	int ret;
 
-	pt = pcap_open_live(iface, 100, 0, 0, errbuf);
+	pt = pcap_create(iface, errbuf);
 	if (pt == NULL) {
 		DBG_ERR("Failed to open pcap capture device %s (%s)\n",
 			iface,
 			errbuf);
 		return -1;
 	}
-	*((pcap_t **)private_data) = pt;
+	/*
+	 * pcap isn't very clear about defaults...
+	 */
+	ret = pcap_set_snaplen(pt, 100);
+	if (ret < 0) {
+		DBG_ERR("Failed to set snaplen for pcap capture\n");
+		goto fail;
+	}
+	ret = pcap_set_promisc(pt, 0);
+	if (ret < 0) {
+		DBG_ERR("Failed to unset promiscuous mode for pcap capture\n");
+		goto fail;
+	}
+	ret = pcap_set_timeout(pt, 0);
+	if (ret < 0) {
+		DBG_ERR("Failed to set timeout for pcap capture\n");
+		goto fail;
+	}
+#ifdef HAVE_PCAP_SET_IMMEDIATE_MODE
+	ret = pcap_set_immediate_mode(pt, 1);
+	if (ret < 0) {
+		DBG_ERR("Failed to set immediate mode for pcap capture\n");
+		goto fail;
+	}
+#endif
+	ret = pcap_activate(pt);
+	if (ret < 0) {
+		DBG_ERR("Failed to activate pcap capture\n");
+		goto fail;
+	}
 
 	pcap_packet_type = pcap_datalink(pt);
 	switch (pcap_packet_type) {
@@ -1005,8 +1035,7 @@ int ctdb_sys_open_capture_socket(const char *iface, void **private_data)
 #endif /* DLT_LINUX_SLL2 */
 	default:
 		DBG_ERR("Unknown pcap packet type %d\n", pcap_packet_type);
-		pcap_close(pt);
-		return -1;
+		goto fail;
 	}
 
 	fd = pcap_get_selectable_fd(pt);
@@ -1014,7 +1043,12 @@ int ctdb_sys_open_capture_socket(const char *iface, void **private_data)
 		  t,
 		  fd);
 
+	*((pcap_t **)private_data) = pt;
 	return fd;
+
+fail:
+	pcap_close(pt);
+	return -1;
 }
 
 int ctdb_sys_close_capture_socket(void *private_data)
diff --git a/ctdb/wscript b/ctdb/wscript
index 88e42439f5a..a7b04541014 100644
--- a/ctdb/wscript
+++ b/ctdb/wscript
@@ -221,6 +221,7 @@ def configure(conf):
         if not conf.CHECK_FUNCS_IN('pcap_open_live', 'pcap', headers='pcap.h'):
             Logs.error('Need libpcap')
             sys.exit(1)
+        conf.CHECK_FUNCS_IN('pcap_set_immediate_mode', 'pcap', headers='pcap.h')
 
     if not conf.CHECK_FUNCS_IN('backtrace backtrace_symbols', 'execinfo',
                                checklibc=True, headers='execinfo.h'):
diff --git a/source3/modules/vfs_aio_pthread.c b/source3/modules/vfs_aio_pthread.c
index 0303ff04bc9..b099a6b5b52 100644
--- a/source3/modules/vfs_aio_pthread.c
+++ b/source3/modules/vfs_aio_pthread.c
@@ -483,28 +483,28 @@ static int aio_pthread_openat_fn(vfs_handle_struct *handle,
 		aio_allow_open = false;
 	}
 
-	if (!aio_allow_open) {
-		/* aio opens turned off. */
-		return openat(fsp_get_pathref_fd(dirfsp),
-			      smb_fname->base_name,
-			      how->flags,
-			      how->mode);
+	if (fsp->fsp_flags.is_pathref) {
+		/* Use SMB_VFS_NEXT_OPENAT() to call openat() with O_PATH. */
+		aio_allow_open = false;
 	}
 
 	if (!(how->flags & O_CREAT)) {
 		/* Only creates matter. */
-		return openat(fsp_get_pathref_fd(dirfsp),
-			      smb_fname->base_name,
-			      how->flags,
-			      how->mode);
+		aio_allow_open = false;
 	}
 
 	if (!(how->flags & O_EXCL)) {
 		/* Only creates with O_EXCL matter. */
-		return openat(fsp_get_pathref_fd(dirfsp),
-			      smb_fname->base_name,
-			      how->flags,
-			      how->mode);
+		aio_allow_open = false;
+	}
+
+	if (!aio_allow_open) {
+		/* aio opens turned off. */
+		return SMB_VFS_NEXT_OPENAT(handle,
+			      dirfsp,
+			      smb_fname,
+			      fsp,
+			      how);
 	}
 
 	/*


-- 
Samba Shared Repository



More information about the samba-cvs mailing list