From d974a28898f55b916a163e7bfdc56097d7a03b70 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 21 Feb 2019 18:24:30 +1100 Subject: [PATCH 1/2] use client->query.qname (cherry picked from commit 8758d36a5e0461fb3aee8f0dc5b35ddca98e00af) --- lib/ns/query.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ns/query.c b/lib/ns/query.c index 3a17041f85..7f8722471e 100644 --- a/lib/ns/query.c +++ b/lib/ns/query.c @@ -4672,6 +4672,7 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, dns_dbversion_t *version = NULL; dns_zone_t *zone = NULL; bool is_zone; + unsigned int labels; unsigned int options; CTRACE(ISC_LOG_DEBUG(3), "redirect2"); @@ -4714,12 +4715,13 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset, } redirectname = dns_fixedname_initname(&fixedredirect); - if (dns_name_countlabels(name) > 1U) { + labels = dns_name_countlabels(client->query.qname); + if (labels > 1U) { dns_name_t prefix; - unsigned int labels = dns_name_countlabels(name) - 1; dns_name_init(&prefix, NULL); - dns_name_getlabelsequence(name, 0, labels, &prefix); + dns_name_getlabelsequence(client->query.qname, 0, labels - 1, + &prefix); result = dns_name_concatenate(&prefix, client->view->redirectzone, redirectname, NULL); From 7dcee146999b19bf8003c39625bee308ee4bac47 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Fri, 22 Feb 2019 16:25:34 +1100 Subject: [PATCH 2/2] add CHANGES (cherry picked from commit ad785e4f93b8c3afe082e40eb25f9c88f93611b5) --- CHANGES | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES b/CHANGES index afe1590674..dc78221b36 100644 --- a/CHANGES +++ b/CHANGES @@ -12,6 +12,11 @@ response-policy zone's SOA record should be added to the additional section (add-soa yes/no). [GL #865] +5167. [bug] nxdomain-redirect could sometimes lookup the wrong + redirect name. [GL #892] + + --- 9.14.0rc2 released --- + 5176. [tests] Remove a dependency on libxml in statschannel system test. [GL #926]