From 7d583d5108d430b417280b1af3450b855e67098a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 2 Sep 2014 09:19:37 +0100 Subject: [PATCH] resolver: Support IPv6 name resolution Tell adns (via ADNS_FEATURE_MANYAF) that we want mixed address families in the results, and handle any IPv6 addresses we find. Signed-off-by: Ian Jackson --- resolver.c | 9 +++++++++ secnet.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/resolver.c b/resolver.c index 9f71716..6477777 100644 --- a/resolver.c +++ b/resolver.c @@ -119,6 +119,15 @@ static void resolver_afterpoll(void *sst, struct pollfd *fds, int nfds) ca->ia.sin.sin_port= htons(q->port); wslot++; break; +#ifdef CONFIG_IPV6 + case AF_INET6: + assert(ra->len == sizeof(ca->ia.sin6)); + ca->ia.sin6.sin6_family=ra->addr.inet6.sin6_family; + ca->ia.sin6.sin6_addr= ra->addr.inet6.sin6_addr; + ca->ia.sin6.sin6_port= htons(q->port); + wslot++; + break; +#endif /*CONFIG_IPV6*/ default: break; } diff --git a/secnet.h b/secnet.h index 81ffbcb..6a3f270 100644 --- a/secnet.h +++ b/secnet.h @@ -3,6 +3,8 @@ #ifndef secnet_h #define secnet_h +#define ADNS_FEATURE_MANYAF + #include "config.h" #include #include -- 2.30.2