From: Mark Andrews Date: Thu, 15 Apr 2004 06:47:08 +0000 (+0000) Subject: 1610. [bug] On dual stack machines "dig -b" failed to set the X-Git-Tag: v9.2.3rc4^3~67 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=c2ec022f5784a2ff844f7d062c2022197dc4ad09;p=thirdparty%2Fbind9.git 1610. [bug] On dual stack machines "dig -b" failed to set the address type to be looked up with "@server". [RT #11069] --- diff --git a/CHANGES b/CHANGES index 680a1e429cd..69f290e41ea 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 a2f31badba7..c8a75f2d14a 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);