From c2ec022f5784a2ff844f7d062c2022197dc4ad09 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 15 Apr 2004 06:47:08 +0000 Subject: [PATCH] 1610. [bug] On dual stack machines "dig -b" failed to set the address type to be looked up with "@server". [RT #11069] --- CHANGES | 4 +++- bin/dig/dig.c | 10 ++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index 680a1e429c..69f290e41e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ 1611. [placeholder] rt11065 -1610. [placeholder] rt11069 +1610. [bug] On dual stack machines "dig -b" failed to set the + address type to be looked up with "@server". + [RT #11069] 1609. [func] dig now has support to chase DNSSEC signature chains. Requires -DDIG_SIGCHASE=1 to be set in STD_CDEFINES. diff --git a/bin/dig/dig.c b/bin/dig/dig.c index a2f31badba..c8a75f2d14 100644 --- a/bin/dig/dig.c +++ b/bin/dig/dig.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dig.c,v 1.189 2004/04/13 02:54:14 marka Exp $ */ +/* $Id: dig.c,v 1.190 2004/04/15 06:47:08 marka Exp $ */ #include #include @@ -1147,11 +1147,13 @@ dash_option(char *option, char *next, dig_lookup_t **lookup, *hash = '\0'; } else srcport = 0; - if (have_ipv6 && inet_pton(AF_INET6, value, &in6) == 1) + if (have_ipv6 && inet_pton(AF_INET6, value, &in6) == 1) { isc_sockaddr_fromin6(&bind_address, &in6, srcport); - else if (have_ipv4 && inet_pton(AF_INET, value, &in4) == 1) + isc_net_disableipv4(); + } else if (have_ipv4 && inet_pton(AF_INET, value, &in4) == 1) { isc_sockaddr_fromin(&bind_address, &in4, srcport); - else { + isc_net_disableipv6(); + } else { if (hash != NULL) *hash = '#'; fatal("invalid address %s", value);