From 2e3c362a882f6a9d4082457a33e9b16690b0ec6d Mon Sep 17 00:00:00 2001 From: Jan Wagner Date: Tue, 30 Jan 2007 09:05:24 +0000 Subject: [PATCH] fix broken response for check_jabber --- debian/changelog | 2 + debian/patches/00list | 1 + .../28_check_tcp.expect_reporting.dpatch | 93 +++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 debian/patches/28_check_tcp.expect_reporting.dpatch diff --git a/debian/changelog b/debian/changelog index fab512b..9addadf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,8 @@ nagios-plugins (1.4.5-3) UNRELEASED; urgency=low * fixed static community string for check_snmp_bgpstate in snmp.cfg (closes: #403892). * remove static community string in ifstatus.cfg + * add 28_check_tcp.expect_reporting.dpatch to fix broken response for + check_jabber -- sean finney Wed, 6 Dec 2006 23:47:12 +0100 diff --git a/debian/patches/00list b/debian/patches/00list index 9a9b14b..ab22901 100644 --- a/debian/patches/00list +++ b/debian/patches/00list @@ -7,3 +7,4 @@ 25_check_tcp-expect.dpatch 26_implicit-basename.dpatch 27_check_radius_segfault.dpatch +28_check_tcp.expect_reporting.dpatch diff --git a/debian/patches/28_check_tcp.expect_reporting.dpatch b/debian/patches/28_check_tcp.expect_reporting.dpatch new file mode 100644 index 0000000..5dbd353 --- /dev/null +++ b/debian/patches/28_check_tcp.expect_reporting.dpatch @@ -0,0 +1,93 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 28_check_tcp.expect_reporting.dpatch by +## Thomas Guyot-Sionnest +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +Index: nagios-plugins-1.4.5/plugins/check_tcp.c +=================================================================== +RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_tcp.c,v +retrieving revision 1.82 +retrieving revision 1.83 +diff -u -r1.82 -r1.83 +--- nagios-plugins-1.4.5/plugins/check_tcp.c 28 Jan 2007 21:46:40 -0000 1.82 ++++ nagios-plugins-1.4.5/plugins/check_tcp.c 30 Jan 2007 05:01:00 -0000 1.83 +@@ -347,7 +347,10 @@ + if(match == -2 && len && !(flags & FLAG_HIDE_OUTPUT)) + printf("Unexpected response from host/socket: %s", status); + else { +- printf("%.3f second response time on ", elapsed_time); ++ if(match == -2) ++ printf("Unexpected response from host/socket on "); ++ else ++ printf("%.3f second response time on ", elapsed_time); + if(server_address[0] != '/') + printf("port %d", server_port); + else +@@ -358,17 +361,24 @@ + printf (" [%s]", status); + + /* perf-data doesn't apply when server doesn't talk properly, +- * so print all zeroes on warn and crit */ ++ * so print all zeroes on warn and criti. Use fperfdata since ++ * localisation settings can make different outputs */ + if(match == -2) +- printf ("|time=%fs;0.0;0.0;0.0;0.0", elapsed_time); ++ printf ("|%s", ++ fperfdata ("time", elapsed_time, "s", ++ TRUE, 0, ++ TRUE, 0, ++ TRUE, 0, ++ TRUE, socket_timeout) ++ ); + else + printf("|%s", + fperfdata ("time", elapsed_time, "s", +- TRUE, warning_time, +- TRUE, critical_time, +- TRUE, 0, +- TRUE, socket_timeout) +- ); ++ TRUE, warning_time, ++ TRUE, critical_time, ++ TRUE, 0, ++ TRUE, socket_timeout) ++ ); + + putchar('\n'); + return result; +Index: nagios-plugins-1.4.5/plugins/t/check_tcp.t +=================================================================== +RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/t/check_tcp.t,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- nagios-plugins-1.4.5/plugins/t/check_tcp.t 25 Jul 2005 01:47:15 -0000 1.3 ++++ nagios-plugins-1.4.5/plugins/t/check_tcp.t 30 Jan 2007 05:01:00 -0000 1.4 +@@ -10,7 +10,7 @@ + use NPTest; + + use vars qw($tests); +-BEGIN {$tests = 5; plan tests => $tests} ++BEGIN {$tests = 7; plan tests => $tests} + + my $host_tcp_http = getTestParameter( "host_tcp_http", "NP_HOST_TCP_HTTP", "localhost", + "A host providing the HTTP Service (a web server)" ); +@@ -23,12 +23,15 @@ + + my $successOutput = '/^TCP OK\s-\s+[0-9]?\.?[0-9]+ second response time on port [0-9]+/'; + ++my $failedExpect = '/^TCP WARNING\s-\sUnexpected response from host/socket on port [0-9]+/'; ++ + my $t; + + $t += checkCmd( "./check_tcp $host_tcp_http -p 80 -wt 300 -ct 600", 0, $successOutput ); + $t += checkCmd( "./check_tcp $host_tcp_http -p 81 -wt 0 -ct 0 -to 1", 2 ); # use invalid port for this test + $t += checkCmd( "./check_tcp $host_nonresponsive -p 80 -wt 0 -ct 0 -to 1", 2 ); + $t += checkCmd( "./check_tcp $hostname_invalid -p 80 -wt 0 -ct 0 -to 1", 2 ); ++$t += checkCmd( "./check_tcp $host_tcp_http -p 80 -s 'GET /\n' -e 'ThisShouldntMatch' -j", 1, $failedExpect ); + + exit(0) if defined($Test::Harness::VERSION); + exit($tests - $t);