aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGravatar Ton Voon <tonvoon@users.sourceforge.net> 2006-10-19 18:59:58 +0000
committerGravatar Ton Voon <tonvoon@users.sourceforge.net> 2006-10-19 18:59:58 +0000
commit58ea98cc817d1d9c34b4895a8c828df6764e68a7 (patch)
treebf28f5ba0567f707a1494b1f7bd7ff757adf39ab /plugins
parentd15721d2f8a26cd01259931cca5b3c00a6f77b6c (diff)
downloadmonitoring-plugins-58ea98cc817d1d9c34b4895a8c828df6764e68a7.tar.gz
Redirection error if other headers beginning with L (Aravind Gottipati - 1562572)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1502 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins')
-rw-r--r--plugins/check_http.c5
-rw-r--r--plugins/t/check_http.t6
2 files changed, 7 insertions, 4 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c
index 6810f5c1..93a68ef1 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -1094,9 +1094,8 @@ redir (char *pos, char *status_line)
die (STATE_UNKNOWN, _("Could not allocate url\n"));
while (pos) {
-
- if (sscanf (pos, "%[Ll]%*[Oo]%*[Cc]%*[Aa]%*[Tt]%*[Ii]%*[Oo]%*[Nn]:%n", xx, &i) < 1) {
-
+ sscanf (pos, "%[Ll]%*[Oo]%*[Cc]%*[Aa]%*[Tt]%*[Ii]%*[Oo]%*[Nn]:%n", xx, &i);
+ if (i == 0) {
pos += (size_t) strcspn (pos, "\r\n");
pos += (size_t) strspn (pos, "\r\n");
if (strlen(pos) == 0)
diff --git a/plugins/t/check_http.t b/plugins/t/check_http.t
index 4e3c06cb..21ac0f7a 100644
--- a/plugins/t/check_http.t
+++ b/plugins/t/check_http.t
@@ -9,7 +9,7 @@ use strict;
use Test::More;
use NPTest;
-plan tests => 21;
+plan tests => 22;
my $successOutput = '/OK.*HTTP.*second/';
@@ -95,3 +95,7 @@ like ( $res->output, "/pattern found/", "Error message says 'pattern found'");
$res = NPTest->testCmd( "./check_http -H altinity.com -r 'nAGiOs' --invert-regex" );
cmp_ok( $res->return_code, "==", 0, "And also when not found");
+
+$res = NPTest->testCmd( "./check_http -H www.worldfirefoxday.com -f follow" );
+is( $res->return_code, 0, "Redirection based on location is okay");
+