mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Return INSECURE, rather than BOGUS when DS proved not to exist.
Return INSECURE when validating DNS replies which have RRSIGs, but when a needed DS record in the trust chain is proved not to exist. It's allowed for a zone to set up DNSKEY and RRSIG records first, then add a DS later, completing the chain of trust. Also, since we don't have the infrastructure to track that these non-validated replies have RRSIGS, don't cache them, so we don't provide answers with missing RRSIGS from the cache.
This commit is contained in:
@@ -981,7 +981,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
|
||||
|
||||
/* If we've cached that DS provably doesn't exist, result must be INSECURE */
|
||||
if (crecp->flags & F_NEG)
|
||||
return STAT_INSECURE;
|
||||
return STAT_INSECURE_DS;
|
||||
|
||||
/* NOTE, we need to find ONE DNSKEY which matches the DS */
|
||||
for (valid = 0, j = ntohs(header->ancount); j != 0 && !valid; j--)
|
||||
|
||||
Reference in New Issue
Block a user