summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Nierlein <sven@nierlein.de>2017-05-28 08:11:15 (GMT)
committerSven Nierlein <sven@nierlein.de>2018-10-22 14:30:31 (GMT)
commit787e6986eea096c644c09eefa1b66a4156b32b45 (patch)
tree4eadec81e2a349d8e754de97fb0b634c3c413f67
parent7eb43858db118b89d13eb71bf07b2c110edb258b (diff)
downloadmonitoring-plugins-787e6986eea096c644c09eefa1b66a4156b32b45.tar.gz
check_curl: handle proxied https requests
-rw-r--r--plugins/check_curl.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/plugins/check_curl.c b/plugins/check_curl.c
index 6856e78..0f06573 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) {