diff options
author | M. Sean Finney <seanius@users.sourceforge.net> | 2005-10-19 12:59:55 +0000 |
---|---|---|
committer | M. Sean Finney <seanius@users.sourceforge.net> | 2005-10-19 12:59:55 +0000 |
commit | 65282c7685ca01c57d94d3df93c2f95d5b945e57 (patch) | |
tree | eb1d0c95752126bd526d939332d14bf40cf7d1f7 /plugins/check_smtp.c | |
parent | 8611341fb989382545c0c934c700e027d9bbab15 (diff) | |
download | monitoring-plugins-65282c7685ca01c57d94d3df93c2f95d5b945e57.tar.gz |
- initial attempt at consolidating ssl-related code into netutils.{c,h}
- added some #ifdefs to common.h and netutils.h to prevent multiple
inclusions (as netlibs now includes common.h)
- all ssl plugins (tcp/http/smtp) compile cleanly against gnutls, though
certificate checking still needs to be done.
- modified configure script so you can also explicitly say "without-gnutls"
too (otherwise if you disable openssl you have no way of disabling
gnutls too)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1255 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins/check_smtp.c')
-rw-r--r-- | plugins/check_smtp.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c index 3bb6a32b..19e9aea8 100644 --- a/plugins/check_smtp.c +++ b/plugins/check_smtp.c | |||
@@ -53,7 +53,9 @@ SSL_CTX *ctx; | |||
53 | SSL *ssl; | 53 | SSL *ssl; |
54 | X509 *server_cert; | 54 | X509 *server_cert; |
55 | int connect_STARTTLS (void); | 55 | int connect_STARTTLS (void); |
56 | # ifdef USE_OPENSSL | ||
56 | int check_certificate (X509 **); | 57 | int check_certificate (X509 **); |
58 | # endif | ||
57 | #endif | 59 | #endif |
58 | 60 | ||
59 | enum { | 61 | enum { |
@@ -241,6 +243,7 @@ main (int argc, char **argv) | |||
241 | } else { | 243 | } else { |
242 | ssl_established = TRUE; | 244 | ssl_established = TRUE; |
243 | } | 245 | } |
246 | # ifdef USE_OPENSSL | ||
244 | if ( check_cert ) { | 247 | if ( check_cert ) { |
245 | if ((server_cert = SSL_get_peer_certificate (ssl)) != NULL) { | 248 | if ((server_cert = SSL_get_peer_certificate (ssl)) != NULL) { |
246 | result = check_certificate (&server_cert); | 249 | result = check_certificate (&server_cert); |
@@ -254,6 +257,7 @@ main (int argc, char **argv) | |||
254 | my_close(); | 257 | my_close(); |
255 | return result; | 258 | return result; |
256 | } | 259 | } |
260 | # endif /* USE_OPENSSL */ | ||
257 | } | 261 | } |
258 | #endif | 262 | #endif |
259 | 263 | ||
@@ -491,7 +495,7 @@ process_arguments (int argc, char **argv) | |||
491 | break; | 495 | break; |
492 | case 'D': | 496 | case 'D': |
493 | /* Check SSL cert validity */ | 497 | /* Check SSL cert validity */ |
494 | #ifdef HAVE_SSL | 498 | #ifdef USE_OPENSSL |
495 | if (!is_intnonneg (optarg)) | 499 | if (!is_intnonneg (optarg)) |
496 | usage2 ("Invalid certificate expiration period",optarg); | 500 | usage2 ("Invalid certificate expiration period",optarg); |
497 | days_till_exp = atoi (optarg); | 501 | days_till_exp = atoi (optarg); |
@@ -645,7 +649,9 @@ connect_STARTTLS (void) | |||
645 | I look for success instead (1) */ | 649 | I look for success instead (1) */ |
646 | if (SSL_connect (ssl) == 1) | 650 | if (SSL_connect (ssl) == 1) |
647 | return OK; | 651 | return OK; |
652 | # ifdef USE_OPENSSL | ||
648 | ERR_print_errors_fp (stderr); | 653 | ERR_print_errors_fp (stderr); |
654 | # endif | ||
649 | } | 655 | } |
650 | else | 656 | else |
651 | { | 657 | { |
@@ -656,6 +662,7 @@ connect_STARTTLS (void) | |||
656 | return STATE_CRITICAL; | 662 | return STATE_CRITICAL; |
657 | } | 663 | } |
658 | 664 | ||
665 | # ifdef USE_OPENSSL | ||
659 | int | 666 | int |
660 | check_certificate (X509 ** certificate) | 667 | check_certificate (X509 ** certificate) |
661 | { | 668 | { |
@@ -728,6 +735,7 @@ check_certificate (X509 ** certificate) | |||
728 | 735 | ||
729 | return STATE_OK; | 736 | return STATE_OK; |
730 | } | 737 | } |
738 | # endif /* USE_OPENSSL */ | ||
731 | #endif | 739 | #endif |
732 | 740 | ||
733 | int | 741 | int |