diff options
author | Jeremy Allison <jra@samba.org> | 2007-10-25 19:07:25 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2007-10-25 19:07:25 -0700 |
commit | e054affb7bb3e2aa00663c2d4dfa04c19870ddaf (patch) | |
tree | 6f0e23e2314ff7aa8300a273152e311d713a6346 | |
parent | 6128d116b3f09ce0b055d2df89b2f7282185782e (diff) | |
download | samba-e054affb7bb3e2aa00663c2d4dfa04c19870ddaf.tar.gz samba-e054affb7bb3e2aa00663c2d4dfa04c19870ddaf.tar.bz2 samba-e054affb7bb3e2aa00663c2d4dfa04c19870ddaf.zip |
Fix bug in writing names into gencache
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)
-rw-r--r-- | source3/lib/interface.c | 8 | ||||
-rw-r--r-- | source3/lib/util_sock.c | 4 | ||||
-rw-r--r-- | source3/lib/util_str.c | 7 |
3 files changed, 6 insertions, 13 deletions
diff --git a/source3/lib/interface.c b/source3/lib/interface.c index 9d073bc08c..9627bf63dd 100644 --- a/source3/lib/interface.c +++ b/source3/lib/interface.c @@ -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 diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c index c30f21eeb7..80d4af8cdb 100644 --- a/source3/lib/util_sock.c +++ b/source3/lib/util_sock.c @@ -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); diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c index 226bf826fb..1f3aab3bce 100644 --- a/source3/lib/util_str.c +++ b/source3/lib/util_str.c @@ -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", |