Nasty cache failure and memory leak with DNSSEC.

This commit is contained in:
Simon Kelley
2014-02-03 16:27:37 +00:00
parent f6a2b79310
commit 8d718cbb3e
4 changed files with 217 additions and 138 deletions

View File

@@ -770,12 +770,12 @@ void reply_query(int fd, int family, time_t now)
status = STAT_TRUNCATED;
}
else if (forward->flags & FREC_DNSKEY_QUERY)
status = dnssec_validate_by_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
status = dnssec_validate_by_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
else if (forward->flags & FREC_DS_QUERY)
status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
else
status = dnssec_validate_reply(now, header, n, daemon->namebuff, daemon->keyname, &forward->class);
/* Can't validate, as we're missing key data. Put this
answer aside, whilst we get that. */
if (status == STAT_NEED_DS || status == STAT_NEED_KEY)