From 604da4939252620a6c35f5f3f5703eb9e42e65bc Mon Sep 17 00:00:00 2001
From: Holger Weiss <hweiss@users.sourceforge.net>
Date: Tue, 2 Oct 2007 13:51:41 +0000
Subject: Fix regression in 1.4.10 where following redirects to relative URLs
 on virtual hosts failed if both "-H" and "-I" were specified (noted by
 Rodrigo A. G. Schichaschwili on nagiosplug-devel@)

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1804 f882894a-f735-0410-b71e-b25c423dba1c

diff --git a/NEWS b/NEWS
index 1dabbb0..2cc9fba 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,9 @@
 This file documents the major additions and syntax changes between releases.
 
+1.4.11 or 1.5 ??
+	Fix check_http regression in 1.4.10 where following redirects to
+	  relative URLs on virtual hosts failed if both "-H" and "-I" were used
+
 1.4.10 28th September 2007
 	Fix check_http buffer overflow vulnerability when following HTTP redirects
 	check_http now explicitly asks HTTP/1.1 servers to close the connection
diff --git a/plugins/check_http.c b/plugins/check_http.c
index b371cd6..2481935 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -151,7 +151,7 @@ main (int argc, char **argv)
 
   if (display_html == TRUE)
     printf ("<A HREF=\"%s://%s:%d%s\" target=\"_blank\">", 
-      use_ssl ? "https" : "http", server_address,
+      use_ssl ? "https" : "http", host_name ? host_name : server_address,
       server_port, server_url);
 
   /* initialize alarm signal handling, set socket timeout, start timer */
@@ -1155,7 +1155,7 @@ redir (char *pos, char *status_line)
       }
       i = server_port;
       strcpy (type, server_type);
-      strcpy (addr, server_address);
+      strcpy (addr, host_name ? host_name : server_address);
     }           
 
     else {
@@ -1204,8 +1204,8 @@ redir (char *pos, char *status_line)
          display_html ? "</A>" : "");
 
   if (verbose)
-    printf (_("Redirection to %s://%s:%d%s\n"), server_type, server_address,
-            server_port, server_url);
+    printf (_("Redirection to %s://%s:%d%s\n"), server_type,
+            host_name ? host_name : server_address, server_port, server_url);
 
   check_http ();
 }
-- 
cgit v0.10-9-g596f

