Browse Source

Switch drift file format to ppm for compatibility with the ntp.org

daemon.
Old drift files will be interpreted as a minuscule adjustment and
ntpd will proceed to rediscover the drift, like starting from zero
on a newly installed machine.
ok deraadt@
OPENBSD_5_7
naddy 9 years ago
parent
commit
281ec163e9
1 changed files with 5 additions and 4 deletions
  1. +5
    -4
      src/usr.sbin/ntpd/ntpd.c

+ 5
- 4
src/usr.sbin/ntpd/ntpd.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: ntpd.c,v 1.85 2015/01/13 14:52:47 bcook Exp $ */
/* $OpenBSD: ntpd.c,v 1.86 2015/01/14 21:14:27 naddy Exp $ */
/* /*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@ -494,9 +494,10 @@ readfreq(void)
if (adjfreq(NULL, &current) == -1) if (adjfreq(NULL, &current) == -1)
log_warn("adjfreq failed"); log_warn("adjfreq failed");
else if (current == 0) { else if (current == 0) {
if (fscanf(fp, "%le", &d) == 1)
if (fscanf(fp, "%lf", &d) == 1) {
d /= 1e6; /* scale from ppm */
ntpd_adjfreq(d, 0); ntpd_adjfreq(d, 0);
else
} else
log_warnx("can't read %s", DRIFTFILE); log_warnx("can't read %s", DRIFTFILE);
} }
fclose(fp); fclose(fp);
@ -518,7 +519,7 @@ writefreq(double d)
return 0; return 0;
} }
fprintf(fp, "%e\n", d);
fprintf(fp, "%.3f\n", d * 1e6); /* scale to ppm */
r = ferror(fp); r = ferror(fp);
if (fclose(fp) != 0 || r != 0) { if (fclose(fp) != 0 || r != 0) {
if (warnonce) { if (warnonce) {


Loading…
Cancel
Save