diff options
| author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-01-27 11:53:25 +0000 |
|---|---|---|
| committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-01-27 11:53:25 +0000 |
| commit | 0716ab15017139cada7be0aa030b6283a22e6779 (patch) | |
| tree | f1532b8ef3b8915d950be4101714fcc193c14404 /plugins | |
| parent | a305b2be1d979a6ba8b548e12b9e2aa40cf4c306 (diff) | |
| download | monitoring-plugins-0716ab15017139cada7be0aa030b6283a22e6779.tar.gz | |
do not pass host if none is provided
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@254 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_http.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c index 5da5750a..be18ce7d 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c | |||
| @@ -196,7 +196,7 @@ int server_port = HTTP_PORT; | |||
| 196 | char server_port_text[6] = ""; | 196 | char server_port_text[6] = ""; |
| 197 | char server_type[6] = "http"; | 197 | char server_type[6] = "http"; |
| 198 | /*@null@*/ char *server_address = NULL; | 198 | /*@null@*/ char *server_address = NULL; |
| 199 | /*@null@*/ char *host_name = NULL; | 199 | char *host_name = ""; |
| 200 | /*@null@*/ char *server_url = NULL; | 200 | /*@null@*/ char *server_url = NULL; |
| 201 | int server_url_length = 0; | 201 | int server_url_length = 0; |
| 202 | int server_expect_yn = 0; | 202 | int server_expect_yn = 0; |
| @@ -401,7 +401,7 @@ process_arguments (int argc, char **argv) | |||
| 401 | break; | 401 | break; |
| 402 | /* Note: H, I, and u must be malloc'd or will fail on redirects */ | 402 | /* Note: H, I, and u must be malloc'd or will fail on redirects */ |
| 403 | case 'H': /* Host Name (virtual host) */ | 403 | case 'H': /* Host Name (virtual host) */ |
| 404 | host_name = strscpy (host_name, optarg); | 404 | asprintf (&host_name, "%s", optarg); |
| 405 | break; | 405 | break; |
| 406 | case 'I': /* Server IP-address */ | 406 | case 'I': /* Server IP-address */ |
| 407 | server_address = strscpy (server_address, optarg); | 407 | server_address = strscpy (server_address, optarg); |
| @@ -464,19 +464,21 @@ process_arguments (int argc, char **argv) | |||
| 464 | 464 | ||
| 465 | c = optind; | 465 | c = optind; |
| 466 | 466 | ||
| 467 | if (server_address == NULL && host_name == NULL) { server_address = strscpy (NULL, argv[c]); | 467 | if (server_address == NULL) { |
| 468 | host_name = strscpy (NULL, argv[c++]); | 468 | if (c < argc) { |
| 469 | server_address = strscpy (NULL, argv[c++]); | ||
| 470 | } | ||
| 471 | else if (strcmp (host_name ,"") == 0) { | ||
| 472 | usage ("check_http: you must specify a server address\n"); | ||
| 473 | } | ||
| 469 | } | 474 | } |
| 470 | 475 | ||
| 471 | if (server_address == NULL && host_name == NULL) | 476 | if (strcmp (host_name ,"") == 0 && c < argc) |
| 472 | usage ("check_http: you must specify a host name\n"); | 477 | asprintf (&host_name, "%s", argv[c++]); |
| 473 | 478 | ||
| 474 | if (server_address == NULL) | 479 | if (server_address == NULL) |
| 475 | server_address = strscpy (NULL, host_name); | 480 | server_address = strscpy (NULL, host_name); |
| 476 | 481 | ||
| 477 | if (host_name == NULL) | ||
| 478 | host_name = strscpy (NULL, server_address); | ||
| 479 | |||
| 480 | if (http_method == NULL) | 482 | if (http_method == NULL) |
| 481 | http_method = strscpy (http_method, "GET"); | 483 | http_method = strscpy (http_method, "GET"); |
| 482 | 484 | ||
| @@ -631,8 +633,6 @@ check_http (void) | |||
| 631 | terminate (STATE_CRITICAL, "Unable to open TCP socket"); | 633 | terminate (STATE_CRITICAL, "Unable to open TCP socket"); |
| 632 | asprintf (&buf, "%s %s HTTP/1.0\r\n", http_method, server_url); | 634 | asprintf (&buf, "%s %s HTTP/1.0\r\n", http_method, server_url); |
| 633 | send (sd, buf, strlen (buf), 0); | 635 | send (sd, buf, strlen (buf), 0); |
| 634 | |||
| 635 | |||
| 636 | 636 | ||
| 637 | /* optionally send the host header info */ | 637 | /* optionally send the host header info */ |
| 638 | if (strcmp (host_name, "")) { | 638 | if (strcmp (host_name, "")) { |
| @@ -664,7 +664,7 @@ check_http (void) | |||
| 664 | send (sd, http_post_data, strlen (http_post_data), 0); | 664 | send (sd, http_post_data, strlen (http_post_data), 0); |
| 665 | } | 665 | } |
| 666 | else { | 666 | else { |
| 667 | /* send a newline so the server knows we're done with the request */ | 667 | /* or just a newline so the server knows we're done with the request */ |
| 668 | asprintf (&buf, "\r\n"); | 668 | asprintf (&buf, "\r\n"); |
| 669 | send (sd, buf, strlen (buf), 0); | 669 | send (sd, buf, strlen (buf), 0); |
| 670 | } | 670 | } |
