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.