Commit 8ab91e9f authored by Simon Kelley's avatar Simon Kelley

Get NXDOMAIN right on non-A/AAAA query for name known via interface-name.

parent 57310500
...@@ -197,7 +197,7 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n ...@@ -197,7 +197,7 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
if (in_zone(zone, intr->name, NULL)) if (in_zone(zone, intr->name, NULL))
{ {
found = 1; found = 1;
log_query(flag| F_REVERSE | F_CONFIG, intr->name, &addr, NULL); log_query(flag | F_REVERSE | F_CONFIG, intr->name, &addr, NULL);
if (add_resource_record(header, limit, &trunc, nameoffset, &ansp, if (add_resource_record(header, limit, &trunc, nameoffset, &ansp,
daemon->auth_ttl, NULL, daemon->auth_ttl, NULL,
T_PTR, C_IN, "d", intr->name)) T_PTR, C_IN, "d", intr->name))
...@@ -357,19 +357,19 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n ...@@ -357,19 +357,19 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
flag = F_IPV6; flag = F_IPV6;
#endif #endif
if (flag) for (intr = daemon->int_names; intr; intr = intr->next)
for (intr = daemon->int_names; intr; intr = intr->next) if (hostname_isequal(name, intr->name))
if (hostname_isequal(name, intr->name)) {
{ struct addrlist *addrlist;
struct addrlist *addrlist;
addrlist = intr->addr4;
addrlist = intr->addr4;
#ifdef HAVE_IPV6 #ifdef HAVE_IPV6
if (qtype == T_AAAA) if (qtype == T_AAAA)
addrlist = intr->addr6; addrlist = intr->addr6;
#endif #endif
nxdomain = 0; nxdomain = 0;
if (flag)
for (; addrlist; addrlist = addrlist->next) for (; addrlist; addrlist = addrlist->next)
if (local_query || filter_constructed_dhcp(zone, flag, &addrlist->addr)) if (local_query || filter_constructed_dhcp(zone, flag, &addrlist->addr))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment