From: Evan Hunt Date: Wed, 20 May 2015 20:44:28 +0000 (-0700) Subject: [master] revert erroneous cleanup X-Git-Tag: v9.11.0a1~805 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=b403f3b57e3a1cf0a8a98186d5a4419bc4f776b9;p=thirdparty%2Fbind9.git [master] revert erroneous cleanup --- diff --git a/bin/named/query.c b/bin/named/query.c index 2a11434dc2f..506c0b1430c 100644 --- a/bin/named/query.c +++ b/bin/named/query.c @@ -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;