mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 13:38:26 +00:00
1381. [bug] named failed to correctly process answers that
contained DNAME records where the resulting CNAME resulted in a negative answer.
This commit is contained in:
parent
acfbd7a478
commit
aec2d57d5b
4
CHANGES
4
CHANGES
@ -1,3 +1,7 @@
|
|||||||
|
1381. [bug] named failed to correctly process answers that
|
||||||
|
contained DNAME records where the resulting CNAME
|
||||||
|
resulted in a negative answer.
|
||||||
|
|
||||||
1380. [func] 'rndc recursing' dump recursing queries to
|
1380. [func] 'rndc recursing' dump recursing queries to
|
||||||
'recursing-file = "named.recursing";'.
|
'recursing-file = "named.recursing";'.
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: resolver.c,v 1.252 2002/09/12 04:42:46 marka Exp $ */
|
/* $Id: resolver.c,v 1.253 2002/09/12 04:52:13 marka Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@ -4001,8 +4001,8 @@ answer_response(fetchctx_t *fctx) {
|
|||||||
for (rdataset = ISC_LIST_HEAD(name->list);
|
for (rdataset = ISC_LIST_HEAD(name->list);
|
||||||
rdataset != NULL;
|
rdataset != NULL;
|
||||||
rdataset = ISC_LIST_NEXT(rdataset, link)) {
|
rdataset = ISC_LIST_NEXT(rdataset, link)) {
|
||||||
|
isc_boolean_t found_dname = ISC_FALSE;
|
||||||
found = ISC_FALSE;
|
found = ISC_FALSE;
|
||||||
want_chaining = ISC_FALSE;
|
|
||||||
aflag = 0;
|
aflag = 0;
|
||||||
if (rdataset->type == dns_rdatatype_dname) {
|
if (rdataset->type == dns_rdatatype_dname) {
|
||||||
/*
|
/*
|
||||||
@ -4029,6 +4029,8 @@ answer_response(fetchctx_t *fctx) {
|
|||||||
want_chaining = ISC_FALSE;
|
want_chaining = ISC_FALSE;
|
||||||
} else if (result != ISC_R_SUCCESS)
|
} else if (result != ISC_R_SUCCESS)
|
||||||
return (result);
|
return (result);
|
||||||
|
else
|
||||||
|
found_dname = ISC_TRUE;
|
||||||
} else if (rdataset->type == dns_rdatatype_sig
|
} else if (rdataset->type == dns_rdatatype_sig
|
||||||
&& rdataset->covers ==
|
&& rdataset->covers ==
|
||||||
dns_rdatatype_dname) {
|
dns_rdatatype_dname) {
|
||||||
@ -4074,7 +4076,7 @@ answer_response(fetchctx_t *fctx) {
|
|||||||
/*
|
/*
|
||||||
* DNAME chaining.
|
* DNAME chaining.
|
||||||
*/
|
*/
|
||||||
if (want_chaining) {
|
if (found_dname) {
|
||||||
/*
|
/*
|
||||||
* Copy the the dname into the
|
* Copy the the dname into the
|
||||||
* qname fixed name.
|
* qname fixed name.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user