summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/nslookup.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/usr/nslookup.c b/src/usr/nslookup.c
index 66818d11..eb2b08b4 100644
--- a/src/usr/nslookup.c
+++ b/src/usr/nslookup.c
@@ -71,6 +71,7 @@ static void nslookup_close ( struct nslookup *nslookup, int rc ) {
static void nslookup_resolv_done ( struct nslookup *nslookup,
struct sockaddr *sa ) {
struct sockaddr_in *sin;
+ struct sockaddr_in6 *sin6;
const struct setting_type *default_type;
struct settings *settings;
struct setting setting;
@@ -86,6 +87,12 @@ static void nslookup_resolv_done ( struct nslookup *nslookup,
len = sizeof ( sin->sin_addr );
default_type = &setting_type_ipv4;
break;
+ case AF_INET6:
+ sin6 = ( ( struct sockaddr_in6 * ) sa );
+ data = &sin6->sin6_addr;
+ len = sizeof ( sin6->sin6_addr );
+ default_type = &setting_type_ipv6;
+ break;
default:
rc = -ENOTSUP;
goto err;