if (result != ISC_R_SUCCESS) {
return false;
}
+ if (set.trust < dns_trust_secure) {
+ dns_rdataset_cleanup(&set);
+ goto trynsec3;
+ }
}
INSIST(set.type == dns_rdatatype_nsec);
dns_rdataset_disassociate(&set);
continue;
}
+ if (set.trust < dns_trust_secure) {
+ dns_rdataset_cleanup(&set);
+ continue;
+ }
dns_name_getlabel(&nsec3name, 0, &hashlabel);
isc_region_consume(&hashlabel, 1);
isc_buffer_init(&buffer, owner, sizeof(owner));
val->authfail++;
FALLTHROUGH;
default:
+ if (val->nxset != NULL) {
+ val->nxset->attributes.ncache = false;
+ }
result = validate_nx(val, true);
break;
}