Code

Revert "check_snmp now considers strings returned by SNMP that contain just"
authorThomas Guyot-Sionnest <dermoth@aei.ca>
Wed, 1 Dec 2010 03:48:43 +0000 (22:48 -0500)
committerThomas Guyot-Sionnest <dermoth@aei.ca>
Wed, 1 Dec 2010 03:48:43 +0000 (22:48 -0500)
This reverts commit 896962a1ad1b7d7c75d42c565b06cc799feb0a7c.

Conflicts:

NEWS
plugins/tests/check_snmp.t

Notes:
Reverting because I rebased a patch that was doing the same thing, plus
fixing more related regressions, and both didn't work together.
I kept the tests intact except for one that wouldn't pass on 1.4.14
either

NEWS
plugins/check_snmp.c
plugins/tests/check_snmp.t

diff --git a/NEWS b/NEWS
index fb130ce76cd98a623b9de71ee17f4540a0920178..c35299508f59d72fabf7b99d5083f8d7702071e9 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,13 +6,8 @@ This file documents the major additions and syntax changes between releases.
        check_disk_smb now allows spaces in share names (#990948, #1370031, Debian #601699)
 
        FIXES
-       check_snmp now attempts to convert string responses into a double value. If the full string is a value, 
-         check_snmp will consider it a numeric value and thus apply threshold checks and return performance data.
-         This reverts back to 1.4.14 behaviour with strings
        Fix check_disk free space calculation if blocksizes differ within a disk group (Bekar - #2973603)
        check_disk_smb now handles NT_STATUS_ACCESS_DENIED properly (Debian #601696) 
-
-       FIXES
        Make check_snmp work more like v1.4.14 with regard to using special values (Timeticks, STRING) as numeric thresholds.
 
 1.4.15 27th July 2010
index cb7fb7a056ce0543aa7b6257bebbccca53017f07..d79da8cf7cbc6bd94d3f4c8c032d0874dfc43b56 100644 (file)
@@ -160,7 +160,6 @@ main (int argc, char **argv)
        char *outbuff;
        char *ptr = NULL;
        char *show = NULL;
-       char *endptr = NULL;
        char *th_warn=NULL;
        char *th_crit=NULL;
        char type[8] = "";
@@ -390,19 +389,6 @@ main (int argc, char **argv)
                                }
                        }
 
-                       /* Allow numeric conversion if whole string is a number. Make concession for strings with " at beginning or end */
-                       /* This duplicates the conversion a bit later, but is cleaner to separate out the checking against the conversion */
-                       ptr = show;
-                       if (*ptr == '"')
-                               ptr++;
-                       if (*ptr != '\0' ) {
-                               strtod( ptr, &endptr );
-                               if (*endptr == '"')
-                                       endptr++;
-                               if (*endptr == '\0')
-                                       is_numeric=1;
-                       }
-
                }
                else if (strstr (response, "Timeticks: ")) {
                        show = strstr (response, "Timeticks: ");
index 6966838cc70a421fadd7a71ef12ecb43b5a92a31..c960f7b189ca183da67320d4fa0983f26992d9f3 100755 (executable)
@@ -54,7 +54,7 @@ if ($ARGV[0] && $ARGV[0] eq "-d") {
 # We should merge that with $ENV{'NPTEST_CACHE'}, use one dir for all test data
 $ENV{'NAGIOS_PLUGIN_STATE_DIRECTORY'} ||= "/var/tmp";
 
-my $tests = 41;
+my $tests = 39;
 if (-x "./check_snmp") {
        plan tests => $tests;
 } else {
@@ -173,10 +173,6 @@ $res = NPTest->testCmd( "./check_snmp -H 127.0.0.1 -C public -p $port_snmp -o .1
 is($res->return_code, 0, "OK as string doesn't match but inverted" );
 is($res->output, 'SNMP OK - "stringtests" | ', "OK as inverted string no match" );
 
-$res = NPTest->testCmd( "./check_snmp -H 127.0.0.1 -C public -p $port_snmp -o .1.3.6.1.4.1.8072.3.2.67.12" );
-is($res->return_code, 0, "Numeric in string test" );
-is($res->output, 'SNMP OK - 3.5 | iso.3.6.1.4.1.8072.3.2.67.12=3.5 ', "Check seen as numeric" );
-
 $res = NPTest->testCmd( "./check_snmp -H 127.0.0.1 -C public -p $port_snmp -o .1.3.6.1.4.1.8072.3.2.67.12 -w 4:5" );
 is($res->return_code, 1, "Numeric in string test" );
 is($res->output, 'SNMP WARNING - *3.5* | iso.3.6.1.4.1.8072.3.2.67.12=3.5 ', "WARNING threshold checks for string masquerading as number" );