diff options
author | Holger Weiss <hweiss@users.sourceforge.net> | 2008-09-02 11:26:31 +0000 |
---|---|---|
committer | Holger Weiss <hweiss@users.sourceforge.net> | 2008-09-02 11:26:31 +0000 |
commit | 8430be0b4b1fe55e15e43bd4980006a412bca77c (patch) | |
tree | 2f879aa01ce85599a377a30717a3134587b58ceb /plugins/check_http.c | |
parent | a24c8f001fade8b136cb03781951d474b5e4456d (diff) | |
download | monitoring-plugins-8430be0b4b1fe55e15e43bd4980006a412bca77c.tar.gz |
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
Diffstat (limited to 'plugins/check_http.c')
-rw-r--r-- | plugins/check_http.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c index 718fb840..69ed2fa9 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) { |