]> 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)
committerMark Andrews <marka@isc.org>
Fri, 22 Feb 2019 05:04:52 +0000 (00:04 -0500)
lib/ns/query.c

index b6c20fb18533bf2f8b141579e40ce9c0b3285bd1..f1c640b43f12631deb094f2c7663b2123b94e37d 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);