From e1accce49868b448cdebe9a03db3f87c63367f83 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Tue, 9 Sep 2014 14:02:00 +0200 Subject: [PATCH] ntp: print warning 10 years before supported time ends --- ntp_core.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ntp_core.c b/ntp_core.c index 53858f6..ebb6a7c 100644 --- a/ntp_core.c +++ b/ntp_core.c @@ -262,6 +262,9 @@ do_size_checks(void) static void do_time_checks(void) { + struct timeval now; + time_t warning_advance = 3600 * 24 * 365 * 10; /* 10 years */ + #ifdef HAVE_LONG_TIME_T /* Check that time before NTP_ERA_SPLIT underflows correctly */ @@ -278,6 +281,16 @@ do_time_checks(void) tv1.tv_sec + (1ULL << 32) - 1 == tv2.tv_sec; assert(r); + + LCL_ReadRawTime(&now); + if (tv2.tv_sec - now.tv_sec < warning_advance) + LOG(LOGS_WARN, LOGF_NtpCore, "Assumed NTP time ends at %s!", + UTI_TimeToLogForm(tv2.tv_sec)); +#else + LCL_ReadRawTime(&now); + if (now.tv_sec > 0x7fffffff - warning_advance) + LOG(LOGS_WARN, LOGF_NtpCore, "System time ends at %s!", + UTI_TimeToLogForm(0x7fffffff)); #endif }