From b403f3b57e3a1cf0a8a98186d5a4419bc4f776b9 Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Wed, 20 May 2015 13:44:28 -0700 Subject: [PATCH] [master] revert erroneous cleanup --- bin/named/query.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/bin/named/query.c b/bin/named/query.c index 2a11434dc2..506c0b1430 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;