ipv6: Fix some build issues related to the local-bind feature.

Signed-off-by: Ben Greear <greearb@candelatech.com>
pull/1/head
Ben Greear 15 years ago
parent 28ff9336d5
commit 3e33e2c2ba
  1. 4
      ares_ipv6.h
  2. 5
      ares_options.c
  3. 2
      ares_process.c
  4. 4
      inet_net_pton.c

@ -71,4 +71,8 @@ struct addrinfo
#endif
#endif
/* Defined in ares_net_pton.c for no particular reason. */
extern const struct ares_in6_addr ares_in6addr_any; /* :: */
#endif /* ARES_IPV6_H */

@ -131,8 +131,6 @@ int ares_set_servers(ares_channel channel,
int ares_set_servers_csv(ares_channel channel,
const char* _csv)
{
struct ares_addr_node *srvr;
int num_srvrs = 0;
int i;
char* csv = NULL;
char* ptr;
@ -162,10 +160,9 @@ int ares_set_servers_csv(ares_channel channel,
csv[i+1] = 0;
}
ptr = csv;
start_host = csv;
found_port = false;
for (ptr; *ptr; ptr++) {
for (ptr = csv; *ptr; ptr++) {
if (*ptr == ',') {
char* pp = ptr - 1;
struct in_addr in4;

@ -912,7 +912,7 @@ static int configure_socket(ares_socket_t s, int family, ares_channel channel)
}
}
else if (family == AF_INET6) {
if (memcmp(channel->local_ip6, &in6addr_any, sizeof(channel->local_ip6)) != 0) {
if (memcmp(channel->local_ip6, &ares_in6addr_any, sizeof(channel->local_ip6)) != 0) {
struct sockaddr_in6 sa;
memset(&sa, 0, sizeof(sa));
sa.sin6_family = AF_INET6;

@ -46,6 +46,10 @@
#include "ares_ipv6.h"
#include "inet_net_pton.h"
const struct ares_in6_addr ares_in6addr_any = { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } };
#if !defined(HAVE_INET_NET_PTON) || !defined(HAVE_INET_NET_PTON_IPV6)
/*

Loading…
Cancel
Save