[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Sun Jul 10 10:25:04 MDT 2011


The branch, master has been updated
       via  86b7b5c socket_wrapper: make sure interfaces are in the valid range on bind()
       via  1be5a9b s4:lib/socket: iface_list_wildcard() should only return "::" if we have ipv6 interfaces
       via  957876e s3:smb2cli_tcon: use tevent_req_oom()
      from  fd240b5 s3: Fix Coverity ID 2587,2588: CHECKED_RETURN

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


- Log -----------------------------------------------------------------
commit 86b7b5cd9621946a3ea20905c0559d662c84770b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sun Jul 10 16:40:37 2011 +0200

    socket_wrapper: make sure interfaces are in the valid range on bind()
    
    metze
    
    Autobuild-User: Stefan Metzmacher <metze at samba.org>
    Autobuild-Date: Sun Jul 10 18:24:14 CEST 2011 on sn-devel-104

commit 1be5a9b1fdbf891749615e87391cdd2a9c4d7113
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sun Jul 10 15:13:45 2011 +0200

    s4:lib/socket: iface_list_wildcard() should only return "::" if we have ipv6 interfaces
    
    If glibc has IPv6 support, but it's not enabled in the running kernel
    we should not try to listen on "::".
    
    metze

commit 957876e76c6e11fc6641107a2c0dc4440be5791d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sun Jul 10 17:09:11 2011 +0200

    s3:smb2cli_tcon: use tevent_req_oom()
    
    metze

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

Summary of changes:
 lib/socket_wrapper/socket_wrapper.c |    5 +++++
 source3/libsmb/smb2cli_tcon.c       |    2 +-
 source4/lib/socket/interface.c      |   14 +++++++++++++-
 3 files changed, 19 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/socket_wrapper/socket_wrapper.c b/lib/socket_wrapper/socket_wrapper.c
index d70459b..2b52626 100644
--- a/lib/socket_wrapper/socket_wrapper.c
+++ b/lib/socket_wrapper/socket_wrapper.c
@@ -554,6 +554,11 @@ static int convert_in_un_alloc(struct socket_info *si, const struct sockaddr *in
 
 	if (bcast) *bcast = is_bcast;
 
+	if (iface == 0 || iface > MAX_WRAPPED_INTERFACES) {
+		errno = EINVAL;
+		return -1;
+	}
+
 	if (prt == 0) {
 		/* handle auto-allocation of ephemeral ports */
 		for (prt = 5001; prt < 10000; prt++) {
diff --git a/source3/libsmb/smb2cli_tcon.c b/source3/libsmb/smb2cli_tcon.c
index 46d787e..eca2617 100644
--- a/source3/libsmb/smb2cli_tcon.c
+++ b/source3/libsmb/smb2cli_tcon.c
@@ -61,7 +61,7 @@ struct tevent_req *smb2cli_tcon_send(TALLOC_CTX *mem_ctx,
 	if (!convert_string_talloc(state, CH_UNIX, CH_UTF16,
 				   tcon_share, talloc_get_size(tcon_share),
 				   &dyn, &dyn_len)) {
-		tevent_req_nomem(NULL, req);
+		tevent_req_oom(req);
 		return tevent_req_post(req, ev);
 	}
 
diff --git a/source4/lib/socket/interface.c b/source4/lib/socket/interface.c
index d5b610f..42e1946 100644
--- a/source4/lib/socket/interface.c
+++ b/source4/lib/socket/interface.c
@@ -520,7 +520,19 @@ const char **iface_list_wildcard(TALLOC_CTX *mem_ctx, struct loadparm_context *l
 
 #ifdef HAVE_IPV6
 	if (lpcfg_parm_bool(lp_ctx, NULL, "ipv6", "enable", true)) {
-		return str_list_add(ret, "::");
+		struct interface *local_interfaces = NULL;
+
+		load_interface_list(ret, lp_ctx, &local_interfaces);
+
+		if (iface_list_first_v6(local_interfaces)) {
+			TALLOC_FREE(local_interfaces);
+			/*
+			 * only add "::" if we have at least
+			 * one ipv6 interface
+			 */
+			return str_list_add(ret, "::");
+		}
+		TALLOC_FREE(local_interfaces);
 	}
 #endif
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list