Fix botch in determining if auth query is local.

This commit is contained in:
Simon Kelley
2013-10-21 21:47:03 +01:00
parent 93bafe619d
commit 6008bdbbc1
2 changed files with 17 additions and 15 deletions

View File

@@ -865,13 +865,14 @@ void receive_query(struct listener *listen, time_t now)
#ifdef HAVE_AUTH #ifdef HAVE_AUTH
/* find queries for zones we're authoritative for, and answer them directly */ /* find queries for zones we're authoritative for, and answer them directly */
for (zone = daemon->auth_zones; zone; zone = zone->next) if (!auth_dns)
if (in_zone(zone, daemon->namebuff, NULL)) for (zone = daemon->auth_zones; zone; zone = zone->next)
{ if (in_zone(zone, daemon->namebuff, NULL))
auth_dns = 1; {
local_auth = 1; auth_dns = 1;
break; local_auth = 1;
} break;
}
#endif #endif
} }
@@ -973,13 +974,14 @@ unsigned char *tcp_request(int confd, time_t now,
#ifdef HAVE_AUTH #ifdef HAVE_AUTH
/* find queries for zones we're authoritative for, and answer them directly */ /* find queries for zones we're authoritative for, and answer them directly */
for (zone = daemon->auth_zones; zone; zone = zone->next) if (!auth_dns)
if (in_zone(zone, daemon->namebuff, NULL)) for (zone = daemon->auth_zones; zone; zone = zone->next)
{ if (in_zone(zone, daemon->namebuff, NULL))
auth_dns = 1; {
local_auth = 1; auth_dns = 1;
break; local_auth = 1;
} break;
}
#endif #endif
} }