summaryrefslogtreecommitdiff
path: root/tools/libltgrey.c
diff options
context:
space:
mode:
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.