This commit is contained in:
Simon Kelley
2024-12-19 12:33:54 +00:00
parent 5d32f35bdc
commit 32248ebd5b

View File

@@ -1227,15 +1227,19 @@ void reply_query(int fd, time_t now)
#ifdef HAVE_DNSSEC #ifdef HAVE_DNSSEC
if (option_bool(OPT_DNSSEC_VALID)) if (option_bool(OPT_DNSSEC_VALID))
{ {
/* Clear this in case we don't call dnssec_validate() below */ if ((forward->sentto->flags & SERV_DO_DNSSEC) && !(forward->flags & FREC_CHECKING_DISABLED))
memset(daemon->rr_status, 0, sizeof(*daemon->rr_status) * daemon->rr_status_sz); {
dnssec_validate(forward, header, n, STAT_OK, now);
return;
}
if ((forward->sentto->flags & SERV_DO_DNSSEC) && /* If dnssec_validate() not called, rr_status{} is not valid
!(forward->flags & FREC_CHECKING_DISABLED)) Clear it so we don't erroneously mark RRs as secure using stale data from
dnssec_validate(forward, header, n, STAT_OK, now); previous queries. */
memset(daemon->rr_status, 0, sizeof(*daemon->rr_status) * daemon->rr_status_sz);
} }
else
#endif #endif
return_reply(now, forward, header, n, STAT_OK); return_reply(now, forward, header, n, STAT_OK);
} }