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 <[email protected]>
Date:   Sat May 14 18:04:49 2011 +0200

    s3: Make&use set_socket_addr_v4
    
    Autobuild-User: Volker Lendecke <[email protected]>
    Autobuild-Date: Sat May 14 18:57:57 CEST 2011 on sn-devel-104

commit 115d0ecf88a5cae2d684264f570892fb763d54d2
Author: Volker Lendecke <[email protected]>
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

Reply via email to