From e2aec83e61487916d32ac98bd4c3171cd6899efd Mon Sep 17 00:00:00 2001 From: Thomas Guyot-Sionnest Date: Mon, 16 Mar 2009 01:37:00 -0400 Subject: check_snmp fixes: - Fix broken compilation caused by typo in command ending - Remove extra whitespaces at EOL - Fix invalid host test on Ubuntu Hardy (and possibly others) diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c index 03c2a17..3dc52df 100644 --- a/plugins/check_snmp.c +++ b/plugins/check_snmp.c @@ -106,7 +106,7 @@ char *authproto = NULL; char *privproto = NULL; char *authpasswd = NULL; char *privpasswd = NULL; -char **oids = NULL; +char **oids = NULL; char *label; char *units; char *port; @@ -186,7 +186,7 @@ main (int argc, char **argv) snmpcmd = strdup (PATH_TO_SNMPGETNEXT); }else{ snmpcmd = strdup (PATH_TO_SNMPGET); - } + } /* 9 arguments to pass before authpriv options + 1 for host and numoids. Add one for terminating NULL */ command_line = calloc (9 + numauthpriv + 1 + numoids + 1, sizeof (char *)); @@ -224,10 +224,10 @@ main (int argc, char **argv) /* Run the command */ return_code = cmd_run_array (command_line, &chld_out, &chld_err, 0); - /* Due to net-snmp sometimes showing stderr messages with poorly formed MIBs, + /* Due to net-snmp sometimes showing stderr messages with poorly formed MIBs, only return state unknown if return code is non zero or there is no stdout. Do this way so that if there is stderr, will get added to output, which helps problem diagnosis - /* + */ if (return_code != 0) external_error=1; if (chld_out.lines == 0) @@ -252,7 +252,7 @@ main (int argc, char **argv) for (i = 0; i < chld_out.lines; i++) { ptr = chld_out.line[i]; - oidname = strpcpy (oidname, ptr, delimiter); + oidname = strpcpy (oidname, ptr, delimiter); response = strstr (ptr, delimiter); /* We strip out the datatype indicator for PHBs */ diff --git a/plugins/t/check_snmp.t b/plugins/t/check_snmp.t index 4820aac..c2c965d 100644 --- a/plugins/t/check_snmp.t +++ b/plugins/t/check_snmp.t @@ -94,7 +94,7 @@ SKIP: { skip "no non invalid host defined", 2 if ( ! $hostname_invalid ); $res = NPTest->testCmd( "./check_snmp -H $hostname_invalid -C $snmp_community -o system.sysUpTime.0 -w 1: -c 1:"); cmp_ok( $res->return_code, '==', 3, "Exit UNKNOWN with non responsive host" ); - like($res->output, '/External command error: .*nosuchhost/', "String matches invalid host"); + like($res->output, '/External command error: .*(nosuchhost|Name or service not known)/', "String matches invalid host"); } } -- cgit v0.10-9-g596f