From: Dave Hart Date: Sun, 12 Dec 2010 07:40:41 +0000 (+0000) Subject: Merge shiny.ad.hartbrothers.com:C:/ntp/ntp-stable-1741 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=24fa494a04ef81884f945604a300307fa01fceb8;p=thirdparty%2Fntp.git Merge shiny.ad.hartbrothers.com:C:/ntp/ntp-stable-1741 into shiny.ad.hartbrothers.com:C:/ntp/ntp-dev-1741 bk: 4d047c79TdJav8iVbchTmEUcjkquuw --- 24fa494a04ef81884f945604a300307fa01fceb8 diff --cc ChangeLog index a1dc22cd1f,d52bfca4ba..cd903c01e5 --- a/ChangeLog +++ b/ChangeLog @@@ -1,527 -1,6 +1,541 @@@ ++* [Bug 1741] from 4.2.6p3-RC12: Enable multicast reception on each ++ address (Windows). ++* from 4.2.6p3-RC12: Other manycastclient repairs: ++ Separate handling of scope ID embedded in many in6_addr from ifindex ++ used for IPv6 multicasting ioctls. ++ Add INT_PRIVACY endpt bit flag for IPv6 RFC 4941 privacy addresses. ++ Enable outbound multicast from only one address per interface in the ++ same subnet, and in that case prefer embedded MAC address modified ++ EUI-64 IPv6 addresses first, then static, and last RFC 4941 privacy ++ addresses. ++ Use setsockopt(IP[V6]_MULTICAST_IF) before each send to multicast to ++ select the local source address, using the correct socket is not ++ enough. +(4.2.7p92) 2010/12/08 Released by Harlan Stenn +* [Bug 1743] from 4.2.6p3-RC12: Display timezone offset when showing + time for sntp in the local timezone. +(4.2.7p91) 2010/12/07 Released by Harlan Stenn +* [Bug 1732] ntpd ties up CPU on disconnected USB device. +* [Bug 1742] form 4.2.6p3-RC12: Fix a typo in an error message in the + "build" script. +(4.2.7p90) 2010/12/06 Released by Harlan Stenn +* [Bug 1738] Windows ntpd has wrong net adapter name. +* [Bug 1740] ntpdc -c reslist packet count wrongly treated as signed. +(4.2.7p89) 2010/12/04 Released by Harlan Stenn +* [Bug 1736] tos int, bool options broken in 4.2.7p66. +* from 4.2.6p3-RC12: Clean up the SNTP documentation. +(4.2.7p88) 2010/12/02 Released by Harlan Stenn +* [Bug 1735] 'clocktime()' aborts ntpd on bogus input +(4.2.7p87) 2010/12/01 Released by Harlan Stenn +* from 4.2.6p3-RC12: Clean up m4 quoting in configure.ac, *.m4 files, + resolving intermittent AC_LANG_PROGRAM possibly undefined errors. +(4.2.7p86) 2010/11/29 Released by Harlan Stenn +* Documentation updates from Dave Mills. +(4.2.7p85) 2010/11/24 Released by Harlan Stenn +* Documentation updates from Dave Mills. +(4.2.7p84) 2010/11/22 Released by Harlan Stenn +* [Bug 1618] Unreachable code in jjy_start(). +* [Bug 1725] from 4.2.6p3-RC11: ntpd sends multicast from only one + address. +* from 4.2.6p3-RC11: Upgrade libopts to 33.3.8. +* from 4.2.6p3-RC11: Bump minimum Automake version to 1.11, required for + AM_COND_IF use in LIBOPTS_CHECK. +* An almost complete rebuild of the initial loopfilter configuration + process, including the code that determines the interval between + frequency file updates, from Dave Mills. +* Documentation updates from Dave Mills. +* Add ntp-keygen -l/--lifetime to control certificate expiry. +* JJY driver improvements for Tristate JJY01/02, including changes + to its clockstats format. +* Add "nonvolatile" ntp.conf directive to control how often the + driftfile is written. +(4.2.7p83) 2010/11/17 Released by Harlan Stenn +* [Bug 1727] ntp-keygen PLEN, ILEN undeclared --without-crypto. +* Remove top-level libopts, use sntp/libopts. +* from 4.2.6p3-RC11: Remove log_msg() and debug_msg() from sntp in favor + of msyslog(). +* Documentation updates from Dave Mills. +(4.2.7p82) 2010/11/16 Released by Harlan Stenn +* [Bug 1728] from 4.2.6p3-RC11: In ntp_openssl.m4, don't add + -I/usr/include or -L/usr/lib to CPPFLAGS or LDFLAGS. +(4.2.7p81) 2010/11/14 Released by Harlan Stenn +* [Bug 1681] from 4.2.6p3-RC10: More sntp logging cleanup. +* [Bug 1683] from 4.2.6p3-RC10: Non-localhost on loopback exempted from + nic rules. +* [Bug 1719] Cleanup for ntp-keygen and fix -V crash, from Dave Mills. +(4.2.7p80) 2010/11/10 Released by Harlan Stenn +* [Bug 1574] from 4.2.6p3-RC9: sntp doesn't set tv_usec correctly. +* [Bug 1681] from 4.2.6p3-RC9: sntp logging cleanup. +* [Bug 1683] from 4.2.6p3-RC9: Interface binding does not seem to work + as intended. +* [Bug 1708] make check fails with googletest 1.4.0. +* [Bug 1709] from 4.2.6p3-RC9: ntpdate ignores replies with equal + receive and transmit timestamps. +* [Bug 1715] sntp utilitiesTest.IPv6Address failed. +* [Bug 1718] Improve gtest checks in configure.ac. +(4.2.7p79) 2010/11/07 Released by Harlan Stenn +* Correct frequency estimate with no drift file, from David Mills. +(4.2.7p78) 2010/11/04 Released by Harlan Stenn +* [Bug 1697] filegen implementation should be improved. +* Refactor calendar functions in terms of new common code. +* Documentation updates from Dave Mills. +(4.2.7p77) 2010/11/03 Released by Harlan Stenn +* [Bug 1692] packageinfo.sh needs to be "sourced" using ./ . +* [Bug 1695] ntpdate takes longer than necessary. +(4.2.7p76) 2010/11/02 Released by Harlan Stenn +* [Bug 1690] Unit tests fails to build on some systems. +* [Bug 1691] Use first NMEA sentence each second. +* Put the sntp tests under sntp/ . +* ... and only build/run them if we have gtest. +* Documentation updates from Dave Mills. +(4.2.7p75) 2010/10/30 Released by Harlan Stenn +* Documentation updates from Dave Mills. +* Include Linus Karlsson's GSoC 2010 testing code. +(4.2.7p74) 2010/10/29 Released by Harlan Stenn +* [Bug 1685] from 4.2.6p3-RC8: NMEA driver mode byte confusion. +* from 4.2.6p3-RC8: First cut at using scripts/checkChangeLog. +* Documentation updates from Dave Mills. +(4.2.7p73) 2010/10/27 Released by Harlan Stenn +* [Bug 1680] Fix alignment of clock_select() arrays. +* refinements to new startup behavior from David Mills. +* For the bootstrap script, touch .html files last. +* Add 'make check' test case that would have caught [Bug 1678]. +(4.2.7p72) 2010/10/26 Released by Harlan Stenn +* [Bug 1679] Fix test for -lsocket. +* Clean up missing ;; entries in configure.ac. +(4.2.7p71) 2010/10/25 Released by Harlan Stenn +* [Bug 1676] from 4.2.6p3-RC7: NMEA: $GPGLL did not work after fix + for Bug 1571. +* [Bug 1678] "restrict source" treated as "restrict default". +* from 4.2.6p3-RC7: Added scripts/checkChangeLog. +(4.2.7p70) 2010/10/24 Released by Harlan Stenn +* [Bug 1571] from 4.2.6p3-RC6: NMEA does not relate data to PPS edge. +* [Bug 1572] from 4.2.p63-RC6: NMEA time adjustment for GPZDG buggy. +* [Bug 1675] from 4.2.6p3-RC6: Prohibit includefile remote config. +* Enable generating ntpd/ntp_keyword.h after keyword-gen.c changes on + Windows as well as POSIX platforms. +* Fix from Dave Mills for a rare singularity in clock_combine(). +(4.2.7p69) 2010/10/23 Released by Harlan Stenn +* [Bug 1671] Automatic delay calibration is sometimes inaccurate. +(4.2.7p68) 2010/10/22 Released by Harlan Stenn +* [Bug 1669] from 4.2.6p3-RC5: NTP fails to compile on IBM AIX 5.3. +* [Bug 1670] Fix peer->bias and broadcastdelay. +* Documentation updates from Dave Mills. +* Documentation EOL cleanup. +(4.2.7p67) 2010/10/21 Released by Harlan Stenn +* [Bug 1649] from 4.2.6p3-RC5: Require NMEA checksum if $GPRMC or + previously seen. +(4.2.7p66) 2010/10/19 Released by Harlan Stenn +* [Bug 1277] Provide and use O(1) FIFOs, esp. in the config tree code. +* Remove unused 'bias' configuration keyword. +(4.2.7p65) 2010/10/16 Released by Harlan Stenn +* [Bug 1584] from 4.2.6p3-RC4: wrong SNMP type for precision, + resolution. +* Remove 'calldelay' and 'sign' remnants from parser, ntp_config.c. +(4.2.7p64) 2010/10/15 Released by Harlan Stenn +* [Bug 1584] from 4.2.6p3-RC3: ntpsnmpd OID must be mib-2.197. +* [Bug 1659] from 4.2.6p3-RC4: Need CLOCK_TRUETIME not CLOCK_TRUE. +* [Bug 1663] ntpdsim should not open net sockets. +* [Bug 1665] from 4.2.6p3-RC4: is_anycast() u_int32_t should be u_int32. +* from 4.2.6p3: ntpsnmpd, libntpq warning cleanup. +* Remove 'calldelay' and 'sign' keywords (Dave Mills). +* Documentation updates from Dave Mills. +(4.2.7p63) 2010/10/13 Released by Harlan Stenn +* [Bug 1080] from 4.2.6p3-RC3: ntpd on ipv6 routers very chatty. +* Documentation nit cleanup. +* Documentation updates from Dave Mills. +(4.2.7p62) 2010/10/12 Released by Harlan Stenn +* [Bug 750] from 4.2.6p3-RC3: Non-existing device causes coredump with + RIPE-NCC driver. +* [Bug 1567] from 4.2.6p3-RC3: Support Arbiter 1093C Satellite Clock on + Windows. +* [Bug 1581] from 4.2.6p3-RC3: printf format string mismatch leftover. +* [Bug 1659] from 4.2.6p3-RC3: Support Truetime Satellite Clocks on + Windows. +* [Bug 1660] from 4.2.6p3-RC3: On some systems, test is in /usr/bin, not + /bin. +* [Bug 1661] from 4.2.6p3-RC3: Re-indent refclock_ripencc.c. +* Lose peer_count from ntp_peer.c and ntp_proto.c (Dave Mills). +* Documentation updates from Dave Mills. +(4.2.7p61) 2010/10/06 Released by Harlan Stenn +* Documentation and code cleanup from Dave Mills. No more NTP_MAXASSOC. +(4.2.7p60) 2010/10/04 Released by Harlan Stenn +* Documentation updates from Dave Mills. +(4.2.7p59) 2010/10/02 Released by Harlan Stenn +* Documentation updates from Dave Mills. +* Variable name cleanup from Dave Mills. +* [Bug 1657] darwin needs res_9_init, not res_init. +(4.2.7p58) 2010/09/30 Released by Harlan Stenn +* Clock select bugfix from Dave Mills. +* [Bug 1554] peer may stay selected as system peer after becoming + unreachable. +* [Bug 1644] from 4.2.6p3-RC3: cvo.sh should use lsb_release to identify + linux distros. +* [Bug 1646] ntpd crashes with relative path to logfile. +(4.2.7p57) 2010/09/27 Released by Harlan Stenn +* Documentation updates from Dave Mills. +(4.2.7p56) 2010/09/25 Released by Harlan Stenn +* Clock combining algorithm improvements from Dave Mills. +* Documentation updates from Dave Mills. +* [Bug 1642] ntpdsim can't find simulate block in config file. +* [Bug 1643] from 4.2.6p3-RC3: Range-check the decoding of the RIPE-NCC + status codes. +(4.2.7p55) 2010/09/22 Released by Harlan Stenn +* Documentation updates from Dave Mills. +* [Bug 1636] from 4.2.6p3-RC2: segfault after denied remote config. +(4.2.7p54) 2010/09/21 Released by Harlan Stenn +* More Initial convergence improvements from Dave Mills. +* Documentation updates from Dave Mills. +* [Bug 1635] from 4.2.6p3-RC2: "filegen ... enable" is not default. +(4.2.7p53) 2010/09/20 Released by Harlan Stenn +* Documentation updates from Dave Mills. +* More Initial convergence improvements from Dave Mills. +(4.2.7p52) 2010/09/19 Released by Harlan Stenn +* Initial convergence improvements from Dave Mills. +(4.2.7p51) 2010/09/18 Released by Harlan Stenn +* [Bug 1344] from 4.2.6p3-RC1: ntpd on Windows exits without logging + cause. +* [Bug 1629] 4.2.7p50 configure.ac changes invalidate config.cache. +* [Bug 1630] 4.2.7p50 cannot bootstrap on Autoconf 2.61. +(4.2.7p50) 2010/09/16 Released by Harlan Stenn +* Cleanup NTP_LIB_M. +* [Bug 1628] Clean up -lxnet/-lsocket usage for (open)solaris. +(4.2.7p49) 2010/09/13 Released by Harlan Stenn +* Documentation updates from Dave Mills. +(4.2.7p48) 2010/09/12 Released by Harlan Stenn +* Documentation updates from Dave Mills. +(4.2.7p47) 2010/09/11 Released by Harlan Stenn +* Documentation updates from Dave Mills. +* [Bug 1588] finish configure --disable-autokey implementation. +* [Bug 1616] refclock_acts.c: if (pp->leap == 2) is always false. +* [Bug 1620] [Backward Incompatible] "discard minimum" value should be in + seconds, not log2 seconds. +(4.2.7p46) 2010/09/10 Released by Harlan Stenn +* Use AC_SEARCH_LIBS instead of AC_CHECK_LIB for NTP_LIB_M. +(4.2.7p45) 2010/09/05 Released by Harlan Stenn +* [Bug 1578] Consistently use -lm when needed. +(4.2.7p44) 2010/08/27 Released by Harlan Stenn +* [Bug 1573] from 4.2.6p3-beta1: Miscalculation of offset in sntp. +(4.2.7p43) 2010/08/26 Released by Harlan Stenn +* [Bug 1602] Refactor some of the sntp/ directory to facililtate testing. +(4.2.7p42) 2010/08/18 Released by Harlan Stenn +* [Bug 1593] ntpd abort in free() with logconfig syntax error. +* [Bug 1595] from 4.2.6p3-beta1: empty last line in key file causes + duplicate key to be added +* [Bug 1597] from 4.2.6p3-beta1: packet processing ignores RATE KoD packets, + Because of a bug in string comparison. +(4.2.7p41) 2010/07/28 Released by Harlan Stenn +* [Bug 1581] from 4.2.6p3-beta1: ntp_intres.c size_t printf format + string mismatch. +* [Bug 1586] ntpd 4.2.7p40 doesn't write to syslog after fork on QNX. +* Avoid race with parallel builds using same source directory in + scripts/genver by using build directory for temporary files. +* orphanwait documentation updates. +(4.2.7p40) 2010/07/12 Released by Harlan Stenn +* [Bug 1395] ease ntpdate elimination with ntpd -w/--wait-sync +* [Bug 1396] allow servers on ntpd command line like ntpdate +(4.2.7p39) 2010/07/09 Released by Harlan Stenn +* Fix typo in driver28.html. +* [Bug 1581] from 4.2.6p2: size_t printf format string mismatches, IRIG + string buffers undersized. Mostly backported from earlier ntp-dev + fixes by Juergen Perlinger. +(4.2.7p38) 2010/06/20 Released by Harlan Stenn +* [Bug 1570] backported to 4.2.6p2-RC7. +* [Bug 1575] from 4.2.6p2-RC7: use 'snprintf' with LIB_BUFLENGTH in + inttoa.c, tvtoa.c and utvtoa.c +* [Bug 1576] backported to 4.2.6p2-RC7. +* Typo fix in a comment in ntp_proto.c. +(4.2.7p37) 2010/06/19 Released by Harlan Stenn +* [Bug 1576] sys/sysctl.h depends on sys/param.h on OpenBSD. +(4.2.7p36) 2010/06/15 Released by Harlan Stenn +* [Bug 1560] Initial support for orphanwait, from Dave Mills. +* clock_filter()/reachability fixes from Dave Mills. +(4.2.7p35) 2010/06/12 Released by Harlan Stenn +* Rewrite of multiprecision macros in 'ntp_fp.h' from J. Perlinger + +* [Bug 715] from 4.2.6p2-RC6: libisc Linux IPv6 interface iteration + drops multicast flags. +(4.2.7p34) 2010/06/05 Released by Harlan Stenn +* [Bug 1570] serial clock drivers get outdated input from kernel tty + line buffer after startup +(4.2.7p33) 2010/06/04 Released by Harlan Stenn +* [Bug 1561] from 4.2.6p2-RC5: ntpq, ntpdc "passwd" prompts for MD5 + password w/SHA1. +* [Bug 1565] from 4.2.6p2-RC5: sntp/crypto.c compile fails on MacOS over + vsnprintf(). +* from 4.2.6p2-RC5: Windows port: do not exit in + ntp_timestamp_from_counter() without first logging the reason. +(4.2.7p32) 2010/05/19 Released by Harlan Stenn +* Copyright file cleanup from Dave Mills. +* [Bug 1555] from 4.2.6p2-RC4: sntp illegal C (mixed code and + declarations). +* [Bug 1558] pool prototype associations have 0.0.0.0 for remote addr. +* configure.ac: add --disable-autokey, #define AUTOKEY to enable future + support for building without Autokey, but with OpenSSL for its digest + algorithms (hash functions). Code must be modified to use #ifdef + AUTOKEY instead of #ifdef OPENSSL where appropriate to complete this. +* include/ntp_crypto.h: make assumption AUTOKEY implies OPENSSL explicit. +(4.2.7p31) 2010/05/11 Released by Harlan Stenn +* [Bug 1325] from 4.2.6p2-RC3: unreachable code sntp recv_bcst_data(). +* [Bug 1459] from 4.2.6p2-RC3: sntp MD5 authentication does not work + with ntpd. +* [Bug 1552] from 4.2.6p2-RC3: update and complete broadcast and crypto + features in sntp. +* [Bug 1553] from 4.2.6p2-RC3: sntp/configure.ac OpenSSL support. +* from 4.2.6p2-RC3: Escape unprintable characters in a refid in ntpq -p + billboard. +* from 4.2.6p2-RC3: Simplify hash client code by providing OpenSSL + EVP_*() API when built without OpenSSL. (already in 4.2.7) +* from 4.2.6p2-RC3: Do not depend on ASCII in sntp. +(4.2.7p30) 2010/05/06 Released by Harlan Stenn +* [Bug 1526] ntpd DNS pipe read EINTR with no network at startup. +* Update the ChangeLog entries when merging items from -stable. +(4.2.7p29) 2010/05/04 Released by Harlan Stenn +* [Bug 1542] ntpd mrulist response may have incorrect last.older. +* [Bug 1543] ntpq mrulist must refresh nonce when retrying. +* [Bug 1544] ntpq mrulist sscanf timestamp format mismatch on 64-bit. +* Windows compiling hints/winnt.html update from G. Sunil Tej. +(4.2.7p28) 2010/05/03 Released by Harlan Stenn +* [Bug 1512] from 4.2.6p2-RC3: ntpsnmpd should connect to net-snmpd + via a unix-domain socket by default. + Provide a command-line 'socket name' option. +* [Bug 1538] from 4.2.6p2-RC3: update refclock_nmea.c's call to + getprotobyname(). +* [Bug 1541] from 4.2.6p2-RC3: Fix wrong keyword for "maxclock". +(4.2.7p27) 2010/04/27 Released by Harlan Stenn +(4.2.7p26) 2010/04/24 Released by Harlan Stenn +* [Bug 1465] from 4.2.6p2-RC2: Make sure time from TS2100 is not + invalid (backport from -dev). +* [Bug 1528] from 4.2.6p2-RC2: Fix EDITLINE_LIBS link order for ntpq + and ntpdc. +* [Bug 1531] Require nonce with mrulist requests. +* [Bug 1532] Remove ntpd support for ntpdc's monlist in favor of ntpq's + mrulist. +* [Bug 1534] from 4.2.6p2-RC2: conflicts with VC++ 2010 errno.h. +* [Bug 1535] from 4.2.6p2-RC2: "restrict -4 default" and "restrict + -6 default" ignored. +(4.2.7p25) 2010/04/20 Released by Harlan Stenn +* [Bug 1528] from 4.2.6p2-RC2: Remove --with-arlib from br-flock. +* [Bug 1503] [Bug 1504] [Bug 1518] [Bug 1522] from 4.2.6p2-RC2: + all of which were fixed in 4.2.7 previously. +(4.2.7p24) 2010/04/13 Released by Harlan Stenn +* [Bug 1390] Control PPS on the Oncore M12. +* [Bug 1518] Windows ntpd should lock to one processor more + conservatively. +* [Bug 1520] '%u' formats for size_t gives warnings with 64-bit builds. +* [Bug 1522] Enable range syntax "trustedkey (301 ... 399)". +* Documentation updates for 4.2.7p22 changes and additions, updating + ntpdc.html, ntpq.html, accopt.html, confopt.html, manyopt.html, + miscopt.html, and miscopt.txt. +* accopt.html: non-ntpport doc changes from Dave Mills. +* Modify full MRU list preemption when full to match "discard monitor" + documentation, by removing exception for count == 1. +(4.2.7p23) 2010/04/04 Released by Harlan Stenn +* [Bug 1516] unpeer by IP address fails, DNS name works. +* [Bug 1517] ntpq and ntpdc should verify reverse DNS before use. + ntpq and ntpdc now use the following format for showing purported + DNS names from IP address "reverse" DNS lookups when the DNS name + does not exist or does not include the original IP address among + the results: "192.168.1.2 (fake.dns.local)". +(4.2.7p22) 2010/04/02 Released by Harlan Stenn +* [Bug 1432] Don't set inheritable flag for linux capabilities. +* [Bug 1465] Make sure time from TS2100 is not invalid. +* [Bug 1483] AI_NUMERICSERV undefined in 4.2.7p20. +* [Bug 1497] fudge is broken by getnetnum() change. +* [Bug 1503] Auto-enabling of monitor for "restrict ... limited" wrong. +* [Bug 1504] ntpdate tickles ntpd "discard minimum 1" rate limit if + "restrict ... limited" is used. +* ntpdate: stop querying source after KoD packet response, log it. +* ntpdate: rate limit each server to 2s between packets. +* From J. N. Perlinger: avoid pointer wraparound warnings in dolfptoa(), + printf format mismatches with 64-bit size_t. +* Broadcast client (ephemeral) associations should be demobilized only + if they are not heard from for 10 consecutive polls, regardless of + surviving the clock selection. Fix from David Mills. +* Add "ntpq -c ifstats" similar to "ntpdc -c ifstats". +* Add "ntpq -c sysstats" similar to "ntpdc -c sysstats". +* Add "ntpq -c monstats" to show monlist knobs and stats. +* Add "ntpq -c mrulist" similar to "ntpdc -c monlist" but not + limited to 600 rows, and with filtering and sorting options: + ntpq -c "mrulist mincount=2 laddr=192.168.1.2 sort=-avgint" + ntpq -c "mrulist sort=addr" + ntpq -c "mrulist mincount=2 sort=count" + ntpq -c "mrulist sort=-lstint" +* Modify internal representation of MRU list to use l_fp fixed-point + NTP timestamps instead of seconds since startup. This increases the + resolution and substantially improves accuracy of sorts involving + timestamps, at the cost of flushing all MRU entries when the clock is + stepped, to ensure the timestamps can be compared with the current + get_systime() results. +* Add ntp.conf "mru" directive to configure MRU parameters, such as + "mru mindepth 600 maxage 64 maxdepth 5000 maxmem 1024" or + "mru initalloc 0 initmem 16 incalloc 99 incmem 4". Several pairs are + equivalent with one in units of MRU entries and its twin in units of + kilobytes of memory, so the last one used in ntp.conf controls: + maxdepth/maxmem, initalloc/initmem, incalloc/incmem. With the above + values, ntpd will preallocate 16kB worth of MRU entries, allocating + 4kB worth each time more are needed, with a hard limit of 1MB of MRU + entries. Until there are more than 600 entries none would be reused. + Then only entries for addresses last seen 64 seconds or longer ago are + reused. +* Limit "ntpdc -c monlist" response in ntpd to 600 entries, the previous + overall limit on the MRU list depth which was driven by the monlist + implementation limit of one request with a single multipacket + response. +* New "pool" directive implementation modeled on manycastclient. +* Do not abort on non-ASCII characters in ntp.conf, ignore them. +* ntpq: increase response reassembly limit from 24 to 32 packets, add + discussion in comment regarding results with even larger MAXFRAGS. +* ntpq: handle "passwd MYPASSWORD" (without prompting) as with ntpdc. +* ntpdc: do not examine argument to "passwd" if not supplied. +* configure: remove check for pointer type used with qsort(), we + require ANSI C which mandates void *. +* Reset sys_kodsent to 0 in proto_clr_stats(). +* Add sptoa()/sockporttoa() similar to stoa()/socktoa() adding :port. +* Use memcpy() instead of memmove() when buffers can not overlap. +* Remove sockaddr_storage from our sockaddr_u union of sockaddr, + sockaddr_in, and sockaddr_in6, shaving about 100 bytes from its size + and substantially decreasing MRU entry memory consumption. +* Extend ntpq readvar (alias rv) to allow fetching up to three named + variables in one operation: ntpq -c "rv 0 version offset frequency". +* ntpq: use srchost variable to show .POOL. prototype associations' + hostname instead of address 0.0.0.0. +* "restrict source ..." configures override restrictions for time + sources, allows tight default restrictions to be used with the pool + directive (where server addresses are not known in advance). +* Ignore "preempt" modifier on manycastclient and pool prototype + associations. The resulting associations are preemptible, but the + prototype must not be. +* Maintain and use linked list of associations (struct peer) in ntpd, + avoiding walking 128 hash table entries to iterate over peers. +* Remove more workarounds unneeded since we require ISO C90 AKA ANSI C: + - remove fallback implementations for memmove(), memset, strstr(). + - do not test for atexit() or memcpy(). +* Collapse a bunch of code duplication in ntpd/ntp_restrict.c added with + support for IPv6. +* Correct some corner case failures in automatically enabling the MRU + list if any "restrict ... limited" is in effect, and in disabling MRU + maintenance. (ntp_monitor.c, ntp_restrict.c) +* Reverse the internal sort order of the address restriction lists, but + preserve the same behavior. This allows removal of special-case code + related to the default restrictions and more straightforward lookups + of restrictions for a given address (now, stop on first match). +* Move ntp_restrict.c MRU doubly-linked list maintenance code into + ntp_lists.h macros, allowing more duplicated source excision. +* Repair ntpdate.c to no longer test HAVE_TIMER_SETTIME. +* Do not reference peer_node/unpeer_node after freeing when built with + --disable-saveconfig and using DNS. +(4.2.7p21) 2010/03/31 Released by Harlan Stenn +* [Bug 1514] from 4.2.6p1-RC6: Typo in ntp_proto.c: fabs(foo < .4) + should be fabs(foo) < .4. +* [Bug 1464] from 4.2.6p1-RC6: synchronization source wrong for + refclocks ARCRON_MSF (27) and SHM (28). +* From 4.2.6p1-RC6: Correct Windows port's refclock_open() to + return 0 on failure not -1. +* From 4.2.6p1-RC6: Correct CHU, dumbclock, and WWVB drivers to + check for 0 returned from refclock_open() on failure. +* From 4.2.6p1-RC6: Correct "SIMUL=4 ./flock-build -1" to + prioritize -1/--one. +* [Bug 1306] constant conditionals in audio_gain(). +(4.2.7p20) 2010/02/13 Released by Harlan Stenn +* [Bug 1483] hostname in ntp.conf "restrict" parameter rejected. +* Use all addresses for each restrict by hostname. +* Use async DNS to resolve trap directive hostnames. +(4.2.7p19) 2010/02/09 Released by Harlan Stenn +* [Bug 1338] Update the association type codes in ntpq.html. +* [Bug 1478] from 4.2.6p1-RC5: linking fails: EVP_MD_pkey_type. +* [Bug 1479] from 4.2.6p1-RC5: not finding readline headers. +* [Bug 1484] from 4.2.6p1-RC5: ushort is not defined in QNX6. +(4.2.7p18) 2010/02/07 Released by Harlan Stenn +* [Bug 1480] from 4.2.6p1-RC5: snprintf() cleanup caused + unterminated refclock IDs. +* Stop using getaddrinfo() to convert numeric address strings to on-wire + addresses in favor of is_ip_address() alone. +(4.2.7p17) 2010/02/05 Released by Harlan Stenn +* [Bug 1477] from 4.2.6p1-RC5: First non-gmake make in clone + w/VPATH can't make COPYRIGHT. +* Attempts to cure CID 108 CID 118 CID 119 TAINTED_SCALAR warnings. +* Broaden ylwrap workaround VPATH_HACK to all non-GNU make. +(4.2.7p16) 2010/02/04 Released by Harlan Stenn +* [Bug 1474] from 4.2.6p1-RC4: ntp_keygen LCRYPTO after libntp.a. +* Include 4.2.6p1-RC4: Remove arlib. +(4.2.7p15) 2010/02/03 Released by Harlan Stenn +* [Bug 1455] from 4.2.6p1: ntpd does not try /etc/ntp.audio. +* Include 4.2.6p1: Convert many sprintf() calls to snprintf(), also + strcpy(), strcat(). +* Include 4.2.6p1: Fix widely cut-n-pasted bug in refclock shutdown + after failed start. +* Include 4.2.6p1: Remove some dead code checking for emalloc() + returning NULL. +(4.2.7p14) 2010/02/02 Released by Harlan Stenn +* [Bug 1338] ntpq displays incorrect association type codes. +* [Bug 1469] u_int32, int32 changes broke HP-UX 10.20 build. +* [Bug 1470] from 4.2.6p1: "make distdir" compiles keyword-gen. +* [Bug 1471] CID 120 CID 121 CID 122 is_ip_address() uninit family. +* [Bug 1472] CID 116 CID 117 minor warnings in new DNS code. +* [Bug 1473] from 4.2.6p1: "make distcheck" version.m4 error. +(4.2.7p13) 2010/01/31 Released by Harlan Stenn +* [Bug 1467] from 4.2.6p1: Fix bogus rebuild of sntp/sntp.html. +(4.2.7p12) 2010/01/30 Released by Harlan Stenn +* [Bug 1468] 'make install' broken for root on default NFS mount. +(4.2.7p11) 2010/01/28 Released by Harlan Stenn +* [Bug 47] Debugging and logging do not work after a fork. +* [Bug 1010] getaddrinfo() could block and thus should not be called by + the main thread/process. +* New async DNS resolver in ntpd allows nonblocking queries anytime, + instead of only once at startup. +(4.2.7p10) 2010/01/24 Released by Harlan Stenn +* [Bug 1140] from 4.2.6p1-RC5: Clean up debug.html, decode.html, + and ntpq.html. +* Include 4.2.6p1-RC3: Use TZ=UTC instead of TZ= when calling date in + scripts/mkver.in . +* [Bug 1448] from 4.2.6p1-RC3: Some macros not correctly conditionally + or absolutely defined on Windows. +* [Bug 1449] from 4.2.6p1-RC3: ntpsim.h in ntp_config.c should be used + conditionally. +* [Bug 1450] from 4.2.6p1-RC3: Option to exclude warnings not + unconditionally defined on Windows. +(4.2.7p9) 2010/01/13 Released by Harlan Stenn +(4.2.7p8) 2010/01/12 Released by Harlan Stenn +* [Bug 702] ntpd service logic should use libopts to examine cmdline. +* [Bug 1451] from 4.2.6p1-RC3: sntp leaks KoD entry updating. +* [Bug 1453] from 4.2.6p1-RC3: Use $CC in config.cache filename. +(4.2.7p7) 2009/12/30 Released by Harlan Stenn +* [Bug 620] ntpdc getresponse() esize != *rsize s/b size != *rsize. +* [Bug 1446] 4.2.7p6 requires autogen, missing ntpd.1, *.texi, *.menu. +(4.2.7p6) 2009/12/28 Released by Harlan Stenn +* [Bug 1443] Remove unnecessary dependencies on ntp_io.h +* [Bug 1442] Move Windows functions into libntp files +* [Bug 1127] from 4.2.6p1-RC3: Check the return of X590_verify(). +* [Bug 1439] from 4.2.6p1-RC3: .texi gen after binary is linked. +* [Bug 1440] from 4.2.6p1-RC3: Update configure.ac to support kfreebsd. +* [Bug 1445] from 4.2.6p1-RC3: IRIX does not have -lcap or support + linux capabilities. +(4.2.7p5) 2009/12/25 Released by Harlan Stenn +* Include 4.2.6p1-RC2 +(4.2.7p4) 2009/12/24 Released by Harlan Stenn +* [Bug 1429] ntpd -4 option does not reliably force IPv4 resolution. +* [Bug 1431] System headers must come before ntp headers in ntp_intres.c . +(4.2.7p3) 2009/12/22 Released by Harlan Stenn +* [Bug 1426] scripts/VersionName needs . on the search path. +* [Bug 1427] quote missing in ./build - shows up on NetBSD. +* [Bug 1428] Use AC_HEADER_RESOLV to fix breaks from resolv.h +(4.2.7p2) 2009/12/20 Released by Harlan Stenn +* [Bug 1419] ntpdate, ntpdc, sntp, ntpd ignore configure --bindir. +* [Bug 1421] add util/tg2, a clone of tg that works on Linux, NetBSD, and + FreeBSD +(4.2.7p1) 2009/12/15 Released by Harlan Stenn +* [Bug 1348] ntpd Windows port should wait for sendto() completion. +* [Bug 1413] test OpenSSL headers regarding -Wno-strict-prototypes. +* [Bug 1418] building ntpd/ntpdc/ntpq statically with ssl fails. +(4.2.7p0) 2009/12/13 Released by Harlan Stenn +* [Bug 1412] m4/os_cflags.m4 caches results that depend on $CC. +* [Bug 1414] Enable "make distcheck" success with BSD make. +(4.2.7) 2009/12/09 Released by Harlan Stenn +* [Bug 1407] configure.ac: recent GNU Make -v does not include "version". --- + * [Bug 1741] Enable multicast reception on each address (Windows). * [Bug 1742] Fix a typo in an error message in the "build" script. * [Bug 1743] Display timezone offset when showing time for sntp in the local timezone. diff --cc include/ntp_stdlib.h index ee837de6e0,1f8e404803..3a809e74fc --- a/include/ntp_stdlib.h +++ b/include/ntp_stdlib.h @@@ -115,9 -103,7 +115,9 @@@ extern sockaddr_u * netof (sockaddr_u * extern char * numtoa (u_int32); extern char * numtohost (u_int32); extern char * socktoa (const sockaddr_u *); +extern char * sockporttoa (const sockaddr_u *); +extern u_short sock_hash (const sockaddr_u *); - extern char * socktohost (sockaddr_u *); + extern char * socktohost (const sockaddr_u *); extern int octtoint (const char *, u_long *); extern u_long ranp2 (int); extern char * refnumtoa (sockaddr_u *); diff --cc libntp/socktohost.c index 5a20804029,05bbdd6434..cab1ed7566 --- a/libntp/socktohost.c +++ b/libntp/socktohost.c @@@ -23,74 -21,15 +23,74 @@@ char * socktohost( - sockaddr_u *sock + const sockaddr_u *sock ) { - register char *buffer; + const char svc[] = "ntp"; + char * pbuf; + char * pliar; + int gni_flags; + struct addrinfo hints; + struct addrinfo * alist; + struct addrinfo * ai; + int a_info; - LIB_GETBUF(buffer); - if (getnameinfo(&sock->sa, SOCKLEN(sock), buffer, - LIB_BUFLENGTH, NULL, 0, 0)) - return stoa(sock); + /* reverse the address to purported DNS name */ + LIB_GETBUF(pbuf); + gni_flags = NI_DGRAM | NI_NAMEREQD; + if (getnameinfo(&sock->sa, SOCKLEN(sock), pbuf, LIB_BUFLENGTH, + NULL, 0, gni_flags)) + return stoa(sock); /* use address */ - return buffer; + DPRINTF(1, ("%s reversed to %s\n", stoa(sock), pbuf)); + + /* + * Resolve the reversed name and make sure the reversed address + * is among the results. + */ + memset(&hints, 0, sizeof(hints)); + hints.ai_family = AF(sock); + hints.ai_protocol = IPPROTO_UDP; + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = 0; + alist = NULL; + + a_info = getaddrinfo(pbuf, svc, &hints, &alist); + if (a_info == EAI_NONAME +#ifdef EAI_NODATA + || a_info == EAI_NODATA +#endif + ) { + hints.ai_flags = AI_CANONNAME; +#ifdef AI_ADDRCONFIG + hints.ai_flags |= AI_ADDRCONFIG; +#endif + a_info = getaddrinfo(pbuf, svc, &hints, &alist); + } +#ifdef AI_ADDRCONFIG + /* Some older implementations don't like AI_ADDRCONFIG. */ + if (a_info == EAI_BADFLAGS) { + hints.ai_flags &= ~AI_ADDRCONFIG; + a_info = getaddrinfo(pbuf, svc, &hints, &alist); + } +#endif + if (a_info) + goto forward_fail; + + NTP_INSIST(alist != NULL); + + for (ai = alist; ai != NULL; ai = ai->ai_next) + if (SOCK_EQ(sock, (sockaddr_u *)ai->ai_addr)) + break; + freeaddrinfo(alist); + + if (ai != NULL) + return pbuf; /* forward check passed */ + + forward_fail: + DPRINTF(1, ("forward check lookup fail: %s\n", pbuf)); + LIB_GETBUF(pliar); + snprintf(pliar, LIB_BUFLENGTH, "%s (%s)", stoa(sock), pbuf); + + return pliar; } diff --cc ntpd/ntp_control.c index 9ff5a8f113,a4d4afefc2..f032809c49 --- a/ntpd/ntp_control.c +++ b/ntpd/ntp_control.c @@@ -579,15 -533,17 +579,15 @@@ ctl_error * send packet and bump counters */ if (res_authenticate && sys_authenticate) { - pkid = (void *)((char *)&rpkt + CTL_HEADER_LEN); - *pkid = htonl(res_keyid); - maclen = authencrypt(res_keyid, (void *)&rpkt, + int maclen; + + maclen = authencrypt(res_keyid, (u_int32 *)&rpkt, CTL_HEADER_LEN); - sendpkt(rmt_addr, lcl_inter, -2, (struct pkt *)&rpkt, + sendpkt(rmt_addr, lcl_inter, -2, (void *)&rpkt, CTL_HEADER_LEN + maclen); - } else { - sendpkt(rmt_addr, lcl_inter, -3, (struct pkt *)&rpkt, + } else + sendpkt(rmt_addr, lcl_inter, -3, (void *)&rpkt, CTL_HEADER_LEN); - } - numctlerrors++; } /* diff --cc ntpd/ntp_io.c index 00951e0bf9,cf253ca957..d3a96d2ff6 --- a/ntpd/ntp_io.c +++ b/ntpd/ntp_io.c @@@ -291,11 -285,9 +292,8 @@@ static void delete_interface_from_list( static void close_and_delete_fd_from_list(SOCKET); static void add_addr_to_list (sockaddr_u *, endpt *); static void create_wildcards (u_short); -static endpt * getinterface (sockaddr_u *, u_int32); static endpt * findlocalinterface (sockaddr_u *, int, int); static endpt * findclosestinterface (sockaddr_u *, int); - #ifdef MULTICAST_NONEWSOCKET - static endpt * findlocalcastinterface (sockaddr_u *); - #endif #ifdef DEBUG static const char * action_text (nic_rule_action); #endif @@@ -674,17 -600,16 +672,16 @@@ interface_dump(const endpt *itf * sockaddr_dump - hex dump the start of a sockaddr_u */ static void - sockaddr_dump(sockaddr_u *psau) + sockaddr_dump(const sockaddr_u *psau) { - /* Limit the size of the sockaddr_storage hex dump */ + /* Limit the size of the sockaddr_in6 hex dump */ const int maxsize = min(32, sizeof(psau->sa6)); - u_char * cp; + const u_char * cp; int i; - cp = (u_char *)psau; + cp = (const void *)&psau->sa; - for(i = 0; i < maxsize; i++) - { + for(i = 0; i < maxsize; i++) { printf("%02x", *cp++); if (!((i + 1) % 4)) printf(" "); @@@ -961,15 -924,27 +1000,25 @@@ add_interface sockaddr_u * addr; int ep_local; int scan_local; + int same_subnet; + int ep_univ_iid; /* iface ID from MAC address */ + int scan_univ_iid; /* see RFC 4291 */ + int ep_privacy; /* random local iface ID */ + int scan_privacy; /* see RFC 4941 */ - /* - * Calculate the address hash - */ + /* Calculate the refid */ ep->addr_refid = addr2refid(&ep->sin); - - LINK_SLIST(ep_list, ep, elink); + /* link at tail so ntpdc -c ifstats index increases each row */ + LINK_TAIL_SLIST(ep_list, ep, elink, endpt); ninterfaces++; /* the rest is for enabled multicast-capable addresses only */ - if (ep->ignore_packets || !(INT_MULTICAST & ep->flags)) + if (ep->ignore_packets || !(INT_MULTICAST & ep->flags) || + INT_LOOPBACK & ep->flags) return; + #ifndef INCLUDE_IPV6_MULTICAST_SUPPORT + if (AF_INET6 == ep->family) + return; + #endif pmclisthead = (AF_INET == ep->family) ? &mc4_list : &mc6_list; @@@ -2357,10 -2428,10 +2483,10 @@@ enable_multicast_if /* * Add a multicast address to a given socket - * The socket is in the inter_list all we need to do is enable + * The socket is in the ep_list all we need to do is enable * multicasting. It is not this function's job to select the socket */ - #ifdef MCAST + #if defined(MCAST) static isc_boolean_t socket_multicast_enable( endpt * iface, @@@ -2441,9 -2506,10 +2561,10 @@@ /* * Remove a multicast address from a given socket - * The socket is in the inter_list all we need to do is disable + * The socket is in the ep_list all we need to do is disable * multicasting. It is not this function's job to select the socket */ + #ifdef MCAST static isc_boolean_t socket_multicast_disable( struct interface * iface, diff --cc ntpd/ntp_peer.c index 4f2f78b38f,22a213cfa8..517d42fe75 --- a/ntpd/ntp_peer.c +++ b/ntpd/ntp_peer.c @@@ -626,20 -560,21 +626,20 @@@ peer_refresh_interface DPRINTF(4, ( "peer_refresh_interface: %s->%s mode %d vers %d poll %d %d flags 0x%x 0x%x ttl %d key %08x: new interface: ", - peer->dstadr == NULL ? "" : - stoa(&peer->dstadr->sin), stoa(&peer->srcadr), - peer->hmode, peer->version, peer->minpoll, - peer->maxpoll, peer->flags, peer->cast_flags, - peer->ttl, peer->keyid)); + p->dstadr == NULL ? "" : + stoa(&p->dstadr->sin), stoa(&p->srcadr), p->hmode, + p->version, p->minpoll, p->maxpoll, p->flags, p->cast_flags, + p->ttl, p->keyid)); if (niface != NULL) { DPRINTF(4, ( - "fd=%d, bfd=%d, name=%.16s, flags=0x%x, scope=%d, sin=%s", + "fd=%d, bfd=%d, name=%.16s, flags=0x%x, ifindex=%u, sin=%s", niface->fd, niface->bfd, niface->name, - niface->flags, niface->scopeid, - stoa((&niface->sin)))); + niface->flags, niface->ifindex, + stoa(&niface->sin))); if (niface->flags & INT_BROADCAST) DPRINTF(4, (", bcast=%s", - stoa((&niface->bcast)))); - DPRINTF(4, (", mask=%s\n", stoa((&niface->mask)))); + stoa(&niface->bcast))); + DPRINTF(4, (", mask=%s\n", stoa(&niface->mask))); } else { DPRINTF(4, ("\n")); } diff --cc ntpd/ntp_request.c index e1c305212d,a172c5b582..1ef2663657 --- a/ntpd/ntp_request.c +++ b/ntpd/ntp_request.c @@@ -1614,8 -1682,11 +1614,9 @@@ setclr_flags u_long set ) { - register u_int flags; + struct conf_sys_flags *sf; + u_int32 flags; - int prev_kern_enable; - prev_kern_enable = kern_enable; if (INFO_NITEMS(inpkt->err_nitems) > 1) { msyslog(LOG_ERR, "setclr_flags: err_nitems > 1"); req_ack(srcadr, inter, inpkt, INFO_ERR_FMT); @@@ -2328,7 -2525,8 +2330,7 @@@ set_control_keyid struct req_pkt *inpkt ) { - keyid_t keyid; + keyid_t *pkeyid; - extern keyid_t ctl_auth_keyid; /* * Restrict ourselves to one item only. diff --cc ntpd/ntpd.c index 422977d68b,a1e83b764e..5959534c2d --- a/ntpd/ntpd.c +++ b/ntpd/ntpd.c @@@ -1313,10 -1170,10 +1313,10 @@@ getgroup * Go around again */ -#ifdef HAVE_DNSREGISTRATION +# ifdef HAVE_DNSREGISTRATION if (mdnsreg && (current_time - mdnsreg ) > 60 && mdnstries && sys_leap != LEAP_NOTINSYNC) { mdnsreg = current_time; - msyslog(LOG_INFO, "Attemping to register mDNS"); + msyslog(LOG_INFO, "Attempting to register mDNS"); if ( DNSServiceRegister (&mdns, 0, 0, NULL, "_ntp._udp", NULL, NULL, htons(NTP_PORT), 0, NULL, NULL, NULL) != kDNSServiceErr_NoError ) { if (!--mdnstries) {