Merge branch '892-fix-redirect-name' into 'master'
use qname in redirect2 Closes #892 See merge request isc-projects/bind9!1561
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -1,3 +1,6 @@
|
||||
5167. [bug] nxdomain-redirect could sometimes lookup the wrong
|
||||
redirect name. [GL #892]
|
||||
|
||||
5166. [placeholder]
|
||||
|
||||
5165. [contrib] Removed SDB drivers from contrib; they're obsolete.
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user