Fix check_time returning wrong OK when time is before the epoch on some arch

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1703 f882894a-f735-0410-b71e-b25c423dba1c
This commit is contained in:
Thomas Guyot-Sionnest 2007-05-02 05:22:31 +00:00
parent 14dd02c058
commit 3013b406f0
3 changed files with 9 additions and 7 deletions

1
NEWS
View file

@ -6,6 +6,7 @@ This file documents the major additions and syntax changes between releases.
check_snmp now support Counter64
Fix compilation of check_ldap, check_radius and check_pgsql
check_load can optionally divide by number of cpus
Fix check_time returning wrong OK when time is before the epoch on some arch
1.4.8 11th April 2007
Respects --without-world-permissions for setuid plugins

View file

@ -216,3 +216,4 @@ Stefan Meier
Mark Favas
Felix Frank
Denis Knauf
Matthias Flacke

View file

@ -49,8 +49,8 @@ enum {
#define UNIX_EPOCH 2208988800UL
uint32_t server_time, raw_server_time;
time_t diff_time;
uint32_t raw_server_time;
unsigned long server_time, diff_time;
int warning_time = 0;
int check_warning_time = FALSE;
int critical_time = 0;
@ -166,9 +166,9 @@ main (int argc, char **argv)
else
diff_time = (unsigned long)end_time - server_time;
if (check_critical_diff == TRUE && diff_time > (time_t)critical_diff)
if (check_critical_diff == TRUE && diff_time > critical_diff)
result = STATE_CRITICAL;
else if (check_warning_diff == TRUE && diff_time > (time_t)warning_diff)
else if (check_warning_diff == TRUE && diff_time > warning_diff)
result = STATE_WARNING;
printf (_("TIME %s - %lu second time difference|%s %s\n"),
@ -177,9 +177,9 @@ main (int argc, char **argv)
check_warning_time, (long)warning_time,
check_critical_time, (long)critical_time,
TRUE, 0, FALSE, 0),
perfdata ("offset", (long)diff_time, "s",
check_warning_diff, (long)warning_diff,
check_critical_diff, (long)critical_diff,
perfdata ("offset", diff_time, "s",
check_warning_diff, warning_diff,
check_critical_diff, critical_diff,
TRUE, 0, FALSE, 0));
return result;
}