mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 22:45:39 +00:00
2245. [bug] Validating lack of DS records at trust anchors wasn't
working. [RT #17151]
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: validator.c,v 1.154 2007/09/14 05:43:05 marka Exp $ */
|
||||
/* $Id: validator.c,v 1.155 2007/09/19 03:38:55 marka Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@@ -2390,6 +2390,10 @@ finddlvsep(dns_validator_t *val, isc_boolean_t resume) {
|
||||
dns_fixedname_init(&val->dlvsep);
|
||||
dlvsep = dns_fixedname_name(&val->dlvsep);
|
||||
dns_name_copy(val->event->name, dlvsep, NULL);
|
||||
/*
|
||||
* If this is a response to a DS query, we need to look in
|
||||
* the parent zone for the trust anchor.
|
||||
*/
|
||||
if (val->event->type == dns_rdatatype_ds) {
|
||||
labels = dns_name_countlabels(dlvsep);
|
||||
if (labels == 0)
|
||||
@@ -2492,9 +2496,16 @@ proveunsecure(dns_validator_t *val, isc_boolean_t resume) {
|
||||
if (val->havedlvsep)
|
||||
dns_name_copy(dns_fixedname_name(&val->dlvsep), secroot, NULL);
|
||||
else {
|
||||
dns_name_copy(val->event->name, secroot, NULL);
|
||||
/*
|
||||
* If this is a response to a DS query, we need to look in
|
||||
* the parent zone for the trust anchor.
|
||||
*/
|
||||
if (val->event->type == dns_rdatatype_ds &&
|
||||
dns_name_countlabels(secroot) > 1U)
|
||||
dns_name_split(secroot, 1, NULL, secroot);
|
||||
result = dns_keytable_finddeepestmatch(val->keytable,
|
||||
val->event->name,
|
||||
secroot);
|
||||
secroot, secroot);
|
||||
|
||||
if (result == ISC_R_NOTFOUND) {
|
||||
validator_log(val, ISC_LOG_DEBUG(3),
|
||||
|
Reference in New Issue
Block a user