]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3892. [bug] Setting '-t aaaa' in .digrc had unintended side
authorMark Andrews <marka@isc.org>
Mon, 7 Jul 2014 16:00:28 +0000 (02:00 +1000)
committerMark Andrews <marka@isc.org>
Mon, 7 Jul 2014 16:01:05 +0000 (02:01 +1000)
                        effects. [RT #36452]

CHANGES
bin/dig/dig.c
bin/tests/system/resolver/clean.sh
bin/tests/system/resolver/prereq.sh
bin/tests/system/resolver/tests.sh

diff --git a/CHANGES b/CHANGES
index e6170d2b21ed5e0e9022190b978de530a897076c..41e7e037140c969fa064087dc4c0b72fc31d614f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3892.  [bug]           Setting '-t aaaa' in .digrc had unintended side
+                       effects. [RT #36452]
+
 3891.  [bug]           Use ${INSTALL_SCRIPT} rather than ${INSTALL_PROGRAM}
                        to install python programs.
 
index e7baa6585c410a3cf8ee12893c24bede02250774..e056978ba92f41f62de9e6bcae64ca2ecbdb6354 100644 (file)
@@ -1503,7 +1503,8 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
                                        (*lookup)->tcp_mode = ISC_TRUE;
                        } else {
                                (*lookup)->rdtype = rdtype;
-                               (*lookup)->rdtypeset = ISC_TRUE;
+                               if (!config_only) 
+                                       (*lookup)->rdtypeset = ISC_TRUE;
                                if (rdtype == dns_rdatatype_axfr) {
                                        (*lookup)->section_question = plusquest;
                                        (*lookup)->comments = pluscomm;
index a721e3f0e5bc250a0ae03733fb7abfafd857888c..3632ba8663599f2f638feee9af84267863d221a7 100644 (file)
@@ -31,3 +31,4 @@ rm -f ns6/dsset-example.net. ns6/example.net.db.signed.jnl
 rm -f ns6/to-be-removed.tld.db ns6/to-be-removed.tld.db.jnl
 rm -f ns7/server.db ns7/server.db.jnl ns7/named.conf
 rm -f resolve.out
+rm -f .digrc
index 6715213e4485a932a35c194a8ba8b062bc36b89d..2020ed6d57f8a853554fdabc60be3423c3496fc4 100644 (file)
@@ -20,7 +20,7 @@ SYSTEMTESTTOP=..
 
 if $PERL -e 'use Net::DNS;' 2>/dev/null
 then
-    if $PERL -e 'use Net::DNS; die if ($Net::DNS::VERSION >= 0.76 && $Net::DNS::VERSION <= 0.77);' 2>/dev/null
+    if $PERL -e 'use Net::DNS; die if ($Net::DNS::VERSION eq "0.76" || $Net::DNS::VERSION eq "0.77");' 2>/dev/null
     then
        :
     else
index f697adf3736f6794e4994e326b17e9eeae72462c..b80f19c23d112ec9515ac2787bcfb6b21186b9f4 100755 (executable)
@@ -486,5 +486,19 @@ grep "query: noedns.fetchall.tld IN ANY +E" ns5/named.run > /dev/null && ret=1
 if [ $ret != 0 ]; then echo "I:failed"; fi
 status=`expr $status + $ret`
 
+n=`expr $n + 1`
+echo "I:check that '-t aaaa' in .digrc does not have unexpected side effects ($n)"
+ret=0
+echo "-t aaaa" > .digrc
+env HOME=`pwd` $DIG @10.53.0.4 -p 5300 . > dig.out.1.${n} || ret=1
+env HOME=`pwd` $DIG @10.53.0.4 -p 5300 . A > dig.out.2.${n} || ret=1
+env HOME=`pwd` $DIG @10.53.0.4 -p 5300 -x 127.0.0.1 > dig.out.3.${n} || ret=1
+grep ';\..*IN.*AAAA$' dig.out.1.${n} > /dev/null || ret=1
+grep ';\..*IN.*A$' dig.out.2.${n} > /dev/null || ret=1
+grep 'extra type option' dig.out.2.${n} > /dev/null && ret=1
+grep ';1\.0\.0\.127\.in-addr\.arpa\..*IN.*PTR$' dig.out.3.${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
 echo "I:exit status: $status"
 exit $status