[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Fri Jul 22 05:28:02 UTC 2022


The branch, master has been updated
       via  21b9734cf2e smbd: Bypass the vfs_gethandle data for default share IPC$
       via  5dcb49bbd80 third_party: Update socket_wrapper to version 1.3.4
      from  1a897f1b718 s3:winbind: Add additional debug level check to wb_lookupsids_send()

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 21b9734cf2e71936c75326711f3b95b784ed8be8
Author: dinesh <dinesh.kumar.reddy at ibm.com>
Date:   Thu May 26 10:36:04 2022 +0530

    smbd: Bypass the vfs_gethandle data for default share IPC$
    
    During gpfs_connect for default share of IPC$ not setting the handle data but during the vfs_gpfs_capabilities
    for the default share IPC$ the get handle data was called and observing error log failed to get vfs_handle->data!
    so to bypass this error log the condition check if IS_IPC share is added in make_connection_snum while calling SMB_VFS_FS_CAPABILITIES
    
    Signed-off-by:Dinesh <dinesh.kumar.reddy at ibm.com>
    Reviewed-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Fri Jul 22 05:27:53 UTC 2022 on sn-devel-184

commit 5dcb49bbd80abf6f3f082ef9c1d5452991c74c87
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Jul 21 14:55:31 2022 +0200

    third_party: Update socket_wrapper to version 1.3.4
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/samba_third_party.py    |  2 +-
 source3/smbd/smb2_service.c                 |  5 +++--
 third_party/socket_wrapper/socket_wrapper.c | 18 ++++++++++--------
 third_party/socket_wrapper/wscript          |  2 +-
 4 files changed, 15 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_third_party.py b/buildtools/wafsamba/samba_third_party.py
index 1868e7ba51b..c83fdcf795b 100644
--- a/buildtools/wafsamba/samba_third_party.py
+++ b/buildtools/wafsamba/samba_third_party.py
@@ -24,7 +24,7 @@ Build.BuildContext.CHECK_CMOCKA = CHECK_CMOCKA
 
 @conf
 def CHECK_SOCKET_WRAPPER(conf):
-    return conf.CHECK_BUNDLED_SYSTEM_PKG('socket_wrapper', minversion='1.3.3')
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('socket_wrapper', minversion='1.3.4')
 Build.BuildContext.CHECK_SOCKET_WRAPPER = CHECK_SOCKET_WRAPPER
 
 @conf
diff --git a/source3/smbd/smb2_service.c b/source3/smbd/smb2_service.c
index 59797d7e5ae..e7a38241515 100644
--- a/source3/smbd/smb2_service.c
+++ b/source3/smbd/smb2_service.c
@@ -843,8 +843,9 @@ NTSTATUS make_connection_snum(struct smbXsrv_connection *xconn,
 	 * the same characteristics, which is likely but not guaranteed.
 	 */
 
-	conn->fs_capabilities = SMB_VFS_FS_CAPABILITIES(conn, &conn->ts_res);
-
+	if(!IS_IPC(conn) ){
+		conn->fs_capabilities = SMB_VFS_FS_CAPABILITIES(conn, &conn->ts_res);
+	}
 	/*
 	 * Print out the 'connected as' stuff here as we need
 	 * to know the effective uid and gid we will be using
diff --git a/third_party/socket_wrapper/socket_wrapper.c b/third_party/socket_wrapper/socket_wrapper.c
index 44cfad8c6cf..5804e936ff7 100644
--- a/third_party/socket_wrapper/socket_wrapper.c
+++ b/third_party/socket_wrapper/socket_wrapper.c
@@ -3815,7 +3815,6 @@ static int swrap_auto_bind(int fd, struct socket_info *si, int family)
 	char type;
 	int ret;
 	int port;
-	struct stat st;
 	char *swrap_dir = NULL;
 
 	swrap_mutex_lock(&autobind_start_mutex);
@@ -3916,10 +3915,12 @@ static int swrap_auto_bind(int fd, struct socket_info *si, int family)
 			      type,
 			      socket_wrapper_default_iface(),
 			      port);
-		if (stat(un_addr.sa.un.sun_path, &st) == 0) continue;
 
 		ret = libc_bind(fd, &un_addr.sa.s, un_addr.sa_socklen);
 		if (ret == -1) {
+			if (errno == EALREADY || errno == EADDRINUSE) {
+				continue;
+			}
 			goto done;
 		}
 
@@ -6285,9 +6286,11 @@ static void swrap_sendmsg_after(int fd,
 
 	for (i = 0; i < (size_t)msg->msg_iovlen; i++) {
 		size_t this_time = MIN(remain, (size_t)msg->msg_iov[i].iov_len);
-		memcpy(buf + ofs,
-		       msg->msg_iov[i].iov_base,
-		       this_time);
+		if (this_time > 0) {
+			memcpy(buf + ofs,
+			       msg->msg_iov[i].iov_base,
+			       this_time);
+		}
 		ofs += this_time;
 		remain -= this_time;
 	}
@@ -7849,8 +7852,8 @@ void swrap_destructor(void)
  * related syscalls also with the '_' prefix.
  *
  * This is tested in Samba's 'make test',
- * there we noticed that providing '_read'
- * and '_open' would cause errors, which
+ * there we noticed that providing '_read',
+ * '_open' and '_close' would cause errors, which
  * means we skip '_read', '_write' and
  * all non socket related calls without
  * further analyzing the problem.
@@ -7863,7 +7866,6 @@ SWRAP_SYMBOL_ALIAS(accept4, _accept4);
 #endif
 SWRAP_SYMBOL_ALIAS(accept, _accept);
 SWRAP_SYMBOL_ALIAS(bind, _bind);
-SWRAP_SYMBOL_ALIAS(close, _close);
 SWRAP_SYMBOL_ALIAS(connect, _connect);
 SWRAP_SYMBOL_ALIAS(dup, _dup);
 SWRAP_SYMBOL_ALIAS(dup2, _dup2);
diff --git a/third_party/socket_wrapper/wscript b/third_party/socket_wrapper/wscript
index 15ceefd168d..b87072038f8 100644
--- a/third_party/socket_wrapper/wscript
+++ b/third_party/socket_wrapper/wscript
@@ -2,7 +2,7 @@
 
 import os
 
-VERSION="1.3.3"
+VERSION="1.3.4"
 
 def configure(conf):
     if conf.CHECK_SOCKET_WRAPPER():


-- 
Samba Shared Repository



More information about the samba-cvs mailing list