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) { |