mirror of
https://github.com/monitoring-plugins/monitoring-plugins.git
synced 2026-06-09 08:42:17 -04:00
Error catching improvements from Ollie Cook
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1022 f882894a-f735-0410-b71e-b25c423dba1c
This commit is contained in:
parent
e446a43f10
commit
b5868eb17a
1 changed files with 13 additions and 1 deletions
|
|
@ -150,6 +150,10 @@ main (int argc, char **argv)
|
|||
|
||||
/* scan stderr */
|
||||
while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_stderr)) {
|
||||
|
||||
if (verbose)
|
||||
printf ("%s", input_buffer);
|
||||
|
||||
if (error_scan (input_buffer) != STATE_OK) {
|
||||
result = max_state (result, error_scan (input_buffer));
|
||||
output = strdup (1 + index (input_buffer, ':'));
|
||||
|
|
@ -163,7 +167,7 @@ main (int argc, char **argv)
|
|||
/* close stdout */
|
||||
if (spclose (child_process)) {
|
||||
result = max_state (result, STATE_WARNING);
|
||||
if (!strcmp (output, ""))
|
||||
if (output == NULL || !strcmp (output, ""))
|
||||
output = strdup (_("nslookup returned error status"));
|
||||
}
|
||||
|
||||
|
|
@ -240,6 +244,14 @@ error_scan (char *input_buffer)
|
|||
strstr (input_buffer, ": REFUSED")))
|
||||
die (STATE_CRITICAL, _("Connection to DNS %s was refused\n"), dns_server);
|
||||
|
||||
/* Query refused (usually by an ACL in the namserver) */
|
||||
else if (strstr (input_buffer, "Query refused"))
|
||||
die (STATE_CRITICAL, _("Query was refused by DNS server at %s\n"), dns_server);
|
||||
|
||||
/* No information (e.g. nameserver IP has two PTR records) */
|
||||
else if (strstr (input_buffer, "No information"))
|
||||
die (STATE_CRITICAL, _("No information returned by DNS server at %s\n"), dns_server);
|
||||
|
||||
/* Host or domain name does not exist */
|
||||
else if (strstr (input_buffer, "Non-existent") ||
|
||||
strstr (input_buffer, "** server can't find") ||
|
||||
|
|
|
|||
Loading…
Reference in a new issue