diff options
author | Holger Weiss <hweiss@users.sourceforge.net> | 2008-01-07 01:59:59 +0000 |
---|---|---|
committer | Holger Weiss <hweiss@users.sourceforge.net> | 2008-01-07 01:59:59 +0000 |
commit | 59a2d41d63e3dd766ee9c8fcd6d086d88f6ac417 (patch) | |
tree | 6ea9697b0ca92b590bd8e6072713e658692d678e | |
parent | 6157a19b1b955e44599d578be157085c137ffc5a (diff) | |
download | monitoring-plugins-59a2d41d63e3dd766ee9c8fcd6d086d88f6ac417.tar.gz |
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
-rw-r--r-- | plugins/check_http.c | 7 |
1 files changed, 7 insertions, 0 deletions
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 | |||
174 | process_arguments (int argc, char **argv) | 174 | process_arguments (int argc, char **argv) |
175 | { | 175 | { |
176 | int c = 1; | 176 | int c = 1; |
177 | char *p; | ||
177 | 178 | ||
178 | enum { | 179 | enum { |
179 | INVERT_REGEX = CHAR_MAX + 1 | 180 | INVERT_REGEX = CHAR_MAX + 1 |
@@ -317,6 +318,12 @@ process_arguments (int argc, char **argv) | |||
317 | /* Note: H, I, and u must be malloc'd or will fail on redirects */ | 318 | /* Note: H, I, and u must be malloc'd or will fail on redirects */ |
318 | case 'H': /* Host Name (virtual host) */ | 319 | case 'H': /* Host Name (virtual host) */ |
319 | host_name = strdup (optarg); | 320 | host_name = strdup (optarg); |
321 | if (host_name[0] == '[') { | ||
322 | if ((p = strstr (host_name, "]:")) != NULL) /* [IPv6]:port */ | ||
323 | server_port = atoi (p + 2); | ||
324 | } else if ((p = strchr (host_name, ':')) != NULL | ||
325 | && strchr (++p, ':') == NULL) /* IPv4:port or host:port */ | ||
326 | server_port = atoi (p); | ||
320 | break; | 327 | break; |
321 | case 'I': /* Server IP-address */ | 328 | case 'I': /* Server IP-address */ |
322 | server_address = strdup (optarg); | 329 | server_address = strdup (optarg); |