From 8430be0b4b1fe55e15e43bd4980006a412bca77c Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Tue, 2 Sep 2008 11:26:31 +0000 Subject: [PATCH] Some HTTP server applications/configurations cause trouble if the port is explicitly specified in our "Host:" header line. Therefore, we now specify the port only if we're using a non-default port (Erik Wasser - 2082501). git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2053 f882894a-f735-0410-b71e-b25c423dba1c --- THANKS.in | 1 + plugins/check_http.c | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/THANKS.in b/THANKS.in index 56bc7ee..a003fa8 100644 --- a/THANKS.in +++ b/THANKS.in @@ -237,3 +237,4 @@ Christian Schneemann Rob Windsor Hilko Bengen Sven Nierlein +Erik Wasser diff --git a/plugins/check_http.c b/plugins/check_http.c index 718fb84..69ed2fa 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c @@ -789,8 +789,18 @@ check_http (void) asprintf (&buf, "%sConnection: close\r\n", buf); /* optionally send the host header info */ - if (host_name) - asprintf (&buf, "%sHost: %s:%d\r\n", buf, host_name, server_port); + if (host_name) { + /* + * Specify the port only if we're using a non-default port (see RFC 2616, + * 14.23). Some server applications/configurations cause trouble if the + * (default) port is explicitly specified in the "Host:" header line. + */ + if ((use_ssl == FALSE && server_port == HTTP_PORT) || + (use_ssl == TRUE && server_port == HTTPS_PORT)) + asprintf (&buf, "%sHost: %s\r\n", buf, host_name); + else + asprintf (&buf, "%sHost: %s:%d\r\n", buf, host_name, server_port); + } /* optionally send any other header tag */ if (http_opt_headers_count) { -- 2.30.2