diff --git a/plugins/check_dns.c b/plugins/check_dns.c
index d754610671420e44dd8d873c059d264c10bb40af..d96e9bbdc4c3df203b6c130822d393a7bfff3b0f 100644 (file)
--- a/plugins/check_dns.c
+++ b/plugins/check_dns.c
{
/* the DNS lookup timed out */
- if (strstr (input_buffer, _("Note: nslookup is deprecated and may be removed from future releases.")) ||
- strstr (input_buffer, _("Consider using the `dig' or `host' programs instead. Run nslookup with")) ||
- strstr (input_buffer, _("the `-sil[ent]' option to prevent this message from appearing.")))
+ if (strstr (input_buffer, "Note: nslookup is deprecated and may be removed from future releases.") ||
+ strstr (input_buffer, "Consider using the `dig' or `host' programs instead. Run nslookup with") ||
+ strstr (input_buffer, "the `-sil[ent]' option to prevent this message from appearing."))
return STATE_OK;
/* the DNS lookup timed out */
- else if (strstr (input_buffer, _("Timed out")))
- return STATE_WARNING;
+ else if (strstr (input_buffer, "Timed out"))
+ 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;
+ else if (strstr (input_buffer, "No response from server"))
+ 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;
+ else if (strstr (input_buffer, "No records"))
+ 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;
+ else if (strstr (input_buffer, "Network is unreachable"))
+ 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;
+ else if (strstr (input_buffer, "Server failure"))
+ terminate (STATE_CRITICAL, "Server failure for %s\n", dns_server);
/* Request error */
- else if (strstr (input_buffer, _("Format error")))
- return STATE_WARNING;
+ else if (strstr (input_buffer, "Format error"))
+ terminate (STATE_WARNING, "Format error\n");
- else
- return STATE_OK;
+ return STATE_OK;
}