From 59a2d41d63e3dd766ee9c8fcd6d086d88f6ac417 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Mon, 7 Jan 2008 01:59:59 +0000 Subject: My assumption that "-H example.com:80" didn't work (see my previous commit) was wrong, it worked if used together with "-I". So, here's support for "-H [IPv6]:port", "-H [IPv6]", "-H IPv6", "-H IPv4:port", "-H IPv4", and "-H host:port". git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1892 f882894a-f735-0410-b71e-b25c423dba1c --- plugins/check_http.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'plugins/check_http.c') diff --git a/plugins/check_http.c b/plugins/check_http.c index 9fb7aea4..3530e71a 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c @@ -174,6 +174,7 @@ int process_arguments (int argc, char **argv) { int c = 1; + char *p; enum { INVERT_REGEX = CHAR_MAX + 1 @@ -317,6 +318,12 @@ process_arguments (int argc, char **argv) /* Note: H, I, and u must be malloc'd or will fail on redirects */ case 'H': /* Host Name (virtual host) */ host_name = strdup (optarg); + if (host_name[0] == '[') { + if ((p = strstr (host_name, "]:")) != NULL) /* [IPv6]:port */ + server_port = atoi (p + 2); + } else if ((p = strchr (host_name, ':')) != NULL + && strchr (++p, ':') == NULL) /* IPv4:port or host:port */ + server_port = atoi (p); break; case 'I': /* Server IP-address */ server_address = strdup (optarg); -- cgit v1.2.3