]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] revert erroneous cleanup
authorEvan Hunt <each@isc.org>
Wed, 20 May 2015 20:44:28 +0000 (13:44 -0700)
committerEvan Hunt <each@isc.org>
Wed, 20 May 2015 20:44:28 +0000 (13:44 -0700)
bin/named/query.c

index 2a11434dc2f7a114e0a3be56b4b8def08fd81ccb..506c0b1430cd29d24b934bb0ebe22871f417c7af 100644 (file)
@@ -6485,9 +6485,6 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
        is_zone = ISC_FALSE;
        is_staticstub_zone = ISC_FALSE;
 
-       if (qtype == dns_rdatatype_rrsig || qtype == dns_rdatatype_sig)
-               type = dns_rdatatype_any;
-
        dns_clientinfomethods_init(&cm, ns_client_sourceip);
        dns_clientinfo_init(&ci, client, NULL);
 
@@ -6573,6 +6570,11 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
                        sigrdataset = event->sigrdataset;
                }
 
+               if (qtype == dns_rdatatype_rrsig || qtype == dns_rdatatype_sig)
+                       type = dns_rdatatype_any;
+               else
+                       type = qtype;
+
                if (DNS64(client)) {
                        client->query.attributes &= ~NS_QUERYATTR_DNS64;
                        dns64 = ISC_TRUE;
@@ -6669,6 +6671,14 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
                }
        }
 
+       /*
+        * If it's a SIG query, we'll iterate the node.
+        */
+       if (qtype == dns_rdatatype_rrsig || qtype == dns_rdatatype_sig)
+               type = dns_rdatatype_any;
+       else
+               type = qtype;
+
  restart:
        CTRACE(ISC_LOG_DEBUG(3), "query_find: restart");
        want_restart = ISC_FALSE;