diff options
author | William Leibzon <william@leibzon.org> | 2012-05-21 18:46:45 -0700 |
---|---|---|
committer | Sven Nierlein <sven@nierlein.de> | 2012-06-25 12:05:16 +0200 |
commit | fa3d2a4074e1bd8526e37ba5e1a214ae4a1774cf (patch) | |
tree | 1d0c780a61db8e719502aed2a7bd9311afd23ac4 /plugins/sslutils.c | |
parent | 88fdf3a8a8e17f9212e10befe1f24ff3fa1aa8e6 (diff) | |
download | monitoring-plugins-fa3d2a4074e1bd8526e37ba5e1a214ae4a1774cf.tar.gz |
applied patch that adds both critical and warning thresholds to certificate expiration checks of check_tcp, check_http, check_smtp
Diffstat (limited to 'plugins/sslutils.c')
-rw-r--r-- | plugins/sslutils.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/plugins/sslutils.c b/plugins/sslutils.c index 5425bb2c..fe31b562 100644 --- a/plugins/sslutils.c +++ b/plugins/sslutils.c | |||
@@ -126,7 +126,7 @@ int np_net_ssl_read(void *buf, int num) { | |||
126 | return SSL_read(s, buf, num); | 126 | return SSL_read(s, buf, num); |
127 | } | 127 | } |
128 | 128 | ||
129 | int np_net_ssl_check_cert(int days_till_exp) { | 129 | int np_net_ssl_check_cert(int days_till_exp_warn, int days_till_exp_crit){ |
130 | # ifdef USE_OPENSSL | 130 | # ifdef USE_OPENSSL |
131 | X509 *certificate=NULL; | 131 | X509 *certificate=NULL; |
132 | X509_NAME *subj=NULL; | 132 | X509_NAME *subj=NULL; |
@@ -202,15 +202,21 @@ int np_net_ssl_check_cert(int days_till_exp) { | |||
202 | stamp.tm_mon + 1, | 202 | stamp.tm_mon + 1, |
203 | stamp.tm_mday, stamp.tm_year + 1900, stamp.tm_hour, stamp.tm_min); | 203 | stamp.tm_mday, stamp.tm_year + 1900, stamp.tm_hour, stamp.tm_min); |
204 | 204 | ||
205 | if (days_left > 0 && days_left <= days_till_exp) { | 205 | if (days_left > 0 && days_left <= days_till_exp_warn) { |
206 | printf(_("WARNING - Certificate '%s' expires in %d day(s) (%s).\n"), cn, days_left, timestamp); | 206 | printf (_("%s - Certificate '%s' expires in %d day(s) (%s).\n"), (days_left>days_till_exp_crit)?"CRITICAL":"WARNING", cn, days_left, timestamp); |
207 | status=STATE_WARNING; | 207 | if (days_left > days_till_exp_crit) |
208 | return STATE_WARNING; | ||
209 | else | ||
210 | return STATE_CRITICAL; | ||
208 | } else if (time_left < 0) { | 211 | } else if (time_left < 0) { |
209 | printf(_("CRITICAL - Certificate '%s' expired on %s.\n"), cn, timestamp); | 212 | printf(_("CRITICAL - Certificate '%s' expired on %s.\n"), cn, timestamp); |
210 | status=STATE_CRITICAL; | 213 | status=STATE_CRITICAL; |
211 | } else if (days_left == 0) { | 214 | } else if (days_left == 0) { |
212 | printf(_("WARNING - Certificate '%s' expires today (%s).\n"), cn, timestamp); | 215 | printf (_("%s - Certificate '%s' expires today (%s).\n"), (days_left>days_till_exp_crit)?"CRITICAL":"WARNING", cn, timestamp); |
213 | status=STATE_WARNING; | 216 | if (days_left > days_till_exp_crit) |
217 | return STATE_WARNING; | ||
218 | else | ||
219 | return STATE_CRITICAL; | ||
214 | } else { | 220 | } else { |
215 | printf(_("OK - Certificate '%s' will expire on %s.\n"), cn, timestamp); | 221 | printf(_("OK - Certificate '%s' will expire on %s.\n"), cn, timestamp); |
216 | status=STATE_OK; | 222 | status=STATE_OK; |