summaryrefslogtreecommitdiff
path: root/tools/libltgrey.c
diff options
context:
space:
mode:
authorJohn Denker <jsd@av8n.com>2012-11-24 09:28:10 -0800
committerJohn Denker <jsd@av8n.com>2012-11-24 09:28:10 -0800
commit348bd85500f5cb5dc4b239e98d9459dbe71f96bc (patch)
tree02ea9d6f2d156e094323e614542cd250006102a0 /tools/libltgrey.c
parent74578b918ceac9aad470f89d3320a375c0c900e8 (diff)
make rare DNS errors non-fatal
Diffstat (limited to 'tools/libltgrey.c')
-rw-r--r--tools/libltgrey.c14
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.