diff options
author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-08-01 23:56:03 +0000 |
---|---|---|
committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-08-01 23:56:03 +0000 |
commit | ef749a4de1e2e37cc869477dd35f1dbdda4b6036 (patch) | |
tree | 8d1381bc7dc5a9763557a8462529067a22e454b3 /plugins/check_dns.c | |
parent | 71fcc19db98094c13b5217a32e390d3336560ace (diff) | |
download | monitoring-plugins-ef749a4de1e2e37cc869477dd35f1dbdda4b6036.tar.gz |
terminate in error_scan() so meaningfull errors can be sent
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@628 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins/check_dns.c')
-rw-r--r-- | plugins/check_dns.c | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/plugins/check_dns.c b/plugins/check_dns.c index 6121af02..d96e9bbd 100644 --- a/plugins/check_dns.c +++ b/plugins/check_dns.c @@ -270,46 +270,42 @@ error_scan (char *input_buffer) /* the DNS lookup timed out */ else if (strstr (input_buffer, "Timed out")) - return STATE_WARNING; + terminate (STATE_WARNING, "Request timed out at server\n"); /* DNS server is not running... */ else if (strstr (input_buffer, "No response from server")) - return STATE_CRITICAL; + terminate (STATE_CRITICAL, "No response from name server %s\n", dns_server); /* Host name is valid, but server doesn't have records... */ else if (strstr (input_buffer, "No records")) - return STATE_WARNING; - - /* Host or domain name does not exist */ - else if (strstr (input_buffer, "Non-existent")) - return STATE_CRITICAL; - else if (strstr (input_buffer, "** server can't find")) - return STATE_CRITICAL; - else if(strstr(input_buffer,"NXDOMAIN")) /* 9.x */ - return STATE_CRITICAL; + terminate (STATE_CRITICAL, "Name server %s has no records\n", dns_server); /* Connection was refused */ - else if (strstr (input_buffer, "Connection refused")) - return STATE_CRITICAL; + else if (strstr (input_buffer, "Connection refused") || + (strstr (input_buffer, "** server can't find") && + strstr (input_buffer, ": REFUSED")) || + (strstr (input_buffer, "Refused"))) + terminate (STATE_CRITICAL, "Connection to name server %s was refused\n", dns_server); + + /* Host or domain name does not exist */ + else if (strstr (input_buffer, "Non-existent") || + strstr (input_buffer, "** server can't find") || + strstr (input_buffer,"NXDOMAIN")) + terminate (STATE_CRITICAL, "Domain %s was not found by the server\n", query_address); /* Network is unreachable */ else if (strstr (input_buffer, "Network is unreachable")) - return STATE_CRITICAL; + terminate (STATE_CRITICAL, "Network is unreachable\n"); /* Internal server failure */ else if (strstr (input_buffer, "Server failure")) - return STATE_CRITICAL; - - /* DNS server refused to service request */ - else if (strstr (input_buffer, "Refused")) - return STATE_CRITICAL; + terminate (STATE_CRITICAL, "Server failure for %s\n", dns_server); /* Request error */ else if (strstr (input_buffer, "Format error")) - return STATE_WARNING; + terminate (STATE_WARNING, "Format error\n"); - else - return STATE_OK; + return STATE_OK; } |