Fix bug in writing names into gencache
authorJeremy Allison <jra@samba.org>
Fri, 26 Oct 2007 02:07:25 +0000 (19:07 -0700)
committerJeremy Allison <jra@samba.org>
Fri, 26 Oct 2007 02:07:25 +0000 (19:07 -0700)
as well as 2 typos where AF_INET6 was mistypes as AF_INET.
JERRY YOU NEED THESE FIXES.
Fixes smbclient -L localhost -U%
Bugs reported by Kukks (thanks kukks).
Jeremy.
(This used to be commit f109f82622ca30ae2360e8300152e90b9587ffd8)

source3/lib/interface.c
source3/lib/util_sock.c
source3/lib/util_str.c

index 9d073bc08ca57e9c07f18604e886c3d29784a190..9627bf63dd8ea68ad84c5a6bdbc9113d3cb3b7e1 100644 (file)
@@ -100,14 +100,6 @@ void setup_linklocal_scope_id(struct sockaddr_storage *pss)
                        return;
                }
        }
-       for (i=local_interfaces;i;i=i->next) {
-               if (same_net(pss, &i->ip, &i->netmask)) {
-                       struct sockaddr_in6 *psa6 =
-                               (struct sockaddr_in6 *)pss;
-                       psa6->sin6_scope_id = if_nametoindex(i->name);
-                       return;
-               }
-       }
 }
 #endif
 
index c30f21eeb7f53ee43f03d513f2aaa25d434ccf56..80d4af8cdb63a6d20a1bd1968a5096bab57f452e 100644 (file)
@@ -234,7 +234,7 @@ bool is_loopback_ip_v4(struct in_addr ip)
 bool is_loopback_addr(const struct sockaddr_storage *pss)
 {
 #if defined(HAVE_IPV6)
-       if (pss->ss_family == AF_INET) {
+       if (pss->ss_family == AF_INET6) {
                struct in6_addr *pin6 =
                        &((struct sockaddr_in6 *)pss)->sin6_addr;
                return IN6_IS_ADDR_LOOPBACK(pin6);
@@ -265,7 +265,7 @@ bool is_zero_ip_v4(struct in_addr ip)
 bool is_zero_addr(const struct sockaddr_storage *pss)
 {
 #if defined(HAVE_IPV6)
-       if (pss->ss_family == AF_INET) {
+       if (pss->ss_family == AF_INET6) {
                struct in6_addr *pin6 =
                        &((struct sockaddr_in6 *)pss)->sin6_addr;
                return IN6_IS_ADDR_UNSPECIFIED(pin6);
index 226bf826fbe98d2e34df8ab748c40dd3652c1959..1f3aab3bce9bbb1b39cdde9d6fc025439b1b63a3 100644 (file)
@@ -2280,11 +2280,12 @@ static char *ipstr_list_add(char **ipstr_list, const struct ip_service *service)
                return NULL;
        }
 
+       print_sockaddr(addr_buf,
+                       sizeof(addr_buf),
+                       &service->ss);
+
        /* attempt to convert ip to a string and append colon separator to it */
        if (*ipstr_list) {
-               print_sockaddr(addr_buf,
-                               sizeof(addr_buf),
-                               &service->ss);
                if (service->ss.ss_family == AF_INET) {
                        /* IPv4 */
                        asprintf(&new_ipstr, "%s%s%s:%d",