]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
use client->query.qname
authorMark Andrews <marka@isc.org>
Thu, 21 Feb 2019 07:24:30 +0000 (18:24 +1100)
committerEvan Hunt <each@isc.org>
Mon, 11 Mar 2019 18:19:00 +0000 (11:19 -0700)
(cherry picked from commit 8758d36a5e0461fb3aee8f0dc5b35ddca98e00af)

lib/ns/query.c

index 3a17041f8511313f8c2759901d409517108fea60..7f8722471ef2d66ea75c26ba2cbbccf6d760cfb5 100644 (file)
@@ -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);