]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
ntp: print warning 10 years before supported time ends
authorMiroslav Lichvar <mlichvar@redhat.com>
Tue, 9 Sep 2014 12:02:00 +0000 (14:02 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Tue, 9 Sep 2014 15:08:30 +0000 (17:08 +0200)
ntp_core.c

index 53858f69cf22538743491ba3c0e83806171011ef..ebb6a7c9e12cafa4e255a22a2acedd6cb2abf217 100644 (file)
@@ -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
 }