[SCM] Samba Shared Repository - branch master updated

Volker Lendecke vlendec at samba.org
Sat May 14 10:58:01 MDT 2011


The branch, master has been updated
       via  30be9fe s3: Make&use set_socket_addr_v4
       via  115d0ec Use ZERO_STRUCTP in util_net
      from  f1cdce6 s3: Paranoia in smbsock_connect_state_destructor

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


- Log -----------------------------------------------------------------
commit 30be9fe554af0f63e1c5fe0b3dd60b8a084cf2c8
Author: Volker Lendecke <vl at samba.org>
Date:   Sat May 14 18:04:49 2011 +0200

    s3: Make&use set_socket_addr_v4
    
    Autobuild-User: Volker Lendecke <vlendec at samba.org>
    Autobuild-Date: Sat May 14 18:57:57 CEST 2011 on sn-devel-104

commit 115d0ecf88a5cae2d684264f570892fb763d54d2
Author: Volker Lendecke <vl at samba.org>
Date:   Sat May 14 17:39:40 2011 +0200

    Use ZERO_STRUCTP in util_net

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

Summary of changes:
 lib/util/util_net.c        |    4 ++--
 source3/libsmb/namequery.c |   26 ++++++++++++++------------
 2 files changed, 16 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/util/util_net.c b/lib/util/util_net.c
index 7d678c9..98eef3b 100644
--- a/lib/util/util_net.c
+++ b/lib/util/util_net.c
@@ -405,7 +405,7 @@ bool is_zero_addr(const struct sockaddr_storage *pss)
  */
 void zero_ip_v4(struct in_addr *ip)
 {
-	memset(ip, '\0', sizeof(struct in_addr));
+	ZERO_STRUCTP(ip);
 }
 
 /**
@@ -415,7 +415,7 @@ void in_addr_to_sockaddr_storage(struct sockaddr_storage *ss,
 		struct in_addr ip)
 {
 	struct sockaddr_in *sa = (struct sockaddr_in *)ss;
-	memset(ss, '\0', sizeof(*ss));
+	ZERO_STRUCTP(ss);
 	sa->sin_family = AF_INET;
 	sa->sin_addr = ip;
 }
diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c
index 417d4ff..1cd5eb7 100644
--- a/source3/libsmb/namequery.c
+++ b/source3/libsmb/namequery.c
@@ -197,6 +197,17 @@ char *saf_fetch( const char *domain )
 	return server;
 }
 
+static void set_socket_addr_v4(struct sockaddr_storage *addr)
+{
+	if (!interpret_string_addr(addr, lp_socket_address(),
+				   AI_NUMERICHOST|AI_PASSIVE)) {
+		zero_sockaddr(addr);
+	}
+	if (addr->ss_family != AF_INET) {
+		zero_sockaddr(addr);
+	}
+}
+
 /****************************************************************************
  Generate a random trn_id.
 ****************************************************************************/
@@ -705,10 +716,7 @@ struct tevent_req *node_status_query_send(TALLOC_CTX *mem_ctx,
 	in_addr = (struct sockaddr_in *)(void *)&state->addr;
 	in_addr->sin_port = htons(NMB_PORT);
 
-	if (!interpret_string_addr(&state->my_addr, lp_socket_address(),
-				   AI_NUMERICHOST|AI_PASSIVE)) {
-		zero_sockaddr(&state->my_addr);
-	}
+	set_socket_addr_v4(&state->my_addr);
 
 	ZERO_STRUCT(p);
 	nmb->header.name_trn_id = generate_trn_id();
@@ -892,10 +900,7 @@ bool name_status_find(const char *q_name,
 		return false;
 	}
 
-	if (!interpret_string_addr(&ss, lp_socket_address(),
-				AI_NUMERICHOST|AI_PASSIVE)) {
-		zero_sockaddr(&ss);
-	}
+	set_socket_addr_v4(&ss);
 
 	/* W2K PDC's seem not to respond to '*'#0. JRA */
 	make_nmb_name(&nname, q_name, q_type);
@@ -1202,10 +1207,7 @@ struct tevent_req *name_query_send(TALLOC_CTX *mem_ctx,
 	in_addr = (struct sockaddr_in *)(void *)&state->addr;
 	in_addr->sin_port = htons(NMB_PORT);
 
-	if (!interpret_string_addr(&state->my_addr, lp_socket_address(),
-				   AI_NUMERICHOST|AI_PASSIVE)) {
-		zero_sockaddr(&state->my_addr);
-	}
+	set_socket_addr_v4(&state->my_addr);
 
 	ZERO_STRUCT(p);
 	nmb->header.name_trn_id = generate_trn_id();


-- 
Samba Shared Repository


More information about the samba-cvs mailing list