Code

terminate in error_scan() so meaningfull errors can be sent
authorKarl DeBisschop <kdebisschop@users.sourceforge.net>
Fri, 1 Aug 2003 23:56:03 +0000 (23:56 +0000)
committerKarl DeBisschop <kdebisschop@users.sourceforge.net>
Fri, 1 Aug 2003 23:56:03 +0000 (23:56 +0000)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@628 f882894a-f735-0410-b71e-b25c423dba1c

plugins/check_dns.c

index 6121af025edbf6315d70b2ade03dcb347c780c43..d96e9bbdc4c3df203b6c130822d393a7bfff3b0f 100644 (file)
@@ -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;
 
 }