From 8dc6551ff109b5481bc0b456e93a0cd53a4e2060 Mon Sep 17 00:00:00 2001 From: henning <> Date: Thu, 12 Jul 2018 19:31:05 +0000 Subject: [PATCH] if we couldn't update the clock for ~1h due to lack of data from peers and sensors, mark us unsynced again. ok reyk krw, pt out / discussion / help naddy --- src/usr.sbin/ntpd/ntp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/usr.sbin/ntpd/ntp.c b/src/usr.sbin/ntpd/ntp.c index f7a6edec..cbc70723 100644 --- a/src/usr.sbin/ntpd/ntp.c +++ b/src/usr.sbin/ntpd/ntp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ntp.c,v 1.146 2017/05/30 23:30:48 benno Exp $ */ +/* $OpenBSD: ntp.c,v 1.147 2018/07/12 19:31:05 henning Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -316,6 +316,14 @@ ntp_main(struct ntpd_conf *nconf, struct passwd *pw, int argc, char **argv) (peer_cnt == 0 && sensors_cnt == 0))) priv_settime(0); /* no good peers, don't wait */ + if (conf->status.synced && gettime() - conf->status.reftime > + INTERVAL_QUERY_PATHETIC * QSCALE_OFF_MAX / QSCALE_OFF_MIN * + 1.2) { + /* no update seen for ~1h */ + log_info("clock is now unsynced"); + conf->status.synced = 0; + } + if (ibuf_main->w.queued > 0) pfd[PFD_PIPE_MAIN].events |= POLLOUT; if (ibuf_dns->w.queued > 0)