[monitoring-plugins] fixed some libcurl checks and minimal versions
Andreas Baumann
git at monitoring-plugins.org
Wed Apr 19 16:50:12 CEST 2017
Module: monitoring-plugins
Branch: feature_check_curl
Commit: 2a226a94b33c0d777fa26f0570ebc44a9c80258c
Author: Andreas Baumann <mail at andreasbaumann.cc>
Date: Wed Apr 19 10:42:37 2017 -0400
URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=2a226a9
fixed some libcurl checks and minimal versions
---
plugins/check_curl.c | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/plugins/check_curl.c b/plugins/check_curl.c
index 5ed47e2..9b14486 100644
--- a/plugins/check_curl.c
+++ b/plugins/check_curl.c
@@ -312,11 +312,7 @@ check_http (void)
if (!strcmp(http_method, "POST"))
handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_POST, 1), "CURLOPT_POST");
else if (!strcmp(http_method, "PUT"))
-#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 12, 1)
handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_UPLOAD, 1), "CURLOPT_UPLOAD");
-#else
- handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_PUT, 1), "CURLOPT_PUT");
-#endif
else
handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_CUSTOMREQUEST, http_method), "CURLOPT_CUSTOMREQUEST");
}
@@ -370,22 +366,22 @@ check_http (void)
#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 19, 1)
/* inform curl to report back certificates (this works for OpenSSL, NSS at least) */
curl_easy_setopt (curl, CURLOPT_CERTINFO, 1L);
-#ifdef USE_OPENSSL
+#ifdef LIBCURL_USES_OPENSSL
/* set callback to extract certificate with OpenSSL context function (works with
* OpenSSL only!)
*/
handle_curl_option_return_code (curl_easy_setopt(curl, CURLOPT_SSL_CTX_FUNCTION, sslctxfun), "CURLOPT_SSL_CTX_FUNCTION");
#endif /* USE_OPENSSL */
#else /* LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 19, 1) */
-#ifdef USE_OPENSSL
+#ifdef LIBCURL_USES_OPENSSL
/* Too old curl library, hope we have OpenSSL */
handle_curl_option_return_code (curl_easy_setopt(curl, CURLOPT_SSL_CTX_FUNCTION, sslctxfun), "CURLOPT_SSL_CTX_FUNCTION");
#else
die (STATE_CRITICAL, "HTTP CRITICAL - Cannot retrieve certificates (no CURLOPT_SSL_CTX_FUNCTION, no OpenSSL library)\n");
-#endif /* USE_OPENSSL */
+#endif /* LIBCURL_USES_OPENSSL */
#endif /* LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 19, 1) */
-#endif /* HAVE_SSL */
+#endif /* LIBCURL_FEATURE_SSL */
/* set default or user-given user agent identification */
handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_USERAGENT, user_agent), "CURLOPT_USERAGENT");
@@ -429,7 +425,7 @@ check_http (void)
handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER), "CURLOPT_IPRESOLVE(CURL_IPRESOLVE_WHATEVER)");
else if (address_family == AF_INET)
handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4), "CURLOPT_IPRESOLVE(CURL_IPRESOLVE_V4)");
-#ifdef USE_IPV6
+#if defined (USE_IPV6) && defined (LIBCURL_FEATURE_IPV6)
else if (address_family == AF_INET6)
handle_curl_option_return_code (curl_easy_setopt (curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6), "CURLOPT_IPRESOLVE(CURL_IPRESOLVE_V6)");
#endif
@@ -500,9 +496,9 @@ check_http (void)
* and we actually have OpenSSL in the monitoring tools
*/
#ifdef HAVE_SSL
-#ifdef USE_OPENSSL
+#ifdef LIBCURL_USES_OPENSSL
result = np_net_ssl_check_certificate(cert, days_till_exp_warn, days_till_exp_crit);
-#endif /* USE_OPENSSL */
+#endif /* LIBCURL_USES_OPENSSL */
#endif /* HAVE_SSL */
return result;
}
@@ -1061,7 +1057,7 @@ process_arguments (int argc, char **argv)
address_family = AF_INET;
break;
case '6':
-#ifdef USE_IPV6
+#if defined (USE_IPV6) && defined (LIBCURL_FEATURE_IPV6)
address_family = AF_INET6;
#else
usage4 (_("IPv6 support not available"));
More information about the Commits
mailing list