Skip to content

Commit

Permalink
Add warning if no dns-servers found for dns.mod. Fixes #333.
Browse files Browse the repository at this point in the history
  • Loading branch information
thommey committed Apr 19, 2017
1 parent 405b9e6 commit 6bdffe3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
2 changes: 0 additions & 2 deletions src/mod/dns.mod/coredns.c
Expand Up @@ -1273,8 +1273,6 @@ static int init_dns_core(void)

/* Initialise the resolv library. */
res_init();
if (!_res.nscount)
putlog(LOG_MISC, "*", "No nameservers found.");
_res.options |= RES_RECURSE | RES_DEFNAMES | RES_DNSRCH;
for (i = 0; i < _res.nscount; i++)
_res.nsaddr_list[i].sin_family = AF_INET;
Expand Down
14 changes: 14 additions & 0 deletions src/mod/dns.mod/dns.c
Expand Up @@ -228,20 +228,33 @@ static int dns_report(int idx, int details)
for (i = 0; i < _res.nscount; i++)
dprintf(idx, " %s:%d", iptostr((struct sockaddr *) &_res.nsaddr_list[i]),
ntohs(_res.nsaddr_list[i].sin_port));
if (!_res.nscount)
dprintf(idx, " NO DNS SERVERS FOUND!\n");
dprintf(idx, "\n");
dprintf(idx, " Using %d byte%s of memory\n", size,
(size != 1) ? "s" : "");
}
return 0;
}

static int dns_check_servercount(void)
{
static int oldcount = -1;
if (oldcount != _res.nscount && !_res.nscount) {
putlog(LOG_MISC, "*", "WARNING: No nameservers found. Please set the dns-servers config variable.");
}
oldcount = _res.nscount;
return 0;
}

static char *dns_close()
{
int i;

del_hook(HOOK_DNS_HOSTBYIP, (Function) dns_lookup);
del_hook(HOOK_DNS_IPBYHOST, (Function) dns_forward);
del_hook(HOOK_SECONDLY, (Function) dns_check_expires);
del_hook(HOOK_REHASH, (Function) dns_check_servercount);
rem_tcl_ints(dnsints);
rem_tcl_strings(dnsstrings);
Tcl_UntraceVar(interp, "dns-servers",
Expand Down Expand Up @@ -304,6 +317,7 @@ char *dns_start(Function *global_funcs)
add_hook(HOOK_SECONDLY, (Function) dns_check_expires);
add_hook(HOOK_DNS_HOSTBYIP, (Function) dns_lookup);
add_hook(HOOK_DNS_IPBYHOST, (Function) dns_forward);
add_hook(HOOK_REHASH, (Function) dns_check_servercount);
add_tcl_ints(dnsints);
add_tcl_strings(dnsstrings);
return NULL;
Expand Down

0 comments on commit 6bdffe3

Please sign in to comment.