Commit fb63dd13 authored by Simon Kelley's avatar Simon Kelley

Handle two interface-names, different interface, same name.

parent 5f8002fc
...@@ -357,6 +357,7 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n ...@@ -357,6 +357,7 @@ 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))
{ {
......
...@@ -1725,9 +1725,13 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, ...@@ -1725,9 +1725,13 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
if (intr) if (intr)
{ {
struct addrlist *addrlist; struct addrlist *addrlist;
int gotit = 0;
enumerate_interfaces(0); enumerate_interfaces(0);
for (intr = daemon->int_names; intr; intr = intr->next)
if (hostname_isequal(name, intr->name))
{
addrlist = intr->addr4; addrlist = intr->addr4;
#ifdef HAVE_IPV6 #ifdef HAVE_IPV6
if (type == T_AAAA) if (type == T_AAAA)
...@@ -1736,9 +1740,9 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, ...@@ -1736,9 +1740,9 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
ans = 1; ans = 1;
if (!dryrun) if (!dryrun)
{ {
if (!addrlist) if (addrlist)
log_query(F_FORWARD | F_CONFIG | flag | F_NEG, name, NULL, NULL); {
else gotit = 1;
for (; addrlist; addrlist = addrlist->next) for (; addrlist; addrlist = addrlist->next)
{ {
log_query(F_FORWARD | F_CONFIG | flag, name, &addrlist->addr, NULL); log_query(F_FORWARD | F_CONFIG | flag, name, &addrlist->addr, NULL);
...@@ -1748,6 +1752,12 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, ...@@ -1748,6 +1752,12 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
anscount++; anscount++;
} }
} }
}
}
if (!dryrun && !gotit)
log_query(F_FORWARD | F_CONFIG | flag | F_NEG, name, NULL, NULL);
continue; continue;
} }
......
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