Simplify setup of IPv6 DNS resolvers

This commit is contained in:
Tim Wojtulewicz 2023-01-14 16:34:37 -07:00
parent 34f7c95a51
commit 53f2364a86

View file

@ -642,7 +642,6 @@ void DNS_Mgr::InitSource()
servers.next = NULL;
auto dns_resolver_addr = IPAddr(dns_resolver);
struct sockaddr_storage ss = {0};
if ( dns_resolver_addr.GetFamily() == IPv4 )
{
@ -651,12 +650,12 @@ void DNS_Mgr::InitSource()
}
else
{
struct sockaddr_in6* sa = (struct sockaddr_in6*)&ss;
sa->sin6_family = AF_INET6;
dns_resolver_addr.CopyIPv6(&sa->sin6_addr);
struct sockaddr_in6 sa = {0};
sa.sin6_family = AF_INET6;
dns_resolver_addr.CopyIPv6(&sa.sin6_addr);
servers.family = AF_INET6;
memcpy(&(servers.addr.addr6), &sa->sin6_addr, sizeof(ares_in6_addr));
memcpy(&(servers.addr.addr6), &sa.sin6_addr, sizeof(ares_in6_addr));
}
ares_set_servers(channel, &servers);