diff options
| author | Sven Nierlein <sven@nierlein.de> | 2017-05-28 10:11:15 +0200 |
|---|---|---|
| committer | Sven Nierlein <sven@nierlein.de> | 2017-05-28 10:11:15 +0200 |
| commit | 7c7640833d4fae6260bdc312e70be79243958a55 (patch) | |
| tree | e850d8c1d6b7577fc81ad05f7ced8bac755f2559 | |
| parent | df9cf15d0af1527ba276565823b662f964278b55 (diff) | |
| download | monitoring-plugins-7c76408.tar.gz | |
check_curl: handle proxied https requests
| -rw-r--r-- | plugins/check_curl.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/plugins/check_curl.c b/plugins/check_curl.c index 6856e781..0f065731 100644 --- a/plugins/check_curl.c +++ b/plugins/check_curl.c | |||
| @@ -371,8 +371,19 @@ check_http (void) | |||
| 371 | } | 371 | } |
| 372 | #endif /* LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 21, 3) */ | 372 | #endif /* LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 21, 3) */ |
| 373 | 373 | ||
| 374 | /* set port */ | 374 | /* extract proxy information for legacy proxy https requests */ |
| 375 | handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_PORT, server_port), "CURLOPT_PORT"); | 375 | if (!strcmp(http_method, "CONNECT")) { |
| 376 | handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_PROXY, server_address), "CURLOPT_PROXY"); | ||
| 377 | handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_PROXYPORT, (long)server_port), "CURLOPT_PROXYPORT"); | ||
| 378 | if (verbose>=2) | ||
| 379 | printf ("* curl CURLOPT_PROXY: %s:%d\n", server_address, server_port); | ||
| 380 | http_method = "GET"; | ||
| 381 | handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_URL, server_url), "CURLOPT_URL"); | ||
| 382 | //server_port = use_ssl ? HTTPS_PORT : HTTP_PORT; | ||
| 383 | } else { | ||
| 384 | /* set port */ | ||
| 385 | handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_PORT, server_port), "CURLOPT_PORT"); | ||
| 386 | } | ||
| 376 | 387 | ||
| 377 | /* set HTTP method */ | 388 | /* set HTTP method */ |
| 378 | if (http_method) { | 389 | if (http_method) { |
