diff options
author | John Denker <jsd@av8n.com> | 2012-11-24 09:28:10 -0800 |
---|---|---|
committer | John Denker <jsd@av8n.com> | 2012-11-24 09:28:10 -0800 |
commit | 348bd85500f5cb5dc4b239e98d9459dbe71f96bc (patch) | |
tree | 02ea9d6f2d156e094323e614542cd250006102a0 /tools/libltgrey.c | |
parent | 74578b918ceac9aad470f89d3320a375c0c900e8 (diff) |
make rare DNS errors non-fatal
Diffstat (limited to 'tools/libltgrey.c')
-rw-r--r-- | tools/libltgrey.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/tools/libltgrey.c b/tools/libltgrey.c index 827dcee..eb6d904 100644 --- a/tools/libltgrey.c +++ b/tools/libltgrey.c @@ -217,7 +217,7 @@ int whatsit::check_dns(const char* ipvar, const char* namevar){ vector<string> checked; int rslt = check_dns_sub(ipvar, namevar, addr, host, checked); int sts = rslt; -#if 1 +#ifndef badDNSfatal sts = 0; // demote badDNS to just a warning #endif if (rslt || verbosity) { @@ -238,6 +238,12 @@ int whatsit::check_dns(const char* ipvar, const char* namevar){ int whatsit::check_dns_sub(const char* ipvar, const char* namevar, string &addr, string &host, vector<string> &checked){ +#ifdef badDNSfatal + int ex_dns_fail = ex_syserr; +#else + int ex_dns_fail = ex_badDNS; +#endif + struct addrinfo *result; struct addrinfo *ipresult; struct addrinfo *res; @@ -259,11 +265,11 @@ int whatsit::check_dns_sub(const char* ipvar, const char* namevar, << " odd error " << error << " in getaddrinfo for " << ipvar << " : " << gai_strerror(error) << endl; - return ex_syserr; + return ex_dns_fail; } if (!ipresult) { cerr << "should never happen (addr with no addrs?)" << endl; - return ex_syserr; + return ex_dns_fail; } // reconvert from bits to string + family info @@ -304,7 +310,7 @@ int whatsit::check_dns_sub(const char* ipvar, const char* namevar, << " compare " << EAI_NONAME << " in getaddrinfo for " << ipvar << " :: " << gai_strerror(error) << endl; - return ex_syserr; + return ex_dns_fail; } // loop over all returned results and check for a match. |