From 7d3cbb5271f29f9e2be13d8eb0efc0af4566caf2 Mon Sep 17 00:00:00 2001 From: mickey <> Date: Mon, 6 Dec 2004 20:57:17 +0000 Subject: [PATCH] do not log tiny local clock drifts; w/ help from Joerg Sonnenberger ; henning@ ok --- src/usr.sbin/ntpd/ntpd.8 | 12 +++++++++++- src/usr.sbin/ntpd/ntpd.c | 7 +++++-- src/usr.sbin/ntpd/ntpd.h | 3 ++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/usr.sbin/ntpd/ntpd.8 b/src/usr.sbin/ntpd/ntpd.8 index 4e9869a8..7a2fecee 100644 --- a/src/usr.sbin/ntpd/ntpd.8 +++ b/src/usr.sbin/ntpd/ntpd.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ntpd.8,v 1.10 2004/11/02 18:00:38 henning Exp $ +.\" $OpenBSD: ntpd.8,v 1.11 2004/12/06 20:57:17 mickey Exp $ .\" .\" Copyright (c) 2003, 2004 Henning Brauer .\" @@ -41,6 +41,16 @@ as described in RFC 1305. uses the .Xr adjtime 2 system call to correct the local system time without causing time jumps. +Adjustments larger then 128ms are logged using +.Xr syslog 3 . +The threshold value is chosen to avoid local clock drift thrash the log files. +Should +.Nm +be started with +.Fl d +option all calls to +.Xr adjtime 2 +will be logged. .Pp .Nm is usually started at boot time, and can be enabled by diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c index 6b6b0ca5..4e789592 100644 --- a/src/usr.sbin/ntpd/ntpd.c +++ b/src/usr.sbin/ntpd/ntpd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ntpd.c,v 1.24 2004/11/10 11:27:54 henning Exp $ */ +/* $OpenBSD: ntpd.c,v 1.25 2004/12/06 20:57:17 mickey Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -306,8 +306,11 @@ ntpd_adjtime(double d) { struct timeval tv; + if (d >= (double)LOG_NEGLIGEE / 1000) + log_info("adjusting local clock by %fs", d); + else + log_debug("adjusting local clock by %fs", d); d_to_tv(d, &tv); - log_info("adjusting local clock by %fs", d); if (adjtime(&tv, NULL) == -1) log_warn("adjtime failed"); } diff --git a/src/usr.sbin/ntpd/ntpd.h b/src/usr.sbin/ntpd/ntpd.h index 995341bc..120ecabd 100644 --- a/src/usr.sbin/ntpd/ntpd.h +++ b/src/usr.sbin/ntpd/ntpd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ntpd.h,v 1.45 2004/12/06 16:52:33 mickey Exp $ */ +/* $OpenBSD: ntpd.h,v 1.46 2004/12/06 20:57:17 mickey Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -52,6 +52,7 @@ #define QUERYTIME_MAX 15 /* single query might take n secs max */ #define OFFSET_ARRAY_SIZE 8 #define SETTIME_MIN_OFFSET 180 /* min offset for settime at start */ +#define LOG_NEGLIGEE 128 /* negligible drift to not log (ms) */ enum client_state { STATE_NONE,