Correct missing SERV_DO_DNSSEC flag, add new spot

One change to server_test_type forgot to set SERV_DO_DNSSEC. One new
place still can be reused.

Fixes commit e10a9239e1, thanks to
Xingcong Li for spotting it.
This commit is contained in:
Petr Menšík
2021-03-27 23:16:09 +00:00
committed by Simon Kelley
parent ea28d0ef8a
commit 8f9bd61505

View File

@@ -1082,7 +1082,7 @@ void reply_query(int fd, time_t now)
while (1) while (1)
{ {
if (server_test_type(start, domain, type, 0)) if (server_test_type(start, domain, type, SERV_DO_DNSSEC))
{ {
new_server = start; new_server = start;
if (server == start) if (server == start)
@@ -2482,10 +2482,7 @@ static struct frec *lookup_frec(unsigned short id, int fd, void *hash)
type = f->sentto->flags & SERV_TYPE; type = f->sentto->flags & SERV_TYPE;
s = f->sentto; s = f->sentto;
do { do {
if ((type == (s->flags & SERV_TYPE)) && if (server_test_type(s, f->sentto->domain, type, 0) &&
(type != SERV_HAS_DOMAIN ||
(s->domain && hostname_isequal(f->sentto->domain, s->domain))) &&
!(s->flags & (SERV_LITERAL_ADDRESS | SERV_LOOP)) &&
s->sfd && s->sfd->fd == fd) s->sfd && s->sfd->fd == fd)
return f; return f;