]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2535. [bug] dig +showsearh and +trace interacted badly. [RT #19091]
authorMark Andrews <marka@isc.org>
Thu, 22 Jan 2009 05:14:05 +0000 (05:14 +0000)
committerMark Andrews <marka@isc.org>
Thu, 22 Jan 2009 05:14:05 +0000 (05:14 +0000)
CHANGES
bin/dig/dig.c

diff --git a/CHANGES b/CHANGES
index a8a40af046616b9def69913fab98ca6f5dd6eb85..cdcfb73c5e8d9dd4e7fe200f0828eb979bd50a5f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+2535.  [bug]           dig +showsearh and +trace interacted badly. [RT #19091]
+
 2532.  [bug]           dig: check the question section of the response to
                        see if it matches the asked question. [RT #18495]
 
index c5dd2a3cf0cb3214e3d6d3fad8edbb6535ef7670..22ec509877fc56cb9fbae87d0c9f359bcc61fe5d 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dig.c,v 1.186.18.35 2009/01/19 23:46:13 tbox Exp $ */
+/* $Id: dig.c,v 1.186.18.36 2009/01/22 05:14:05 marka Exp $ */
 
 /*! \file */
 
@@ -800,7 +800,9 @@ plus_option(char *option, isc_boolean_t is_batchfile,
                switch (cmd[1]) {
                case 'e': /* defname */
                        FULLCHECK("defname");
-                       usesearch = state;
+                       if (!lookup->trace) {
+                               usesearch = state;
+                       }
                        break;
                case 'n': /* dnssec */
                        FULLCHECK("dnssec");
@@ -928,7 +930,9 @@ plus_option(char *option, isc_boolean_t is_batchfile,
                switch (cmd[1]) {
                case 'e': /* search */
                        FULLCHECK("search");
-                       usesearch = state;
+                       if (!lookup->trace) {
+                               usesearch = state;
+                       }
                        break;
                case 'h':
                        if (cmd[2] != 'o')
@@ -949,8 +953,10 @@ plus_option(char *option, isc_boolean_t is_batchfile,
                                break;
                        case 'w': /* showsearch */
                                FULLCHECK("showsearch");
-                               showsearch = state;
-                               usesearch = state;
+                               if (!lookup->trace) {
+                                       showsearch = state;
+                                       usesearch = state;
+                               }
                                break;
                        default:
                                goto invalid_option;
@@ -1009,6 +1015,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
                                        lookup->section_additional = ISC_FALSE;
                                        lookup->section_authority = ISC_TRUE;
                                        lookup->section_question = ISC_FALSE;
+                                       usesearch = ISC_FALSE;
                                }
                                break;
                        case 'i': /* tries */