summaryrefslogtreecommitdiffstats
path: root/plugins/check_smtp.c
diff options
context:
space:
mode:
authorM. Sean Finney <seanius@users.sourceforge.net>2005-10-19 12:59:55 (GMT)
committerM. Sean Finney <seanius@users.sourceforge.net>2005-10-19 12:59:55 (GMT)
commit65282c7685ca01c57d94d3df93c2f95d5b945e57 (patch)
treeeb1d0c95752126bd526d939332d14bf40cf7d1f7 /plugins/check_smtp.c
parent8611341fb989382545c0c934c700e027d9bbab15 (diff)
downloadmonitoring-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.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c
index 3bb6a32..19e9aea 100644
--- a/plugins/check_smtp.c
+++ b/plugins/check_smtp.c
@@ -53,7 +53,9 @@ SSL_CTX *ctx;
53SSL *ssl; 53SSL *ssl;
54X509 *server_cert; 54X509 *server_cert;
55int connect_STARTTLS (void); 55int connect_STARTTLS (void);
56# ifdef USE_OPENSSL
56int check_certificate (X509 **); 57int check_certificate (X509 **);
58# endif
57#endif 59#endif
58 60
59enum { 61enum {
@@ -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
659int 666int
660check_certificate (X509 ** certificate) 667check_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
733int 741int