1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

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)
This commit is contained in:
Jeremy Allison 2007-10-25 19:07:25 -07:00
parent 6128d116b3
commit e054affb7b
3 changed files with 6 additions and 13 deletions

View 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

View 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);

View 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",