4.2.6-series Changelog
Last update: June 28, 2022 21:06 UTC (1f97faf40)
4.2.6p5
Release Date: 2011 Dec 24
No changes from 4.2.6p5-RC3.
4.2.6p5-RC3
Release Date: 2011 Dec 8
4.2.6p5-RC2
Release Date: 2011 Nov 30
4.2.6p5-RC1
Release Date: 2011 Oct 18
4.2.6p4
Release Date: 2011 Sep 22
4.2.6p4-RC2
Release Date: 2011 Aug 04
4.2.6p4-RC1
Release Date: 2011 Jul 10
4.2.6p4-beta2
Release Date: 2011 May 25
4.2.6p4-beta1
Release Date: 2011 May 16
4.2.6p3
Release Date: 2011 Jan 03
4.2.6p3-RC12
Release Date: 2010 Dec 25
4.2.6p3-RC11
Release Date: 2010 Nov 28
4.2.6p3-RC10
Release Date: 2010 Nov 14
4.2.6p3-RC9
Release Date: 2010 Nov 10
4.2.6p3-RC8
Release Date: 2010 Oct 29
4.2.6p3-RC7
Release Date: 2010 Oct 25
4.2.6p3-RC6
Release Date: 2010 Oct 24
4.2.6p3-RC5
Release Date: 2010 Oct 22
4.2.6p3-RC4
Release Date: 2010 Oct 16
4.2.6p3-RC3
Release Date: 2010 Oct 14
4.2.6p3-RC2
Release Date: 2010 Sep 25
4.2.6p3-RC1
Release Date: 2010 Sep 18
4.2.6p3-beta1
Release Date: 2010 Sep 11
4.2.6p2
Release Date: 2010 Jul 09
4.2.6p2-RC7
Release Date: 2010 Jun 19
4.2.6p2-RC6
Release Date: 2010 Jun 12
4.2.6p2-RC5
Release Date: 2010 Jun 03
4.2.6p2-RC4
Release Date: 2010 May 19
4.2.6p2-RC3
Release Date: 2010 May 11
4.2.6p2-RC2
Release Date: 2010 Apr 27
4.2.6p2-RC1
Release Date: 2010 Apr 18
4.2.6p1
Release Date: 2010 Apr 09
4.2.6p1-RC6
Release Date: 2010 Mar 31
4.2.6p1-RC5
Release Date: 2010 Feb 09
4.2.6p1-RC4
Release Date: 2010 Feb 04
4.2.6p1-RC3
Release Date: 2010 Jan 24
4.2.6p1-RC2
Release Date: 2009 Dec 25
4.2.6p1-RC1
Release Date: 2009 Dec 20
4.2.6
Release Date: 2009 Dec 09
- CID 113: use
va_end()
in refclock_true.c true_debug()
.
- CID 105, 106: ensure
ntpdc
arrays are not overrun even if callers misbehave.
- CID 101: pointer/array cleanup.
- CIDs 94-99: make it more clearly impossible for
sock_hash()
to return a negative number.
- CID 87: dead code in
ntpq.c atoascii()
.
- CID 83: added assertion to demonstrate
config_nic_rules()
does not call strchr(NULL, '/')
.
- CID 81:
savedconfig
leaked in save_config()
.
- CID 80: attempt to quiet Coverity false positive re: leaking “reason” in
main()
.
- CID 79:
kod_init_kod_db()
fails to fclose(db_s)
in two error paths.
- Fix CID 72, a typo introduced at the latest fix to prettydate.c.
- CID 10: missing
free(up);
in refclock_palisade.c
error return, again.
- Bug 1400: An empty KOD DB file causes
sntp
to coredump.
- Bug 1397:
shmget() refclock_shm
failing because of file mode.
- Bug 1392:
intres
retries duplicate assocations endlessly.
- Bug 1391: avoid invoking autogen twice for
.c
and .h
files.
- Bug 1389: buffer overflow in
refclock_oncore.c
- Bug 1387: Storage leak in
ntp_intres
(minor).
- Bug 1386: Deferred DNS doesn’t work on NetBSD
- Bug 1384:
ntpq :config
core dumped with a blank password.
- Bug 1382: p245
configure --disable-dependency-tracking
won’t build.
- Bug 1381L Version
.deps
generated include file dependencies to allow known dependency-breaking changes to force .deps
to be cleaned, triggered by changing the contents of deps-ver
and/or sntp/deps-ver
.
- Bug 1378: Unnecessary resetting of peers during interface update.
- Bug 1376: Enable authenticated
ntpq
and ntpdc
using newly-available digest types.
- Bug 1371: deferred DNS lookup failing with
INFO_ERR_AUTH
.
- Bug 1368: typos in
libntp --without-crypto
case
- Bug 1366:
ioctl(TIOCSCTTY, 0)
fails on NetBSD [0-2]. > 3.99.7.
- Bug 1364:
clock_gettime()
not detected, need -lrt
on Debian 5.0.3.
- Bug 1363: CID 92 clarify fallthrough case in
clk_trimtsip.c
- Bug 1359: Debug message cleanup.
- Bug 1358: AIX 4.3
sntp/networking.c IPV6_JOIN_GROUP
undeclared.
- Bug 1357: bogus assert from
refclock_shm
.
- Bug 1356: core dump from
refclock_nmea
when can’t open /dev/gpsU
.
- Bug 1355: ntp-dev won’t compile on OpenBSD 4.6.
- Bug 1354: libtool error building after bootstrap with Autoconf 2.64.
- Bug 1353:
ntpq rv 0 settimeofday
always shows UNKNOWN on unix.
- Bug 1347:
ntpd/complete.conf
missing multicastclient test case.
- Bug 1346: keyword scanner broken where char defaults to unsigned.
- Bug 1345: illegal
grep
option prevents compilation.
- Bug 1343:
sntp
illegal C does not compile on Solaris 7.
- Bug 1342: ignore|drop one IPv6 address on an interface blocks all addresses on that interface.
- Bug 1341: NMEA driver requires working PPSAPI
#ifdef HAVE_PPSAPI
.
- Bug 1339: redux, use unmodified
lib/isc/win32/strerror.c
and move #define strerror...
to a header not used by lib/isc
code.
- Bug 1337: cast
setsockopt()
v4 address pointer to void *
.
- Bug 1335: Broadcast client degraded by wildcard default change.
- Bug 1334:
ntpsnmpd
undefined reference to ntpqOptions
.
- Bug 1333:
ntpd --interface
precedence over --novirtualips
lost.
- Bug 1332:
ntpq -c ‘rv 0 variablename’
returns extra stuff.
- Bug 1330: disallow interface/nic rules when
--novirtualips
or --interface
are used.
- Bug 1327:
ntpq, ntpdc, ntp-keygen -d
& -D
should work with configure --disable-debugging
.
- Bug 1324: support bracketed IPv6 numeric addresses for
restrict
.
- Bug 1323: Implement
revoke #
to match documentation, deprecate crypto revoke #
.
- Bug 1321: build doesn’t work if
.
isn’t on $PATH
.
- Bug 1318: Allow multiple -
g
options on ntpd
command line.
- Bug 1317: Distribute
cvo.sh
.
- Bug 1316: segfault if
refclock_nmea
can’t open file.
- Bug 1315:
interface ignore 0.0.0.0
is ignored.
- Bug 1314:
saveconfig
emits -4
and -6
on when not given.
- Bug 1312:
ntpq/ntpdc
MD5 passwords truncated to 8 chars on Suns.
- Bug 1311: 4.2.5p211 doesn’t build in no-debug mode.
- Bug 1310: fix Thunderbolt mode in
refclock_palisade.c
- Bug 1308: support systems that lack
fork()
.
- Bug 1303: remove top-level
autokey
directive.
- Bug 1302: OpenSSL under Windows needs
applink
support.
- Bug 1300: reject remote configuration of dangerous items.
- Bug 1297:
yylex()
must always set yylval
before returning.
- Bug 1296: Added Support for Trimble Acutime Gold.
- Bug 1295: leftover fix, do not crash on exit in
free_config_trap()
when trap 1.2.3.4
is used without any further options.
- Bug 1294: Use
OPENSSL_INC
and OPENSSL_LIB
macros for Windows and remove unnecessary reference to applink.c
for Windows
- Bug 1293: make configuration dumper ready for release
- Bug 1292: Workaround last VC6 unsigned
__int64
kink.
- Bug 1290: Fix to use
GETTIMEOFDAY
macro
- Bug 1289: Update project files for VC6, VS2003, VS2005, VS 2008
- Bug 1286:
dumpcfg
omits statsdir
, mangles filegen
.
- Bug 1285: Log
ntpq :config/config-from-file
events.
- Bug 1284: infinite loop in
ntpd
dumping more than one trustedkey
- Bug 1283: default to remembering KoD in
sntp
.
- Bug 1281: Build
ntpd
on Windows without big SDK download, burn, and install by checking in essentially unchanging messages.mc
build products to avoid requiring mc.exe
, which is not included with VC++ 2008 EE.
- Bug 1279: Cleanup for warnings from Veracode static analysis.
- Bug 1276: CID 52:
crypto_xmit()
may call crypto_alice[23]()
with NULL peer.
- Bug 1275: CID 45, CID 46: old
sntp
uses uninitialized guesses[0], precs[0]
.
- Bug 1274: CID 67: ensure
resolve_hosts()
output count and pointers are consistent.
- Bug 1273: CID 10: Palisade leaks unit struct in error path.
- Bug 1272:
gsoc_sntp
IPv6 build problems under HP-UX 10.
- Bug 1270: CID 70:
gsoc_sntp recv_bcst_data mdevadr.ipv6mr_interface
uninitialized.
- Bug 1269: CID 74: use assertion to ensure
move_fd()
does not return negative descriptors.
- Bug 1268: CID 63:
resolve_hosts()
leaks error message buffer.
- Bug 1267: CID 44: old
sntp handle_saving()
writes stack garbage to file when clearing.
- Bug 1266: CID 39:
datum_pts_start()
uninitialized arg.c_ospeed
.
- Bug 1265: CID 65: CID 66:
gsoc_sntp on_wire()
leaks x_pkt, r_pkt
.
- Bug 1264: CID 64:
gsoc_sntp on_wire()
frees wrong ptr receiving KoD.
- Bug 1263: CID 37, CID 38m CID 40, CID 43: multiple refclocks uninitialized
tm_zone (arc, chronolog, dumbclock, pcf
).
- Bug 1262: CID 35:
xpkt.mac
uninitialized in simulate_server()
.
- Bug 1261: CID 34:
simulate_server() rbuf.msg_flags
uninitialized.
- Bug 1260: CID 60:
gsoc_sntp recvpkt()
fails to free(rdata)
.
- Bug 1259: CID 59:
gsoc_sntp recv_bcast_data()
fails to free(rdata)
on error paths.
- Bug 1258: CID 54:
gsoc_sntp resolve_hosts()
needs simplification.
- Bug 1257: CID 57:
gsoc_sntp auth_init()
fails to fclose(keyfile)
.
- Bug 1256: CID 51: Coverity doesn’t recognize our assertion macros as terminal.
- Bug 1255: CID 55:
pkt_output()
leaks a copy of each packet.
- Bug 1254: CID 56:
tv_to_str()
leaks a struct
to each call.
- Bug 1253: CID 50:
gsoc_sntp/crypto.c auth_init()
always returns a list with one entry.
- Bug 1252: PPSAPI cleanup on
ntpd/refclock_wwvb.c
.
- Bug 1251: CID 68:
search_entry()
mishandles dst
argument.
- Bug 1250: CID 53:
kod_init_kod_db()
overruns kod_db malloc
’d buffer.
- Bug 1248:
RES_MSSNTP
typo in ntp_proto.c
.
- Bug 1246: use a common template for singly-linked lists, convert most doubly-linked lists to singly-linked.
- Bug 1245: Broken xmt time sent in
fast_xmit()
of 4.2.5p187.
- Bug 1244:
NTP_INSIST(fd != maxactivefd)
failure in intres
child
- Bug 1243:
MD5auth_setkey
zero-fills key from first zero octet.
- Bug 1242: Remove
--enable-wintime
, symmetric workaround is now always enabled.
- Bug 1238: use only
fudge time2
to offset NMEA serial timestamp.
- Bug 1237: Windows serial code treat
CR
and LF
both as line terminators.
- Bug 1236: Declaration order fixed.
- Bug 1234: convert NMEA driver to use common PPSAPI code.
- Bug 1233: atom refclock
fudge time1
sign flipped in 4.2.5p164.
- Bug 1231:
ntpsnmpd
build fails after sockaddr
union changes.
- Bug 1229:
autokey
segfaults in cert_install()
.
- Bug 1226: Fix deferred DNS lookups.
- Bug 1225: Broadcast address miscalculated on Windows 4.2.5p180
- Bug 1218: Correct comment in
refclock_oncore
on /etc/ntp.oncore*
configuration file search order.
- Bug 1215: unpeer by association ID
- Bug 1211:
keysdir free()
’d twice #ifdef DEBUG
- Bug 1210: ONCORE driver terminates
ntpd
without logging a reason.
- Bug 1208:
decodenetnum()
buffer overrun on [ with no ]
- Bug 1206: Required compiler changes for Windows
- Bug 1205: Add
ntpd --usepcc
and --pccfreq
options on Windows
- Bug 1204: Unix-style refclock device paths on Windows
- Bug 1200: Enable IPv6 in Windows port
- Bug 1196:
setsockopt(SO_EXCLUSIVEADDRUSE)
can fail on Windows 2000 and earlier with WSAINVAL
, do not log a complaint in that case.
- Bug 1193: Compile error: conflicting types for
emalloc
.
- Bug 1192:
restrict -6 ...
reports a syntax error.
- Bug 1190: NMEA refclock
fudge flag4 1
obscures position in timecode
- Bug 1184:
ntpd
is deaf when restricted to second IP on the same net
- Bug 1183: COM port support should extend past COM3
- Bug 1182: Documentation typos and missing bits.
- Bug 1180:
ntpd
won’t start with more than ~1000 interfaces
- Bug 1179: point out the problem with
-i/--jaildir
and -u/--user
when they are disabled by configure
.
- Bug 1176:
refclock_parse.c
does not compile without PPSAPI.
- Bug 1175: Instability in PLL daemon mode.
- Bug 1174:
nmea_shutdown
assumes that nmea has a unit assigned
- Bug 1173: NMEA refclock fails with Solaris PPSAPI
- Bug 1171: line editing libs found without headers (Solaris 11)
- Bug 1169: quiet compiler warnings
- Bug 1166: Remove truncation of position (blanking) code in
refclock_nmea.c
- Bug 1165: Clean up small memory leaks in the config file parser
- Bug 1161:
unpeer
AKA unconfig
command for ntpq :config
- Bug 1159:
ntpq
overlap diagnostic message test buggy
- Bug 1154: mDNS registration should be done later, repeatedly and only if asked for.
- Bug 1153:
refclock_nmea
should not mix UTC with GPS time
- Bug 1152: adjust PARSE to new
refclock_pps
logic
- Bug 1148: NMEA reference clock improvements
- Bug 1142:
nodebug
builds shed no light on -d, -D
option failure.
- Bug 1141:
refclock_report
missing braces cause spurious peer event: clock clk_unspec
log entries
- Bug 1135:
ntpq
uses sizeof(u_long)
where sizeof(u_int32)
is meant.
- Bug 1125: C runtime per-thread initialization on Windows
- Bug 1121: [CID 47] double
fclose()
in ntp-keygen.c
.
- Bug 1120: [CID 51] INSIST that peer is non-null before we dereference it.
- Bug 1119: [CID 52] Avoid a possible null-dereference in
ntp_crypto.c
.
- Bug 1118: Fixed sign extension for 32 bit
time_t
in caljulian()
and prettydate()
.
- Bug 1103: Fix 64-bit issues in the new calendar code.
- Bug 1099: Fixed wrong behaviour in
sntp
’s crypto.c
.
- Bug 1095: overflow in
caljulian.c
.
- Bug 1090: Fix bogus leap seconds in r
efclock_hpgps
.
- Bug 1084: PPSAPI for
ntpd
on Windows with DLL backends
- Bug 1078:
statsdir
configuration parsing is broken.
- Bug 1072: clock_update should not allow updates older than
sys_epoch
.
- Bug 1070: Fix use of
ntpq_parsestring()
in ntpsnmpd
.
- Bug 1069:
#undef netsnmp
’s PACKAGE_*
macros.
- Bug 1068: Older versions of
netsnmp
do not have netsnmp_daemonize()
.
- Bug 1067: Multicast DNS service registration must come after the fork on Solaris.
- Bug 1066: Error messages should log as errors.
- Bug 1065: Re-enable support for the
timingstats
file.
- Bug 1064: Implement
--with-net-snmp-config=progname
- Bug 1063:
ntpSnmpSubagentObject.h
is missing from the distribution.
- Bug 1062: Check
net-snmp
headers before deciding to build ntpsnmpd
.
- Bug 1057:
ntpdc unconfig
failure
- Bug 1052: Add linuxPPS support to ONCORE driver.
- Bug 1047: enable/disable options processing fix.
- Bug 1046:
refnumtoa.c
is using the wrong header file.
- Bug 1042: multicast listeners IPv4+6 ignore new interfaces.
- Bug 1041: xmt -> aorg timestamp cleanup from Dave Mills, reported by Dave Hart.
- Bug 1037: buffer in subroutine was 1 byte short.
- Bug 1033:
ntpdc/ntpq
crash prompting for keyid
on Windows
- Bug 1028: Support for W32Time authentication via Samba.
- Bug 1022: Fix compilation problems with yesterday’s commit.
- Bug 1011:
gmtime()
returns NULL on windows where it would not under Unix.
- Bug 1003:
ntpdc unconfig
command doesn’t prompt for keyid
.
- Bug 980: Direct
help
to stdout
.
- Bug 995: Remove spurious
;
from ntp-keygen.c
.
- Bug 992: support interface event change on Linux from Miroslav Lichvar.
- Bug 985: Modifications to NMEA reference clock driver to support Accord GPS Clock.
- Bug 983: add
interface [listen | ignore | drop] ...
directive.
- Bug 975: Pass
no_needed
to ntp_intres
as first part of fixing.
- Bug 965: CID 42:
ss_family
uninitialized.
- Bug 861: leap info was not being transmitted.
- Bug 833: ignore whitespace at end of remote configuration lines
- Bug 828: Fix IPv4/IPv6 address parsing.
- Bug 761: internal resolver does not seem to honor
-4/-6
qualifiers
- Bug 663: respect
ntpq -c
and -p
order on command line.
- Bug 610: NMEA support for using PPSAPI on a different device.
- Bug 508: Fixed leap second handling for Windows.
- Bug 474:
--disable-ipv6
is broken.
- Bug 399: NMEA refclock driver does not honor
time1
offset if flag3
set.
- Bug 320:
restrict default ignore
does not affect IPv6.
- Bug 216: New interpolation scheme for Windows eliminates
1ms
jitter
- Upgrade to autogen-5.10
- Include 4.2.4p7
- Include 4.2.4p7-RC7
- Include 4.2.4p7-RC6
- Include 4.2.4p7-RC5
- Include 4.2.4p7-RC4
- Include 4.2.4p7-RC3
- Include 4.2.4p7-RC2
- Include 4.2.4p7-RC1
- Include 4.2.4p6
- Include 4.2.4p5
Docs
- Documentation cleanup and updates.
- document
interface (alias nic)
and unpeer
.
accopt.html
typo fixes from Dave Mills.
authopt
documentation changes from Dave Mills/Dave Hart.
- Autokey documentation cleanup from Dave Mills.
- Clockhop and documentation fixes from Dave Mills.
decode.html
and driver20.html
updates from Dave Mills.
driver4.html
updates from Dave Mills.
- local refclock documentation updates from Dave Mills.
- Update NMEA refclock documentation in
html/drivers/driver20.html
- Typo fix to
driver20.html
.
keygen.html
updates from Dave Mills.
- Update documentation for
ntpq --old-rv, saveconfig, saveconfigdir, ntpd -I -L
and -M
, and interface/nic rules. (From Dave Hart)
prefer.html
updates from Dave Mills.
sntp
documentation updates and cleanup.
sntp
sntp
: clean up some error messages.
sntp
: Use the precision to control how many offset digits are shown.
sntp
: Show root dispersion.
sntp/main.c
: Remove duplicate global adr_buf[]
(also defined in networking.c
) which Piotr Grudzinski identified breaking his build.
- use all addresses resolved from each DNS name in
sntp
.
- install the binary and man page for
sntp
.
sntp
: out with the old, in with the new.
- Fix problem linking
msntp
on Solaris when sntp
subdir is configured before parent caused by different gethostent
library search order.
- remove deleted
gsoc_sntp/utilities.o
from repository so that .o
build products can be cleaned up without corrupting the repository.
- Renamed
gsoc_sntp/:fetch-stubs
to gsoc_sntp/fetch-stubs
to avoid file name problems under Windows.
- Update
gsoc_sntp
’s GCC warning code.
- Update Solaris
CFLAGS
for gsoc_sntp
.
- Deal with
time.h
for sntp
under linux.
- Provide
rpl_malloc()
for sntp
for systems that need it.
- Handle
ss_len
and socklen
type for sntp
.
- Fixes to the
sntp configure.ac
script.
sntp
cleanup and fixes.
- Imported GSoC SNTP code from Johannes Maximilian Kuehn.
- Enable
gcc -Wstrict-overflow
for gsoc_sntp
as well
ntpd
- Construct
ntpd
keyword scanner finite state machine at compile time rather than at runtime, shrink entries from 40+ to 8 bytes.
- Reclaim syntax tree memory after application in
ntpd
built with configure --disable-saveconfig
.
- Add test of
ntpd --saveconfigquit
fidelity using new complete.conf
.
- Add
ntpd --saveconfigquit <filename>
option for future build-time testing of saveconfig
fidelity.
- Regenerate
ntpd/ntp_parser.c
refclocks
- CHU frequency updates.
- Bracket private ONCORE debug statements with
#if 0
rather than #ifdef DEBUG
- Delete ONCORE debug statement that is now handled elsewhere.
- Change ONCORE driver to log using
msyslog
as well as to any clockstats
file.
- Enable ONCORE, ARCRON refclocks on Windows (untested)
- Spectracom refclock added to Windows port of
ntpd
- WWVB refclock cleanup from Dave Mills.
- Fixed the incorrect edge parameter being passed to
time_pps_kcbind
in NMEA refclock driver.
- Add
./configure --enable-force-defer-DNS
to help debugging.
- Cleanup from the
automake/autoconf
upgrades.
- Correct
*-opts.h
dependency so default get
action isn’t used.
ntp-keygen
, Autokey OpenSSL build vs. run version mismatch is now a non-fatal warning.
- new crypto signature cleanup.
- Fix authenticated
ntpdc
, broken in p240.
- Stub out
isc/mem.h
, shaving 47k from a MIPS ntpd
binary.
- Shrink keyword scanner FSM entries from 64 to 32 bits apiece.
authkeys.c
cleanup from Dave Mills.
- Remove unused file from
sntp/Makefile.am
’s distribution list.
- Provide all of OpenSSL’s signature methods for
ntp.keys
(FIPS 140-2).
- Allow
NTP_VPATH_HACK
configure test to handle newer gmake
versions.
- Get rid of configure tests for
__ss_family
and __ss_len
when the more common ss_family
and ss_len
are present.
- Do not attempt to execute built binaries from
ntpd/Makefile
when cross-compiling (keyword-gen
and ntpd --saveconfigquit
).
- Correct
in6addr_any
test in configure.ac
to attempt link too.
- Broadcast and transit phase cleanup from Dave Mills.
- Change
ntpsnmpd/Makefile.am
include file order to fix FreeBSD build.
- Clockhop and
autokey
cleanup from Dave Mills.
- Remove
tos maxhop
ntp.conf
knob.
- Update
libisc
code using bind-9.6.1-P1.tar.gz
, rearrange our copy to mirror the upstream layout (lib/isc/...
), and merge in NTP-local modifications to libisc
. There is a new procedure to ease future libisc
merges using a separate “upstream” bk
repo. That will enable normal bk pull automerge
to handle carrying forward any local changes and should enable us to take updated libisc
snapshots more often.
- Updated
build
and flock-build
scripts. flock-build --one
is a way to perform a flock-build
compatible solitary build, handy for a repo clone’s first build on a machine with autoconf, automake
, etc.
- Compiling
ntp_parser.y
using BSD make
correctly places ntp_parser.h
in the top-level ntpd
directory instead of A.*/ntpd
.
bootstrap
script updated to remove potentially stale .deps
dirs.
- Remove unneeded
Makefile.am
files from the lib/isc/include
tree.
- Rearrange
libisc
code to match the upstream layout in BIND. This is step one of two, changing the layout but keeping our existing libisc
.
- add implicit
nic ignore all
rule before any rules from ntp.conf
, so nic listen eth0
alone means the same as -I eth0
.
- add wildcard match class for interface/nic rules.
- fix mistaken carryover of
prefixlen
from one rule to the next.
- Ensure IPv6 localhost address
::1
is included in libisc
’s Windows IPv6 address enumeration, allowing ntpq
and ntpdc
’s hardcoding to 127.0.0.1 on Windows to end.
- correct parsing and processing of
setvar
directive.
- highlight location of
ntpq :config
syntax errors with ^
.
- clarify (former)
NO_ARG, SINGLE_ARG, MULTIPLE_ARG
renaming to FOLLBY_TOKEN, FOLLBY_STRING, FOLLBY_STRINGS_TO_EOC
.
parser, saveconfig
cleanup to store T_ identifiers
in syntax tree.
- use
nic listen 192.168.0.0/16
instead of nic listen 192.168.0.0 prefixlen 16
.
- Correct syntax error line & column numbers.
- Make the code agree with the spec and the book (Dave Mills).
- clean up numerous
sntp/kod_management.c
bugs.
- Add
ntpq -c dumpcfg
, Google Summer of Code project of Max Kuehn
- The build script now has
.
at the end of PATH
for config.guess
.
cvo.sh
: Add support for CentOS, Fedora, Slackware, SuSE, and QNX.
- Use
scripts/cvo.sh
in the build
script to get better subdir names.
- Log warning about
signd
blocking when restrict mssntp
used.
- Added
restrict
keyword mssntp
for Samba4 DC operation, by Dave Mills.
ntp_proto.c
cleanup from Dave Mills.
timepps-Solaris.h pps_handle_t
changed from pointer to scalar
- Add missing header dependencies to the
ntpdc
layout verification.
- Use a union for structs
sockaddr, sockaddr_storage, sockaddr_in
, and sockaddr_in6
to remove casts and enable type checking. Collapse some previously separate IPv4/IPv6 paths into a single codepath.
- Lose
FLAG_FIXPOLL
, from Dave Mills.
- Leap/expire cleanup from Dave Mills.
- Provide
erealloc()
and estrdup()
, a la emalloc()
.
- Improve
ntp.conf
’s parser error messages.
- Clean up
configure.ac NTP_CACHEVERSION
interface, display cache version when clearing. Fixes a regression.
- Stale leapsecond file fixes from Dave Mills.
- Do not clear
config.cache
when it is empty.
- loopfilter FLL/PLL crossover cleanup from Dave Mills.
ntp-keygen
cleanup from Dave Mills.
- crypto API cleanup from Dave Mills.
- Add
NTP_CACHEVERSION
mechanism to ignore incompatible config.cache
- Re-enable
gcc -Wstrict-prototypes
when not building with OpenSSL
- Enable
gcc -Wstrict-overflow
ntpq/ntpdc
emit newline after accepting password on Windows
ntp-keygen.c
: Updates.
- Fix the error return and
syslog
function ID in refclock_{param,ppsapi}
.
- Make sure
syspoll
is within the peer’s minpoll/maxpoll
bounds.
ntp_crypto.c
: Use sign_siglen
, not len
. sign key filename cleanup.
- Bump
NTP_MAXEXTEN
from 1024 to 2048, update values for some field lengths.
m4/ntp_lineeditlibs.m4:
fix warnings from newer Autoconf
- Crypto cleanup from Dave Mills.
- Correct
logconfig
keyword declaration to MULTIPLE_ARG
- Enable filename and line number leak reporting on Windows when built
DEBUG
for all the typical C runtime allocators such as calloc, malloc
, and strdup
. Previously only emalloc
calls were covered.
- Add
DEBUG-only
code to free dynamically allocated memory that would otherwise remain allocated at ntpd
exit, to allow less forgivable leaks to stand out in leaks reported after exit.
- Ensure termination of strings in
ports/winnt/libisc/isc_strerror.c
and quiet compiler warnings.
- PPS and crypto cleanup in
ntp_proto.c
from Dave Mills.
- Code cleanup: requested_key -> request_key.
- quiet
ntp_parser.c malloc
redeclaration warning
- Mitigation and PPS/PPSAPI cleanup from Dave Mills.
timepps-Solaris.h
patches from Dave Hart.
- PPS/PPSAPI cleanup from Dave Mills.
- Mitigation and PPS cleanup from Dave Mills.
- remove a bunch of
#ifdef SYS_WINNT
from portable code
- 64-bit
time_t
cleanup for building on newer Windows compilers
- Only set CMOS clock during
ntpd
exit on Windows if the computer is shutting down or restarting.
bias
changes from Dave Mills.
- Cleanup/fixes for
ntp_proto.c
and ntp_crypto.c
from Dave Mills.
- Design assertion fixes for
ntp_crypto.c
from Dave Mills.
- Removed German umlaut from log msg for 4.2.5p142.
- Stats file logging cleanup from Dave Mills.
- Fixed mismatches in data types and OID definitions in
ntpSnmpSubAgent.c
- added a premliminary MIB file to
ntpsnmpd (ntpv4-mib.mib)
- Provide
INET6_ADDRSTRLEN
if it is missing.
- Use
int32
, not int32_t
.
- Avoid the
sched*()
functions under OSF - link problems.
- New
caltontp.c
and calyearstart.c
from Juergen Perlinger.
- Cleanup lint from the
ntp_scanner
files.
- Updated
caljulian.c
and prettydate.c
from Juergen Perlinger.
- IPv6 interfaces were being looked for twice.
- SHM driver grabs more samples, add
clockstats
- Clean up build process for
ntpsnmpd
.
- Add options processing to
ntpsnmpd
.
- Clean up the
libntpq.a
build.
- Regenerate
ntp_parser.[ch]
from ntp_parser.y
- Quiet some
libntpq
-related warnings.
- Import Heiko Gerstung’s GSoC2008 NTP MIB daemon.
- Stop libtool-1.5 from looking for C++ or Fortran.
- Fix a corner case where a frequency update was reported but not set. When
LEAP_NOTINSYNC
->LEAP_NOWARNING
, call crypto_update()
if we have crypto_flags.
- header file cleanup.
configure.ac
: cleanup, add option for wintime
, and lay the groundwork for the changes needed for bug 1028.
- Fixes from Dave Mills:
bias
and interleave
work. Separate phase and frequency discipline (for long poll intervals). Update TAI function to match current leapsecond processing.
- poll time updates from Dave Mills.
Updates and cleanup from Dave Mills
I’ve now spent eleven months of a sabbatical year - 7 days a week, 6-10 hours most days - working on NTP. I have carefully reviewed every major
algorithm, examined its original design and evolution from that design. I’ve trimmed off dead code and briar patches and did zillions of tests contrived to expose evil vulnerabilities. The development article is in rather good shape and should be ready for prime time.
-
The protostats
statistics files have been very useful in exposing little twitches and turns when something hiccups, like a broken PPS signal. Most of what used to be syslog
messages are now repackaged as protostats
messages with optional syslog
as well. These can also be sent as traps which might be handy to tiggle a beeper or celltext. These, the sysstats
files and cryptostats
files reveal the ambient health of a busy server, monitor traffic and error counts and spot crypto attacks.
-
Close inspection of the clock discipline behavior at long poll intervals (36 h) showed it not doing as well as it should. I redesigned the FLL loop to improve nominal accuracy from several tens of milliseconds to something less than ten milliseconds.
-
Autokey (again). The enhanced error checking was becoming a major pain. I found a way to toss out gobs of ugly fat code and replace the function with a much simpler and more comprehensive scheme. It resists bait-and-switch attacks and quickly detect cases when the protocol is not correctly synchronized.
-
The interface code for the kernel PPS signal was not in sync with the kernel code itself. Some error checks were duplicated and some ineffective. I found none of the PPS-capable drivers, including the atom driver, do anything when the prefer peer fails; the kernel PPS signal remains in control. The atom driver now disables the kernel PPS when the prefer peer comes bum. This is important when the prefer peer is not a reference clock but a remote NTP server.
-
The flake restrict
bit turned out to be really interesting, especially with symmetric modes and of those especially those using Autokey. Small changes in the recovery procedures when packets are lost now avoid almost all scenarios which previously required protocol resets.
-
I’ve always been a little uncomfortable when using the clock filter with long poll intervals because the samples become less and less correlated as the sample age exceeds the Allan intercept. Various schemes have been used over the years to cope with this fact. The latest one and the one that works the best is to use a modified sort metric where the delay is used when the age of the sample is less than the intercept and the sum of delay and dispersion above that. The net result is that, at small poll intervals the algorithm operates as a minimum filter, while at larger poll intervals it morphs to FIFO. Left unmodified, a sample could be used when twelve days old. This along with the FLL modifications has made a dramatic improvement at large poll intervals.
-
Backward Incompatible: The state
variable is no longer reported or available via ntpq
output. The following system status bit names have been changed:
sync_alarm
-> leap_alarm
sync_atomic
-> sync_pps
sync_lf_clock
-> sync_lf_radio
sync_hf_clock
-> sync_hf_radio
sync_uhf_clock
-> sync_uhf_radio
sync_local_proto
-> sync_local
sync_udp/time
-> sync_other
Other names have been changed as well. See the change history for libntp/statestr.c
for more details. Other backward-incompatible changes in ntpq
include:
assID
-> associd
rootdispersion
-> rootdisp
pkt_head
-> pkt_neader
See the change history for other details.