From 2f1c7e386b79d9c4d78706d8a8f169b753e6bc5a Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 5 Dec 2013 01:52:34 +0000 Subject: [PATCH] [ipv6] Add support for resolving IPv6 addresses via the "nslookup" command Signed-off-by: Michael Brown --- src/usr/nslookup.c | 7 +++++++ 1 file changed, 7 insertions(+) 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;