diff options
Diffstat (limited to 'web/attachments/305360-sslutils.c.expiry.patch')
-rw-r--r-- | web/attachments/305360-sslutils.c.expiry.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/web/attachments/305360-sslutils.c.expiry.patch b/web/attachments/305360-sslutils.c.expiry.patch new file mode 100644 index 0000000..151fc62 --- /dev/null +++ b/web/attachments/305360-sslutils.c.expiry.patch | |||
@@ -0,0 +1,45 @@ | |||
1 | --- nagios-plugins-1.4.13/plugins/sslutils.c.orig 2008-12-13 22:26:49.000000000 +0000 | ||
2 | +++ nagios-plugins-1.4.13/plugins/sslutils.c 2008-12-15 11:46:37.000000000 +0000 | ||
3 | @@ -92,7 +92,7 @@ | ||
4 | ASN1_STRING *tm; | ||
5 | int offset; | ||
6 | struct tm stamp; | ||
7 | - int days_left; | ||
8 | + double days_left, hours_left, minutes_left; | ||
9 | char timestamp[17] = ""; | ||
10 | |||
11 | certificate=SSL_get_peer_certificate(s); | ||
12 | @@ -138,20 +138,26 @@ | ||
13 | stamp.tm_sec = 0; | ||
14 | stamp.tm_isdst = -1; | ||
15 | |||
16 | - days_left = (mktime (&stamp) - time (NULL)) / 86400; | ||
17 | + minutes_left = (mktime (&stamp) - time (NULL)) / 60.0; | ||
18 | + hours_left = minutes_left / 60.0; | ||
19 | + days_left = hours_left / 24.0; | ||
20 | snprintf | ||
21 | (timestamp, 17, "%02d/%02d/%04d %02d:%02d", | ||
22 | stamp.tm_mon + 1, | ||
23 | stamp.tm_mday, stamp.tm_year + 1900, stamp.tm_hour, stamp.tm_min); | ||
24 | |||
25 | - if (days_left > 0 && days_left <= days_till_exp) { | ||
26 | - printf (_("WARNING - Certificate expires in %d day(s) (%s).\n"), days_left, timestamp); | ||
27 | - return STATE_WARNING; | ||
28 | - } else if (days_left < 0) { | ||
29 | + if (days_left < 0) { | ||
30 | printf (_("CRITICAL - Certificate expired on %s.\n"), timestamp); | ||
31 | return STATE_CRITICAL; | ||
32 | - } else if (days_left == 0) { | ||
33 | - printf (_("WARNING - Certificate expires today (%s).\n"), timestamp); | ||
34 | + } | ||
35 | + else if (days_left <= days_till_exp) { | ||
36 | + printf (_("WARNING - Certificate expires in %d day(s) (%s).\n"), days_left, timestamp); | ||
37 | + return STATE_WARNING; | ||
38 | + } else if (days_left < 1 && hours_left > 1 && days_left <= days_till_exp) { | ||
39 | + printf (_("WARNING - Certificate expires in %d hours (%s).\n"), hours_left, timestamp); | ||
40 | + return STATE_WARNING; | ||
41 | + } else if (days_left < 1 && hours_left < 1 && days_left <= days_till_exp) { | ||
42 | + printf (_("WARNING - Certificate expires in %d minutes (%s).\n"), minutes_left, timestamp); | ||
43 | return STATE_WARNING; | ||
44 | } | ||
45 | |||