diff options
| author | Matthias Hähnel <github.com@drhaehnel.de> | 2015-04-23 09:57:11 +0200 |
|---|---|---|
| committer | Sven Nierlein <sven@nierlein.de> | 2015-10-02 15:56:18 +0200 |
| commit | e1ed1d805eafaef113e7a676f57cf9f5d0016099 (patch) | |
| tree | 2d9bb050bf3822a8f4e1ff53e10dc9ab47d27913 | |
| parent | 2ce22968427ce3cadf5214bda659098032f86efd (diff) | |
| download | monitoring-plugins-e1ed1d805eafaef113e7a676f57cf9f5d0016099.tar.gz | |
Update sslutils.c
Fixed Output if the expiration time is below one hour and code cleanup
| -rw-r--r-- | plugins/sslutils.c | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/plugins/sslutils.c b/plugins/sslutils.c index 69d12f21..76e45079 100644 --- a/plugins/sslutils.c +++ b/plugins/sslutils.c | |||
| @@ -144,7 +144,9 @@ int np_net_ssl_check_cert(int days_till_exp_warn, int days_till_exp_crit){ | |||
| 144 | # ifdef USE_OPENSSL | 144 | # ifdef USE_OPENSSL |
| 145 | X509 *certificate=NULL; | 145 | X509 *certificate=NULL; |
| 146 | X509_NAME *subj=NULL; | 146 | X509_NAME *subj=NULL; |
| 147 | char timestamp[50] = ""; | ||
| 147 | char cn[MAX_CN_LENGTH]= ""; | 148 | char cn[MAX_CN_LENGTH]= ""; |
| 149 | |||
| 148 | int cnlen =-1; | 150 | int cnlen =-1; |
| 149 | int status=STATE_UNKNOWN; | 151 | int status=STATE_UNKNOWN; |
| 150 | 152 | ||
| @@ -153,7 +155,7 @@ int np_net_ssl_check_cert(int days_till_exp_warn, int days_till_exp_crit){ | |||
| 153 | struct tm stamp; | 155 | struct tm stamp; |
| 154 | float time_left; | 156 | float time_left; |
| 155 | int days_left; | 157 | int days_left; |
| 156 | char timestamp[50] = ""; | 158 | int time_remaining; |
| 157 | time_t tm_t; | 159 | time_t tm_t; |
| 158 | 160 | ||
| 159 | certificate=SSL_get_peer_certificate(s); | 161 | certificate=SSL_get_peer_certificate(s); |
| @@ -218,28 +220,35 @@ int np_net_ssl_check_cert(int days_till_exp_warn, int days_till_exp_crit){ | |||
| 218 | if (days_left > 0 && days_left <= days_till_exp_warn) { | 220 | if (days_left > 0 && days_left <= days_till_exp_warn) { |
| 219 | printf (_("%s - Certificate '%s' expires in %d day(s) (%s).\n"), (days_left>days_till_exp_crit)?"WARNING":"CRITICAL", cn, days_left, timestamp); | 221 | printf (_("%s - Certificate '%s' expires in %d day(s) (%s).\n"), (days_left>days_till_exp_crit)?"WARNING":"CRITICAL", cn, days_left, timestamp); |
| 220 | if (days_left > days_till_exp_crit) | 222 | if (days_left > days_till_exp_crit) |
| 221 | return STATE_WARNING; | 223 | status = STATE_WARNING; |
| 222 | else | 224 | else |
| 223 | return STATE_CRITICAL; | 225 | status = STATE_CRITICAL; |
| 224 | } else if (days_left == 0 && time_left > 0) { | 226 | } else if (days_left == 0 && time_left > 0) { |
| 225 | int hours_left = (int) time_left/3600; | 227 | if (time_left >= 3600) |
| 226 | printf (_("%s - Certificate '%s' expires in %u %s (%s)\n"), (days_left>days_till_exp_crit) ? "WARNING" : "CRITICAL", cn, hours_left, hours_left > 0 ? "hours" : "minutes", timestamp); | 228 | time_remaining = (int) time_left / 3600; |
| 227 | if ( days_left > days_till_exp_crit) | 229 | else |
| 228 | return STATE_WARNING; | 230 | time_remaining = (int) time_left / 60; |
| 229 | else | 231 | |
| 230 | return STATE_CRITICAL; | 232 | printf (_("%s - Certificate '%s' expires in %u %s (%s)\n"), |
| 233 | (days_left>days_till_exp_crit) ? "WARNING" : "CRITICAL", cn, time_remaining, | ||
| 234 | time_left > 3600 ? "hours" : "minutes", timestamp); | ||
| 235 | |||
| 236 | if ( days_left > days_till_exp_crit) | ||
| 237 | status = STATE_WARNING; | ||
| 238 | else | ||
| 239 | status = STATE_CRITICAL; | ||
| 231 | } else if (time_left < 0) { | 240 | } else if (time_left < 0) { |
| 232 | printf(_("CRITICAL - Certificate '%s' expired on %s.\n"), cn, timestamp); | 241 | printf(_("CRITICAL - Certificate '%s' expired on %s.\n"), cn, timestamp); |
| 233 | status=STATE_CRITICAL; | 242 | status=STATE_CRITICAL; |
| 234 | } else if (days_left == 0) { | 243 | } else if (days_left == 0) { |
| 235 | printf (_("%s - Certificate '%s' expires today (%s).\n"), (days_left>days_till_exp_crit)?"WARNING":"CRITICAL", cn, timestamp); | 244 | printf (_("%s - Certificate '%s' just expired (%s).\n"), (days_left>days_till_exp_crit)?"WARNING":"CRITICAL", cn, timestamp); |
| 236 | if (days_left > days_till_exp_crit) | 245 | if (days_left > days_till_exp_crit) |
| 237 | return STATE_WARNING; | 246 | status = STATE_WARNING; |
| 238 | else | 247 | else |
| 239 | return STATE_CRITICAL; | 248 | status = STATE_CRITICAL; |
| 240 | } else { | 249 | } else { |
| 241 | printf(_("OK - Certificate '%s' will expire on %s.\n"), cn, timestamp); | 250 | printf(_("OK - Certificate '%s' will expire on %s.\n"), cn, timestamp); |
| 242 | status=STATE_OK; | 251 | status = STATE_OK; |
| 243 | } | 252 | } |
| 244 | X509_free(certificate); | 253 | X509_free(certificate); |
| 245 | return status; | 254 | return status; |
