fix broken response for check_jabber

This commit is contained in:
Jan Wagner 2007-01-30 09:05:24 +00:00
parent 485fcac980
commit 2e3c362a88
3 changed files with 96 additions and 0 deletions

2
debian/changelog vendored
View file

@ -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 <seanius@copelandia.seanius.net> Wed, 6 Dec 2006 23:47:12 +0100

View file

@ -7,3 +7,4 @@
25_check_tcp-expect.dpatch
26_implicit-basename.dpatch
27_check_radius_segfault.dpatch
28_check_tcp.expect_reporting.dpatch

View file

@ -0,0 +1,93 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 28_check_tcp.expect_reporting.dpatch by
## Thomas Guyot-Sionnest <dermoth@aei.ca>
##
## 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);