From 58ea98cc817d1d9c34b4895a8c828df6764e68a7 Mon Sep 17 00:00:00 2001
From: Ton Voon <tonvoon@users.sourceforge.net>
Date: Thu, 19 Oct 2006 18:59:58 +0000
Subject: 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

diff --git a/THANKS.in b/THANKS.in
index 8bf6507..4ded0ee 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -193,3 +193,4 @@ Mike Emigh
 Christian Mies
 Andreas Behal
 O'Shaughnessy Evans
+Aravind Gottipati
diff --git a/plugins/check_http.c b/plugins/check_http.c
index 6810f5c..93a68ef 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 4e3c06c..21ac0f7 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");
+
-- 
cgit v0.10-9-g596f

