pkg-monitoring-plugins/debian/patches/12_check_snmp_04_strings.dpatch

74 lines
2.7 KiB
Plaintext

#! /bin/sh /usr/share/dpatch/dpatch-run
## 12_check_snmp_04_strings.dpatch by
## Thomas Guyot-Sionnest <dermoth@aei.ca>
##
## From 78b0f30ad6f562e5b4b10c50857143f959a6c754 Mon Sep 17 00:00:00 2001
## From: Thomas Guyot-Sionnest <dermoth@aei.ca>
## Date: Tue, 30 Nov 2010 22:48:43 -0500
## Subject: [PATCH 4/4] Revert "check_snmp now considers strings returned by SNMP that contain just"
## (Debian Bug #607736)
##
## DP: Revert "check_snmp now considers strings returned by SNMP that contain just"
@DPATCH@
diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c
index cb7fb7a..d79da8c 100644
--- a/plugins/check_snmp.c
+++ b/plugins/check_snmp.c
@@ -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: ");
diff --git a/plugins/tests/check_snmp.t b/plugins/tests/check_snmp.t
index 6966838..c960f7b 100755
--- a/plugins/tests/check_snmp.t
+++ b/plugins/tests/check_snmp.t
@@ -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" );
--
1.7.3.2