diff options
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | plugins/check_http.c | 4 | ||||
-rw-r--r-- | plugins/check_smtp.c | 8 | ||||
-rw-r--r-- | plugins/check_tcp.c | 4 | ||||
-rw-r--r-- | plugins/common.h | 7 |
5 files changed, 19 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac index 1368780f..367e82a6 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -500,15 +500,15 @@ if ! test x"$with_openssl" = x"no"; then | |||
500 | dnl Check for crypto lib | 500 | dnl Check for crypto lib |
501 | _SAVEDLIBS="$LIBS" | 501 | _SAVEDLIBS="$LIBS" |
502 | LIBS="-L${with_openssl}/lib" | 502 | LIBS="-L${with_openssl}/lib" |
503 | AC_CHECK_LIB(crypto,CRYPTO_lock) | 503 | AC_CHECK_LIB(crypto,CRYPTO_new_ex_data) |
504 | if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then | 504 | if test "$ac_cv_lib_crypto_CRYPTO_new_ex_data" = "yes"; then |
505 | dnl Check for SSL lib | 505 | dnl Check for SSL lib |
506 | AC_CHECK_LIB(ssl,main, SSLLIBS="-lssl -lcrypto",,-lcrypto) | 506 | AC_CHECK_LIB(ssl,main, SSLLIBS="-lssl -lcrypto",,-lcrypto) |
507 | fi | 507 | fi |
508 | LIBS="$_SAVEDLIBS" | 508 | LIBS="$_SAVEDLIBS" |
509 | 509 | ||
510 | dnl test headers and libs to decide whether check_http should use SSL | 510 | dnl test headers and libs to decide whether check_http should use SSL |
511 | if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then | 511 | if test "$ac_cv_lib_crypto_CRYPTO_new_ex_data" = "yes"; then |
512 | if test "$ac_cv_lib_ssl_main" = "yes"; then | 512 | if test "$ac_cv_lib_ssl_main" = "yes"; then |
513 | if test "$FOUNDINCLUDE" = "yes"; then | 513 | if test "$FOUNDINCLUDE" = "yes"; then |
514 | FOUNDOPENSSL="yes" | 514 | FOUNDOPENSSL="yes" |
diff --git a/plugins/check_http.c b/plugins/check_http.c index 60fe4d52..2347a6f2 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c | |||
@@ -941,8 +941,8 @@ check_http (void) | |||
941 | elapsed_time_ssl = (double)microsec_ssl / 1.0e6; | 941 | elapsed_time_ssl = (double)microsec_ssl / 1.0e6; |
942 | if (check_cert == TRUE) { | 942 | if (check_cert == TRUE) { |
943 | result = np_net_ssl_check_cert(days_till_exp_warn, days_till_exp_crit); | 943 | result = np_net_ssl_check_cert(days_till_exp_warn, days_till_exp_crit); |
944 | np_net_ssl_cleanup(); | ||
945 | if (sd) close(sd); | 944 | if (sd) close(sd); |
945 | np_net_ssl_cleanup(); | ||
946 | return result; | 946 | return result; |
947 | } | 947 | } |
948 | } | 948 | } |
@@ -1086,10 +1086,10 @@ check_http (void) | |||
1086 | die (STATE_CRITICAL, _("HTTP CRITICAL - No data received from host\n")); | 1086 | die (STATE_CRITICAL, _("HTTP CRITICAL - No data received from host\n")); |
1087 | 1087 | ||
1088 | /* close the connection */ | 1088 | /* close the connection */ |
1089 | if (sd) close(sd); | ||
1089 | #ifdef HAVE_SSL | 1090 | #ifdef HAVE_SSL |
1090 | np_net_ssl_cleanup(); | 1091 | np_net_ssl_cleanup(); |
1091 | #endif | 1092 | #endif |
1092 | if (sd) close(sd); | ||
1093 | 1093 | ||
1094 | /* Save check time */ | 1094 | /* Save check time */ |
1095 | microsec = deltime (tv); | 1095 | microsec = deltime (tv); |
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c index 05e81f2c..587a7245 100644 --- a/plugins/check_smtp.c +++ b/plugins/check_smtp.c | |||
@@ -235,8 +235,8 @@ main (int argc, char **argv) | |||
235 | result = np_net_ssl_init(sd); | 235 | result = np_net_ssl_init(sd); |
236 | if(result != STATE_OK) { | 236 | if(result != STATE_OK) { |
237 | printf (_("CRITICAL - Cannot create SSL context.\n")); | 237 | printf (_("CRITICAL - Cannot create SSL context.\n")); |
238 | np_net_ssl_cleanup(); | ||
239 | close(sd); | 238 | close(sd); |
239 | np_net_ssl_cleanup(); | ||
240 | return STATE_CRITICAL; | 240 | return STATE_CRITICAL; |
241 | } else { | 241 | } else { |
242 | ssl_established = 1; | 242 | ssl_established = 1; |
@@ -760,10 +760,12 @@ recvlines(char *buf, size_t bufsize) | |||
760 | int | 760 | int |
761 | my_close (void) | 761 | my_close (void) |
762 | { | 762 | { |
763 | int result; | ||
764 | result = close(sd); | ||
763 | #ifdef HAVE_SSL | 765 | #ifdef HAVE_SSL |
764 | np_net_ssl_cleanup(); | 766 | np_net_ssl_cleanup(); |
765 | #endif | 767 | #endif |
766 | return close(sd); | 768 | return result; |
767 | } | 769 | } |
768 | 770 | ||
769 | 771 | ||
diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c index 6dc9aa96..61333bd7 100644 --- a/plugins/check_tcp.c +++ b/plugins/check_tcp.c | |||
@@ -247,8 +247,8 @@ main (int argc, char **argv) | |||
247 | } | 247 | } |
248 | } | 248 | } |
249 | if(result != STATE_OK){ | 249 | if(result != STATE_OK){ |
250 | np_net_ssl_cleanup(); | ||
251 | if(sd) close(sd); | 250 | if(sd) close(sd); |
251 | np_net_ssl_cleanup(); | ||
252 | return result; | 252 | return result; |
253 | } | 253 | } |
254 | #endif /* HAVE_SSL */ | 254 | #endif /* HAVE_SSL */ |
@@ -321,10 +321,10 @@ main (int argc, char **argv) | |||
321 | if (server_quit != NULL) { | 321 | if (server_quit != NULL) { |
322 | my_send(server_quit, strlen(server_quit)); | 322 | my_send(server_quit, strlen(server_quit)); |
323 | } | 323 | } |
324 | if (sd) close (sd); | ||
324 | #ifdef HAVE_SSL | 325 | #ifdef HAVE_SSL |
325 | np_net_ssl_cleanup(); | 326 | np_net_ssl_cleanup(); |
326 | #endif | 327 | #endif |
327 | if (sd) close (sd); | ||
328 | 328 | ||
329 | microsec = deltime (tv); | 329 | microsec = deltime (tv); |
330 | elapsed_time = (double)microsec / 1.0e6; | 330 | elapsed_time = (double)microsec / 1.0e6; |
diff --git a/plugins/common.h b/plugins/common.h index 01003b3b..8719b502 100644 --- a/plugins/common.h +++ b/plugins/common.h | |||
@@ -161,6 +161,13 @@ | |||
161 | # endif | 161 | # endif |
162 | #endif | 162 | #endif |
163 | 163 | ||
164 | /* openssl 1.1 does not set OPENSSL_NO_SSL2 by default but ships without ssl2 */ | ||
165 | #ifdef OPENSSL_VERSION_NUMBER | ||
166 | # if OPENSSL_VERSION_NUMBER >= 0x10100000 | ||
167 | # define OPENSSL_NO_SSL2 | ||
168 | # endif | ||
169 | #endif | ||
170 | |||
164 | /* | 171 | /* |
165 | * | 172 | * |
166 | * Standard Values | 173 | * Standard Values |