summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2019-11-05 18:32:25 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2019-11-05 18:32:25 +0000
commitd1e182a3fedfab17246b551a8244ed75f2df9054 (patch)
tree55c16b3fa6c150098ce01248666d31d1b7289200
parentInitial commit. (diff)
downloadntpsec-d1e182a3fedfab17246b551a8244ed75f2df9054.tar.xz
ntpsec-d1e182a3fedfab17246b551a8244ed75f2df9054.zip
Adding upstream version 1.1.7+dfsg1.upstream/1.1.7+dfsg1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--.github/FUNDING.yml16
-rw-r--r--.gitignore5
-rw-r--r--.gitlab-ci.yml623
-rw-r--r--INSTALL280
-rw-r--r--LICENSE137
-rw-r--r--NEWS566
-rw-r--r--README89
-rw-r--r--README-PYTHON51
-rw-r--r--VERSION1
-rw-r--r--attic/README36
-rw-r--r--attic/backwards.c65
-rwxr-xr-xattic/calc_tickadj/calc_tickadj94
-rw-r--r--attic/calc_tickadj/calc_tickadj.adoc64
-rw-r--r--attic/clocks.c230
-rw-r--r--attic/digest-find.c81
-rw-r--r--attic/digest-timing.c257
-rw-r--r--attic/kern.c230
-rwxr-xr-xattic/ntpdate89
-rwxr-xr-xattic/ntpver7
-rw-r--r--attic/sht.c211
-rw-r--r--attic/wscript12
-rwxr-xr-xbuildprep337
-rw-r--r--contrib/README37
-rwxr-xr-xcontrib/cpu-temp-log71
-rw-r--r--contrib/logrotate-ntpd18
-rwxr-xr-xcontrib/make-leap-seconds.py79
-rwxr-xr-xcontrib/ntpconfigtest44
-rwxr-xr-xcontrib/ntpheat97
-rwxr-xr-xcontrib/ntpheatusb287
-rwxr-xr-xcontrib/smartctl-temp-log75
-rwxr-xr-xcontrib/temper-temp-log50
-rwxr-xr-xcontrib/zone-temp-log48
-rw-r--r--devel/ChangeLog4263
-rw-r--r--devel/CommitLog-4.1.06157
-rw-r--r--devel/HISTORIC-NEWS863
-rw-r--r--devel/NTS-flow.svg84
-rw-r--r--devel/README60
-rw-r--r--devel/TODO150
-rw-r--r--devel/TODO-NTS40
-rw-r--r--devel/dot.emacs19
-rw-r--r--devel/gpgkey.adoc101
-rw-r--r--devel/hacking.adoc712
-rw-r--r--devel/ifdex-ignores195
-rwxr-xr-xdevel/linkcheck97
-rwxr-xr-xdevel/make-tarball53
-rw-r--r--devel/ntpv5.adoc409
-rw-r--r--devel/nts.adoc641
-rw-r--r--devel/pre-release.adoc69
-rwxr-xr-xdevel/python_paths.py153
-rwxr-xr-xdevel/release49
-rw-r--r--devel/release.nix105
-rw-r--r--devel/testing.adoc180
-rwxr-xr-xdevel/tidy24
-rw-r--r--devel/tour.adoc604
-rw-r--r--devel/trace/ntpsec-ntp-proto.ini54
-rw-r--r--devel/trace/ntpsec-ntp-worker.ini34
-rw-r--r--devel/trace/ntpsec-trace-log.ini161
-rw-r--r--devel/trace/ntpsec-trace.ini44
-rw-r--r--devel/trace/ntpsec-work-thread.ini33
-rw-r--r--devel/units.adoc91
-rw-r--r--devel/y2k.adoc275
-rw-r--r--docs/.gitignore1
-rw-r--r--docs/404.adoc1
-rw-r--r--docs/NTS-QuickStart.adoc221
-rw-r--r--docs/access.adoc97
-rw-r--r--docs/accopt.adoc28
-rw-r--r--docs/asciidoc.css584
-rw-r--r--docs/asciidoc.include29
-rw-r--r--docs/asciidoc.js189
-rw-r--r--docs/assoc.adoc240
-rw-r--r--docs/authentic.adoc246
-rw-r--r--docs/authopt.adoc28
-rw-r--r--docs/bugs.adoc40
-rw-r--r--docs/build.adoc109
-rw-r--r--docs/clock.adoc173
-rw-r--r--docs/clockopt.adoc31
-rw-r--r--docs/cluster.adoc74
-rw-r--r--docs/comdex.adoc24
-rw-r--r--docs/confopt.adoc78
-rw-r--r--docs/copyright.adoc236
-rw-r--r--docs/debug.adoc284
-rw-r--r--docs/decode.adoc273
-rw-r--r--docs/discipline.adoc202
-rw-r--r--docs/discover.adoc117
-rw-r--r--docs/driver_arbiter.adoc174
-rw-r--r--docs/driver_generic.adoc503
-rw-r--r--docs/driver_gpsd.adoc287
-rw-r--r--docs/driver_howto.adoc255
-rw-r--r--docs/driver_hpgps.adoc128
-rw-r--r--docs/driver_jjy.adoc412
-rw-r--r--docs/driver_local.adoc92
-rw-r--r--docs/driver_modem.adoc192
-rw-r--r--docs/driver_nmea.adoc300
-rw-r--r--docs/driver_oncore.adoc153
-rw-r--r--docs/driver_pps.adoc186
-rw-r--r--docs/driver_shm.adoc233
-rw-r--r--docs/driver_spectracom.adoc152
-rw-r--r--docs/driver_trimble.adoc445
-rw-r--r--docs/driver_truetime.adoc131
-rw-r--r--docs/driver_zyfer.adoc68
-rw-r--r--docs/extern.adoc96
-rw-r--r--docs/filter.adoc102
-rw-r--r--docs/generic_howto.adoc234
-rw-r--r--docs/history.adoc66
-rw-r--r--docs/html.include2
-rw-r--r--docs/huffpuff.adoc53
-rw-r--r--docs/icons/home.gifbin0 -> 983 bytes
-rw-r--r--docs/icons/mail2.gifbin0 -> 287 bytes
-rw-r--r--docs/icons/sitemap.pngbin0 -> 2825 bytes
-rw-r--r--docs/includes/access-commands.adoc120
-rw-r--r--docs/includes/accopt.adoc5
-rw-r--r--docs/includes/assoc-auxcommands.adoc10
-rw-r--r--docs/includes/assoc-commands.adoc52
-rw-r--r--docs/includes/assoc-options.adoc75
-rw-r--r--docs/includes/auth-commands.adoc35
-rw-r--r--docs/includes/authopt.adoc6
-rw-r--r--docs/includes/clock-options.adoc84
-rw-r--r--docs/includes/clockopt.adoc5
-rw-r--r--docs/includes/config.adoc5
-rw-r--r--docs/includes/confopt.adoc6
-rw-r--r--docs/includes/external.adoc16
-rw-r--r--docs/includes/footer.adoc6
-rw-r--r--docs/includes/hand.adoc9
-rw-r--r--docs/includes/install.adoc7
-rw-r--r--docs/includes/manual.adoc19
-rw-r--r--docs/includes/misc-options.adoc301
-rw-r--r--docs/includes/misc.adoc9
-rw-r--r--docs/includes/miscopt.adoc17
-rw-r--r--docs/includes/mon-commands.adoc340
-rw-r--r--docs/includes/monopt.adoc6
-rw-r--r--docs/includes/mrufail.adoc30
-rw-r--r--docs/includes/mrufmt.adoc26
-rw-r--r--docs/includes/ntp-conf-body.adoc251
-rw-r--r--docs/includes/ntp.keys-body.adoc77
-rw-r--r--docs/includes/ntpd-body.adoc579
-rw-r--r--docs/includes/ntpdig-body.adoc231
-rw-r--r--docs/includes/ntpfrob-body.adoc108
-rw-r--r--docs/includes/ntpkeygen-body.adoc100
-rw-r--r--docs/includes/ntpleapfetch-body.adoc111
-rw-r--r--docs/includes/ntploggps-body.adoc88
-rw-r--r--docs/includes/ntplogtemp-body.adoc90
-rw-r--r--docs/includes/ntpmon-body.adoc122
-rw-r--r--docs/includes/ntpq-body.adoc571
-rw-r--r--docs/includes/ntpsnmpd-body.adoc122
-rw-r--r--docs/includes/ntpsweep-body.adoc52
-rw-r--r--docs/includes/ntptime-body.adoc55
-rw-r--r--docs/includes/ntptrace-body.adoc63
-rw-r--r--docs/includes/ntpviz-body.adoc230
-rw-r--r--docs/includes/ntpwait-body.adoc48
-rw-r--r--docs/includes/nts-commands.adoc127
-rw-r--r--docs/includes/peerfmt.adoc35
-rw-r--r--docs/includes/refclock.adoc6
-rw-r--r--docs/includes/special.adoc15
-rw-r--r--docs/index.adoc179
-rw-r--r--docs/kern.adoc73
-rw-r--r--docs/kernpps.adoc87
-rw-r--r--docs/leap.adoc76
-rw-r--r--docs/leapsmear.adoc280
-rw-r--r--docs/manual.include6
-rw-r--r--docs/miscopt.adoc96
-rw-r--r--docs/mode6.adoc540
-rw-r--r--docs/monopt.adoc60
-rw-r--r--docs/msyslog.adoc108
-rw-r--r--docs/ntp_conf.adoc41
-rw-r--r--docs/ntp_config.adoc300
-rw-r--r--docs/ntp_keys.adoc38
-rw-r--r--docs/ntpd.adoc34
-rw-r--r--docs/ntpdig.adoc33
-rw-r--r--docs/ntpfrob.adoc28
-rw-r--r--docs/ntpkeygen.adoc52
-rw-r--r--docs/ntpleapfetch.adoc30
-rw-r--r--docs/ntploggps.adoc31
-rw-r--r--docs/ntplogtemp.adoc33
-rw-r--r--docs/ntpmon.adoc36
-rw-r--r--docs/ntpq.adoc43
-rw-r--r--docs/ntpsec.adoc327
-rw-r--r--docs/ntpsnmpd.adoc26
-rw-r--r--docs/ntpspeak.adoc301
-rw-r--r--docs/ntpsweep.adoc29
-rw-r--r--docs/ntptime.adoc30
-rw-r--r--docs/ntptrace.adoc35
-rw-r--r--docs/ntpviz.adoc30
-rw-r--r--docs/ntpwait.adoc19
-rw-r--r--docs/oncore-shmem.adoc261
-rw-r--r--docs/orphan.adoc92
-rw-r--r--docs/outside-tools.adoc56
-rw-r--r--docs/parsedata.adoc453
-rw-r--r--docs/pic/SAppr.jpgbin0 -> 11814 bytes
-rw-r--r--docs/pic/alice11.gifbin0 -> 18003 bytes
-rw-r--r--docs/pic/alice13.gifbin0 -> 11516 bytes
-rw-r--r--docs/pic/alice15.gifbin0 -> 26328 bytes
-rw-r--r--docs/pic/alice23.gifbin0 -> 7753 bytes
-rw-r--r--docs/pic/alice32.gifbin0 -> 17168 bytes
-rw-r--r--docs/pic/alice35.gifbin0 -> 8968 bytes
-rw-r--r--docs/pic/alice38.gifbin0 -> 10296 bytes
-rw-r--r--docs/pic/alice44.gifbin0 -> 19897 bytes
-rw-r--r--docs/pic/alice47.gifbin0 -> 10771 bytes
-rw-r--r--docs/pic/alice51.gifbin0 -> 12403 bytes
-rw-r--r--docs/pic/alice61.gifbin0 -> 11269 bytes
-rw-r--r--docs/pic/barnstable.gifbin0 -> 2946 bytes
-rw-r--r--docs/pic/beaver.gifbin0 -> 2831 bytes
-rw-r--r--docs/pic/boom3.gifbin0 -> 11042 bytes
-rw-r--r--docs/pic/boom3a.gifbin0 -> 18300 bytes
-rw-r--r--docs/pic/boom4.gifbin0 -> 16157 bytes
-rw-r--r--docs/pic/broad.gifbin0 -> 5728 bytes
-rw-r--r--docs/pic/bustardfly.gifbin0 -> 8476 bytes
-rw-r--r--docs/pic/c51.jpgbin0 -> 16429 bytes
-rw-r--r--docs/pic/clocktower128.pngbin0 -> 1705 bytes
-rw-r--r--docs/pic/description.jpgbin0 -> 27242 bytes
-rw-r--r--docs/pic/discipline.gifbin0 -> 6836 bytes
-rw-r--r--docs/pic/dogsnake.gifbin0 -> 5445 bytes
-rw-r--r--docs/pic/driver_palisade.gifbin0 -> 11723 bytes
-rw-r--r--docs/pic/fg6021.gifbin0 -> 21593 bytes
-rw-r--r--docs/pic/fig_3_1.gifbin0 -> 10428 bytes
-rw-r--r--docs/pic/flatheads.gifbin0 -> 13085 bytes
-rw-r--r--docs/pic/flt1.gifbin0 -> 9045 bytes
-rw-r--r--docs/pic/flt2.gifbin0 -> 3148 bytes
-rw-r--r--docs/pic/flt3.gifbin0 -> 1847 bytes
-rw-r--r--docs/pic/flt4.gifbin0 -> 3876 bytes
-rw-r--r--docs/pic/flt5.gifbin0 -> 10609 bytes
-rw-r--r--docs/pic/flt6.gifbin0 -> 15563 bytes
-rw-r--r--docs/pic/flt7.gifbin0 -> 7848 bytes
-rw-r--r--docs/pic/flt8.gifbin0 -> 5969 bytes
-rw-r--r--docs/pic/flt9.gifbin0 -> 8948 bytes
-rw-r--r--docs/pic/gps167.jpgbin0 -> 15589 bytes
-rw-r--r--docs/pic/hornraba.gifbin0 -> 8790 bytes
-rw-r--r--docs/pic/howland.jpgbin0 -> 14570 bytes
-rw-r--r--docs/pic/igclock.gifbin0 -> 8985 bytes
-rw-r--r--docs/pic/kelly_pogo_earthday.jpgbin0 -> 30656 bytes
-rw-r--r--docs/pic/looking.jpgbin0 -> 95123 bytes
-rw-r--r--docs/pic/neoclock4x.gifbin0 -> 14977 bytes
-rw-r--r--docs/pic/oncore_evalbig.gifbin0 -> 7904 bytes
-rw-r--r--docs/pic/oncore_utplusbig.gifbin0 -> 10117 bytes
-rw-r--r--docs/pic/orchestra.gifbin0 -> 40625 bytes
-rw-r--r--docs/pic/oz2.gifbin0 -> 8225 bytes
-rw-r--r--docs/pic/panda.adoc14
-rw-r--r--docs/pic/panda.gifbin0 -> 1660 bytes
-rw-r--r--docs/pic/pd_om006.gifbin0 -> 16704 bytes
-rw-r--r--docs/pic/pd_om011.gifbin0 -> 12848 bytes
-rw-r--r--docs/pic/peer.gifbin0 -> 4936 bytes
-rw-r--r--docs/pic/pogo-enemy2.pngbin0 -> 62495 bytes
-rw-r--r--docs/pic/pogo.gifbin0 -> 1918 bytes
-rw-r--r--docs/pic/pogo1a.gifbin0 -> 18769 bytes
-rw-r--r--docs/pic/pogo3a.gifbin0 -> 3657 bytes
-rw-r--r--docs/pic/pogo4.gifbin0 -> 3213 bytes
-rw-r--r--docs/pic/pogo5.gifbin0 -> 5819 bytes
-rw-r--r--docs/pic/pogo6.gifbin0 -> 5902 bytes
-rw-r--r--docs/pic/pogo7.gifbin0 -> 13817 bytes
-rw-r--r--docs/pic/pogo8.gifbin0 -> 7820 bytes
-rw-r--r--docs/pic/pogocell.gifbin0 -> 11764 bytes
-rw-r--r--docs/pic/pzf511.jpgbin0 -> 20370 bytes
-rw-r--r--docs/pic/radio2.jpgbin0 -> 17006 bytes
-rw-r--r--docs/pic/sheepb.jpgbin0 -> 20295 bytes
-rw-r--r--docs/pic/stack1a.jpgbin0 -> 29655 bytes
-rw-r--r--docs/pic/stats.gifbin0 -> 12168 bytes
-rw-r--r--docs/pic/sx5.gifbin0 -> 20470 bytes
-rw-r--r--docs/pic/thunderbolt.jpgbin0 -> 38718 bytes
-rw-r--r--docs/pic/time1.gifbin0 -> 2317 bytes
-rw-r--r--docs/pic/tonea.gifbin0 -> 12002 bytes
-rw-r--r--docs/pic/tribeb.gifbin0 -> 30287 bytes
-rw-r--r--docs/pic/which-way-is.up.jpgbin0 -> 34156 bytes
-rw-r--r--docs/pic/wingdorothy.gifbin0 -> 10849 bytes
-rw-r--r--docs/poll.adoc64
-rw-r--r--docs/pps.adoc105
-rw-r--r--docs/prefer.adoc285
-rw-r--r--docs/quick.adoc347
-rw-r--r--docs/rate.adoc196
-rw-r--r--docs/rdebug.adoc91
-rw-r--r--docs/refclock.adoc197
-rw-r--r--docs/rollover.adoc325
-rw-r--r--docs/select.adoc129
-rw-r--r--docs/sitemap.adoc33
-rw-r--r--docs/standards.adoc92
-rw-r--r--docs/stats.adoc209
-rw-r--r--docs/tf582_4.adoc48
-rw-r--r--docs/top-asciidoc.css521
-rw-r--r--docs/top.html.in31
-rw-r--r--docs/warp.adoc190
-rw-r--r--docs/wscript40
-rw-r--r--etc/README19
-rw-r--r--etc/logrotate-config.ntpd13
-rw-r--r--etc/ntp-wait.service16
-rw-r--r--etc/ntp.d/default.conf10
-rw-r--r--etc/ntp.d/use-gpsd-json13
-rw-r--r--etc/ntp.d/use-gpsd-shm18
-rw-r--r--etc/ntp.d/use-minimal-logging8
-rw-r--r--etc/ntp.d/use-no-remote-configuration14
-rw-r--r--etc/ntp.d/use-performance-logging18
-rw-r--r--etc/ntp.d/use-pool36
-rw-r--r--etc/ntpd.service20
-rw-r--r--etc/ntploggps.service9
-rw-r--r--etc/ntploggps.timer11
-rw-r--r--etc/ntplogtemp.service7
-rw-r--r--etc/ntplogtemp.timer10
-rw-r--r--etc/ntpviz-daily.service9
-rw-r--r--etc/ntpviz-daily.timer9
-rw-r--r--etc/ntpviz-weekly.service9
-rw-r--r--etc/ntpviz-weekly.timer9
-rw-r--r--etc/rc/README13
-rw-r--r--etc/rc/ntpd97
-rw-r--r--etc/rc/ntpwait15
-rw-r--r--etc/rc/rc.d/TIMESYNC8
-rw-r--r--etc/rc/rc.d/ntpd32
-rw-r--r--etc/rc/rc.d/ntpwait21
-rw-r--r--etc/wscript20
-rw-r--r--include/README4
-rw-r--r--include/ascii.h18
-rw-r--r--include/binio.h50
-rw-r--r--include/declcond.h21
-rw-r--r--include/gpstolfp.h11
-rw-r--r--include/ieee754io.h50
-rw-r--r--include/isc_error.h38
-rw-r--r--include/isc_interfaceiter.h143
-rw-r--r--include/isc_netaddr.h87
-rw-r--r--include/isc_result.h24
-rw-r--r--include/lib_strbuf.h19
-rw-r--r--include/mbg_gps166.h550
-rw-r--r--include/ntp.h747
-rw-r--r--include/ntp_assert.h86
-rw-r--r--include/ntp_auth.h69
-rw-r--r--include/ntp_calendar.h242
-rw-r--r--include/ntp_config.h279
-rw-r--r--include/ntp_control.h183
-rw-r--r--include/ntp_debug.h38
-rw-r--r--include/ntp_dns.h25
-rw-r--r--include/ntp_endian.h18
-rw-r--r--include/ntp_filegen.h56
-rw-r--r--include/ntp_fp.h185
-rw-r--r--include/ntp_io.h46
-rw-r--r--include/ntp_lists.h423
-rw-r--r--include/ntp_machine.h71
-rw-r--r--include/ntp_malloc.h44
-rw-r--r--include/ntp_net.h207
-rw-r--r--include/ntp_refclock.h292
-rw-r--r--include/ntp_stdlib.h171
-rw-r--r--include/ntp_syscall.h33
-rw-r--r--include/ntp_syslog.h64
-rw-r--r--include/ntp_tty.h27
-rw-r--r--include/ntp_types.h127
-rw-r--r--include/ntp_wrapdate.h23
-rw-r--r--include/ntpd.h456
-rw-r--r--include/nts.h241
-rw-r--r--include/nts2.h38
-rw-r--r--include/parse.h328
-rw-r--r--include/parse_conf.h50
-rw-r--r--include/recvbuff.h78
-rw-r--r--include/refclock_pps.h21
-rw-r--r--include/timespecops.h67
-rw-r--r--include/timetoa.h49
-rw-r--r--include/trimble.h132
-rw-r--r--libaes_siv/AES_SIV_CTX_new.adoc69
-rw-r--r--libaes_siv/AES_SIV_Encrypt.adoc79
-rw-r--r--libaes_siv/AES_SIV_Init.adoc114
-rw-r--r--libaes_siv/COPYING202
-rw-r--r--libaes_siv/README.md197
-rw-r--r--libaes_siv/aes_siv.c594
-rw-r--r--libaes_siv/aes_siv.h57
-rw-r--r--libaes_siv/aes_siv_test.c3
-rw-r--r--libaes_siv/bench.c185
-rw-r--r--libaes_siv/config.h.in19
-rw-r--r--libaes_siv/demo.c263
-rw-r--r--libaes_siv/tests.c586
-rw-r--r--libaes_siv/wscript12
-rw-r--r--libjsmn/.clang-format90
-rw-r--r--libjsmn/.travis.yml4
-rw-r--r--libjsmn/LICENSE20
-rw-r--r--libjsmn/Makefile36
-rw-r--r--libjsmn/README.md182
-rw-r--r--libjsmn/example/jsondump.c134
-rw-r--r--libjsmn/example/simple.c77
-rw-r--r--libjsmn/jsmn.h471
-rw-r--r--libjsmn/library.json16
-rw-r--r--libjsmn/test/test.h31
-rw-r--r--libjsmn/test/tests.c359
-rw-r--r--libjsmn/test/testutil.h96
-rw-r--r--libntp/README4
-rw-r--r--libntp/assert.c161
-rw-r--r--libntp/authkeys.c591
-rw-r--r--libntp/authreadkeys.c403
-rw-r--r--libntp/clocktime.c176
-rw-r--r--libntp/clockwork.c92
-rw-r--r--libntp/decodenetnum.c146
-rw-r--r--libntp/dolfptoa.c197
-rw-r--r--libntp/emalloc.c140
-rw-r--r--libntp/getopt.c225
-rw-r--r--libntp/hextolfp.c69
-rw-r--r--libntp/initnetwork.c23
-rw-r--r--libntp/isc_error.c41
-rw-r--r--libntp/isc_interfaceiter.c1766
-rw-r--r--libntp/isc_net.c200
-rw-r--r--libntp/lib_strbuf.c70
-rw-r--r--libntp/macencrypt.c243
-rw-r--r--libntp/msyslog.c462
-rw-r--r--libntp/netof.c44
-rw-r--r--libntp/ntp_calendar.c903
-rw-r--r--libntp/ntp_endian.c37
-rw-r--r--libntp/ntp_random.c45
-rw-r--r--libntp/numtoa.c41
-rw-r--r--libntp/prettydate.c215
-rw-r--r--libntp/pymodule.c190
-rw-r--r--libntp/python_compatibility.h44
-rw-r--r--libntp/refidsmear.c37
-rw-r--r--libntp/socket.c134
-rw-r--r--libntp/socktoa.c154
-rw-r--r--libntp/ssl_init.c60
-rw-r--r--libntp/statestr.c441
-rw-r--r--libntp/strl_obsd.c97
-rw-r--r--libntp/syssignal.c57
-rw-r--r--libntp/systime.c422
-rw-r--r--libntp/timespecops.c373
-rw-r--r--libntp/wscript61
-rw-r--r--libparse/README64
-rw-r--r--libparse/binio.c96
-rw-r--r--libparse/clk_computime.c182
-rw-r--r--libparse/clk_dcf7000.c176
-rw-r--r--libparse/clk_hopf6021.c273
-rw-r--r--libparse/clk_meinberg.c738
-rw-r--r--libparse/clk_rawdcf.c696
-rw-r--r--libparse/clk_rcc8000.c188
-rw-r--r--libparse/clk_schmid.c207
-rw-r--r--libparse/clk_sel240x.c163
-rw-r--r--libparse/clk_trimtaip.c184
-rw-r--r--libparse/clk_trimtsip.c427
-rw-r--r--libparse/clk_varitext.c228
-rw-r--r--libparse/clk_wharton.c166
-rw-r--r--libparse/data_mbg.c313
-rw-r--r--libparse/gpstolfp.c105
-rw-r--r--libparse/ieee754io.c252
-rw-r--r--libparse/info_trimble.c47
-rw-r--r--libparse/parse.c735
-rw-r--r--libparse/parse_conf.c91
-rw-r--r--libparse/trim_info.c43
-rw-r--r--libparse/wscript30
-rw-r--r--ntpclients/ntpdig-man.adoc19
-rw-r--r--ntpclients/ntpdig.py464
-rw-r--r--ntpclients/ntpkeygen-man.adoc19
-rw-r--r--ntpclients/ntpkeygen.py110
-rwxr-xr-xntpclients/ntpleapfetch478
-rw-r--r--ntpclients/ntpleapfetch-man.adoc24
-rw-r--r--ntpclients/ntploggps-man.adoc19
-rw-r--r--ntpclients/ntploggps.py244
-rw-r--r--ntpclients/ntplogtemp-man.adoc19
-rw-r--r--ntpclients/ntplogtemp.py318
-rw-r--r--ntpclients/ntpmon-man.adoc13
-rw-r--r--ntpclients/ntpmon.py479
-rw-r--r--ntpclients/ntpq-man.adoc18
-rw-r--r--ntpclients/ntpq.py1736
-rw-r--r--ntpclients/ntpsnmpd-man.adoc13
-rw-r--r--ntpclients/ntpsnmpd.py1207
-rw-r--r--ntpclients/ntpsweep-man.adoc17
-rw-r--r--ntpclients/ntpsweep.py214
-rw-r--r--ntpclients/ntptrace-man.adoc16
-rw-r--r--ntpclients/ntptrace.py192
-rw-r--r--ntpclients/ntpviz-man.adoc21
-rw-r--r--ntpclients/ntpviz.py2051
-rw-r--r--ntpclients/ntpwait-man.adoc21
-rw-r--r--ntpclients/ntpwait.py149
-rw-r--r--ntpd/declcond.h21
-rw-r--r--ntpd/keyword-gen.c734
-rw-r--r--ntpd/ntp.conf-man.adoc9
-rw-r--r--ntpd/ntp.keys-man.adoc13
-rw-r--r--ntpd/ntp_config.c3687
-rw-r--r--ntpd/ntp_control.c4462
-rw-r--r--ntpd/ntp_dns.c186
-rw-r--r--ntpd/ntp_filegen.c605
-rw-r--r--ntpd/ntp_io.c3206
-rw-r--r--ntpd/ntp_leapsec.c986
-rw-r--r--ntpd/ntp_leapsec.h236
-rw-r--r--ntpd/ntp_loopfilter.c1331
-rw-r--r--ntpd/ntp_monitor.c469
-rw-r--r--ntpd/ntp_packetstamp.c155
-rw-r--r--ntpd/ntp_parser.y1547
-rw-r--r--ntpd/ntp_peer.c801
-rw-r--r--ntpd/ntp_proto.c2965
-rw-r--r--ntpd/ntp_recvbuff.c174
-rw-r--r--ntpd/ntp_refclock.c1087
-rw-r--r--ntpd/ntp_restrict.c674
-rw-r--r--ntpd/ntp_sandbox.c505
-rw-r--r--ntpd/ntp_scanner.c1050
-rw-r--r--ntpd/ntp_scanner.h143
-rw-r--r--ntpd/ntp_signd.c235
-rw-r--r--ntpd/ntp_timer.c524
-rw-r--r--ntpd/ntp_util.c787
-rw-r--r--ntpd/ntp_wrapdate.c320
-rw-r--r--ntpd/ntpd-man.adoc23
-rw-r--r--ntpd/ntpd.c1272
-rw-r--r--ntpd/nts.c394
-rw-r--r--ntpd/nts_client.c712
-rw-r--r--ntpd/nts_cookie.c438
-rw-r--r--ntpd/nts_extens.c432
-rw-r--r--ntpd/nts_server.c495
-rw-r--r--ntpd/ppsapi_timepps.h14
-rw-r--r--ntpd/refclock_arbiter.c445
-rw-r--r--ntpd/refclock_conf.c86
-rw-r--r--ntpd/refclock_generic.c5720
-rw-r--r--ntpd/refclock_gpsd.c2196
-rw-r--r--ntpd/refclock_hpgps.c587
-rw-r--r--ntpd/refclock_jjy.c4519
-rw-r--r--ntpd/refclock_local.c194
-rw-r--r--ntpd/refclock_modem.c931
-rw-r--r--ntpd/refclock_nmea.c1627
-rw-r--r--ntpd/refclock_oncore.c4147
-rw-r--r--ntpd/refclock_pps.c265
-rw-r--r--ntpd/refclock_shm.c584
-rw-r--r--ntpd/refclock_spectracom.c573
-rw-r--r--ntpd/refclock_trimble.c1174
-rw-r--r--ntpd/refclock_truetime.c754
-rw-r--r--ntpd/refclock_zyfer.c301
-rw-r--r--ntpd/wscript135
-rw-r--r--ntpfrob/bumpclock.c73
-rw-r--r--ntpfrob/dump.c118
-rw-r--r--ntpfrob/jitter.c165
-rw-r--r--ntpfrob/main.c125
-rw-r--r--ntpfrob/ntpfrob-man.adoc19
-rw-r--r--ntpfrob/ntpfrob.h24
-rw-r--r--ntpfrob/pps-api.c133
-rw-r--r--ntpfrob/precision.c176
-rw-r--r--ntpfrob/tickadj.c90
-rw-r--r--ntpfrob/wscript14
-rw-r--r--ntptime/ntptime-man.adoc18
-rw-r--r--ntptime/ntptime.c531
-rw-r--r--ntptime/wscript14
-rw-r--r--packaging/README.adoc5
-rw-r--r--packaging/RPM/README6
-rw-r--r--packaging/RPM/ntpsec.spec38
-rw-r--r--packaging/SUSE/README.adoc5
-rw-r--r--packaging/SUSE/_service15
-rw-r--r--packaging/SUSE/_servicedata4
-rw-r--r--packaging/SUSE/logrotate.ntp14
-rw-r--r--packaging/SUSE/ntp.conf88
-rw-r--r--packaging/SUSE/ntp.firewall17
-rw-r--r--packaging/SUSE/ntpsec.changes545
-rw-r--r--packaging/SUSE/ntpsec.spec215
-rw-r--r--packaging/packaging.adoc114
-rw-r--r--pylib/README7
-rw-r--r--pylib/__init__.py9
-rw-r--r--pylib/agentx.py584
-rw-r--r--pylib/agentx_packet.py1421
-rw-r--r--pylib/ntp-in.egg-info12
-rw-r--r--pylib/packet.py1671
-rw-r--r--pylib/poly.py111
-rw-r--r--pylib/statfiles.py261
-rw-r--r--pylib/util.py1434
-rw-r--r--pylib/wscript89
-rw-r--r--pylintrc25
-rw-r--r--tests/common/caltime.c25
-rw-r--r--tests/common/caltime.h6
-rw-r--r--tests/common/sockaddrtest.c75
-rw-r--r--tests/common/sockaddrtest.h11
-rw-r--r--tests/common/tests_main.c96
-rw-r--r--tests/common/tests_main.h14
-rw-r--r--tests/libntp/authkeys.c95
-rw-r--r--tests/libntp/clocktime.c202
-rw-r--r--tests/libntp/decodenetnum.c157
-rw-r--r--tests/libntp/dolfptoa.c80
-rw-r--r--tests/libntp/hextolfp.c77
-rw-r--r--tests/libntp/lfpfunc.c359
-rw-r--r--tests/libntp/lfptest.h24
-rw-r--r--tests/libntp/lfptostr.c145
-rw-r--r--tests/libntp/macencrypt.c177
-rw-r--r--tests/libntp/netof.c52
-rw-r--r--tests/libntp/ntp_calendar.c476
-rw-r--r--tests/libntp/ntp_endian.c36
-rw-r--r--tests/libntp/ntp_random.c57
-rw-r--r--tests/libntp/numtoa.c27
-rw-r--r--tests/libntp/prettydate.c40
-rw-r--r--tests/libntp/refidsmear.c145
-rw-r--r--tests/libntp/socktoa.c117
-rw-r--r--tests/libntp/statestr.c72
-rw-r--r--tests/libntp/strtolfp.c345
-rw-r--r--tests/libntp/timespecops.c690
-rw-r--r--tests/libntp/vi64ops.c46
-rw-r--r--tests/libntp/ymd2yd.c39
-rw-r--r--tests/libparse/binio.c480
-rw-r--r--tests/libparse/gpstolfp.c53
-rw-r--r--tests/libparse/ieee754io.c329
-rw-r--r--tests/ntpd/filegen.c56
-rw-r--r--tests/ntpd/leapsec.c1028
-rw-r--r--tests/ntpd/nts.c424
-rw-r--r--tests/ntpd/nts_client.c278
-rw-r--r--tests/ntpd/nts_cookie.c82
-rw-r--r--tests/ntpd/nts_extens.c231
-rw-r--r--tests/ntpd/nts_server.c107
-rw-r--r--tests/ntpd/recvbuff.c34
-rw-r--r--tests/ntpd/restrict.c196
-rwxr-xr-xtests/option-tester.sh100
-rw-r--r--tests/pylib/jigs.py323
-rw-r--r--tests/pylib/test_agentx.py830
-rw-r--r--tests/pylib/test_agentx_packet.py2656
-rw-r--r--tests/pylib/test_packet.py1982
-rw-r--r--tests/pylib/test_statfiles.py593
-rw-r--r--tests/pylib/test_util.py1298
-rwxr-xr-xtests/python3-tester.sh75
-rwxr-xr-xtests/time-startup.sh20
-rw-r--r--tests/unity/unity.c1588
-rw-r--r--tests/unity/unity.h503
-rw-r--r--tests/unity/unity_fixture.c446
-rw-r--r--tests/unity/unity_fixture.h83
-rw-r--r--tests/unity/unity_fixture_internals.h51
-rw-r--r--tests/unity/unity_fixture_malloc_overrides.h47
-rw-r--r--tests/unity/unity_internals.h872
-rw-r--r--tests/wscript144
-rwxr-xr-xwaf169
-rw-r--r--wafhelpers/__init__.py0
-rw-r--r--wafhelpers/asciidoc.py73
-rw-r--r--wafhelpers/bin_test.py107
-rw-r--r--wafhelpers/check_sizeof.py85
-rw-r--r--wafhelpers/check_sockaddr.py19
-rw-r--r--wafhelpers/check_strerror.py41
-rw-r--r--wafhelpers/options.py92
-rw-r--r--wafhelpers/probes.py49
-rwxr-xr-xwafhelpers/pythonize-header95
-rw-r--r--wafhelpers/refclock.py168
-rw-r--r--wafhelpers/rtems_trace.py9
-rw-r--r--wafhelpers/test.py41
-rw-r--r--wafhelpers/waf.py68
-rw-r--r--waflib/Build.py804
-rw-r--r--waflib/ConfigSet.py165
-rw-r--r--waflib/Configure.py377
-rw-r--r--waflib/Context.py406
-rw-r--r--waflib/Errors.py39
-rw-r--r--waflib/Logs.py206
-rw-r--r--waflib/Node.py477
-rw-r--r--waflib/Options.py200
-rw-r--r--waflib/Runner.py375
-rw-r--r--waflib/Scripting.py415
-rw-r--r--waflib/Task.py792
-rw-r--r--waflib/TaskGen.py471
-rw-r--r--waflib/Tools/__init__.py4
-rw-r--r--waflib/Tools/ar.py13
-rw-r--r--waflib/Tools/asm.py50
-rw-r--r--waflib/Tools/bison.py28
-rw-r--r--waflib/Tools/c.py26
-rw-r--r--waflib/Tools/c_aliases.py62
-rw-r--r--waflib/Tools/c_config.py805
-rw-r--r--waflib/Tools/c_osx.py121
-rw-r--r--waflib/Tools/c_preproc.py672
-rw-r--r--waflib/Tools/c_tests.py152
-rw-r--r--waflib/Tools/ccroot.py486
-rw-r--r--waflib/Tools/clang.py20
-rw-r--r--waflib/Tools/clangxx.py20
-rw-r--r--waflib/Tools/compiler_c.py44
-rw-r--r--waflib/Tools/compiler_cxx.py44
-rw-r--r--waflib/Tools/compiler_d.py41
-rw-r--r--waflib/Tools/compiler_fc.py43
-rw-r--r--waflib/Tools/cs.py113
-rw-r--r--waflib/Tools/cxx.py26
-rw-r--r--waflib/Tools/d.py54
-rw-r--r--waflib/Tools/d_config.py52
-rw-r--r--waflib/Tools/d_scan.py136
-rw-r--r--waflib/Tools/dbus.py29
-rw-r--r--waflib/Tools/dmd.py51
-rw-r--r--waflib/Tools/errcheck.py175
-rw-r--r--waflib/Tools/fc.py118
-rw-r--r--waflib/Tools/fc_config.py299
-rw-r--r--waflib/Tools/fc_scan.py70
-rw-r--r--waflib/Tools/flex.py38
-rw-r--r--waflib/Tools/g95.py54
-rw-r--r--waflib/Tools/gas.py13
-rw-r--r--waflib/Tools/gcc.py104
-rw-r--r--waflib/Tools/gdc.py35
-rw-r--r--waflib/Tools/gfortran.py71
-rw-r--r--waflib/Tools/glib2.py242
-rw-r--r--waflib/Tools/gnu_dirs.py66
-rw-r--r--waflib/Tools/gxx.py104
-rw-r--r--waflib/Tools/icc.py20
-rw-r--r--waflib/Tools/icpc.py20
-rw-r--r--waflib/Tools/ifort.py303
-rw-r--r--waflib/Tools/intltool.py101
-rw-r--r--waflib/Tools/irixcc.py51
-rw-r--r--waflib/Tools/javaw.py330
-rw-r--r--waflib/Tools/ldc2.py36
-rw-r--r--waflib/Tools/lua.py18
-rw-r--r--waflib/Tools/md5_tstamp.py24
-rw-r--r--waflib/Tools/msvc.py704
-rw-r--r--waflib/Tools/nasm.py21
-rw-r--r--waflib/Tools/nobuild.py11
-rw-r--r--waflib/Tools/perl.py85
-rw-r--r--waflib/Tools/python.py422
-rw-r--r--waflib/Tools/qt5.py499
-rw-r--r--waflib/Tools/ruby.py97
-rw-r--r--waflib/Tools/suncc.py48
-rw-r--r--waflib/Tools/suncxx.py48
-rw-r--r--waflib/Tools/tex.py327
-rw-r--r--waflib/Tools/vala.py218
-rw-r--r--waflib/Tools/waf_unit_test.py172
-rw-r--r--waflib/Tools/winres.py52
-rw-r--r--waflib/Tools/xlc.py44
-rw-r--r--waflib/Tools/xlcxx.py44
-rw-r--r--waflib/Utils.py625
-rw-r--r--waflib/__init__.py4
-rw-r--r--waflib/ansiterm.py238
-rw-r--r--waflib/extras/__init__.py4
-rw-r--r--waflib/extras/compat15.py305
-rw-r--r--waflib/extras/pytest.py92
-rw-r--r--waflib/fixpy2.py47
-rwxr-xr-xwaflib/processor.py57
-rw-r--r--wscript1169
-rw-r--r--www/day/favicon.icobin0 -> 1150 bytes
-rw-r--r--www/day/footer2
-rw-r--r--www/day/header5
-rw-r--r--www/day/optionfile6
-rw-r--r--www/favicon.icobin0 -> 1150 bytes
-rw-r--r--www/index.html30
-rw-r--r--www/ntpsec-logo.pngbin0 -> 1583 bytes
-rw-r--r--www/week/favicon.icobin0 -> 1150 bytes
-rw-r--r--www/week/footer2
-rw-r--r--www/week/header5
-rw-r--r--www/week/optionfile6
709 files changed, 168776 insertions, 0 deletions
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..bd44de6
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,16 @@
+# These are supported funding model platforms
+
+# github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
+# patreon: # Replace with a single Patreon username
+# open_collective: # Replace with a single Open Collective username
+# ko_fi: # Replace with a single Ko-fi username
+# tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
+# community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+# liberapay: # Replace with a single Liberapay username
+# issuehunt: # Replace with a single IssueHunt username
+# otechie: # Replace with a single Otechie username
+# custom: # Replace with a single custom sponsorship URL
+
+custom: https://www.spi-inc.org/projects/ntpsec
+patreon: esr
+liberapay: ntpsec
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3f8eb4c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+.lock-waf*
+.waf*
+*.pyc
+build
+attic/clock
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..a6d8fb8
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,623 @@
+pages:
+ stage: build
+ image: alpine
+ except:
+ - schedules
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev asciidoc findutils gzip
+ - python ./waf configure --enable-doc --prefix=/tmp/docbot-local --htmldir=`pwd`/public/latest/ build install
+ - cp www/favicon.ico public
+ - cp docs/top.html.in public/index.html
+ - cp docs/top-asciidoc.css public/asciidoc.css
+ - mv public/latest/404.html public/404.html
+ - sed -i -E -e 's!\./(asciidoc\.(js|css))!\./latest/\1!g' public/404.html
+ - find public -type f -iregex '.*\.\(htm\|html\|txt\|text\|js\|css\)$' -execdir gzip -f --keep {} \;
+ allow_failure: true
+ artifacts:
+ paths:
+ - public
+ tags:
+ - gitlab-org
+
+include:
+ - template: Code-Quality.gitlab-ci.yml
+
+.job_template: &job_definition
+ stage: build
+ except:
+ - schedules
+ artifacts:
+ expire_in: 7d
+ paths:
+ - build/main/attic/sht
+ - build/main/ntpclients/ntpdig
+ - build/main/ntpclients/ntpkeygen
+ - build/main/ntpclients/ntpleapfetch
+ - build/main/ntpclients/ntploggps
+ - build/main/ntpclients/ntplogtemp
+ - build/main/ntpclients/ntpmon
+ - build/main/ntpclients/ntpq
+ - build/main/ntpclients/ntpsweep
+ - build/main/ntpclients/ntptrace
+ - build/main/ntpclients/ntpviz
+ - build/main/ntpclients/ntpwait
+ - build/main/ntpd/ntpd
+ - build/main/ntpfrob/ntpfrob
+
+alpine-basic:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+alpine-refclocks:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+alpine-edge-basic:
+ <<: *job_definition
+ image: alpine:edge
+ allow_failure: true
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+alpine-edge-refclocks:
+ <<: *job_definition
+ image: alpine:edge
+ allow_failure: true
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+debian-oldstable-basic:
+ <<: *job_definition
+ image: debian:oldstable-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+debian-oldstable-refclocks:
+ <<: *job_definition
+ image: debian:oldstable-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+debian-stable-basic:
+ <<: *job_definition
+ image: debian:stable-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+debian-stable-refclocks:
+ <<: *job_definition
+ image: debian:stable-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+debian-testing-basic:
+ <<: *job_definition
+ image: debian:testing-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+debian-testing-refclocks:
+ <<: *job_definition
+ image: debian:testing-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+debian-unstable-basic:
+ <<: *job_definition
+ image: debian:unstable-slim
+ allow_failure: true
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+debian-unstable-refclocks:
+ <<: *job_definition
+ image: debian:unstable-slim
+ allow_failure: true
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+ubuntu-latest-basic:
+ <<: *job_definition
+ image: ubuntu:latest
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+ubuntu-latest-refclocks:
+ <<: *job_definition
+ image: ubuntu:latest
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+ubuntu-rolling-basic:
+ <<: *job_definition
+ image: ubuntu:rolling
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+ubuntu-rolling-refclocks:
+ <<: *job_definition
+ image: ubuntu:rolling
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+ubuntu-devel-basic:
+ <<: *job_definition
+ image: ubuntu:devel
+ allow_failure: true
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+ubuntu-devel-refclocks:
+ <<: *job_definition
+ image: ubuntu:devel
+ allow_failure: true
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+gcc-latest-basic:
+ <<: *job_definition
+ image: gcc:latest
+ script:
+ - apt-get update -qq && apt-get install -y -qq bison libcap-dev pps-tools python-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+gcc-latest-refclocks:
+ <<: *job_definition
+ image: gcc:latest
+ script:
+ - apt-get update -qq && apt-get install -y -qq bison libcap-dev pps-tools python-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+freebsd-11-basic:
+ <<: *job_definition
+ script:
+ - python ./waf configure build
+ tags:
+ - freebsd-11
+ only:
+ - branches@NTPsec/ntpsec
+
+freebsd-11-refclocks:
+ <<: *job_definition
+ script:
+ - python ./waf configure --refclock=all build
+ tags:
+ - freebsd-11
+ only:
+ - branches@NTPsec/ntpsec
+
+freebsd-12-basic:
+ <<: *job_definition
+ script:
+ - python ./waf configure build
+ tags:
+ - freebsd-12
+ only:
+ - branches@NTPsec/ntpsec
+
+freebsd-12-refclocks:
+ <<: *job_definition
+ script:
+ - python ./waf configure --refclock=all build
+ tags:
+ - freebsd-12
+ only:
+ - branches@NTPsec/ntpsec
+
+centos-latest-basic:
+ <<: *job_definition
+ image: centos:latest
+ script:
+ - yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python-devel
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+centos-latest-refclocks:
+ <<: *job_definition
+ image: centos:latest
+ script:
+ - yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python-devel
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+fedora-latest-basic:
+ <<: *job_definition
+ image: fedora:latest
+ script:
+ - yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python3-devel
+ - python3 ./waf configure build
+ tags:
+ - gitlab-org
+
+fedora-latest-refclocks:
+ <<: *job_definition
+ image: fedora:latest
+ script:
+ - yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python3-devel
+ - python3 ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+fedora-rawhide-basic:
+ <<: *job_definition
+ image: registry.fedoraproject.org/fedora:rawhide
+ allow_failure: true
+ script:
+ - yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python3-devel
+ - python3 ./waf configure build
+ tags:
+ - gitlab-org
+
+fedora-rawhide-refclocks:
+ <<: *job_definition
+ image: registry.fedoraproject.org/fedora:rawhide
+ allow_failure: true
+ script:
+ - yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python3-devel
+ - python3 ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+fedora-rawhide-refclocks-gpsd:
+ <<: *job_definition
+ image: registry.fedoraproject.org/fedora:rawhide
+ allow_failure: true
+ script:
+ - yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python3-devel python3-gpsd
+ - python3 ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+python3:
+ <<: *job_definition
+ image: python:3
+ script:
+ - apt-get update -qq && apt-get install -y -qq bison libcap-dev pps-tools
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+python-coverage:
+ <<: *job_definition
+ script:
+ - apt-get update -qq && apt-get install -y -qq netbase bison python-dev python-coverage
+ - python ./waf configure build
+ - for i in build/main/tests/pylib/test_*; do python-coverage run -a --source build/main/pylib $i; done
+ - python-coverage report
+ tags:
+ - gitlab-org
+
+clang-basic:
+ <<: *job_definition
+ image: debian:testing-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison libssl-dev libcap-dev pps-tools python-dev clang
+ - python ./waf configure --check-c-compiler=clang build
+ tags:
+ - gitlab-org
+
+clang-refclocks:
+ <<: *job_definition
+ image: debian:testing-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison libssl-dev libcap-dev pps-tools python-dev clang
+ - python ./waf configure --check-c-compiler=clang --refclock=all build
+ tags:
+ - gitlab-org
+
+openSUSE-leap-basic:
+ <<: *job_definition
+ image: opensuse/leap
+ script:
+ - zypper -n install bison gcc libopenssl-devel libcap-devel pps-tools-devel python-devel python-curses
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+openSUSE-leap-refclocks:
+ <<: *job_definition
+ image: opensuse/leap
+ script:
+ - zypper -n install bison gcc libopenssl-devel libcap-devel pps-tools-devel python-devel python-curses
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+openSUSE-tumbleweed-basic:
+ <<: *job_definition
+ image: opensuse/tumbleweed
+ allow_failure: true
+ script:
+ - zypper -n install bison gcc libopenssl-devel libcap-devel pps-tools-devel python-devel python-curses
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+openSUSE-tumbleweed-refclocks:
+ <<: *job_definition
+ image: opensuse/tumbleweed
+ allow_failure: true
+ script:
+ - zypper -n install bison gcc libopenssl-devel libcap-devel pps-tools-devel python-devel python-curses
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+debian-stable-basic-32bit:
+ <<: *job_definition
+ image: i386/debian:stable-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+debian-stable-refclocks-32bit:
+ <<: *job_definition
+ image: i386/debian:stable-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+debian-stable-mDNS-basic:
+ <<: *job_definition
+ image: debian:stable-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev libavahi-compat-libdnssd-dev
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+debian-stable-mDNS-refclocks:
+ <<: *job_definition
+ image: debian:stable-slim
+ script:
+ - apt-get update
+ - apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python-dev libavahi-compat-libdnssd-dev
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+cross-build:
+ <<: *job_definition
+ script:
+ - PYTHON_VERSION=2.7 PYTAG=cpython27 pyext_PATTERN="%s.so" PYTHON_LDFLAGS='-lpthread -ldl' ./waf configure --cross-compiler=arm-linux-gnueabihf-gcc-5 --cross-cflags '-I/srv/arm-local/include -I/srv/arm-local/include/python2.7' --cross-ldflags '-L/srv/arm-local/lib' --pythondir=/srv/arm-local/lib/python2.7/dist-packages --pythonarchdir=/srv/arm-local/lib/python2.7/dist-packages build
+ tags:
+ - ubuntu-1604-lts
+ only:
+ - branches@NTPsec/ntpsec
+
+gentoo-basic:
+ <<: *job_definition
+ image: gentoo/stage3-amd64
+ script:
+ - emerge-webrsync
+ - emerge -q y sys-libs/libcap sys-devel/bison net-misc/pps-tools
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+gentoo-refclocks:
+ <<: *job_definition
+ image: gentoo/stage3-amd64
+ script:
+ - emerge-webrsync
+ - emerge -q y sys-libs/libcap sys-devel/bison net-misc/pps-tools
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+gentoo-hardened-basic:
+ <<: *job_definition
+ image: gentoo/stage3-amd64-hardened
+ script:
+ - emerge-webrsync
+ - emerge -q y sys-libs/libcap sys-devel/bison net-misc/pps-tools
+ - python ./waf configure build
+ tags:
+ - gitlab-org
+
+gentoo-hardened-refclocks:
+ <<: *job_definition
+ image: gentoo/stage3-amd64-hardened
+ script:
+ - emerge-webrsync
+ - emerge -q y sys-libs/libcap sys-devel/bison net-misc/pps-tools
+ - python ./waf configure --refclock=all build
+ tags:
+ - gitlab-org
+
+coverity-scan:
+ script:
+ - ./waf configure --refclock=all
+ - /opt/cov-analysis/bin/cov-build --dir cov-int ./waf build
+ - tar czf ntpsec_coverity.tgz cov-int
+ - curl --form token=$COVERITY_TOKEN --form email=security@ntpsec.org --form file=@ntpsec_coverity.tgz --form version="$(git rev-parse --short HEAD)" --form description="Automatic submission by gitlab-ci" https://scan.coverity.com/builds?project=ntpsec
+ tags:
+ - ubuntu-1604-lts
+ only:
+ - schedules
+
+macos-basic:
+ <<: *job_definition
+ script:
+ - PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig python ./waf configure build
+ tags:
+ - macos
+ only:
+ - branches@NTPsec/ntpsec
+
+macos-refclocks:
+ <<: *job_definition
+ script:
+ - PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig python ./waf configure --refclock=all build
+ tags:
+ - macos
+ only:
+ - branches@NTPsec/ntpsec
+
+feature-classic-mode:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all --enable-classic-mode build
+ tags:
+ - gitlab-org
+
+feature-seccomp:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev libseccomp-dev
+ - python ./waf configure --refclock=all --enable-seccomp build
+ tags:
+ - gitlab-org
+
+feature-debug:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all --enable-debug build
+ tags:
+ - gitlab-org
+
+feature-debug-gdb:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all --enable-debug-gdb build
+ tags:
+ - gitlab-org
+
+feature-debug-timing:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all --enable-debug-timing build
+ tags:
+ - gitlab-org
+
+feature-disable-droproot:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all --disable-droproot build
+ tags:
+ - gitlab-org
+
+feature-early-droproot:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all --enable-early-droproot build
+ tags:
+ - gitlab-org
+
+feature-leap-smear:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all --enable-leap-smear build
+ tags:
+ - gitlab-org
+
+feature-mssntp:
+ <<: *job_definition
+ image: alpine
+ script:
+ - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev
+ - python ./waf configure --refclock=all --enable-mssntp build
+ tags:
+ - gitlab-org
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..d576def
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,280 @@
+= Installation instructions =
+
+== Prerequisites ==
+
+This software should build on any operating system conformant to
+POSIX.1-2001 and ISO/IEC 9899:1999 (C99). In addition, the operating
+system must have an ntp_adjtime(2) call. Also, it must support the
+IPv6 API defined in RFC 2493 and RFC 2553. Finally, it must support
+iterating over active UDP interfaces via getifaddrs(3) or some
+equivalent facility.
+
+You can browse a summary of differences from legacy NTP here:
+
+https://docs.ntpsec.org/latest/ntpsec.html
+
+There are some prerequisites. Libraries need the binary installed
+to run and in addition, the development headers installed to build.
+
+We need pthreads (It's optional in POSIX)
+We need OpenSSL >= 1.0.1
+NTS needs TLS1.2 or newer.
+
+=== The short version ===
+
+If you are on a Debian or Ubuntu distribution that uses apt-get, or on
+a Fedora or RedHat distribution that uses yum or dnf, or a Suse
+distribution that uses yast or zypper, or Gentoo, you can use the
+./buildprep script.
+
+In that case, run ./buildprep -n to see what needs to be installed as
+prerequisites on your system. In order that we have a single point of
+truth about package requirements, much information about
+installable-package names that used to live in this file has moved to
+that script.
+
+If you are using other distributions or OSes, such as macOS, Solaris,
+or *BSD, you will have to install the build prerequisites by hand on
+your system. Read the buildprep script to get an idea what packages
+are required.
+
+buildprep does not attempt to install dependencies for optional
+components like ntpviz or building documentation unless asked. See
+buildprep --help for details on available options. asciidoc has a
+huge tail of dependencies and you probably don't want it unless you're
+planning to modify the documentation. psutil may require different
+packages depending on whether your base Python version is 2 or 3.
+
+=== Details ===
+
+Python 2.x, x >= 6, or Python 3.x, x >= 3::
+ Required to build, and for various scripts such as ntpviz (but see
+ the guidance for packagers in devel/packaging.adoc). Our Python code
+ has been written polyglot to also run with production versions of
+ Python 3. Note that you will need both the ordinary Python
+ installation and Python dev tools, if your OS makes such a
+ distinction.
+
+ Some OS distros won't find our installed python libraries.
+ More info in README-PYTHON.
+
+argparse::
+ Required for ntpviz when using Python version 2.6
+ Install with pip: pip install argparse
+
+psutil::
+ Optional for ntpviz. Allows running with ionice()
+ Debian: python-psutil or python3-psutil
+ Ubuntu: python-psutil or python3-psutil
+ Fedora/CentOS: python-psutil
+ CentOS 6: python-psutil in epel ("Extra Packages for Enterprise Linux").
+ Gentoo: dev-python/psutil
+ SLES: python-psutil
+
+sys/timepps.h::
+ If you are building to supply Stratum 1 time service (that is, with
+ refclocks linked in) you may find that you need the sys/timepps.h
+ file to be installed, depending on which refclocks you enable.
+ This won't be necessary for pure client (Stratum 2 or higher)
+ installations.
+
+asciidoc, a2x::
+ You will need asciidoc to make HTML and a2x to make manual pages from the
+ documentation masters. Only required if you configured with --enable-doc.
+ Note, you need asciidoc 8.6.0 at minimum.
+ Debian/Ubuntu: asciidoc
+ Fedora/CentOS: asciidoc (CentOS/RHEL6 has only 8.4.5, you must upgrade)
+ Gentoo: app-text/asciidoc
+ SLES: asciidoc
+
+Local copy of DocBook stylesheets:
+ Optional: Prevents documentation build failures when your Internet is down
+ Debian/Ubuntu: docbook-xsl
+ Fedora/CentOS: docbook-xsl-stylesheets
+ Gentoo: app-text/docbook-xsl-stylesheets
+ SLES: docbook-xsl-stylesheets - pulled in by `asciidoc`
+
+wget:
+ Optional, used by ntpleapfetch
+
+== Basic Installation ==
+
+These are generic Unix installation instructions. Some notes on
+specific platforms follow this section.
+
+Under Unix, the simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code.
+
+ 2. Run `./buildprep' as root to get your prerequisites installed.
+
+ 3. Run `./waf configure' to configure the package for your system.
+ You may want to add configuration options after the verb 'configure';
+ see below. NOTE: if you will be using any local reference clocks (GPS,
+ PTP, SHM, etc.) then you need to configure for them by running the
+ command: `./waf configure --refclock=all`.
+
+ 4. Run `./waf build' to compile the package.
+
+ 5. Run `./waf install' to install the programs and any data files and
+ documentation.
+
+ 6. You can uninstall cleanly by running `./waf uninstall' as root.
+
+ 7. Look under "Boot script setup" in wscript for how to set up
+ boot time startup of ntpd; this will vary according to your
+ init system.
+
+ 8. You can remove the program binaries and object files from the
+ source code directory by running `./waf clean'.
+
+ 9. To also remove the files that `./waf configure' created (so you can
+ configure and compile the package for a different kind of
+ computer), run `./waf distclean'.
+
+=== Solaris ===
+
+When building the NTPsec suite using gcc under Solaris, you may see
+prototype-mismatch warnings involving adjtime(2). These warnings are
+functionally harmless and can be ignored. They reflect an unfortunate
+choice by Solaris not to const the function's first argument as do
+other implementations.
+
+== Build Bugs ==
+
+The configuration system occasionally acts up during builds on new
+platforms. If you see the message "Compilation check failed but
+include exists!" this means that an attempt to compile a small test
+program using the include header mentioned on the previous line
+failed, but waf configure then found that despite this the header file
+exists on your system.
+
+When this happens, it is likely that the header has prerequisites
+on your system that waf configure doesn't know about - that is,
+other headers always need to be included before it in C programs.
+Please report this as a bug, along with your platform details.
+
+== Source build limitations ==
+
+When you do an install from source, no attempt is made to generate an
+/etc/ntp.conf for you. The reason is that we, the maintainers, can't
+know what pool host you are authorized to use. If you have an existing
+ntp.conf from a legacy version, you can expect it to work.
+
+Due to a limitation of the Python distutils library, if you install
+from the source distribution with prefix set to a value other than
+/usr (in particular, if it's the default value /usr/local), that
+prefix will be honored *only if the corresponding Python library
+directory already exists*. Otherwise, under Linux, the install will
+drop the ntp Python library in /usr/lib. This layout may violate the
+Linux File Hierarchy Standard.
+
+You should have neither issue if you install from an OS distribution's
+binary package.
+
+== Installation Names ==
+
+By default, `waf install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving waf the
+option `--prefix=PATH'.
+
+You should read the section "Path problems with the test tools" in
+devel/testing.adoc before setting a non-default prefix.
+
+There is a separate `--destdir' option that changes the root of the
+entire installation hierarchy, prepending all paths. It defaults to `/'.
+You might, say, use --destdir=/tmp/ntp for a test install to see what
+the installation paths look like without running as root or touching
+system directories.
+
+NB: --destdir is specified at install time, --prefix is specified
+at configure time and saved until install time.
+
+
+== Qualification testing ==
+
+Details on how to qualify NTPsec if you've never used it before
+are at devel/testing.adoc.
+
+== Strict compatibility mode ==
+
+There have been a handful of forward-incompatible changes from NTP Classic.
+These are unlikely to affect normal operation. However, there is a configure
+operation, --enable-classic-mode, that restores certain legacy behaviors. This
+is not recommended, as it makes the code a little bulkier and slower.
+
+Here's what it currently does:
+
+* Reverts logging to the old format that designates clocks with magic
+ addresses rather than the driver shortname and unit number.
+
+* Enables declaring generic-driver refclocks with the old magic-address
+ syntax (but the new syntax won't work for these, though it will for
+ other driver types).
+
+* Reverts the default baudrate of the NMEA driver to 4800 (from 9600).
+
+* Restores the old (non-RFC 3339) format of logfile timestamps.
+
+Other behaviors may be added in future releases.
+
+== Optional Features ==
+
+The waf builder accepts `--enable-FEATURE' options to where FEATURE
+indicates an optional part of the package. Do `waf --help' for a list
+of options.
+
+refclocks are enabled with `--refclock=<n1,n2,n3..> or --refclock=all'
+`waf configure --list' will print a list of available refclocks.
+
+=== --enable-early-droproot ===
+
+Drop root privileges as early as possible. This requires the refclock
+devices to be owned by the same owner or group that ntpd will be
+running under (most likely that group will be named "ntp") so that it
+can still open the devices. This can be accomplished by adding
+`GROUP="ntp"` or `OWNER="ntp"` to the udev rules that create the
+device symlinks for the refclocks.
+
+== Developer options ==
+
+--enable-debug-gdb::
+ Enable GDB debugging symbols.
+
+== Operation Controls ==
+
+The waf builder recognizes the following options to control how it
+operates.
+
+--help::
+ Print a summary of the options to `waf configure', and exit.
+
+--version::
+ Print the version of waf used to generate the `configure'
+ script, and exit.
+
+== Cross-compiling ==
+
+Set up a cross-compile environment for the target architecture. At minimum
+it will need OpenSSL headers/libraries and Python headers/libraries.
+
+Configure NTPSec with:
+
+ PYTHON_VERSION=2.7 PYTAG=cpython27 pyext_PATTERN="%s.so" PYTHON_LDFLAGS='-lpthread -ldl' \
+ ./waf configure --cross-compiler=/path/to/your/cross/cc \
+ --pythondir=/usr/local/lib/python2.7/dist-packages --pythonarchdir=/usr/local/lib/python2.7/dist-packages
+
+There are also --cross-cflags and --cross-ldflags to supply the cross compiler
+with appropriate values.
+
+== Statistics ==
+
+If you want to generate the ntpviz graphs regularly, add these lines to
+your root crontab:
+
+53 * * * * cd /usr/local/src/NTP/ntpsec/ntpstats; ./ntpviz -p 1 -o day
+45 11,23 * * * cd /usr/local/src/NTP/ntpsec/ntpstats; ./ntpviz -p 7 -o week
+
+// end
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..dbc6c68
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,137 @@
+= Software licenses =
+
+For historical reasons the code in this distribution is issued under
+several different but compatible licenses. Each will generally be
+found near a year or years of copyright declaration.
+
+Much of the existing and historical code is licensed under the "NTP
+License". Additionally, small portions of the code are licensed under
+the BSD 3-clause and MIT licenses.
+
+Our preferred license for new code contributions is BSD 2-clause.
+
+Our preferred license for documentation is Creative Commons Attribution 4.0.
+
+Refer to .../docs/copyright.txt for more information about copyrights,
+licensing, and contributor credits.
+
+A great deal of effort has been spent researching old file archives
+and old source control data sets and then integrating and correcting
+it all into the git history of this repository. As near as we can
+tell, this git repo contains all of the currently surviving
+history of the NTP reference implementation. If you know of or
+possess tarballs or source trees of the project that are not contained
+in this git repo, please let us know, so that we can add them.
+
+
+== Creative Commons Attribution 4.0 International license ==
+
+(http://creativecommons.org/licenses/by/4.0/)
+
+== BSD 2-clause license ==
+
+(https://opensource.org/licenses/BSD-2-Clause)
+
+----------------------------------------------------------------
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+----------------------------------------------------------------
+
+== NTP license ==
+
+(https://opensource.org/licenses/NTP)
+
+----------------------------------------------------------------
+Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose with or without fee is hereby
+granted, provided that the above copyright notice appears in all
+copies and that both the copyright notice and this permission
+notice appear in supporting documentation, and that the name
+University of Delaware not be used in advertising or publicity
+pertaining to distribution of the software without specific,
+written prior permission. The University of Delaware makes no
+representations about the suitability this software for any
+purpose. It is provided "as is" without express or implied
+warranty.
+----------------------------------------------------------------
+
+== BSD 3-clause license ==
+
+(https://opensource.org/licenses/BSD-3-Clause)
+
+----------------------------------------------------------------
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+----------------------------------------------------------------
+
+== MIT license ==
+
+(https://opensource.org/licenses/MIT)
+
+----------------------------------------------------------------
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+----------------------------------------------------------------
+
+image::clocktower64.png[align="center"]
+
+// end
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..e5c18c4
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,566 @@
+= NTPsec project news =
+
+For historic news from NTP Classic, see devel/HISTORIC-NEWS in the
+distribution.
+
+Not all news features are described here; see docs/ntpsec.adoc in the
+distribution.
+
+Much of the traditional function of a news file is now better addressed
+by browsing the comments in the revision history. This file will focus
+on user-visible changes.
+
+== 2019-09-02: 1.1.7 ==
+
+The numeric literal argument of the 'time1' fudge option on a clock
+can now have one or more letter suffixes that compensate for era
+rollover in a GPS device. Each "g" adds the number of seconds in a
+1024-week (10-bit) GPS era. Each "G" adds the number of seconds in a
+8192-week (13-bit) GPS era.
+
+The neoclock4x driver has been removed, due to the hardware and the
+vendor having utterly vanished from the face of the earth.
+
+The NTS ALPN negotiation sequence has been modified for improved
+interoperability with other NTS implementations.
+
+NTS key rotation now happens every 24 hours. It used to rotate
+every hour to enable testing of recovery from stale cookies.
+
+On this day in 1945, some important paperwork was signed by
+General MacArthur aboard the USS Missouri.
+
+== 2019-07-10: 1.1.6 ==
+
+Fixes to code quality checks.
+
+Fixes to NTS server list.
+
+Fix to bug #600.
+
+On this day in 1913, in Death Valley, the temperature was 56.7°C,
+officially world's highest recorded temperature.
+
+== 2019-06-30: 1.1.5 ==
+
+Add ALPN for the NTS server, as required by the NTP draft.
+
+Revert some ntpq behavior.
+
+On this day in 1972 the first leap second is added to the UTC time system.
+
+== 2019-06-21: 1.1.4 ==
+
+NTS is now implemented. See .../devel/nts.adoc
+https://tools.ietf.org/html/draft-ietf-ntp-using-nts-for-ntp
+
+We thank Cisco for sponsoring the NTS development.
+
+Lots of fixes and cleanups to PPS, both implementation and documentation.
+
+Pthread support is now required. --disable-dns-lookup is gone.
+
+NIST lockclock mode is now a runtime option set by the (previously unused)
+flag1 mode bit of the local-clock driver.
+
+As always, lots of minor fixups and cleanups everywhere. See the git log.
+
+Today marks the summer solstice in the Northern Hemisphere.
+
+== 2019-01-13: 1.1.3 ==
+
+Security fixes for bugs inherited from NTP Classic:
+
+* CVE-2019-6443: OOB read in ctl_getitem() in ntp_control.c (GitLab #507)
+* CVE-2019-6444: OOB read in process_control() in ntp_control.c (GitLab #508)
+* CVE-2019-6445: Remotely triggerable crash in ntp_control.c (GitLab #509)
+* CVE-2019-6442: Authenticated OOB write in ntp_parser.y (GitLab #510)
+
+Lots of typo fixes, documentation cleanups, test targets.
+
+In memory of Arland D. Williams Jr.
+
+== 2018-08-28: 1.1.2 ==
+
+Use data minimization on client requests
+ https://datatracker.ietf.org/doc/draft-ietf-ntp-data-minimization/
+
+Support AES-128-CMAC for authentication
+ https://www.rfc-editor.org/info/rfc8573
+
+== 2018-06-11: 1.1.1 ==
+
+Log timestamps now include the year. This is useful when
+investigating bugs involving time-setting and -g.
+
+Many internal cleanups to clear the way for upcoming major features.
+They should generally not be user visible. Refer to the git-log if
+you are interested.
+
+== 2018-03-14: 1.1.0 ==
+
+RIP Stephen William Hawking, CH CBE FRS FRSA. 1942-01-08 - 2018-03-14
+You gave us a Brief History of Time. We will just count it.
+
+Enough user visible changes have been made that this is the 1.1.0 release
+instead of a 1.0.1.
+
+The code size is now 55KLOC in C, 15KLOC in Python.
+
+Digests longer then 20 bytes will be truncated.
+
+We have merged NTP Classic's fix for CVE-2018-7182.
+
+The following NTP Classic CVEs announced in February 2018 do not affect NTPsec:
+
+* CVE-2016-1549: Sybil vulnerability: ephemeral association attack
+* CVE-2018-7170: Multiple authenticated ephemeral associations
+* CVE-2018-7184: Interleaved symmetric mode cannot recover from bad state
+* CVE-2018-7185: Unauthenticated packet can reset authenticated interleaved association
+* CVE-2018-7183: ntpq:decodearr() can write beyond its buffer limit
+
+We have dropped support for Broadcast servers. We had kept it for
+older desktop operating systems listening on the local network
+broadcast domain, a use case that is no longer employed in sane
+environments, and no longer necessary for modern desktop OSs.
+
+It is now possible to unpeer refclocks using a type/unit specification
+rather than a magic IP address. This was the last obligatory use of
+magic IP addresses in the configuration grammar.
+
+OpenBSD has been removed from the list of supported platforms for
+ntpd. It will be restored if and when its clock API supports drift
+adjustment via ntp_adjtime() or equivalent facility.
+
+Mac OS X support has been dropped pending the implementation of
+ntp_adjtime(2).
+
+A bug that caused the rejection of 33% of packets from Amazon time
+service has been fixed.
+
+== 2017-10-10: 1.0.0 ==
+
+This is the 1.0 release.
+It has been a long road, getting from there to here.
+
+The code size has been further reduced, to 55KLOC.
+
+A bug inherited from Classic that could cause bad jitter from bad
+peers to be incorrectly zeroed, producing erratic or slow startup, has
+been fixed.
+
+The dependency of local refclocks returning 4-digit years on
+pre-synchronization to a network peer has been removed. It is
+thus possible to run in a fully-autonomous mode using multiple
+refclocks and no network peers.
+
+ntpmon now reports units on time figures.
+
+ntpq now reports a count of Mode 6 messages received under sysstats.
+
+You can now turn off restriction flags with an _unrestrict_ statement
+that takes arguments exactly like a _restrict_, except that with no
+argument flags it removes any filter rule associated with the
+address/mask (as opposed to creating one with unrestricted
+access). This is expected to be useful mainly with the "ntpq :config"
+command.
+
+Builds are fully reproducible; see SOURCE_DATE_EPOCH and BUILD_EPOCH.
+
+== 2017-03-21: 0.9.7 ==
+
+The code size has been further reduced, to 60KLOC.
+
+A shell script, buildprep, has been added to the top level source directory.
+It prepares your system for an NTPsec source build by installing all required
+dependencies on the build host.
+
+Extra digits of precision are now output in numerous places. The
+driftfile now stores 6 digits past the decimal point instead of 3. The
+stats files now stores 9 digits past the decimal point instead of 6 for
+some fields. ntpq and ntpmon also report extra digits of precision in
+multiple places. These changes may break simple parsing scripts.
+
+Four contrib programs: cpu-temp-log; smartctl-temp-log, temper-temp-log,
+and zone-temp-log; have been combined into the new program ntplogtemp.
+The new program allows for easy logging of system temperatures and is
+installed by default.
+
+The SHM refclock no longer limits the value of SHM time by default.
+This allows SHM to work on systems with no RTC by default.
+
+The following CVEs revealed by a Mozilla penetration test and reported in
+CERT VU#325339 have been resolved:
+
+CVE-2017-6464: Denial of Service via Malformed Config
+CVE-2017-6463: Authenticated DoS via Malicious Config Option
+CVE-2017-6458: Potential Overflows in ctl_put() functions
+CVE-2017-6451: Improper use of snprintf() in mx4200_send()
+
+A Pentest report by Cure53 noted that a previously fixed CVE had been
+reintroduced into the code. This was resolved, again.
+
+CVE-2014-9295: Multiple stack-based buffer overflows in ntpd
+
+The following CVEs, announced simultaneously, affected NTP Classic but
+not NTPsec, because we had already removed the attack surface:
+
+CVE-2017-6462: Buffer Overflow in DPTS Clock
+CVE-2017-6455: Privileged execution of User Library code
+CVE-2017-6452: Stack Buffer Overflow from Command Line
+CVE-2017-6459: Data Structure terminated insufficiently
+CVE-2017-6460: Buffer Overflow in ntpq when fetching reslist
+
+We gratefully acknowledge the work of of Dr.-Ing. Mario Hederich
+at cure53 in detecting these problems and his cooperation in resolving them.
+
+== 2016-12-30: 0.9.6 ==
+
+ntpkeygen has been moved from C to Python. This is not a functional
+change, just another move to improve maintainability and reduce attack
+surface by decreasing line count.
+
+ntpdig has also been moved from C to Python. Though this is also
+mostly a move to reduce line count, the new version does have some
+functional changes. Obsolete options have been dropped, logging is
+done a bit differently, and the synchronization-distance computation has
+been brought up to date with ntpd's. Also, this version can be told to
+collect multiple samples and use whichever has the lowest combination
+of stratum and synchronization distance.
+
+A new tool for time-service operators, ntpmon, supports real-time
+monitoring of your NTP installation's status.
+
+== 2016-11-23: 0.9.5 ==
+
+This release includes a substantial refactoring of the core protocol
+implementation. Due to unresolvable security issues, support for
+broadcast/multicast clients has been dropped; broadcast servers are
+still supported. Likewise, symmetric mode is now only partially
+supported. The `peer` directive has become a synonym for `server`.
+Servers which receive symmetric-active mode packets will immediately
+give a symmetric-passive-mode response, but will not mobilize a new
+association.
+
+All remaining Perl code in the distribution has been moved to Python.
+
+The trap feature, broken in NTP Classic at the time of the NTPSec fork,
+has been removed. So has its only known client, the ntptrap script in the
+distribution.
+
+A new visualization tool, ntpviz, generates graphical summaries of
+logfile data that can be helpful for identifying problems such as
+misconfigured servers. It replaces a messy and poorly documented pile
+of ancient Perl, awk, and S scripts; those have been removed.
+
+It is now possible (and sometimes useful) to say "minpoll 0" for a
+1-second interval.
+
+The ntpq tool for querying and configuring a running ntpd has been
+moved from C to Python. About the only visible effect this has is
+that ntpq now resizes its peers display to accommodate wide
+terminal-emulator windows.
+
+This release includes fixes for four low and medium-severity
+vulnerabilities:
+
+CVE-2016-7434: Null pointer dereference on malformed mrulist request
+CVE-2016-7429: Interface selection DoS
+CVE-2016-9311: Trap crash
+CVE-2016-9310: Mode 6 unauthenticated trap information disclosure and DDoS vector
+
+Note that the "fixes" for CVE-2016-9310/9311 consist of complete
+removal of the broken trap feature. This removal occurred post-0.9.4
+but prior to the discovery of these issues.
+
+Further, an additional low-severity issue impacting 0.9.0 through
+0.9.3 has come to our attention:
+
+CVE-2016-7433: Reboot sync calculation problem
+
+This issue was already addressed in 0.9.4 but not treated as a
+vulnerability.
+
+The following NTP Classic CVEs do not impact NTPsec: CVE-2016-7427,
+CVE-2016-7428, CVE-2016-9312, CVE-2016-7431. We reject CVE-2016-7426,
+as it describes known and intended behavior which is a necessary
+logical consequence of rate-limiting.
+
+For more information on these security issues, see:
+https://lists.ntpsec.org/pipermail/devel/2016-November/002589.html
+http://support.ntp.org/bin/view/Main/SecurityNotice#November_2016_ntp_4_2_8p9_NTP_Se
+
+== 2016-08-16: 0.9.4 ==
+
+usestats has been added to the statistics collection to record
+system resource usage statistics.
+
+A new, simpler configuration syntax for refclocks has been
+implemented. Configuration examples in the new syntax have been added
+to each driver page.
+
+Refclocks are now designated by name, not number. A list is available
+from "./waf configure --list".
+
+The rarely-used saveconfig feature in ntpd, and various associated
+configuration directives, have been removed for security reasons. The
+ntpd --saveconfigquit option, undocumented in NTP Classic, has
+also been removed.
+
+The ARCRON MSF refclock has been removed on the advice of last maintainer.
+
+The Spectracom TSYNC PCI refclock has been removed. It required a
+proprietary driver. As a matter of good security policy, NTPsec will
+not trust nor attempt to support code it cannot audit.
+
+The Conrad Parallel Port radio refclock has been removed. It required
+a third-party parallel-port driver for Linux that no longer exists.
+
+Both Hopf refclocks have been removed. The 6039 driver required a
+kernel driver that no longer exists; the 6021 driver duplicated
+support in the generic driver.
+
+The Austron refclock has been removed, on the grounds that it was
+EOLed more than 20 years ago and there's been no aftermarket activity
+or web chatter around it for a decade.
+
+The audio-path drivers (IRIG and CHU) have been removed. The class
+of hardware required to support them has gone essentially extinct due
+to cheap DSP. The complexity/maintenance overhead of this code
+was high enough to motivate dropping them.
+
+This release contains a fix for one vulnerability inherited from
+NTP Classic:
+
+[Bug 3044] (CVE-2016-4954) Processing spoofed server packets
+
+https://lists.ntpsec.org/pipermail/devel/2016-June/001299.html provides
+additional information on this issue.
+
+It also includes the following fix cross-ported from Classic:
+
+[Bug 3047] refclock_jjy does not work with C-DEX JST2000
+
+== 2016-05-17: 0.9.3 ==
+
+The long-deprecated Autokey feature has been removed.
+
+This release contains fixes for three vulnerabilities inherited from
+NTP Classic:
+
+[Bug 3020] (CVE-2016-1551) Refclock impersonation vulnerability
+ (Credit: Matt Street et. al. of Cisco ASIG)
+[Bug 3008] (CVE-2016-2519) ctl_getitem() return value not always checked
+ (Credit: Yihan Lian of the Qihoo 360 cloud security team)
+[Bug 2978] (CVE-2016-1548) Interleave-pivot
+ (Credit: Miroslav Lichvar of RedHat and Jonathan Gardner of Cisco ASIG)
+
+The following non-security fixes have been
+forward-ported from Classic:
+
+[Bug 2772] adj_systime overflows tv_usec
+[Bug 2814] msyslog deadlock when signaled.
+[Bug 2829] Look at pipe_fds in ntpd.c
+[Bug 2887] fudge stratum only accepts values [0..16].
+[Bug 2958] ntpq: fatal error messages need a final newline.
+[Bug 2965] Local clock didn't work since 4.2.8p4.
+[Bug 2969] Segfault from ntpq/mrulist when looking at server with lots of clients
+
+We regard the following NTP Classic bug -
+
+[Bug 3012] (CVE-2016-1549) Sybil vulnerability: ephemeral association attack
+(Credit: Matthew van Gundy of Cisco ASIG)
+
+as a duplicate of CVE-2015-7974 (see 0.9.1 release
+notes) and it is WONTFIX for the time being: it is
+correct-but-unfortunate behavior consequent to confusing and
+inflexible semantics of ntp.conf's access control language, and we
+will address it with a future redesign effort. NTP Classic has
+partially addressed this pair of issues by extending the syntax of
+ntp.keys to support IP ACLing. We are not currently aware of any
+demand for this feature among NTPsec users and have no plans to
+implement it; if you have a need for it, please file a bug at
+https://gitlab.com/groups/NTPsec/issues to let us know you're out
+there.
+
+The remainder of the security issues patched in NTP Classic 4.2.8p7
+either are not believed to impact NTPsec or were already fixed in a
+previous release.
+
+== 2016-03-15: 0.9.2 ==
+
+Point release.
+
+* can now cross-compile
+* many documentation fixes
+* Coverity is even more strict
+* remove WWV, transmitter protocol changed, nobody builds receivers
+* remove updwtmpx stuff, no longer useful
+
+== 2016-01-25: 0.9.1 ==
+
+Point release for security. Fixes:
+
+* CVE-2015-7973: Replay attack on authenticated broadcast mode
+ (Aanchal Malhotra)
+* CVE-2015-7975: nextvar() missing length check (Jonathan Gardner)
+* CVE-2015-7979: Off-path Denial of Service (DoS) attack on
+ authenticated broadcast and other preemptable modes (Aanchal
+ Malhotra)
+* CVE-2015-8138: Zero Origin Timestamp Bypass (Matthew van Gundy &
+ Jonathan Gardner)
+* CVE-2015-8139: Origin Leak: ntpq and ntpdc Disclose Origin Timestamp
+ to Unauthenticated Clients (Matthew van Gundy)
+* CVE-2015-8158: Potential Infinite Loop in ntpq (Jonathan Gardner)
+* CVE-2016-1550: Timing attack on MAC verification (Daniel Franke)
+* Missing length checks in decodearr() and outputarr() (Daniel Franke)
+
+Two additional security issues have been reported to us for which we
+are not implementing code changes, but the user should be aware of
+their impact.
+
+The first (CVE-2015-8140) pertains to NTP's dynamic reconfiguration
+feature, which permits on-the-fly modification of NTP's configuration
+via ntpq. This feature is rarely used, typically disabled, and can
+only be enabled when authentication is configured. ntpd has no means
+of detecting that a request to change its configuration is a replay of
+an old packet. Therefore, if an administrator sets ntpd to
+configuration A and then to configuration B, an attacker who captures
+the packets commanding these changes can replay the first one and
+restore ntpd's state to configuration A. This is only a concern when
+the configuration commands are sent over an untrusted
+network. Configuration changes made via localhost are not susceptible.
+
+This is an inherent design flaw in NTP cryptography and in the remote
+reconfiguration protocol, and can be fixed only with a considerable
+reworking and by changing the protocol in a way that is neither
+forward nor backward compatible. This cryptographic rework is on the
+horizon in the form of Network Time Security (currently a draft in the
+IETF network time working group). Given that this vulnerability
+impacts few if any real users, we have chosen to defer fixing it until
+we have tools more suitable to the task. For the mean time, if you
+rely on NTP's reconfiguration support, we recommend either restricting
+its use to localhost or trusted networks, or tunneling through SSH or
+a VPN. The 'nomodify' option to the 'restrict' directive may be used
+to enforce this policy.
+
+The second (CVE-2015-7974) pertains to the fact that when multiple
+trusted keys are configured, no mechanism exists to associate
+particular keys with particular peers or assign particular privileges.
+This is not a bug, per se, but rather a lack of expressiveness in
+NTP's configuration language. We intend to address in a future release
+as part of a larger redesign aimed at giving clearer semantics to the
+configuration language and making it easier to write safe
+configurations.
+
+Note that NTPsec is not impacted by CVE-2015-7976, CVE-2015-7977, or
+CVE-2015-7978. CVE-2015-7977 and CVE-2015-7978 both pertain to mode 7
+packets, support for which was completely removed before NTPsec's
+first beta. CVE-2015-7976 is a feature request to restrict the format
+of filenames used in saveconfig commands. Saveconfig support is
+disabled at compile time in NTPsec and will not be re-enabled without
+much more extensive hardening.
+
+Other fixes:
+
+Coverity found a slow memory leak in the asynchronous-DNS code.
+
+== 2015-11-16: 0.9.0 ==
+
+Initial NTPsec beta release.
+
+* Canonical forge for git clones and issue tracking is
+ https://gitlab.com/NTPsec/ntpsec
+
+* The documentation has been extensively updated and revised. One
+ important change is that manual pages are now generated from the
+ same masters as this web documentation, so the two will no longer
+ drift out of synchronization.
+
+* Internally, there is more consistent use of nanosecond precision.
+ A visible effect of this is that time stepping with sufficiently
+ high-precision time sources could be accurate down to nanoseconds
+ rather than microseconds; this might actually matter for GPSDOs
+ and high-quality radio clocks.
+
+* The deprecated 'ntpdc' utility, long since replaced by 'ntpq', has
+ been removed.
+
+* The 'ntpsnmpd' daemon, incomplete and not conformant with RFC 5907,
+ has been removed.
+
+* A number of obsolete refclocks have been removed.
+
+* The 'sntp' program has been renamed 'ntpdig' in order to make
+ NTP installables have a uniform name prefix and take up less
+ namespace. Also, ntp-keygen is now 'ntpkeygen', ntp-wait
+ is 'ntpwait', and update-leap is now 'ntpleapfetch'.
+
+* A new utility, 'ntpfrob', collects several small diagnostic functions
+ for reading and tweaking the local clock hardware, including reading
+ the clock tick rate, precision, and jitter. Part of it formerly
+ traveled as 'tickadj'.
+
+* The deprecated 'ntpdate' program has been replaced with a shell
+ wrapper around 'ntpdig'.
+
+* Log timestamps look a little different; they are now in ISO 8601 format.
+
+* Autokey is not supported in this release.
+
+== Bugfixes either ported from NTP Classic or fixed by NTPsec changes ==
+
+These reflect fixes to NTP Classic between the 2015-06-06 fork point and
+the 0.9.0 beta release.
+
+* [Bug 2625] Deprecate flag1 in local refclock. Hal Murray, Harlan Stenn.
+* [Bug 2778] Implement "apeers" ntpq command to include associd.
+* [Bug 2823] ntpsweep with recursive peers option doesn't work. H.Stenn.
+* [Bug 2836] DCF77 patches from Frank Kardel to make decoding more
+ robust, and require 2 consecutive timestamps to be consistent.
+* [Bug 2845] Harden memory allocation in ntpd; implement and
+ use 'eallocarray(...)' where appropriate.
+* [Bug 2846] Report 'unsynchronized' status during the leap second.
+* [Bug 2849] Systems with more than one default route may never
+ synchronize. Brian Utterback. Note that this patch might need to
+ be reverted once Bug 2043 has been fixed.
+* [Bug 2855] Implement conditional leap smear feature; includes
+ later fixes for parser support and reporting leap smear in the REFID.
+* [Bug 2859] Improve raw DCF77 robustness decoding. Frank Kardel.
+* [Bug 2860] ntpq ifstats sanity check is too stringent. Frank Kardel.
+* [Bug 2866] segmentation fault at initgroups(). Harlan Stenn.
+* [Bug 2867] ntpd with autokey active crashed by 'ntpq -crv'
+* [Bug 2883] ntpd crashes on exit with empty driftfile. Miroslav Lichvar.
+* [Bug 2886] Misspelling: "outlyer" should be "outlier"
+* [Bug 2890] Ignore ENOBUFS on routing netlink socket. Konstantin Khlebnikov.
+* [Bug 2901] Clients that receive a KoD should validate the origin
+ timestamp field (CVE-2015-7704, CVE-2015-7705)
+* [Bug 2902] configuration directives "pidfile" and "driftfile"
+ should be local-only. (patch by Miroslav Lichvar) (CVE-2015-7703)
+* [Bug 2909] Slow memory leak in CRYPTO_ASSOC (CVE-2015-7701)
+* [Bug 2916] trusted key use-after-free (CVE-2015-7849)
+* [Bug 2918] saveconfig Directory Traversal Vulnerability. (OpenVMS)
+ (CVE-2015-7851)
+* [Bug 2919] ntpq atoascii() potential memory corruption (CVE-2015-7852)
+* [Bug 2920] Invalid length data provided by a custom refclock driver
+ could cause a buffer overflow (CVE-2015-7853)
+* [Bug 2921] Password Length Memory Corruption Vulnerability (CVE-2015-7854)
+* [Bug 2922] decodenetnum() will ASSERT botch instead of returning
+ FAIL on some bogus values (CVE-2015-7855)
+* [Bug 2941] NAK to the Future: Symmetric association authentication
+ bypass via crypto-NAK (CVE-2015-7871)
+
+Additionally the NTPsec team is aware of the following vulnerabilities
+impacting autokey: CVE-2015-7691, CVE-2015-7692, CVE-2015-7702. NTPsec
+does not support building with autokey support and therefore is not
+exposed; the vulnerable code will not be fixed, but will be removed in
+a future release.
+
+NTPsec is not impacted by CVE-2015-7848 (mode 7 loop counter underrun)
+because ntpdc and support for mode 7 packets have been removed.
+
+== HISTORIC-NEWS ==
+
+For older NEWS items, see the file devel/HISTORIC-NEWS.
+
+// end
diff --git a/README b/README
new file mode 100644
index 0000000..a0ed2a9
--- /dev/null
+++ b/README
@@ -0,0 +1,89 @@
+= The NTPsec distribution base directory =
+
+This directory and its subdirectories contain NTPSec, a
+security-hardened implementation of Network Time Protocol Version 4.
+You can browse a summary of differences from legacy NTP here:
+
+https://docs.ntpsec.org/latest/ntpsec.html
+
+The contents of the base directory are given in this file. The contents of
+subdirectories are usually given in the README files in each subdirectory.
+
+The base directory ./ contains the configuration files, source
+directories and related stuff:
+
+INSTALL:: Generic installation instructions.
+
+NEWS:: What's new in this release.
+
+README:: This file.
+
+VERSION:: The version stamp, to be used by scripts and programs.
+
+attic/:: Directory containing source code that is *not* part of a
+ normal installation. Things can disappear from here at any
+ time.
+
+buildprep:: Executable script for fetching installation prerequisites.
+
+contrib/:: Directory containing contributed scripts, dragons dwell here.
+ Some of this might eventually move to being supported code.
+
+devel/:: Documentation and small tools aimed at developers.
+ Includes a hacking guide and a tour of the internals.
+
+docs/:: Directory containing a complete set of documentation on
+ building and configuring a NTP server or client. The files
+ are in asciidoc markup. This replaces the 'html' directory
+ of previous versions, but html can be generated from it.
+
+etc/:: Directory containing a motley collection of configuration files
+ and launch scripts for various systems. For example
+ only.
+
+include/:: Directory containing include header files used by most
+ programs in the distribution.
+
+libjsmn/:: A minimal JSON library used by the GPSD-JSON driver.
+
+libntp/:: Directory containing library source code used by most
+ programs in the distribution.
+
+libparse/:: This directory contains the files making up the parser for
+ the parse refclock driver. For reasonably sane clocks
+ this refclock drivers allows a refclock implementation
+ by just providing a conversion routine and the
+ appropriate NTP parameters
+
+ntpclients/:: Directory containing sources for clients - utility programs
+ to query local and remote NTP installations for log status,
+ state variables, and other timekeeping information. The term
+ "clients" is used quite loosely here; any tool that is not a
+ multi-file C program probably lives in this directory.
+
+ntpd/:: Sources for the main time-synchronization daemon.
+
+ntpfrob/:: The ntpfrob utility collects several small diagnostic
+ functions for reading and tweaking the local clock
+ hardware, including reading the clock tick rate,
+ precision, and jitter.
+
+ntptime/:: Directory containing a utility for reading and modifying
+ kernel parameters related to the local clock.
+
+packaging/:: Parts and guidance for distribution packagers.
+
+pylib/:: Installable Python helper modules for scripts.
+
+tests/:: Self-test code.
+
+waf:: A copy of the waf builder. This is the engine used to configure
+ and build the codebase.
+
+wafhelpers/:: A library of Python procedures used by the waf build system.
+
+wscript:: NTP-specific waf rules.
+
+www/:: Sample ntpviz files
+
+// end
diff --git a/README-PYTHON b/README-PYTHON
new file mode 100644
index 0000000..a5c0d93
--- /dev/null
+++ b/README-PYTHON
@@ -0,0 +1,51 @@
+If you are trying to debug something like:
+ ImportError: No module named ntp
+you have come to the right place.
+
+The default location where we install our python libraries is
+ /usr/local/lib/pythonX.Y/site-packages/
+where X and Y are the python version numbers.
+
+Unfortunately, that's not on the default search path of several
+OSes/distros, in particular Fedora and NetBSD.
+
+
+Python has a search path that is used to find library modules when
+you import them. You can see your search path with:
+ python2 -c "import sys; print sys.path"
+or
+ python3 -c "import sys; print(sys.path)"
+
+Info on Python's search path:
+ https://docs.python.org/2/tutorial/modules.html
+or
+ https://docs.python.org/3/tutorial/modules.html
+
+
+
+There are several ways to make things work.
+
+1: You can modify the location where waf will install the libraries.
+For NetBSD, something like this should work:
+ ./waf configure \
+ --pythondir=/usr/pkg/lib/python2.7/site-packages \
+ --pythonarchdir=/usr/pkg/lib/python2.7/site-packages \
+ ...
+You need to specify it at configure time. Install time is too late.
+
+
+2: You can setup your PYTHONPATH with something like this:
+ export PYTHONPATH=/usr/local/lib/python2.7/site-packages
+For bash, you can add that line to your .bashrc or the system /etc/bashrc
+If you don't put it in the system file, all users will have to do this,
+including root if root uses any ntp scripts.
+
+
+3: You can add to the default search path by setting up a .pth file
+with something like this:
+ echo /usr/local/lib/python2.7/site-packages > \
+ /usr/lib/python2.7/site-packages/ntpsec.pth
+This works for all users, including root.
+Note that the pth file must be on the default Python search path.
+
+
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..2bf1ca5
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+1.1.7
diff --git a/attic/README b/attic/README
new file mode 100644
index 0000000..2a49338
--- /dev/null
+++ b/attic/README
@@ -0,0 +1,36 @@
+= README file for directory attic/ =
+
+This is a dusty attic containing code we have not quite decided to
+discard and chunks of code that may be useful is exploring performance
+or corner cases. Programs in it are not installed by default. Not much
+documentation, alas. Read the header comments.
+
+calc_tickadj:: Calculates "optimal" value for tick given ntp.drift file
+ Tested: 20160226
+
+digest-find.c:: Hack to see if various digests are supported by OpenSSL
+
+digest-timing.c:: Hack to measure execution times for various digests
+ and key lengths
+
+clocks:: Hack to measure properties of system clocks.
+
+kern.c:: Header comment from deep in the mists of past time says:
+ "This program simulates a first-order, type-II
+ phase-lock loop using actual code segments from
+ modified kernel distributions for SunOS, Ultrix and
+ OSF/1 kernels. These segments do not use any licensed
+ code." Anybody who has a clue *why* it is doing this
+ and what it's supposed to be used for should explain
+ it to us, please.
+
+ntpdate:: Wrapper script to maintain compatibility. Maps options
+ to ntpdig and calls it.
+ Tested: 20160226
+
+ntpver:: Simple script using ntpq to print out the suite version.
+ Tested: 20160226
+
+sht.c:: Test program for shared memory refclock.
+
+// end
diff --git a/attic/backwards.c b/attic/backwards.c
new file mode 100644
index 0000000..eb05e55
--- /dev/null
+++ b/attic/backwards.c
@@ -0,0 +1,65 @@
+/* backwards.c - check for time going backwards
+ * Started from Artturi Alm on port-arm@netbsd.org
+ * Fri, 25 Jan 2019 09:54:42 +0200
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+
+#define UNUSED_ARG(arg) ((void)(arg))
+
+static void ts_print(struct timespec *ts0, struct timespec *ts1);
+
+
+void ts_print(struct timespec *ts0, struct timespec *ts1)
+{
+ printf("ts0=(%ld,%ld)\nts1=(%ld,%ld)\n",
+ (long)ts0->tv_sec, ts0->tv_nsec,
+ (long)ts1->tv_sec, ts1->tv_nsec);
+}
+
+int
+main(int argc, char *argv[])
+{
+ UNUSED_ARG(argc);
+ UNUSED_ARG(argv);
+
+ struct timespec ts0, ts1;
+
+
+ /* Some systems return equal.
+ * Print first 5 equal examples. */
+ for(int equal = 0; equal < 5; ) {
+ clock_gettime(CLOCK_MONOTONIC, &ts0); /* warm up cache */
+ clock_gettime(CLOCK_MONOTONIC, &ts1);
+ clock_gettime(CLOCK_MONOTONIC, &ts0);
+ clock_gettime(CLOCK_MONOTONIC, &ts1);
+
+ if ((ts0.tv_sec < ts1.tv_sec) ||
+ ((ts0.tv_sec == ts1.tv_sec) &&
+ (ts0.tv_nsec <= ts1.tv_nsec))) {
+ } else {
+ ts_print(&ts0, &ts1);
+ if (ts0.tv_sec == ts1.tv_sec
+ && ts0.tv_nsec == ts1.tv_nsec) {
+ equal++;
+ }
+ }
+ }
+
+ for(;;) {
+ clock_gettime(CLOCK_MONOTONIC, &ts0); /* warm up cache */
+ clock_gettime(CLOCK_MONOTONIC, &ts1);
+ clock_gettime(CLOCK_MONOTONIC, &ts0);
+ clock_gettime(CLOCK_MONOTONIC, &ts1);
+
+ if ((ts0.tv_sec < ts1.tv_sec) ||
+ ((ts0.tv_sec == ts1.tv_sec) &&
+ (ts0.tv_nsec < ts1.tv_nsec))) {
+ } else {
+ ts_print(&ts0, &ts1);
+ }
+ }
+}
+
diff --git a/attic/calc_tickadj/calc_tickadj b/attic/calc_tickadj/calc_tickadj
new file mode 100755
index 0000000..c8fda06
--- /dev/null
+++ b/attic/calc_tickadj/calc_tickadj
@@ -0,0 +1,94 @@
+#!/usr/bin/env python
+#
+# drift of 104.8576 -> +1 tick. Base of 10000 ticks.
+#
+# 970306 HMS Deal with nanoseconds. Fix sign of adjustments.
+#
+# Translated from a very old Perl script - the comment above is a clue
+# to how old.
+#
+'''
+calc_tickadj - Calculates "optimal" value for tick given ntp drift file.
+
+USAGE: calc_tickadj [-t tick] [-d drift-file]
+
+ -d, --drift-file=str Ntp drift file to use
+ -t, --tick=num Tick value of this host
+ -h, --help Display usage message and exit
+
+Options are specified by doubled hyphens and their name or by a single
+hyphen and the flag character.
+'''
+# SPDX-License-Identifier: BSD-2-Clause
+
+from __future__ import print_function, division
+
+import getopt
+import os
+import re
+import sys
+
+if __name__ == '__main__':
+ try:
+ (options, arguments) = getopt.getopt(
+ sys.argv[1:], "d:t:h", ["drift-file=", "tick=", "--help"])
+ except getopt.GetoptError as err:
+ sys.stderr.write(str(err) + "\n")
+ raise SystemExit(1)
+ tick = 0
+ drift_file = "/etc/ntp/drift"
+ for (switch, val) in options:
+ if switch == "-d" or switch == "--drift-file":
+ drift_file = val
+ elif switch == "-t" or switch == "--tick":
+ tick = int(val)
+ elif switch == "-h" or switch == "--help":
+ print(__doc__)
+ sys.exit(0)
+
+ if tick == 0:
+ try:
+ with os.popen("ntpfrob -A") as rp:
+ response = rp.read()
+ m = re.search("[0-9]+", response)
+ if m:
+ tick = int(m.group(0))
+ except:
+ pass
+
+ if tick == 0:
+ sys.stderr.write("Could not get tick value, try manually with -t/--tick\n\n")
+ sys.exit(1)
+
+ # Drift file is in PPM where Million is actually 2**20
+ cvt = (2 ** 20) / tick
+ drift = 0.0
+
+ try:
+ with open(drift_file) as dp:
+ drift = dp.read()
+ except OSError:
+ sys.stderr.write("Could not open drift file: %s\n" % drift_file)
+ sys.exit(1)
+
+ m = re.match("[+-]?\d+\.?[0-9]+", drift)
+ if not m:
+ sys.stderr.write("Invalid drift file value '%s'\n" % drift)
+ sys.exit(1)
+ else:
+ drift = float(drift)
+
+ while drift < 0:
+ drift += cvt
+ tick -= 1
+
+ while drift > cvt:
+ drift -= cvt
+ tick += 1
+
+ print("%.3f (drift)" % drift)
+ print("%d usec; %d nsec" % (tick, (tick + (drift/cvt)) * 1000))
+
+ sys.exit(0)
+
+# end
diff --git a/attic/calc_tickadj/calc_tickadj.adoc b/attic/calc_tickadj/calc_tickadj.adoc
new file mode 100644
index 0000000..d0188b6
--- /dev/null
+++ b/attic/calc_tickadj/calc_tickadj.adoc
@@ -0,0 +1,64 @@
+= calc_tickadj(8)
+:doctype: manpage
+
+== NAME
+calc_tickadj - Calculates optimal value for tick given NTP drift file.
+
+== SYNOPSIS
+calc_tickadj [-d 'string' | --drift-file='string'] [-t 'number' | --tick='number']
+
+== DESCRIPTION
+
+The _calc_tickadj_ script uses provided NTP drift file to generate
+optimal tick value. Generally, +ntpd+ can do better job if the drift value
+is the smallest possible number.
+
+The example output of
+
+-----------------------
+$ ./calc_tickadj
+81.699 (drift)
+9999 usec; 9999779 nsec
+$ cat /etc/ntp/drift
+-23.159
+-----------------------
+
+means the following. If tick on that box is 10,000, by making the value
+9999 we'll shift the box from its current drift of -23.159 to a drift of
+81.699, and in doing so we'll speed the clock up a little every second
+instead of slowing the clock down a little.
+
+If 'tick' on that box is 10,000,000 then by setting it to 9999779 the
+drift value will be somewhere around 0.0.
+
+_calc_tickadj_ tries to determine the tick value by using the
++ntpfrob+ program from the +NTPSec+ package. If this
+doesn't work you can specify current tick manually on command line.
+
+== OPTIONS
+
+-d string, --drift-file=string::
+ Ntp drift file to use. The default string for this option is:
+'/etc/ntp/drift'.
++
+Use the specified drift file for calculations
+
+-t number, --tick=number::
+ Tick value of this host. This option takes an integer number as its
+ argument. The default value is obtained by calling ntpfrob(1).
++
+The current tick which to adjustment will be calculated
+
+== EXIT STATUS
+
+One of the following exit values will be returned:
+
+0 (EXIT_SUCCESS)::
+ Successful program execution.
+1 (EXIT_FAILURE)::
+ The operation failed or the command syntax was not valid.
+
+== STATUS
+
+calc_tickadj has been updated to work in the NTPSec
+distribution, but is not actively maintained.
diff --git a/attic/clocks.c b/attic/clocks.c
new file mode 100644
index 0000000..bde5ebe
--- /dev/null
+++ b/attic/clocks.c
@@ -0,0 +1,230 @@
+/* Last modified on Sat Aug 28 14:30:11 PDT 1999 by murray */
+
+#include <errno.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <time.h>
+
+struct table {
+ const int type;
+ const char* name;
+};
+
+#define BATCHSIZE 1000000
+#define BILLION 1000000000
+#define HISTSIZE 2500
+#define NSPERBUCKET 1
+#define MAXHISTLINES 10
+
+struct table clocks [] = {
+ {CLOCK_REALTIME, "CLOCK_REALTIME"},
+#ifdef CLOCK_REALTIME_COARSE
+ {CLOCK_REALTIME_COARSE, "CLOCK_REALTIME_COARSE"},
+#endif
+#ifdef CLOCK_MONOTONIC
+ {CLOCK_MONOTONIC, "CLOCK_MONOTONIC"},
+#endif
+#ifdef CLOCK_MONOTONIC_RAW
+ {CLOCK_MONOTONIC_RAW, "CLOCK_MONOTONIC_RAW"},
+#endif
+#ifdef CLOCK_BOOTTIME
+ {CLOCK_BOOTTIME, "CLOCK_BOOTTIME"},
+#endif
+ {0, NULL}
+};
+
+/* This is the number of paired reads with no change in time. */
+/* Hack: Making this global avoids returning more than one item. */
+int dups;
+
+int do_res(int type, const char* name);
+int do_average(int type, const char* name);
+int do_fastest(int type, const char* name);
+int do_hist(int type, int fastest);
+
+int do_res(int type, const char* name) {
+ int err;
+ struct timespec ts;
+
+ err = clock_getres(type, &ts);
+ if (-1 == err) {
+ printf("clock_getres(%s) didn't work, err %d\n", name, errno);
+ return -1;
+ }
+ return ts.tv_nsec;
+}
+
+int do_average(int type, const char* name) {
+ int err;
+ struct timespec start, stop;
+ uint64_t sec, nanos;
+
+ err = clock_gettime(type, &start);
+ if (-1 == err) {
+ printf("clock_gettime(%s) didn't work, err %d\n", name, errno);
+ return -1;
+ }
+
+ clock_gettime(CLOCK_REALTIME, &start);
+ for (int i = 0; i < BATCHSIZE; i++) {
+ clock_gettime(type, &stop);
+ }
+ clock_gettime(CLOCK_REALTIME, &stop);
+
+ /* Beware of overflowing 32 bits. */
+ sec = (stop.tv_sec-start.tv_sec);
+ nanos = sec*BILLION + (stop.tv_nsec-start.tv_nsec);
+ return nanos/BATCHSIZE;
+
+}
+
+int do_fastest(int type, const char* name) {
+ struct timespec start, stop;
+ uint64_t sec, nanos, fastest;
+
+ (void)name; /* Squash unused warnings */
+
+ dups = 0;
+ fastest = 999999999;
+ for (int i = 0; i < BATCHSIZE; i++) {
+ clock_gettime(type, &start); /* warm up caches */
+ clock_gettime(type, &start);
+ clock_gettime(type, &stop);
+ sec = (stop.tv_sec-start.tv_sec);
+ nanos = sec*BILLION + (stop.tv_nsec-start.tv_nsec);
+ if (0 == nanos) {
+ /* I've seen this on Pi 1. */
+ dups++;
+ continue;
+ }
+ if (nanos < fastest) { fastest = nanos;
+ }
+ }
+
+ return fastest;
+}
+
+int do_hist(int type, int fastest) {
+ int nsPerBucket = NSPERBUCKET;
+ int i;
+ int delta, lines, toobig, hits, miss;
+ struct timespec start, stop;
+ int64_t sec, nanos;
+ unsigned int hist[HISTSIZE];
+ int faster = 0;
+
+ dups = 0;
+ toobig = 0;
+ for (i = 0; i < HISTSIZE; i++) {
+ hist[i] = 0;
+ }
+
+ for (i = 0; i < BATCHSIZE; i++) {
+ clock_gettime(type, &start); /* warm up cache */
+ clock_gettime(type, &stop);
+ clock_gettime(type, &start);
+ clock_gettime(type, &stop);
+ sec = (stop.tv_sec-start.tv_sec);
+ nanos = sec*BILLION + (stop.tv_nsec-start.tv_nsec);
+ if (0 > nanos) {
+ printf("## Time went backwards: %ld.%9ld-%ld.%9ld=>%ld\n",
+ (long)stop.tv_sec, stop.tv_nsec,
+ (long)start.tv_sec, start.tv_nsec,
+ (long)nanos);
+ continue;
+ }
+ if (0 == nanos) {
+ /* I've seen this on Pi 1. */
+ dups++;
+ continue;
+ }
+ delta = (nanos-fastest) / nsPerBucket;
+ if (0 > delta) {
+ /* fastest wasn't fast enough */
+ if (0 == faster) {
+ faster = delta;
+ }
+ if (faster > delta) {
+ faster = delta;
+ }
+ continue;
+ }
+ if (delta < HISTSIZE) {
+ hist[delta]++;
+ } else {
+ toobig++;
+ }
+ }
+ if (faster) { return faster;
+ }
+ printf("\n");
+ printf("Histogram: CLOCK_REALTIME, %d ns per bucket, %d samples.\n",
+ nsPerBucket, BATCHSIZE);
+ printf(" ns hits\n");
+ lines = 0;
+ hits = 0;
+ for (i=0; i<HISTSIZE; i++) {
+ if ((MAXHISTLINES <= lines) && (0.98*BATCHSIZE < hits)) {
+ break; /* Avoid clutter of printing long tail */
+ }
+ if (hist[i]) {
+ printf("%10d %8u\n", i*nsPerBucket+fastest, hist[i]);
+ lines++;
+ hits += hist[i];
+ }
+ }
+ miss = i-1;
+ for ( ; i<HISTSIZE; i++) {
+ toobig += hist[i];
+ }
+
+ if (dups) {
+ printf("%d samples were duplicated.\n", dups);
+ }
+ if (toobig) { printf("%d samples were bigger than %d.\n",
+ toobig, miss*nsPerBucket+fastest);
+ }
+ return faster;
+}
+
+
+int main(int argc, char *argv[]) {
+ int res, average, fastest;
+
+ (void)argc; /* Squash unused warnings */
+ (void)argv;
+
+ printf(" res avg min dups CLOCK\n");
+ for (int i=0; (NULL != clocks[i].name); i++) {
+ res = do_res(clocks[i].type, clocks[i].name);
+ average = do_average(clocks[i].type, clocks[i].name);
+ fastest = do_fastest(clocks[i].type, clocks[i].name);
+ printf("%9d %5d %8d", res, average, fastest);
+ if (0.9*BATCHSIZE < dups) {
+ /* Hack: negative to show good if close to all are bad */
+ printf(" %5d", dups-BATCHSIZE);
+ } else if (0 < dups) {
+ printf(" %5d", dups);
+ } else {
+ printf(" ");
+ }
+ printf(" %s\n", clocks[i].name);
+ fflush(stdout);
+ }
+
+ if (1) {
+ int faster;
+ fastest = do_fastest(CLOCK_REALTIME, "CLOCK_REALTIME");
+ while (1) {
+ faster = do_hist(CLOCK_REALTIME, fastest);
+ if (0 == faster) { break;
+ }
+ printf("Found faster: %d => %d\n", fastest, faster);
+ fastest = faster;
+ }
+ }
+
+ return 0;
+
+}
+
diff --git a/attic/digest-find.c b/attic/digest-find.c
new file mode 100644
index 0000000..d3f24f7
--- /dev/null
+++ b/attic/digest-find.c
@@ -0,0 +1,81 @@
+/*
+ * digest.c - Hack to test various digest types.
+ *
+ * Fedora mentions blake2b and friends. They are in the man page
+ * and header files, but not available via OBJ_sn2n so I assume they
+ * are not interesting and dropped them to reduce clutter.
+ *
+ * If the type column is blank, the OpenSSL package doesn't know
+ * about that digest, maybe because it isn't spelled correctly.
+ *
+ * If the type column is non-blank but the length column is empty,
+ * the library recognizes the type but doesn't support it.
+ *
+ * If the length column is filled in, that's the length of the digest.
+ *
+ */
+
+#include <stdio.h>
+
+#include <openssl/objects.h>
+#include <openssl/evp.h>
+
+#define UNUSED_ARG(arg) ((void)(arg))
+
+
+const char* digests[] = {
+ "MD2", "MD4", "MD5",
+ "SHA", "SHA1",
+ "RMD160", "RIPEMD160",
+ "SHA224", "SHA256", "SHA384", "SHA512",
+ "MDC2", "GOST", "DSS1",
+ "ChaCha20", "Poly1305",
+ NULL };
+
+unsigned char pkt[100];
+int
+main (
+ int argc,
+ char *argv[]
+ )
+{
+ UNUSED_ARG(argc);
+ UNUSED_ARG(argv);
+
+ unsigned int versionNumber = OPENSSL_VERSION_NUMBER;
+ const char *versionText = OPENSSL_VERSION_TEXT;
+ printf("OpenSSL xVersion is %x, %s\n", versionNumber, versionText);
+
+ /* needed if OPENSSL_VERSION_NUMBER < 0x10100000L */
+ OpenSSL_add_all_digests();
+
+
+ printf(" name type length\n");
+ for (int i = 0; NULL != digests[i]; i++) {
+ unsigned char digest[EVP_MAX_MD_SIZE];
+ unsigned int length = 0;
+ EVP_MD_CTX *ctx;
+ int keytype;
+ const EVP_MD *md;
+ keytype = OBJ_sn2nid(digests[i]);
+ if (NID_undef == keytype) {
+ printf("%10s\n", digests[i]);
+ continue;
+ }
+ md = EVP_get_digestbynid(keytype);
+ if (NULL == md) {
+ printf("%10s %4d\n", digests[i], keytype);
+ continue;
+ }
+ ctx = EVP_MD_CTX_create();
+ /* libntp/macencrypt.c has an ifdef for this */
+ EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
+ EVP_DigestInit_ex(ctx, md, NULL);
+ EVP_DigestUpdate(ctx, pkt, sizeof(pkt));
+ EVP_DigestFinal_ex(ctx, digest, &length);
+ EVP_MD_CTX_destroy(ctx);
+ printf("%10s %4d %6u\n", digests[i], keytype, length);
+ }
+
+ return 0;
+}
diff --git a/attic/digest-timing.c b/attic/digest-timing.c
new file mode 100644
index 0000000..66f410e
--- /dev/null
+++ b/attic/digest-timing.c
@@ -0,0 +1,257 @@
+/* Last modified on Sat Aug 28 14:30:11 PDT 1999 by murray */
+
+/* Hack to time the digest calculations for various algorithms.
+ *
+ * This is just the digest timing.
+ * It doesn't include the copy or compare or finding the right key.
+ *
+ * Beware of overflows in the timing computations.
+ *
+ * Disable AES-NI (Intel hardware: NI == New Instruction) with:
+ * OPENSSL_ia32cap="~0x200000200000000"
+ * Check /proc/cpuinfo flags for "aes" to see if you have it.
+ */
+
+/* This may not be high enough.
+ * 0x10000003 1.0.0b fails
+ * 0x1000105fL 1.0.1e works.
+ */
+#define CMAC_VERSION_CUTOFF 0x10000003
+
+#include <stdint.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+
+#include <openssl/opensslv.h>
+#include <openssl/err.h>
+#if OPENSSL_VERSION_NUMBER > CMAC_VERSION_CUTOFF
+#include <openssl/cmac.h>
+#endif
+#include <openssl/evp.h>
+#include <openssl/md5.h>
+#include <openssl/rand.h>
+#include <openssl/objects.h>
+
+#define UNUSED_ARG(arg) ((void)(arg))
+
+#ifndef EVP_MD_CTX_reset
+/* Slightly older version of OpenSSL */
+/* Similar hack in ssl_init.c */
+#define EVP_MD_CTX_new() EVP_MD_CTX_create()
+#define EVP_MD_CTX_free(ctx) EVP_MD_CTX_destroy(ctx)
+#define EVP_MD_CTX_reset(ctx) EVP_MD_CTX_init(ctx)
+#endif
+
+
+/* Get timing for old slower way too. Pre Feb 2018 */
+#define DoSLOW 1
+
+int NUM = 1000000;
+
+#define PACKET_LENGTH 48
+/* Nothing magic about these key lengths.
+ * ntpkeygen just happens to label things this way.
+ */
+#define AES_KEY_LENGTH 16
+#define MD5_KEY_LENGTH 16
+#define SHA1_KEY_LENGTH 20
+#define MAX_KEY_LENGTH 64
+
+EVP_MD_CTX *ctx;
+#if OPENSSL_VERSION_NUMBER > CMAC_VERSION_CUTOFF
+CMAC_CTX *cmac;
+#endif
+
+static void ssl_init(void)
+{
+ ERR_load_crypto_strings();
+ OpenSSL_add_all_digests();
+ OpenSSL_add_all_ciphers();
+ ctx = EVP_MD_CTX_new();
+#if OPENSSL_VERSION_NUMBER > CMAC_VERSION_CUTOFF
+ cmac = CMAC_CTX_new();
+#endif
+}
+
+static unsigned int SSL_Digest(
+ const EVP_MD *digest, /* hash algorithm */
+ uint8_t *key, /* key pointer */
+ int keylength, /* key size */
+ uint8_t *pkt, /* packet pointer */
+ int pktlength /* packet length */
+) {
+ unsigned char answer[EVP_MAX_MD_SIZE];
+ unsigned int len;
+ EVP_MD_CTX_reset(ctx);
+ EVP_DigestInit(ctx, digest);
+ EVP_DigestUpdate(ctx, key, keylength);
+ EVP_DigestUpdate(ctx, pkt, pktlength);
+ EVP_DigestFinal(ctx, answer, &len);
+ return len;
+}
+
+static unsigned int SSL_DigestSlow(
+ int type, /* hash algorithm */
+ uint8_t *key, /* key pointer */
+ int keylength, /* key size */
+ uint8_t *pkt, /* packet pointer */
+ int pktlength /* packet length */
+) {
+ EVP_MD_CTX *ctxx;
+ unsigned char answer[EVP_MAX_MD_SIZE];
+ unsigned int len;
+ ctxx = EVP_MD_CTX_new();
+ EVP_DigestInit(ctxx, EVP_get_digestbynid(type));
+ EVP_DigestUpdate(ctxx, key, keylength);
+ EVP_DigestUpdate(ctxx, pkt, pktlength);
+ EVP_DigestFinal(ctxx, answer, &len);
+ EVP_MD_CTX_free(ctxx);
+ return len;
+}
+
+#if OPENSSL_VERSION_NUMBER > CMAC_VERSION_CUTOFF
+static size_t SSL_CMAC(
+ const EVP_CIPHER *cipher, /* cipher algorithm */
+ uint8_t *key, /* key pointer */
+ int keylength, /* key size */
+ uint8_t *pkt, /* packet pointer */
+ int pktlength /* packet length */
+) {
+ unsigned char answer[EVP_MAX_MD_SIZE];
+ size_t len;
+ CMAC_resume(cmac);
+ CMAC_Init(cmac, key, keylength, cipher, NULL);
+ CMAC_Update(cmac, pkt, pktlength);
+ CMAC_Final(cmac, answer, &len);
+ return len;
+}
+#endif
+
+static void DoDigest(
+ const char *name, /* type of digest */
+ uint8_t *key, /* key pointer */
+ int keylength, /* key size */
+ uint8_t *pkt, /* packet pointer */
+ int pktlength /* packet length */
+)
+{
+ int type = OBJ_sn2nid(name);
+ const EVP_MD *digest = EVP_get_digestbynid(type);
+ struct timespec start, stop;
+ double fast, slow;
+ unsigned int digestlength = 0;
+
+ if (NULL == digest) {
+ return;
+ }
+
+ clock_gettime(CLOCK_MONOTONIC, &start);
+ for (int i = 0; i < NUM; i++) {
+ digestlength = SSL_Digest(digest, key, keylength, pkt, pktlength);
+ }
+ clock_gettime(CLOCK_MONOTONIC, &stop);
+ fast = (stop.tv_sec-start.tv_sec)*1E9 + (stop.tv_nsec-start.tv_nsec);
+ printf("%10s %2d %2d %2u %6.0f %6.3f",
+ name, keylength, pktlength, digestlength, fast/NUM, fast/1E9);
+
+#ifdef DoSLOW
+ clock_gettime(CLOCK_MONOTONIC, &start);
+ for (int i = 0; i < NUM; i++) {
+ digestlength = SSL_DigestSlow(type, key, keylength, pkt, pktlength);
+ }
+ clock_gettime(CLOCK_MONOTONIC, &stop);
+ slow = (stop.tv_sec-start.tv_sec)*1E9 + (stop.tv_nsec-start.tv_nsec);
+ printf(" %6.0f %2.0f %4.0f",
+ slow/NUM, (slow-fast)*100.0/slow, (slow-fast)/NUM);
+#endif
+ printf("\n");
+}
+
+#if OPENSSL_VERSION_NUMBER > CMAC_VERSION_CUTOFF
+static void DoCMAC(
+ const char *name, /* name of cipher */
+ const EVP_CIPHER *cipher,
+ uint8_t *key, /* key pointer */
+ int keylength, /* key length */
+ uint8_t *pkt, /* packet pointer */
+ int pktlength /* packet length */
+)
+{
+ struct timespec start, stop;
+ double fast;
+ unsigned long digestlength = 0;
+
+ if (NULL == cipher) {
+ return;
+ }
+
+ clock_gettime(CLOCK_MONOTONIC, &start);
+ for (int i = 0; i < NUM; i++) {
+ digestlength = SSL_CMAC(cipher, key, keylength, pkt, pktlength);
+ }
+ clock_gettime(CLOCK_MONOTONIC, &stop);
+ fast = (stop.tv_sec-start.tv_sec)*1E9 + (stop.tv_nsec-start.tv_nsec);
+ printf("%10s %2d %2d %2lu %6.0f %6.3f",
+ name, keylength, pktlength, digestlength, fast/NUM, fast/1E9);
+
+ printf("\n");
+}
+#endif
+
+
+int main(int argc, char *argv[])
+{
+ uint8_t key[MAX_KEY_LENGTH];
+ uint8_t packet[PACKET_LENGTH];
+
+ UNUSED_ARG(argc);
+ UNUSED_ARG(argv);
+
+ ssl_init();
+ RAND_bytes((unsigned char *)&key, MAX_KEY_LENGTH);
+ RAND_bytes((unsigned char *)&packet, PACKET_LENGTH);
+
+ printf("# %s\n", OPENSSL_VERSION_TEXT);
+ printf("# KL=key length, PL=packet length, DL=digest length\n");
+ printf("# Digest KL PL DL ns/op sec/run slow %% diff\n");
+
+ DoDigest("MD5", key, MD5_KEY_LENGTH, packet, PACKET_LENGTH);
+ DoDigest("MD5", key, MD5_KEY_LENGTH-1, packet, PACKET_LENGTH);
+ DoDigest("MD5", key, SHA1_KEY_LENGTH, packet, PACKET_LENGTH);
+ DoDigest("SHA1", key, MD5_KEY_LENGTH, packet, PACKET_LENGTH);
+ DoDigest("SHA1", key, SHA1_KEY_LENGTH, packet, PACKET_LENGTH);
+ DoDigest("SHA1", key, SHA1_KEY_LENGTH-1, packet, PACKET_LENGTH);
+ DoDigest("SHA224", key, 16, packet, PACKET_LENGTH);
+ DoDigest("SHA224", key, 20, packet, PACKET_LENGTH);
+ DoDigest("SHA256", key, 16, packet, PACKET_LENGTH);
+ DoDigest("SHA256", key, 20, packet, PACKET_LENGTH);
+ DoDigest("SHA384", key, 16, packet, PACKET_LENGTH);
+ DoDigest("SHA384", key, 20, packet, PACKET_LENGTH);
+ DoDigest("SHA512", key, 16, packet, PACKET_LENGTH);
+ DoDigest("SHA512", key, 20, packet, PACKET_LENGTH);
+ DoDigest("SHA512", key, 24, packet, PACKET_LENGTH);
+ DoDigest("SHA512", key, 32, packet, PACKET_LENGTH);
+ DoDigest("RIPEMD160", key, 16, packet, PACKET_LENGTH);
+ DoDigest("RIPEMD160", key, 20, packet, PACKET_LENGTH);
+ DoDigest("RIPEMD160", key, 32, packet, PACKET_LENGTH);
+
+#if OPENSSL_VERSION_NUMBER > CMAC_VERSION_CUTOFF
+ printf("\n");
+ printf("# KL=key length, PL=packet length, CL=CMAC length\n");
+ printf("# CMAC KL PL CL ns/op sec/run\n");
+
+ DoCMAC("DES", EVP_des_cbc(), key, 8, packet, PACKET_LENGTH);
+ DoCMAC("AES-128", EVP_aes_128_cbc(), key, 16, packet, PACKET_LENGTH);
+ DoCMAC("AES-192", EVP_aes_192_cbc(), key, 24, packet, PACKET_LENGTH);
+ DoCMAC("AES-256", EVP_aes_256_cbc(), key, 32, packet, PACKET_LENGTH);
+#ifndef OPENSSL_NO_CAMELLIA
+ DoCMAC("CAM-128", EVP_camellia_128_cbc(), key, 16, packet, PACKET_LENGTH);
+ DoCMAC("CAM-192", EVP_camellia_192_cbc(), key, 24, packet, PACKET_LENGTH);
+ DoCMAC("CAM-256", EVP_camellia_256_cbc(), key, 32, packet, PACKET_LENGTH);
+#endif
+#endif
+
+ return 0;
+}
diff --git a/attic/kern.c b/attic/kern.c
new file mode 100644
index 0000000..25ec72d
--- /dev/null
+++ b/attic/kern.c
@@ -0,0 +1,230 @@
+/*
+ * This program simulates a first-order, type-II phase-lock loop using
+ * actual code segments from modified kernel distributions for SunOS,
+ * Ultrix and OSF/1 kernels. These segments do not use any licensed code.
+ */
+
+#include "config.h"
+
+#include <stdio.h>
+#include <ctype.h>
+#include <math.h>
+#include <sys/time.h>
+
+#ifdef HAVE_SYS_TIMEX_H
+# include <sys/time.h> /* prerequisite on NetBSD */
+# include <sys/timex.h>
+#endif
+
+/*
+ * Phase-lock loop definitions
+ */
+#define HZ 100 /* timer interrupt frequency (Hz) */
+#define MAXPHASE 512000 /* max phase error (us) */
+#define MAXFREQ 200 /* max frequency error (ppm) */
+#define TAU 2 /* time constant (shift 0 - 6) */
+#define POLL 16 /* interval between updates (s) */
+#define MAXSEC 1200 /* max interval between updates (s) */
+
+/*
+ * Function declarations
+ */
+void hardupdate();
+void hardclock();
+void second_overflow();
+
+/*
+ * Kernel variables
+ */
+int tick; /* timer interrupt period (us) */
+int fixtick; /* amortization constant (ppm) */
+struct timeval timex; /* ripoff of kernel time variable */
+
+/*
+ * Phase-lock loop variables
+ */
+int time_status = TIME_BAD; /* clock synchronization status */
+long time_offset = 0; /* time adjustment (us) */
+long time_constant = 0; /* pll time constant */
+long time_tolerance = MAXFREQ; /* frequency tolerance (ppm) */
+long time_precision = 1000000 / HZ; /* clock precision (us) */
+long time_maxerror = MAXPHASE; /* maximum error (us) */
+long time_esterror = MAXPHASE; /* estimated error (us) */
+long time_phase = 0; /* phase offset (scaled us) */
+long time_freq = 0; /* frequency offset (scaled ppm) */
+long time_adj = 0; /* tick adjust (scaled 1 / HZ) */
+long time_reftime = 0; /* time at last adjustment (s) */
+
+/*
+ * Simulation variables
+ */
+double timey = 0; /* simulation time (us) */
+long timez = 0; /* current error (us) */
+long poll_interval = 0; /* poll counter */
+
+/*
+ * Simulation test program
+ */
+int
+main(
+ int argc,
+ char *argv[]
+ )
+{
+ tick = 1000000 / HZ;
+ fixtick = 1000000 % HZ;
+ timex.tv_sec = 0;
+ timex.tv_usec = MAXPHASE;
+ time_freq = 0;
+ time_constant = TAU;
+ printf("tick %d us, fixtick %d us\n", tick, fixtick);
+ printf(" time offset freq _offset _freq _adj\n");
+
+ /*
+ * Grind the loop until ^C
+ */
+ while (1) {
+ timey += (double)(1000000) / HZ;
+ if (timey >= 1000000) {
+ timey -= 1000000;
+ }
+ hardclock();
+ if (timex.tv_usec >= 1000000) {
+ timex.tv_usec -= 1000000;
+ timex.tv_sec++;
+ second_overflow();
+ poll_interval++;
+ if (!(poll_interval % POLL)) {
+ timez = (long)timey - timex.tv_usec;
+ if (timez > 500000) {
+ timez -= 1000000;
+ }
+ if (timez < -500000) {
+ timez += 1000000;
+ }
+ hardupdate(timez);
+ printf("%10li%10li%10.2f %08lx %08lx %08lx\n",
+ timex.tv_sec, timez,
+ (double)time_freq / (1 << SHIFT_KF),
+ time_offset, time_freq, time_adj);
+ }
+ }
+ }
+}
+
+/*
+ * This routine simulates the ntp_adjtime() call
+ *
+ * For default SHIFT_UPDATE = 12, offset is limited to +-512 ms, the
+ * maximum interval between updates is 4096 s and the maximum frequency
+ * offset is +-31.25 ms/s.
+ */
+void
+hardupdate(
+ long offset
+ )
+{
+ long ltemp, mtemp;
+
+ time_offset = offset << SHIFT_UPDATE;
+ mtemp = timex.tv_sec - time_reftime;
+ time_reftime = timex.tv_sec;
+ if (mtemp > MAXSEC) {
+ mtemp = 0;
+ }
+
+ /* ugly multiply should be replaced */
+ if (offset < 0) {
+ time_freq -= (-offset * mtemp) >>
+ (time_constant + time_constant);
+ } else {
+ time_freq += (offset * mtemp) >>
+ (time_constant + time_constant);
+ }
+ ltemp = time_tolerance << SHIFT_KF;
+ if (time_freq > ltemp) {
+ time_freq = ltemp;
+ } else if (time_freq < -ltemp) {
+ time_freq = -ltemp;
+ }
+ if (time_status == TIME_BAD)
+ time_status = TIME_OK;
+}
+
+/*
+ * This routine simulates the timer interrupt
+ */
+void
+hardclock(void)
+{
+ int ltemp, time_update;
+
+ time_update = tick; /* computed by adjtime() */
+ time_phase += time_adj;
+ if (time_phase < -FINEUSEC) {
+ ltemp = -time_phase >> SHIFT_SCALE;
+ time_phase += ltemp << SHIFT_SCALE;
+ time_update -= ltemp;
+ }
+ else if (time_phase > FINEUSEC) {
+ ltemp = time_phase >> SHIFT_SCALE;
+ time_phase -= ltemp << SHIFT_SCALE;
+ time_update += ltemp;
+ }
+ timex.tv_usec += time_update;
+}
+
+/*
+ * This routine simulates the overflow of the microsecond field
+ *
+ * With SHIFT_SCALE = 23, the maximum frequency adjustment is +-256 us
+ * per tick, or 25.6 ms/s at a clock frequency of 100 Hz. The time
+ * contribution is shifted right a minimum of two bits, while the frequency
+ * contribution is a right shift. Thus, overflow is prevented if the
+ * frequency contribution is limited to half the maximum or 15.625 ms/s.
+ */
+void
+second_overflow(void)
+{
+ int ltemp;
+
+ time_maxerror += time_tolerance;
+ if (time_offset < 0) {
+ ltemp = -time_offset >>
+ (SHIFT_KG + time_constant);
+ time_offset += ltemp;
+ time_adj = -(ltemp <<
+ (SHIFT_SCALE - SHIFT_HZ - SHIFT_UPDATE));
+ } else {
+ ltemp = time_offset >>
+ (SHIFT_KG + time_constant);
+ time_offset -= ltemp;
+ time_adj = ltemp <<
+ (SHIFT_SCALE - SHIFT_HZ - SHIFT_UPDATE);
+ }
+ if (time_freq < 0)
+ time_adj -= -time_freq >> (SHIFT_KF + SHIFT_HZ - SHIFT_SCALE);
+ else
+ time_adj += time_freq >> (SHIFT_KF + SHIFT_HZ - SHIFT_SCALE);
+ time_adj += fixtick << (SHIFT_SCALE - SHIFT_HZ);
+
+ /* ugly divide should be replaced */
+ if (timex.tv_sec % 86400 == 0) {
+ switch (time_status) {
+
+ case TIME_INS:
+ timex.tv_sec--; /* !! */
+ time_status = TIME_OOP;
+ break;
+
+ case TIME_DEL:
+ timex.tv_sec++;
+ time_status = TIME_OK;
+ break;
+
+ case TIME_OOP:
+ time_status = TIME_OK;
+ break;
+ }
+ }
+}
diff --git a/attic/ntpdate b/attic/ntpdate
new file mode 100755
index 0000000..dd11374
--- /dev/null
+++ b/attic/ntpdate
@@ -0,0 +1,89 @@
+#!/bin/sh
+#
+# ntpdate - emulate the crufty old ntpdate utility from NTP Classic
+#
+# Not documented, as this is strictly a backward-compatibility shim. It's
+# based on the recipes at
+# http://support.ntp.org/bin/view/Dev/DeprecatingNtpdate
+# with corrections for modern ntpdig options.
+#
+# Debug this by giving the -n option, which causes it to echo the
+# generated ntpdig command rather than executing it.
+#
+# Known bugs:
+# * The -e and -p options of ntpdate are not yet implemented.
+# * ntpdate took 4 samples and chose the best (shortest trip time).
+# This takes the first.
+#
+# ntpdate ntpdig ntpd What it does
+# -4 -4 -q -4 Resolve DNS lookups to A records
+# -6 -6 -q -6 Resolve DNS lookups to AAAA records
+# -a N -a N -q Authentication
+# -b -S -q step time adjustments
+# -B -s -q slew time adjustments
+# -d -d -d debugging mode (implies -q)
+# -e N.N -q authdelay
+# -k file -k file -k file key file
+# -o N -o N -q NTP Protocol version
+# -p N -q How many samples to take
+# -q default -q query/report only, don't set clock
+# (implies -u for ntpdate)
+# -s log to syslog (always enabled in ntpd)
+# -t N.N -t N.N request timeout
+# -u default unpriv port
+# -v verbose (ntpd is always more verbose than ntpdate)
+# -c name Send concurrent requests to resolved IPs for name
+#
+# -l file Log to file
+# -M msec Slew adjustments less than msec,
+# step adjustments larger than msec.
+#
+# SPDX-License-Identifier: BSD-2-Clause
+
+PASSTHROUGH=""
+TIMEOUT="-t 1"
+setclock=yes
+echo=no
+log=no
+while getopts 46a:bBe:k:no:p:qst:uv opt
+do
+ case $opt in
+ 4) PASSTHROUGH="$PASSTHROUGH -4";;
+ 6) PASSTHROUGH="$PASSTHROUGH -6";;
+ a) PASSTHROUGH="$PASSTHROUGH -a $OPTARG";;
+ b) ADJUST="$ADJUST -S";;
+ B) ADJUST="$ADJUST -s";;
+ d) PASSTHROUGH="$PASSTHROUGH -d";;
+ e) echo "ntpdate: -e is no longer supported." >&2;;
+ k) PASSTHROUGH="$PASSTHROUGH -k $OPTARG";;
+ n) echo=yes;; # Echo generated command, don't execute
+ o) PASSTHROUGH="$PASSTHROUGH -o $OPTARG";;
+ p) echo "ntpdate: -p is no longer supported." >&2;;
+ q) setclock=no;;
+ s) log=yes;;
+ t) PASSTHROUGH="$PASSTHROUGH -t $OPTARG"; TIMEOUT="";;
+ u) ;;
+ v) ;;
+ esac
+done
+shift $(($OPTIND - 1))
+
+if [ "$setclock" = yes -a -z "$ADJUST" ]
+then
+ ADJUST="-s -j"
+fi
+
+if [ "$echo" = yes ]
+then
+ echo ntpdig $ADJUST $TIMEOUT $PASSTHROUGH $*
+else
+ if [ "$log" = yes ]
+ then
+ ntpdig $ADJUST $TIMEOUT $PASSTHROUGH $* 2>&1 | logger -t ntpdate
+ else
+ ntpdig $ADJUST $TIMEOUT $PASSTHROUGH $*
+ fi
+fi
+
+#end
+
diff --git a/attic/ntpver b/attic/ntpver
new file mode 100755
index 0000000..cb216e8
--- /dev/null
+++ b/attic/ntpver
@@ -0,0 +1,7 @@
+#!/bin/sh
+# print version string of NTP daemon
+# Copyright (c) 1997 by Ulrich Windl
+# Modified 970318: Harlan Stenn: rewritten...
+# usage: ntpver hostname
+
+ntpq -c "rv 0 daemon_version" $* | awk '/daemon_version/ { print $2 }'
diff --git a/attic/sht.c b/attic/sht.c
new file mode 100644
index 0000000..7225dc9
--- /dev/null
+++ b/attic/sht.c
@@ -0,0 +1,211 @@
+/*
+ * sht.c - Testprogram for shared memory refclock
+ * read/write shared memory segment; see usage
+ */
+#include "config.h"
+
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <stdio.h>
+#include <time.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#include "ntp.h"
+#include "ntp_stdlib.h"
+
+char *progname;
+
+struct shmTime {
+ int mode; /* 0 - if valid set
+ * use values,
+ * clear valid
+ * 1 - if valid set
+ * if count before and after read of values is equal,
+ * use values
+ * clear valid
+ */
+ volatile int count;
+ time_t clockTimeStampSec;
+ int clockTimeStampUSec;
+ time_t receiveTimeStampSec;
+ int receiveTimeStampUSec;
+ int leap;
+ int precision;
+ int nsamples;
+ volatile int valid;
+ unsigned clockTimeStampNSec; /* Unsigned ns timestamps */
+ unsigned receiveTimeStampNSec; /* Unsigned ns timestamps */
+};
+
+static struct shmTime *
+getShmTime (
+ int unit
+ )
+{
+ int shmid=shmget (0x4e545030+unit, sizeof (struct shmTime), IPC_CREAT|0777);
+ if (shmid==-1) {
+ perror ("shmget");
+ exit (1);
+ }
+ else {
+ struct shmTime *p=(struct shmTime *)shmat (shmid, 0, 0);
+ if ((int)(long)p==-1) {
+ perror ("shmat");
+ p=0;
+ }
+ assert (p!=0);
+ return p;
+ }
+}
+
+
+int
+main (
+ int argc,
+ char *argv[]
+ )
+{
+ volatile struct shmTime *p;
+ int unit;
+ char *argp;
+
+ progname = argv[0];
+
+ if (argc<=1) {
+ usage:
+ printf ("usage: %s [uu:]{r[c][l]|w|snnn}\n",argv[0]);
+ printf (" uu use clock unit uu (default: 2)\n");
+ printf (" r read shared memory\n");
+ printf (" c clear valid-flag\n");
+ printf (" l loop (so, rcl will read and clear in a loop\n");
+ printf (" w write shared memory with current time\n");
+ printf (" snnnn set nsamples to nnn\n");
+ printf (" lnnnn set leap to nnn\n");
+ printf (" pnnnn set precision to -nnn\n");
+ exit (0);
+ }
+
+ unit = (int)strtoul(argv[1], &argp, 10);
+ if (argp == argv[1]) {
+ unit = 2;
+ } else if (*argp == ':') {
+ argp++;
+ } else {
+ goto usage;
+ }
+
+ p=getShmTime(unit);
+ switch (*argp) {
+ case 's':
+ p->nsamples=atoi(argp+1);
+ break;
+
+ case 'l':
+ p->leap=atoi(argp+1);
+ break;
+
+ case 'p':
+ p->precision=-atoi(argp+1);
+ break;
+
+ case 'r': {
+ int clear=0;
+ int loop=0;
+ printf ("reader\n");
+ while (*++argp) {
+ switch (*argp) {
+ case 'l': loop=1; break;
+ case 'c': clear=1; break;
+ default : goto usage;
+ }
+ }
+again:
+ printf ("mode=%d, count=%d, clock=%ld.%09u, rec=%ld.%09u,\n",
+ p->mode,p->count,
+ (long)p->clockTimeStampSec,p->clockTimeStampNSec,
+ (long)p->receiveTimeStampSec,p->receiveTimeStampNSec);
+ printf (" leap=%d, precision=%d, nsamples=%d, valid=%d\n",
+ p->leap, p->precision, p->nsamples, p->valid);
+ if (!p->valid) {
+ printf ("***\n");
+ }
+ if (clear) {
+ p->valid=0;
+ printf ("cleared\n");
+ }
+ if (loop) {
+ sleep (1);
+ goto again;
+ }
+ break;
+ }
+
+ case 'w': {
+ /* To show some life action, we read the system
+ * clock and use a bit of fuzz from 'ntp_random()' to get a
+ * bit of wobbling into the values (so we can observe a
+ * certain jitter!)
+ */
+ time_t clk_sec, rcv_sec;
+ unsigned int clk_frc, rcv_frc;
+
+ /* Here we have a high-resolution system clock, and
+ * we're not afraid to use it!
+ */
+ struct timespec tmptime;
+ if (0 == clock_gettime(CLOCK_REALTIME, &tmptime)) {
+ rcv_sec = tmptime.tv_sec;
+ rcv_frc = (unsigned int)tmptime.tv_nsec;
+ }
+ else
+ {
+ time(&rcv_sec);
+ rcv_frc = (unsigned int)ntp_random() % 1000000000U;
+ }
+ /* add a wobble of ~3.5msec to the clock time */
+ clk_sec = rcv_sec;
+ clk_frc = rcv_frc + (unsigned int)(ntp_random()%7094713 - 3547356);
+ /* normalise result -- the SHM driver is picky! */
+ while ((int)clk_frc < 0) {
+ clk_frc += 1000000000;
+ clk_sec -= 1;
+ }
+ while ((int)clk_frc >= 1000000000) {
+ clk_frc -= 1000000000;
+ clk_sec += 1;
+ }
+
+ /* Most 'real' time sources would create a clock
+ * (reference) time stamp where the fraction is zero,
+ * but that's not an actual requirement. So we show how
+ * to deal with the time stamps in general; changing the
+ * behaviour for cases where the fraction of the
+ * clock time is zero should be trivial.
+ */
+ printf ("writer\n");
+ p->mode=0;
+ if (!p->valid) {
+ p->clockTimeStampSec = clk_sec;
+ p->clockTimeStampUSec = (int)(clk_frc / 1000); /* truncate! */
+ p->clockTimeStampNSec = clk_frc;
+ p->receiveTimeStampSec = rcv_sec;
+ p->receiveTimeStampUSec = (int)(rcv_frc / 1000); /* truncate! */
+ p->receiveTimeStampNSec = rcv_frc;
+ printf ("%ld.%09u %ld.%09u\n",
+ (long)p->clockTimeStampSec , p->clockTimeStampNSec ,
+ (long)p->receiveTimeStampSec, p->receiveTimeStampNSec);
+ p->valid=1;
+ }
+ else {
+ printf ("p->valid still set\n"); /* not an error! */
+ }
+ break;
+ }
+ default:
+ break;
+ }
+ return 0;
+}
diff --git a/attic/wscript b/attic/wscript
new file mode 100644
index 0000000..4a905ae
--- /dev/null
+++ b/attic/wscript
@@ -0,0 +1,12 @@
+def build(ctx):
+ util = ['sht', 'digest-find', 'digest-timing', 'clocks', 'backwards']
+
+ for name in util:
+ ctx(
+ target=name,
+ features="c cprogram",
+ includes=[ctx.bldnode.parent.abspath(), "../include"],
+ source=[name + ".c"],
+ use="ntp M CRYPTO RT PTHREAD",
+ install_path=None,
+ )
diff --git a/buildprep b/buildprep
new file mode 100755
index 0000000..9de9cb8
--- /dev/null
+++ b/buildprep
@@ -0,0 +1,337 @@
+#!/bin/sh
+#
+# buildprep - prepare your system for an NTPsec source build.
+#
+# Use the -n option to dry-run this command, showing what would be done
+# without actually doing it
+
+# Set the defaults
+DRYRUN="no"
+NTPVIZ="no"
+DOC="no"
+PYVERS=""
+
+OS=`uname -s`
+
+# Loop through option flags
+for optflag in "$@"
+do
+ case "$optflag" in
+ -h|--help)
+ cat <<EOF
+$0 - prepare your system for an NTPsec source build
+
+ Options:
+ -h --help Show usage information and exit
+ -n --dry-run Only show what would be done instead of doing it
+ --ntpviz Install dependencies for ntpviz tool
+ --doc Install dependencies for building documentation
+ -a --all Install all possible dependencies
+EOF
+ exit 0
+ ;;
+ -n|--dry-run)
+ DRYRUN="yes"
+ ;;
+ --ntpviz)
+ NTPVIZ="yes"
+ ;;
+ --doc)
+ DOC="yes"
+ ;;
+ -a|--all)
+ NTPVIZ="yes"
+ DOC="yes"
+ ;;
+ *)
+ echo "# WARNING: Unknown argument: $optflag"
+ echo "#"
+ ;;
+ esac
+done
+
+# Some Python 2 packages (e.g python-devel, python-psutils) conventionally have
+# Python 3 equivalents with a python3 prefix. Compute the correct value for the
+# infix based on system Python. This eill start to be significant after Python 2
+# EOLs at the beginning of 2020.
+PYVERS=`python --version 2>&1 | sed -n -e '/Python \([0-9]\).*/s//\1/p'`
+if [ "$PYVERS" = "2" ]
+then
+ PYVERS=""
+fi
+
+cat <<EOF
+# Preparing your system for ntpsec source build...
+# This script presently knows about:
+# CentOS, Debian, Fedora, Gentoo, NetBSD, FreeBSD,
+$ SLES, Ubuntu, and Alpine Linux
+# If you are running something else, such as macOS or Solaris, please
+# read the source for this buildprep script to get an idea of what packages
+# are required.
+#
+EOF
+
+if [ "$DRYRUN" = "yes" ]
+then
+ do=echo
+ echo "# Run this without -n|--dry-run, as root, for actual installation."
+ echo "#"
+else
+ do=""
+ if [ "$(id -u)" != 0 ]
+ then
+ echo "# ERROR: You must be running as root for your installer to do its thing."
+ echo "# ERROR: If you just wish to see what would be done, use the -n option."
+ exit 1
+ fi
+fi
+
+if emerge --version 2>/dev/null
+then
+ installer=emerge
+ install="$do $installer -q y"
+elif yum version 2>/dev/null
+then
+ installer=yum
+ install="$do $installer -y install"
+elif dnf --version >/dev/null 2>&1
+then
+ installer=dnf
+ install="$do $installer -y install"
+elif apt-get --version >/dev/null 2>&1
+then
+ installer=apt
+ install="$do apt-get install -y"
+elif zypper -h >/dev/null 2>&1
+then
+ # OpenSUSE prefers zypper over yast
+ installer=zypper
+ install="$do $installer install -y"
+elif yast -h >/dev/null 2>&1
+then
+ installer=yast
+ install="$do $installer --install"
+elif apk --version >/dev/null 2>&1
+then
+ # Alpine Linux, musl rather than glibc
+ installer=apk
+ install="$do $installer add"
+elif test "$OS" = "NetBSD"
+then
+ if pkgin -v
+ then
+ # NetBSD binary package installer
+ installer=pkgin
+ install="$do $installer install"
+ else
+ echo "## Looks like a NetBSD system"
+ echo "## You need to setup pkgin"
+ echo "## The last page of install disk has a check-box to do it"
+ echo "## But you don't get that option on a Raspberry Pi."
+ echo "## For the Pi, do something like:"
+ echo "## pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/earmv7hf/8.0/All/pkgin-0.9.4nb8.tgz"
+ echo "## Adjust the version an arch to match your setup."
+ exit 1
+ fi
+elif test "$OS" = "FreeBSD"
+then
+ if pkg -v
+ then
+ # FreeBSD binary package installer
+ installer=pkg
+ install="$do $installer install"
+ fi
+else
+ echo "# ERROR: Package manager unidentified - Unsupported operating system"
+ exit 1
+fi
+echo "# Your package installer is ${installer}."
+echo ""
+
+# In order to have a single point of truth about prerequisite package names,
+# these package name lists have been *removed* from INSTALL.
+
+# Build time vs. run time:
+# Build dependencies are marked. You'll need them all when building from a
+# repository copy; the unmarked (run-time) dependencies are information for
+# packagers. Under Gentoo, all dependencies are build dependencies.
+
+# Notes on optional packages:
+# libdnssd is optional for ntpd. Support for mDNS Service Discovery registration
+# libcap (under Linux) enables dropping root and is not strictly required.
+
+daemon () {
+ # Prerequisites to build the daemon: bison, pps-tools, service libraries
+ case $installer in
+ apk)
+ $install build-base python # basic tools
+ $install bison python${PYVERS}-dev linux-headers
+ $install openssl-dev libcap-dev libseccomp-dev
+ # probably needs more, but this builds
+ # can't find timepps.h: gpsd and chrony have their own ??
+ ;;
+ apt)
+ $install build-essential # Build environment
+ $install bison libssl-dev # build
+ $install libcap-dev libseccomp-dev # build
+ $install libavahi-compat-libdnssd-dev # optional build
+ $install pps-tools
+ ;;
+ emerge)
+ # Build environment included!
+ $install sys-libs/libcap sys-libs/libseccomp
+ $install sys-devel/bison net-misc/pps-tools
+ ;;
+ pkgin)
+ # NetBSD
+ # There is nothing magic about 3.7.
+ # In Dec 2018, 3.6 and 2.7 are also good candidates.
+ $install bison python37 py37-curses-3.7
+ # setup "python" from command line
+ $do ln -s /usr/pkg/bin/python3.7 /usr/pkg/bin/python
+ $do ln -s /usr/pkg/bin/python3.7 /usr/pkg/bin/python3
+ # Add to Python search path
+ if [ "$DRYRUN" = "yes" ]
+ then
+ echo echo /usr/local/lib/python3.7/site-packages \> \\
+ echo " " /usr/pkg/lib/python3.7/site-packages/ntpsec.pth
+ else
+ echo /usr/local/lib/python3.7/site-packages > \
+ /usr/pkg/lib/python3.7/site-packages/ntpsec.pth
+ fi
+ ;;
+ pkg)
+ # FreeBSD
+ $install bison python3
+ $do ln -s /usr/local/bin/python3 /usr/local/bin/python
+ ;;
+ yum|dnf)
+ $do $installer groupinstall "Development Tools" # Build environment
+ $install bison openssl-devel # build
+ $install libcap-devel libseccomp-devel # build
+ $install pps-tools-devel # build
+ $install avahi-compat-libdns_sd-devel # optional build
+ $install libcap openssl-libs pps-tools
+ ;;
+ yast)
+ echo "# SLES versions 12 and earlier do not have pps-tools"
+ $install basis-devel # Build environment
+ $install libcap-devel libseccomp-devel # build
+ $install openssl-devel # build
+ $install libcap2 openssl-libs
+ $install python${PYVERS}-curses
+ ;;
+ zypper)
+ $install -t pattern devel_basis # Build environment
+ $install bison # build
+ $install libcap-devel libseccomp-devel # build
+ $install openssl-devel # build
+ echo "# SLES versions 12 and earlier do not have pps-tools"
+ $install pps-tools-devel # build
+ $install pps-tools
+ $install libcap2 openssl-libs
+ $install python${PYVERS}-curses
+ ;;
+ esac
+}
+
+tools () {
+ # Prerequisites for the client Python tools: python extensions
+ case $installer in
+ apt)
+ $install python${PYVERS}-dev
+ ;;
+ yum|dnf|yast|zypper)
+ $install python${PYVERS}-devel
+ ;;
+ esac
+}
+
+ntpviz () {
+ # Prerequisites to use ntpviz: gnuplot and liberation fonts
+ case $installer in
+ apk)
+ $install gnuplot || echo "# You need to enable the community repository"
+ $install ttf-liberation
+ ;;
+ apt)
+ distro=`lsb_release -i -s`
+ if [ "$distro" = "Ubuntu" ]
+ then
+ echo "# Looks like an Ubuntu system"
+ $install gnuplot5
+ else
+ echo "# Looks like a generic Debian system"
+ $install gnuplot
+ fi
+ $install fonts-liberation python${PYVERS}-psutil
+ ;;
+ emerge)
+ $install sci-visualization/gnuplot
+ $install media-fonts/liberation-fonts
+ ;;
+ yum|dnf)
+ $install gnuplot
+ $install liberation-fonts-common.noarch
+ $install liberation-mono-fonts.noarch
+ $install liberation-narrow-fonts.noarch
+ $install liberation-sans-fonts.noarch
+ $install liberation-serif-fonts.noarch
+ ;;
+ yast|zypper)
+ $install gnuplot liberation-fonts
+ ;;
+ esac
+}
+
+doc () {
+ # prerequisites to build documentation
+ case $installer in
+ apk)
+ $install asciidoc
+ ;;
+ apt)
+ $install asciidoc
+ ;;
+ emerge)
+ $install app-text/asciidoc
+ ;;
+ yum|dnf)
+ echo "# Please check that your asciidoc is at least 8.6.0"
+ echo "# You may need to enable EPEL repositories"
+ $install asciidoc
+ ;;
+ pkgin)
+ $install asciidoc
+ ;;
+ pkg)
+ $install asciidoc
+ ;;
+ yast|zypper)
+ $install asciidoc
+ ;;
+ esac
+}
+
+# Main sequence
+daemon
+tools
+
+if [ "$NTPVIZ" = "yes" ]
+then
+ ntpviz
+else
+ echo ""
+ echo "# Skipping ntpviz dependencies [--ntpviz]"
+fi
+
+if [ "$DOC" = "yes" ]
+then
+ doc
+else
+ echo ""
+ echo "# Skipping documentation dependencies [--doc]"
+fi
+
+echo ""
+echo "# Done."
diff --git a/contrib/README b/contrib/README
new file mode 100644
index 0000000..29ecefd
--- /dev/null
+++ b/contrib/README
@@ -0,0 +1,37 @@
+The following tools are not production-ready. They are included only as
+conveniences, examples or rudimentary starting points for other development
+efforts.
+
+ntpconfigtest: Check your linux configuration for the proper entries.
+
+ntpheat is a program to exercise a CPU until the CPU reachs a certain
+temperature. The idea is to get the temperature around the system
+oscillator to be near the zero TC point. Tested on RasPi wrapped
+in bubble wrap. Formerly known as makeheat.
+
+ntpheatusb is a program to control an external USB relay to maintain
+a stable temperature. See the blog post "More Heat" for details:
+ https://blog.ntpsec.org/2017/03/21/More_Heat.html
+
+The next 4 tools cpu-temp-log, smartctl-temp-log, temper-temp-log and
+zone-temp-log have been replaced by ntplogtemp. Those programs will stay
+ in contrib for a while to give users a chance to migrate.
+
+cpu-temp-log is a tool to use the output of 'sensors -u' and write the
+motherboard temperatures to stdout. Useful to create a log that can be used
+by 'ntpviz --local-temps'
+
+smartctl-temp-log for hard drives. It is a tool to read a hard drive's
+SMART data to get the disk temperature and write the temperature
+to stdout. Useful to create a log that can be used by 'ntpviz
+--local-temps'
+
+temper-temp-log for TEMPer USB thermometer. Useful for logging room
+temperature. This reads the thermometer using the temper-python command
+line utility and writes the temperatures to stdout. Useful to create a
+log that can be used by 'ntpviz --local-temps'
+
+zone-temp-log reads /sys/class/thermal/thermal_zone*/temp to find the CPU
+temperature. Writes all temperatures found to stdout on one line, preceded by
+the Unix UTC time in seconds. This is useful on any Linux system that
+supports the /sys/class/thermal/thermal_zone*/temp interface.
diff --git a/contrib/cpu-temp-log b/contrib/cpu-temp-log
new file mode 100755
index 0000000..340c4c8
--- /dev/null
+++ b/contrib/cpu-temp-log
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+# coding: utf-8
+"""\
+Usage: cpu-temper-log
+
+Reads 'sensors -u' for temperature data. Writes all temperatures found
+to stdout. One temp per line, preceded by the unix UTC time in seconds,
+and an identifier.
+
+Before you can use this utility lm_sensors must be installed and
+configured. See their documentation for that procedure.
+
+How many temperatures, which temeratures and in which order will depend
+on your lm_sensors configuration and your motherboard.
+
+Sample log from an Supermicro Quad Core Xeon:
+
+1471573103 LM0 37.000
+1471573103 LM1 35.000
+1471573103 LM2 31.000
+1471573103 LM3 31.000
+1471573103 LM4 30.000
+1471573104 LM0 37.000
+
+Field 1: unix time in seconds since the star of the epoch
+Field 2: Log source (LM)
+Field 3: temperature in degrees C
+
+Sample crontab usage:
+
+# take and log cpu temp every 5 mins
+*/5 * * * * /usr/local/sbin/cpu-temp-log >> /var/log/ntpstats/temps
+
+This file may only be useful as a template. The way to read your system
+temperatures will be hardware specific.
+
+"""
+
+from __future__ import print_function, division
+
+import sys
+import re
+import time
+import subprocess
+
+try:
+ # sadly subprocess.check_output() is not in Python 2.6
+ proc = subprocess.Popen(["sensors", "-u"],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ universal_newlines=True)
+ output = proc.communicate()[0]
+except:
+ print("Unable to run 'sensors -u'")
+ exit(0)
+
+lines = output.split('\n')
+
+# this regex matches temperature output lines from 'sensors -u'
+pat = re.compile('^\s+temp\d+_input:\s+([\d\.]+).*$')
+
+now = int(time.time())
+
+line = ''
+index = 0
+for line in lines:
+ match = pat.match(line)
+ if match and match.group(1):
+ temp = match.group(1)
+ sys.stdout.write('%d LM%d %s\n' % (now, index, temp))
+ index += 1
diff --git a/contrib/logrotate-ntpd b/contrib/logrotate-ntpd
new file mode 100644
index 0000000..384f9bf
--- /dev/null
+++ b/contrib/logrotate-ntpd
@@ -0,0 +1,18 @@
+# Adjust for your needs and install as /etc/logrotate.d/ntpd
+# This rotates monthly and kicks ntpd to start using the new file.
+# It inherits dateext and compress from /etc/logrotate.conf
+
+# If you are using SELinux, you will have to do something like:
+# cd /etc/logrotate.d/
+# sudo chcon --ref syslog ntpd
+# That may not work if selinux is not active. ????
+# ls -Z will show the results
+
+/var/log/ntpstats/ntpd.log {
+ monthly
+ rotate 9999
+ postrotate
+ /usr/bin/killall -HUP ntpd
+ endscript
+}
+
diff --git a/contrib/make-leap-seconds.py b/contrib/make-leap-seconds.py
new file mode 100755
index 0000000..89fb475
--- /dev/null
+++ b/contrib/make-leap-seconds.py
@@ -0,0 +1,79 @@
+#!/usr/bin/env python
+"""\
+make-leap-seconds.py - make leap second file for testing
+
+Optional args are date of leap second: YYYY-MM-DD
+and expiration date of file.
+
+Defaults are start of tomorrow (UTC), and 28 days after the leap.
+"Start of tomorow" is as soon as possible for testing.
+
+"""
+# SPDX-License-Identifier: BSD-2-Clause
+from __future__ import print_function, division
+
+import datetime
+import hashlib
+import sys
+import time
+
+
+JAN_1970 = 2208988800 # convert Unix/POSIX epoch to NTP epoch
+epoch = datetime.datetime.utcfromtimestamp(0)
+args = sys.argv[1:]
+
+leap = time.time()
+days = int(leap/86400)
+leap = (days+1)*86400
+
+if args:
+ leapdate = datetime.datetime.strptime(args[0], "%Y-%m-%d")
+ leap = (leapdate - epoch).total_seconds()
+ leap = int(leap)
+ args = args[1:]
+
+expire = leap + 28*86400
+if args:
+ expiredate = datetime.datetime.strptime(args[0], "%Y-%m-%d")
+ expire = (expiredate - epoch).total_seconds()
+ expire = int(expire)
+ args = args[1:]
+leap_txt = time.asctime(time.gmtime(leap))
+leap = str(leap+JAN_1970)
+expire_txt = time.asctime(time.gmtime(expire))
+expire = str(expire+JAN_1970)
+
+update = int(time.time())
+update_txt = time.asctime(time.gmtime(update))
+update = str(update+JAN_1970)
+
+
+tai = "40" # hardwired
+
+# File format
+#
+# # is comment
+# #$ xxx Update Date
+# #@ xxx Expiration Date
+# #h SHA-1 hash of payload
+#
+# #$ 3676924800
+# #@ 3707596800
+# 2272060800 10 # 1 Jan 1972
+# #h dacf2c42 2c4765d6 3c797af8 2cf630eb 699c8c67
+#
+# All dates use NTP epoch of 1900-01-01
+
+sha1 = hashlib.sha1()
+print("%s %s # %s" % (leap, tai, leap_txt))
+sha1.update(leap)
+sha1.update(tai)
+print("#@ %s # %s" % (expire, expire_txt))
+sha1.update(expire)
+print("#$ %s # %s" % (update, update_txt))
+sha1.update(update)
+digest = sha1.hexdigest()
+print("#h %s %s %s %s %s" %
+ (digest[0:8], digest[8:16], digest[16:24], digest[24:32], digest[32:40]))
+
+# end
diff --git a/contrib/ntpconfigtest b/contrib/ntpconfigtest
new file mode 100755
index 0000000..6f76150
--- /dev/null
+++ b/contrib/ntpconfigtest
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+
+# On Linux systems, read /proc/config.gz and check for the
+# needed kernel options.
+
+from __future__ import print_function
+
+import gzip
+import sys
+
+config_file_name = '/proc/config.gz'
+
+try:
+ with gzip.open(config_file_name, 'rb') as f:
+ file_content = f.read()
+except:
+ print("ERROR: can not read your %s" % (config_file_name))
+ sys.exit(1)
+
+tests = (
+ ('CONFIG_CPU_FREQ_GOV_PERFORMANCE', 'For best performance'),
+ ('CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE', 'For best performance'),
+ ('CONFIG_SECCOMP', 'For extra security'),
+ ('CONFIG_THERMAL', 'For thermal monitoring'),
+ ('CONFIG_PPS', 'Needed for PPS support'),
+ ('CONFIG_PPS_CLIENT_LDISC', 'For PPS support on serial lines'),
+ ('CONFIG_PPS_CLIENT_GPIO', 'For PPS support on GPIO lines'),
+ ('CONFIG_USB_SERIAL_GARMIN', 'For Garmin USB GPS support'),
+ ('CONFIG_USB_SERIAL_PL2303', 'For PL2303 USB GPS support'),
+)
+
+# when this figures out how to test for platform, add these
+# for Pi:
+# CONFIG_THERMAL_BCM2835
+
+for test in tests:
+ print("Checking: %s, %s: " % (test[0], test[1]), end='')
+ index = file_content.find("\n%s" % (test[0]))
+ if 0 <= index:
+ print("OK")
+ else:
+ print("Missing")
+
+sys.exit(0)
diff --git a/contrib/ntpheat b/contrib/ntpheat
new file mode 100755
index 0000000..36f5d06
--- /dev/null
+++ b/contrib/ntpheat
@@ -0,0 +1,97 @@
+#!/usr/bin/env python
+#
+# generate some heat!
+#
+# Wrap your RasPi in bubble wrap. Then run makeheat in the background.
+# It will try to stabilize the CPU temperature at 60C.
+
+# sometimes one copy of ntpheat can use 100% of one CPU and
+# still not heat up your RasPi as much as you want. The temptation
+# is to add more insulation to your RasPi, but then it will overshoot
+# your target temperature if your load factor goes high.
+#
+# The solution is to run more than one copy of ntpheat. This is
+# easy to do with the -c option.
+#
+# to run 3 copies of ntpheat; ntpheat -c 3
+
+import argparse
+import hashlib
+import os
+import sys
+import time
+
+try:
+ import ntp.util
+except ImportError as e:
+ sys.stderr.write("ntpheat: can't find Python NTP modules. "
+ "-- check PYTHONPATH.\n%s\n" % e)
+ sys.exit(1)
+
+# Work with argvars
+parser = argparse.ArgumentParser(description="make heat")
+parser.add_argument('-c', '--copies',
+ default=[1],
+ dest='copies',
+ help="Number of copies to run. Default is 1",
+ nargs=1,
+ type=int)
+parser.add_argument('-t', '--temp',
+ default=[65.0],
+ dest='target_temp',
+ help="Temperature to hold. Default is 65.0",
+ nargs=1,
+ type=float)
+parser.add_argument('-w', '--wait',
+ default=[0.001],
+ dest='wait',
+ help="Set delay time in seconds, default is 0.1",
+ nargs=1,
+ type=float)
+parser.add_argument('-V', '--version',
+ action="version",
+ version="ntpheat %s" % ntp.util.stdversion())
+args = parser.parse_args()
+
+args.copies[0] -= 1
+while args.copies[0]:
+ args.copies[0] -= 1
+ pid = os.fork()
+ if pid:
+ # I am the fork
+ break
+
+zone0 = '/sys/class/thermal/thermal_zone0/temp'
+cnt = 0
+
+m = hashlib.md5()
+temp = 0
+max_cnt = args.wait[0] * 200000
+# on a RasPi 3 the temp steps seem to be about 0.537 to 0.539C
+temp_gate = args.target_temp[0]
+
+while True:
+ # on a RasPi 3, 200,000 of the m.update() can be one second
+ delta = temp_gate - temp
+ if 0 < delta:
+ # heat it up
+ m.update("Nobody inspects the spammish repetition")
+ else:
+ cnt = max_cnt
+ # cools off slower than it heats up.
+ # undocumented Python 'feature', no sleep less than 1 milli Sec
+ sleep = args.wait[0] * 10.0 * -delta
+ if 0.001 > sleep:
+ sleep = 0.001
+ time.sleep(sleep)
+
+ cnt += 1
+ # read the temperature every max_cnt
+ if max_cnt < cnt:
+ cnt = 0
+
+ zone_data = open(zone0, 'r')
+ for line in zone_data:
+ temp = float(line) / 1000
+
+ zone_data.close()
diff --git a/contrib/ntpheatusb b/contrib/ntpheatusb
new file mode 100755
index 0000000..496047e
--- /dev/null
+++ b/contrib/ntpheatusb
@@ -0,0 +1,287 @@
+#!/usr/bin/env python
+#
+# generate some heat!
+#
+# Wrap your RasPi in a closed box. Get a usbrelay1 to control
+# an incadescent light bulb in the box. Heat to 45C. profit.
+#
+# This code depends on the program 'usbrelay' to manage your usbrelay
+# connected device.
+# Get it here: git@github.com:darrylb123/usbrelay.git
+# Update the usbrelay_on/off variables below with your device ID
+#
+# This code depends on the program 'temper-poll' to read the box temp
+# from an attached TEMPer device.
+# Get it here: git@github.com:padelt/temper-python.git
+#
+# ntpheatusb will use a lot less CPU than ntpheat, and more directly
+# heats the XTAL rather than the CPU.
+#
+# Avoid the desire to decrease the wait time. The relay clocks twice
+# per cycle, and those cycles add up. Minimize wear on your relay.
+#
+# Try the simple P controller (the default) before trying the PID controller.
+# The PID controller may take some fiddling with the constants to get
+# it working better than the simple P controller.
+#
+# More info on the blog post: https://blog.ntpsec.org/2017/03/21/More_Heat.html
+
+from __future__ import print_function, division
+
+import argparse
+import atexit
+import subprocess
+import sys
+import time
+
+try:
+ import ntp.util
+except ImportError as e:
+ sys.stderr.write("ntpheatusb: can't find Python NTP modules. "
+ "-- check PYTHONPATH.\n%s\n" % e)
+ sys.exit(1)
+
+
+def run_binary(cmd):
+ """\
+Run a binary
+Return its output if good, None if bad
+"""
+
+ try:
+ # sadly subprocess.check_output() is not in Python 2.6
+ # so use Popen()
+ # this throws an exception if not found
+ proc = subprocess.Popen(cmd,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ universal_newlines=True)
+ output = proc.communicate()[0].split("\n")
+
+ if proc.returncode:
+ # non-zero return code, fail
+ print("Return %s" % proc.returncode)
+ return None
+
+ except ImportError as e:
+ sys.stderr.write("Unable to run %s binary\n" % cmd[0])
+ print(cmd)
+ sys.stderr.write("%s\n" % e)
+ return None
+
+ return output
+
+
+class PID:
+ """\
+Discrete PID control
+"""
+
+ def __init__(self, setpoint=0.0,
+ P=2.0, I=0.0, D=1.0,
+ Derivator=0, Integrator=0,
+ Integrator_max=100, Integrator_min=-100):
+
+ self.Kp = P
+ self.Ki = I
+ self.Kd = D
+ self.Derivator = Derivator
+ self.Integrator = Integrator
+ self.Integrator_max = Integrator_max
+ self.Integrator_min = Integrator_min
+
+ self.set_point = setpoint
+ self.error = 0.0
+
+ def __repr__(self):
+ return "D_value=%s, I_value=%s" % (self.D_value, self.I_value)
+
+ def setPoint(self, set_point):
+ """
+ Initialize the setpoint of PID
+ """
+ self.set_point = set_point
+
+ def update(self, current_value):
+ """
+ Calculate PID output value for given reference input and feedback
+ """
+
+ self.error = self.set_point - current_value
+
+ self.P_value = self.Kp * self.error
+ self.D_value = self.Kd * (self.error - self.Derivator)
+ self.Derivator = self.error
+
+ self.Integrator = self.Integrator + self.error
+
+ if self.Integrator > self.Integrator_max:
+ self.Integrator = self.Integrator_max
+ elif self.Integrator < self.Integrator_min:
+ self.Integrator = self.Integrator_min
+
+ self.I_value = self.Integrator * self.Ki
+
+ PID = self.P_value + self.I_value + self.D_value
+
+ return PID
+
+
+# Work with argvars
+parser = argparse.ArgumentParser(description="make heat with USB relay")
+parser.add_argument('-p', '--pid',
+ action="store_true",
+ dest='pid',
+ help="Use PID controller instead of simple P controller.")
+parser.add_argument('-s', '--step',
+ action="store_true",
+ dest='step',
+ help="Step up 1C every 2 hours for 20 hours, "
+ "then back down.")
+parser.add_argument('-t', '--temp',
+ default=[45.0],
+ dest='target_temp',
+ help="Temperature to hold in C. Default is 45.0C",
+ nargs=1,
+ type=float)
+parser.add_argument('-w', '--wait',
+ default=[60],
+ dest='wait',
+ help="Set delay time in seconds, default is 60",
+ nargs=1,
+ type=float)
+parser.add_argument('-v', '--verbose',
+ action="store_true",
+ dest='verbose',
+ help="be verbose")
+parser.add_argument('-V', '--version',
+ action="version",
+ version="ntpheatusb %s" % ntp.util.stdversion())
+args = parser.parse_args()
+
+zone0 = '/sys/class/thermal/thermal_zone0/temp'
+cnt = 0
+
+temp_gate = args.target_temp[0]
+start_temp_gate = temp_gate
+period = float(args.wait[0])
+
+# you will need to personalize these to your relay ID:
+usbrelay_on = ['usbrelay', '959BI_1=1']
+usbrelay_off = ['usbrelay', '959BI_1=0']
+
+# turn off the usb relay on exit. no need to cook..
+atexit.register(run_binary, usbrelay_off)
+
+# to adjust the PID variables
+# set I and D to zero
+#
+# increase P until you get a small overshoot, and mostly damped response,
+# to a large temp change
+#
+# then increase I until the persistent error goes away.
+#
+# if the temp oscillates then increase D
+#
+pid = PID(setpoint=temp_gate, P=35.0, I=10.0, D=10.0)
+
+start_time = time.time()
+step_time = start_time
+step = 0
+
+start_time = time.time()
+step_time = start_time
+step = 0
+
+try:
+ while True:
+ if args.step:
+ now = time.time()
+ if 7200 < (now - step_time):
+ # time to step
+ step_time = now
+ step += 1
+ if 0 <= step:
+ # step up
+ temp_gate += 1.0
+ else:
+ # step down
+ temp_gate -= 1.0
+ if 9 < step:
+ step = -11
+ pid.setPoint(temp_gate)
+
+ # only one device can read the TEMPer at a time
+ # collisions will happen, so retry a few times
+ for attempt in range(0, 3):
+ # grab the needed output
+ fail = False
+ output = run_binary(["temper-poll", "-c"])
+ try:
+ # make sure it is a temperature
+ temp = float(output[0])
+ break
+ except ValueError:
+ # bad data, try aagin
+ fail = True
+ if args.verbose:
+ print("temper read failed: %s" % output)
+
+ if fail:
+ # give up
+ print("temper fatal error")
+ sys.exit(1)
+
+ # the +20 is to create an 80/20 band around the setpoint
+ p_val = pid.update(temp) + 20
+ p_val1 = p_val
+ if p_val > 100:
+ p_val1 = 100
+ elif p_val < 0:
+ p_val1 = 0
+
+ if temp > temp_gate:
+ perc_t = 0
+ elif temp < (temp_gate - 3):
+ perc_t = 100
+ else:
+ perc_t = ((temp_gate - temp) / 3) * 100
+
+ if args.pid:
+ # use PID controller
+ perc = p_val1
+ else:
+ # use P controller
+ perc = perc_t
+
+ if perc > 0:
+ output = run_binary(usbrelay_on)
+ time_on = period * (perc / 100)
+ time.sleep(time_on)
+ else:
+ time_on = 0
+
+ time_off = period - time_on
+ output = run_binary(usbrelay_off)
+
+ if args.verbose:
+ print("Temp %s, perc %.2f, p_val %s/%s"
+ % (temp, perc_t, p_val, p_val1))
+ print("on %s, off %s" % (time_on, time_off))
+ print(pid)
+
+ if 0 < time_off:
+ time.sleep(time_off)
+
+except KeyboardInterrupt:
+ print("\nCaught ^C")
+ run_binary(usbrelay_off)
+ sys.exit(1)
+ # can't fall through ???
+
+except IOError:
+ # exception catcher
+ # turn off the heat!
+ run_binary(usbrelay_off)
+ print("\nCaught exception, exiting\n")
+ sys.exit(1)
diff --git a/contrib/smartctl-temp-log b/contrib/smartctl-temp-log
new file mode 100755
index 0000000..9deaa9e
--- /dev/null
+++ b/contrib/smartctl-temp-log
@@ -0,0 +1,75 @@
+#!/usr/bin/env python
+# coding: utf-8
+"""\
+Usage: smartctl-temp-log [device]
+
+Reads 'smartctl -a device' for temperature data. If a device is not
+specified on the commline line then /dev/sda is used. Writes the
+temperature found to stdout. Each line contains the Unix time in
+seconds since the epoch, the identifier, and the temperature in Celsius.
+
+Before you can use this utility smartctl must be installed and
+configured. See their documentation for that procedure.
+
+Sample log from a typical hard disk.
+
+1471573103 SMART 37.000
+
+Field 1: Unix time in seconds since the star of the epoch
+Field 2: Log source (SMART)
+Field 3: temperature in degrees C
+
+Sample crontab usage:
+
+# take and log disk temp every 5 minutes
+*/5 * * * * /usr/local/sbin/smart-temp-log >> /var/log/ntpstats/temps
+
+Note, many distributions put smartctl in /usr/sbin, and do not
+put /usr/sbin in the PATH of programs executed by crontab.
+
+Not all hard drives support SMART.
+Not all of SMART drives are supported by smartctl.
+Not all smartctl compatible drives report temperature.
+Not all reported temperatures are valid.
+
+This file may only be useful as a template. The way to read your disk
+temperatures will be hardware specific.
+
+"""
+
+
+import subprocess
+import sys
+import time
+
+# check for device on command line, otherwise use /dev/sda
+device = '/dev/sda'
+if 1 < len(sys.argv):
+ # process device
+ device = sys.argv[1]
+
+try:
+ # sadly subprocess.check_output() is not in Python 2.6
+ proc = subprocess.Popen(["smartctl", "-a", device],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ universal_newlines=True)
+ output = proc.communicate()[0]
+
+except subprocess.CalledProcessError as e:
+ sys.stderr.write("ERROR: 'smartctl -a %s' failed\n" % device)
+ sys.stderr.write(e.output)
+ sys.stderr.write("Return code: %s\n" % e.returncode)
+ raise SystemExit(2)
+except OSError as e:
+ sys.stderr.write("ERROR: Could not start smartctl: %s\n" % e.strerror)
+ raise SystemExit(2)
+
+lines = output.split('\n')
+
+line = ''
+for line in lines:
+ if line.startswith('194 '):
+ now = int(time.time())
+ temp = line.split()[9]
+ sys.stdout.write('%d %s %s\n' % (now, device, temp))
diff --git a/contrib/temper-temp-log b/contrib/temper-temp-log
new file mode 100755
index 0000000..441d4ff
--- /dev/null
+++ b/contrib/temper-temp-log
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# coding: utf-8
+"""\
+Usage: temper-temper-log
+
+Reads 'temper-poll -c' for room temperature data. Writes the temperature
+found to stdout on one line, preceded by the Unix UTC time in seconds
+and the Log source ID.
+
+Before you can use this utility you must have a TEMPer USB thermometer
+plugged in, and the temper-python package must be installed and configured.
+See their documentation for that procedure.
+
+Sample log from a TEMPer:
+
+1471573103 TEMPER 37.000
+1471573104 TEMPER 37.000
+1471573105 TEMPER 37.000
+
+Field 1: Unix UTC time in seconds
+Field 1: Log source (TEMPER)
+Field 3: CPU temperature in degrees C
+
+Sample crontab usage:
+
+# take and log CPU temp every 5 minutes
+*/5 * * * * /usr/local/sbin/temper-temp-log >> /var/log/ntpstats/temps
+
+"""
+
+from __future__ import print_function
+
+import time
+import subprocess
+
+# sadly subprocess.check_output() is not in Python 2.6
+proc = subprocess.Popen(["temper-poll", "-c"],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ universal_newlines=True)
+output = proc.communicate()[0]
+
+now = int(time.time())
+
+try:
+ temp = float(output)
+ print(str(now) + ' TEMPER ' + str(temp))
+except:
+ # bad data, ignore it
+ raise SystemExit(1)
diff --git a/contrib/zone-temp-log b/contrib/zone-temp-log
new file mode 100755
index 0000000..a3cbbce
--- /dev/null
+++ b/contrib/zone-temp-log
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+# coding: utf-8
+"""\
+Usage: zone-temper-log
+
+Reads /sys/class/thermal/thermal_zone*/temp to find the CPU temperature.
+Writes all temperatures found to stdout on one line, preceded by the
+Unix UTC time in seconds.
+
+
+Sample log:
+
+1471582083 ZONE0 56.92
+1471582084 ZONE0 57.458
+1471582085 ZONE0 56.92
+1471582086 ZONE0 56.92
+
+
+Field 1: Unix UTC time in seconds
+Field 2: Log source (ZONE)
+Field 3: CPU Temperature
+
+ntpviz will read all file temps* by default. Do not step on
+temps used by temper-temp-log.
+
+Sample crontab usage:
+
+# take and log CPU temp every 5 minutes
+*/5 * * * * /usr/local/sbin/zone-temp-log >> /var/log/ntpstats/tempsz
+"""
+
+from __future__ import print_function
+
+import time
+
+now = int(time.time())
+
+zone = 0
+while True:
+ try:
+ f = open('/sys/class/thermal/thermal_zone{0}/temp'.format(zone), 'r')
+ except IOError:
+ break
+ for line in f:
+ temp = float(line) / 1000
+ print('{0} ZONE{1} {2}'.format(now, zone, temp))
+ f.close()
+ zone = zone + 1
diff --git a/devel/ChangeLog b/devel/ChangeLog
new file mode 100644
index 0000000..c2b2dd4
--- /dev/null
+++ b/devel/ChangeLog
@@ -0,0 +1,4263 @@
+This is the historical change log from before the DVCS repository conversion.
+If you want the level of detail this contained about post-conversion changes,
+read the per-commit change comments.
+
+This describes changes from 2001 to early 2015. For earlier changes, see
+the file CommitLog-4.1.0.
+
+(4.3.34) 2015/06/04 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2824] Convert update-leap to perl. (also see 2769)
+* [Bug 2832] refclock_jjy.c supports the TDC-300.
+* [Bug 2834] Correct a broken html tag in html/refclock.html
+* [Bug 2837] Allow a configurable DSCP value.
+(4.3.33) 2015/05/12 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* 4.2.8p3-RC1
+* [Bug 2745] ntpd -x steps clock on leap second
+ Do leap second stepping only of the step adjustment is beyond the
+ proper jump distance limit and step correction is allowed at all.
+(4.3.32) 2015/05/09 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2792] If the IFF_RUNNING interface flag is supported then an
+ interface is ignored as long as this flag is not set since the
+ interface is not usable (e.g., no link).
+* [Bug 2808] GPSD_JSON driver enhancements, step 1.
+ Increase internal token buffer to parse all JSON data, even SKY.
+(4.3.31) 2015/05/08 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* CID 739725: Fix a rare resource leak in libevent/listener.c.
+* [Bug 2750] build for Win64
+ Building for 32bit of loopback ppsapi needs def file
+* [Bug 2808] GPSD_JSON driver enhancements, step 1.
+ Increase internal token buffer to parse all JSON data, even SKY.
+ Defer logging of errors during driver init until the first unit is
+ started, so the syslog is not cluttered when the driver is not used.
+* [Bug 2821] Add a missing NTP_PRINTF and a missing const.
+* Add an assert to the ntpq ifstats code.
+* Clean up the RLIMIT_STACK code.
+(4.3.30) 2015/05/07 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2825] Quiet file installation in html/ .
+(4.3.29) 2015/05/05 Released by Harlan Stenn <stenn@ntp.org>
+(4.3.28) 2015/05/04 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2822] New leap column in sntp broke NTP::Util.pm.
+(4.3.27) 2015/05/03 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* Windows port build cleanup.
+(4.3.26) 2015/05/02 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
+(4.3.25) 2015/05/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2818] refclock_shm.c missing a line from -stable version.
+Below are from 4.2.8p3:
+* [Bug 2590] autogen-5.18.5.
+* [Bug 2650] fix includefile processing.
+(4.3.24) 2015/04/30 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2745] ntpd -x steps clock on leap second
+ Do leap second stepping only of the step adjustment is beyond the
+ proper jump distance limit and step correction is allowed at all.
+* [Bug 2806] refclock_jjy.c supports the Telephone JJY
+* [Bug 2808] GPSD_JSON driver enhancements, step 1
+ Various improvements, see http://bugs.ntp.org/2808 for details.
+ Changed libjsmn to a more recent version.
+ fix coverity issues with refclock_gpsdjson and refclock_shm
+ Add a few more tallies as per Hal Murray's suggestions
+(4.3.23) 2015/04/29 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2805] ntpd fails to join multicast group.
+(4.3.22) 2015/04/28 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2612] restrict: Warn when 'monitor' can't be disabled because
+ of 'limited'.
+(4.3.21) 2015/04/27 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2776] Clean up EVP_MD_do_all_sorted() test.
+* [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h.
+* [Bug 2815] net-snmp before v5.4 has circular library dependencies.
+(4.3.20) 2015/04/26 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
+* CID 1269537: Clean up a line of dead code in getShmTime().
+* ntpq.c cleanup.
+* Improve the ntpq documentation around the controlkey keyid.
+* autogen-5.18.5.
+(4.3.19) 2015/04/25 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2804] Fix regression in previous fix.
+(4.3.18) 2015/04/24 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2776] Improve ntpq's 'help keytype'.
+* [Bug 2800] refclock_true.c true_debug() can't open debug log because
+ of incompatible open/fdopen parameters.
+* [Bug 2804] install-local-data assumes GNU 'find' semantics.
+(4.3.17) 2015/04/23 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2776] Improve ntpq's 'help keytype' on pre-OpenSSL 1.0.
+(4.3.16) 2015/04/22 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2776] Improve ntpq's 'help keytype'.
+* [Bug 2794] Clean up kernel clock status reports.
+(4.3.15) 2015/04/20 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p3:
+* [Bug 2804] install-local-data assumes GNU 'find' semantics.
+* [Bug 2808] GPSD_JSON driver enhancements, step 1.
+ Various improvements, see http://bugs.ntp.org/2808 for details.
+ Changed libjsmn to a more recent version.
+* [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX.
+(4.3.14) 2015/04/07 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
+* [Sec 2781] Authentication doesn't protect symmetric associations against
+ DoS attacks.
+(4.3.13) 2015/04/03 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Bug 2763] Fix for different thresholds for forward and backward steps.
+(4.3.12) 2015/04/02 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2795] fixed some minor warnings.
+Below are from 4.2.8p2:
+* [Bug 2788] New flag -G (force_step_once).
+* [Bug 2592] FLAG_TSTAMP_PPS cleanup for refclock_parse.c.
+* [Bug 2794] Clean up kernel clock status reports.
+* [Bug 2795] Cannot build without OpenSLL (on Win32).
+ Provided a Win32 specific wrapper around libevent/arc4random.c.
+* [Bug 2796] ntp-keygen crashes in 'getclock()' on Win32.
+* [Bug 2797] ntp-keygen trapped in endless loop for MD5 keys
+ on big-endian machines.
+* [Bug 2798] sntp should decode and display the leap indicator.
+* Simple cleanup to html/build.html
+(4.3.11) 2015/03/29 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Bug 2346] "graceful termination" signals do not do peer cleanup.
+* [Bug 2769] cleannup for update-leap
+(4.3.10) 2015/03/22 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003.
+* [Bug 2769] New script: update-leap
+* [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info.
+ Removed non-ASCII characters from some copyright comments.
+ Removed trailing whitespace.
+ Updated definitions for Meinberg clocks from current Meinberg header files.
+ Now use C99 fixed-width types and avoid non-ASCII characters in comments.
+ Account for updated definitions pulled from Meinberg header files.
+ Updated comments on Meinberg GPS receivers which are not only called GPS16x.
+ Replaced some constant numbers by defines from ntp_calendar.h
+ Modified creation of parse-specific variables for Meinberg devices
+ in gps16x_message().
+ Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates.
+ Modified mbg_tm_str() which now expexts an additional parameter controlling
+ if the time status shall be printed.
+* [Bug 2789] Quiet compiler warnings from libevent.
+* [Bug 2790] If ntpd sets the Windows MM timer highest resolution
+ pause briefly before measuring system clock precision to yield
+ correct results.
+* Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer.
+* Use predefined function types for parse driver functions
+ used to set up function pointers.
+ Account for changed prototype of parse_inp_fnc_t functions.
+ Cast parse conversion results to appropriate types to avoid
+ compiler warnings.
+ Let ioctl() for Windows accept a (void *) to avoid compiler warnings
+ when called with pointers to different types.
+(4.3.9) 2015/03/16 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Bug 2763] Allow different thresholds for forward and backward steps.
+(4.3.8) 2015/03/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2752] Update for mkver.bat for Windows from David Taylor.
+ Account for release numbering scheme for 4.3.x and later.
+Below are from 4.2.8p2:
+* [Bug 2774] Unreasonably verbose printout - leap pending/warning
+(4.3.7) 2015/03/07 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2784] Fix for 2782 uses clock_gettime() instead of time().
+(4.3.6) 2015/03/06 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Bug 2782] Refactor refclock_shm.c, add memory barrier protection.
+(4.3.5) 2015/03/05 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE.
+(4.3.4) 2015/03/04 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Bug 2773] Early leap announcement from Palisade/Thunderbolt
+* [Bug 2775] ntp-keygen.c fails to compile under Windows.
+(4.3.3) 2015/02/28 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Bug 2751] jitter.h has stale copies of l_fp macros.
+* [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM.
+* [Bug 2757] Quiet compiler warnings.
+* [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq.
+* [Bug 2766] ntp-keygen output files should not be world-readable.
+* [Bug 2767] ntp-keygen -M should symlink to ntp.keys.
+* [Bug 2771] nonvolatile value is documented in wrong units.
+(4.3.2) 2015/02/25 Released by Harlan Stenn <stenn@ntp.org>
+(4.3.1) 2015/02/21 Released by Harlan Stenn <stenn@ntp.org>
+Below are from 4.2.8p2:
+* [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument.
+* [Bug 2728] See if C99-style structure initialization works.
+* [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. .
+* [Bug 2751] jitter.h has stale copies of l_fp macros.
+* [Bug 2757] Quiet compiler warnings.
+(4.3.0) 2015/02/11 Released by Harlan Stenn <stenn@ntp.org>
+From 4.2.8p2:
+* [Bug 2747] Upgrade libevent to 2.1.5-beta.
+
+ntp-4.3 begins.
+---
+
+* [Bug 2824] Convert update-leap to perl. (also see 2769)
+* [Bug 2832] refclock_jjy.c supports the TDC-300.
+* [Bug 2834] Correct a broken html tag in html/refclock.html
+* [Bug 2837] Allow a configurable DSCP value.
+---
+(4.2.8p3-RC1) 2015/05/12 Released by Harlan Stenn <stenn@ntp.org>
+
+* CID 739725: Fix a rare resource leak in libevent/listener.c.
+* CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
+* CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
+* CID 1269537: Clean up a line of dead code in getShmTime().
+* [Bug 2590] autogen-5.18.5.
+* [Bug 2612] restrict: Warn when 'monitor' can't be disabled because
+ of 'limited'.
+* [Bug 2650] fix includefile processing.
+* [Bug 2745] ntpd -x steps clock on leap second
+ Fixed an initial-value problem that caused misbehaviour in absence of
+ any leapsecond information.
+ Do leap second stepping only of the step adjustment is beyond the
+ proper jump distance limit and step correction is allowed at all.
+* [Bug 2750] build for Win64
+ Building for 32bit of loopback ppsapi needs def file
+* [Bug 2776] Improve ntpq's 'help keytype'.
+* [Bug 2782] Refactor refclock_shm.c, add memory barrier protection.
+* [Bug 2792] If the IFF_RUNNING interface flag is supported then an
+ interface is ignored as long as this flag is not set since the
+ interface is not usable (e.g., no link).
+* [Bug 2794] Clean up kernel clock status reports.
+* [Bug 2800] refclock_true.c true_debug() can't open debug log because
+ of incompatible open/fdopen parameters.
+* [Bug 2804] install-local-data assumes GNU 'find' semantics.
+* [Bug 2805] ntpd fails to join multicast group.
+* [Bug 2806] refclock_jjy.c supports the Telephone JJY.
+* [Bug 2808] GPSD_JSON driver enhancements, step 1.
+ Fix crash during cleanup if GPS device not present and char device.
+ Increase internal token buffer to parse all JSON data, even SKY.
+ Defer logging of errors during driver init until the first unit is
+ started, so the syslog is not cluttered when the driver is not used.
+ Various improvements, see http://bugs.ntp.org/2808 for details.
+ Changed libjsmn to a more recent version.
+ fix coverity issues with refclock_gpsdjson and refclock_shm
+ Add a few more tallies as per Hal Murray's suggestions
+* [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX.
+* [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h.
+* [Bug 2815] net-snmp before v5.4 has circular library dependencies.
+* [Bug 2821] Add a missing NTP_PRINTF and a missing const.
+* [Bug 2822] New leap column in sntp broke NTP::Util.pm.
+* [Bug 2825] Quiet file installation in html/ .
+* Add an assert to the ntpq ifstats code.
+* Clean up the RLIMIT_STACK code.
+* Improve the ntpq documentation around the controlkey keyid.
+* ntpq.c cleanup.
+* Windows port build cleanup.
+---
+(4.2.8p2) 2015/04/07 Released by Harlan Stenn <stenn@ntp.org>
+(4.2.8p2-RC3) 2015/04/03 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2763] Fix for different thresholds for forward and backward steps.
+---
+(4.2.8p2-RC2) 2015/04/03 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2592] FLAG_TSTAMP_PPS cleanup for refclock_parse.c.
+* [Bug 2769] New script: update-leap
+* [Bug 2769] cleannup for update-leap
+* [Bug 2788] New flag -G (force_step_once).
+* [Bug 2794] Clean up kernel clock status reports.
+* [Bug 2795] Cannot build without OpenSLL (on Win32).
+ Provided a Win32 specific wrapper around libevent/arc4random.c.
+ fixed some minor warnings.
+* [Bug 2796] ntp-keygen crashes in 'getclock()' on Win32.
+* [Bug 2797] ntp-keygen trapped in endless loop for MD5 keys
+ on big-endian machines.
+* [Bug 2798] sntp should decode and display the leap indicator.
+* Simple cleanup to html/build.html
+---
+(4.2.8p2-RC1) 2015/03/30 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2794] Don't let reports on normal kernel status changes
+ look like errors.
+* [Bug 2788] New flag -G (force_step_once).
+* [Bug 2592] Account for PPS sources which can provide an accurate
+ absolute time stamp, and status information.
+ Fixed indention and removed trailing whitespace.
+* [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003.
+* [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument.
+* [Bug 2346] "graceful termination" signals do not do peer cleanup.
+* [Bug 2728] See if C99-style structure initialization works.
+* [Bug 2747] Upgrade libevent to 2.1.5-beta.
+* [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. .
+* [Bug 2751] jitter.h has stale copies of l_fp macros.
+* [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM.
+* [Bug 2757] Quiet compiler warnings.
+* [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq.
+* [Bug 2763] Allow different thresholds for forward and backward steps.
+* [Bug 2766] ntp-keygen output files should not be world-readable.
+* [Bug 2767] ntp-keygen -M should symlink to ntp.keys.
+* [Bug 2771] nonvolatile value is documented in wrong units.
+* [Bug 2773] Early leap announcement from Palisade/Thunderbolt
+* [Bug 2774] Unreasonably verbose printout - leap pending/warning
+* [Bug 2775] ntp-keygen.c fails to compile under Windows.
+* [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info.
+ Removed non-ASCII characters from some copyright comments.
+ Removed trailing whitespace.
+ Updated definitions for Meinberg clocks from current Meinberg header files.
+ Now use C99 fixed-width types and avoid non-ASCII characters in comments.
+ Account for updated definitions pulled from Meinberg header files.
+ Updated comments on Meinberg GPS receivers which are not only called GPS16x.
+ Replaced some constant numbers by defines from ntp_calendar.h
+ Modified creation of parse-specific variables for Meinberg devices
+ in gps16x_message().
+ Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates.
+ Modified mbg_tm_str() which now expexts an additional parameter controlling
+ if the time status shall be printed.
+* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
+* [Sec 2781] Authentication doesn't protect symmetric associations against
+ DoS attacks.
+* [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE.
+* [Bug 2784] Fix for 2782 uses clock_gettime() instead of get_ostime().
+* [Bug 2789] Quiet compiler warnings from libevent.
+* [Bug 2790] If ntpd sets the Windows MM timer highest resolution
+ pause briefly before measuring system clock precision to yield
+ correct results.
+* Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer.
+* Use predefined function types for parse driver functions
+ used to set up function pointers.
+ Account for changed prototype of parse_inp_fnc_t functions.
+ Cast parse conversion results to appropriate types to avoid
+ compiler warnings.
+ Let ioctl() for Windows accept a (void *) to avoid compiler warnings
+ when called with pointers to different types.
+---
+(4.2.8p1) 2015/02/04 Released by Harlan Stenn <stenn@ntp.org>
+
+* Update the NEWS file.
+* [Sec 2671] vallen in extension fields are not validated.
+---
+(4.2.8p1-RC2) 2015/01/29 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2627] shm refclock allows only two units with owner-only access
+ rework: reverted sense of mode bit (so default reflects previous
+ behaviour) and updated ducumentation.
+* [Bug 2732] - Leap second not handled correctly on Windows 8
+ use 'GetTickCount()' to get the true elapsed time of slew
+ (This should work for all versions of Windows >= W2K)
+* [Bug 2738] Missing buffer initialization in refclock_parse.c::parsestate().
+* [Bug 2739] Parse driver with PPS enabled occasionally evaluates
+ PPS timestamp with wrong sign.
+ Removed some German umlauts.
+* [Bug 2740] Removed some obsolete code from the parse driver.
+* [Bug 2741] Incorrect buffer check in refclock_parse.c::parsestatus().
+---
+(4.2.8p1-RC1) 2015/01/24 Released by Harlan Stenn <stenn@ntp.org>
+
+* Start the RC for 4.2.8p1.
+* [Bug 2187] Update version number generation scripts.
+* [Bug 2617] Fix sntp Usage documentation section.
+* [Sec 2672] Code cleanup: On some OSes ::1 can be spoofed...
+* [Bug 2736] Show error message if we cannot open the config file.
+* Copyright update.
+* Fix the package name.
+---
+(4.2.8p1-beta5) 2015/01/07 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2695] Windows build: __func__ not supported under Windows.
+* [Bug 2728] Work around C99-style structure initialization code
+ for older compilers, specifically Visual Studio prior to VS2013.
+---
+(4.2.8p1-beta4) 2015/01/04 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1084] PPSAPI for ntpd on Windows with DLL backends
+* [Bug 2695] Build problem on Windows (sys/socket.h).
+* [Bug 2715] mdnstries option for ntp.conf from NetBSD.
+* Fix a regression introduced to timepps-Solaris.h as part of:
+ [Bug 1206] Required compiler changes for Windows
+ (4.2.5p181) 2009/06/06
+---
+(4.2.8p1-beta3) 2015/01/02 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2627] shm refclock allows only two units with owner-only access
+ Use mode bit 0 to select public access for units >= 2 (units 0 & 1 are
+ always private.
+* [Bug 2681] Fix display of certificate EOValidity dates on 32-bit systems.
+* [Bug 2695] 4.2.8 does not build on Windows.
+* [bug 2700] mrulist stopped working in 4.2.8.
+* [Bug 2706] libparse/info_trimble.c build dependencies are broken.
+* [Bug 2713] variable type/cast, parameter name, general cleanup from NetBSD.
+* [Bug 2714] libevent may need to be built independently of any build of sntp.
+* [Bug 2715] mdnstries option for ntp.conf from NetBSD.
+---
+(4.2.8p1-beta2) 2014/12/27 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2674] Install sntp in sbin on NetBSD.
+* [Bug 2693] ntp-keygen doesn't build without OpenSSL and sntp.
+* [Bug 2707] Avoid a C90 extension in libjsmn/jsmn.c.
+* [Bug 2709] see if we have a C99 compiler (not yet required).
+---
+(4.2.8p1-beta1) 2014/12/23 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Sec 2672] On some OSes ::1 can be spoofed, bypassing source IP ACLs.
+* [Bug 2693] ntp-keygen doesn't build without OpenSSL.
+* [Bug 2697] IN6_IS_ADDR_LOOPBACK build problems on some OSes.
+* [Bug 2699] HAVE_SYS_SELECT_H is misspelled in refclock_gpsdjson.c.
+---
+(4.2.8) 2014/12/19 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Sec 730] Increase RSA_generate_key modulus.
+* [Sec 2666] Use cryptographic random numbers for md5 key generation.
+* [Sec 2667] buffer overflow in crypto_recv().
+* [Sec 2668] buffer overflow in ctl_putdata().
+* [Sec 2669] buffer overflow in configure().
+* [Sec 2670] Missing return; from error clause.
+* [Sec 2671] vallen in extension fields are not validated.
+* [Sec 2672] On some OSes ::1 can be spoofed, bypassing source IP ACLs.
+* [Bug 2691] Wrong variable name in refclock_ripencc.c.
+(4.2.7p486-RC) 2014/12/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2687] RefClock 26/hpgps doesn't work at default line speed
+(4.2.7p485-RC) 2014/12/12 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2686] refclock_gpsdjson needs strtoll(), which is not always present.
+(4.2.7p484-RC) 2014/12/11 Released by Harlan Stenn <stenn@ntp.org>
+(4.2.7p483) 2014/12/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2685] Better document the KOD file for sntp.
+(4.2.7p482) 2014/12/02 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2641] sntp is installed in the wrong location in Solaris.
+* [Bug 2678] nmea_control() now checks 'refclock_params()' result.
+(4.2.7p481) 2014/11/22 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2314] Only enable PPS if kernel consumer binding succeeds.
+* [Bug 2314] Kernel PPS binding EOPNOTSUPP is a failure condition.
+* Rename pps_enable to hardpps_enable.
+(4.2.7p480) 2014/11/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2677] PATH_MAX isn't #define'd under Windows.
+ Regression from the patch fixing Bug 2639.
+(4.2.7p479) 2014/11/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2651] Certificates with ASN timestamps w/ 4-digit years mis-parsed.
+(4.2.7p478) 2014/11/14 Released by Harlan Stenn <stenn@ntp.org>
+* [Sec 2630] buffer overrun in ntpq tokenize().
+* [Bug 2639] Check return value of ntp_adjtime().
+* [Bug 2650] includefile processing broken.
+* [Bug 2661] ntpq crashes with mreadvar.
+(4.2.7p477) 2014/11/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2657] Document that "restrict nopeer" intereferes with "pool".
+(4.2.7p476) 2014/10/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2503] SHT utility outdated
+(4.2.7p475) 2014/09/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2654] refclock_true.c doesn't identify the Mk III.
+(4.2.7p474) 2014/09/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2536] ntpd sandboxing support (libseccomp2) cleanup.
+* [Bug 2649] Clean up html/ page installation.
+(4.2.7p473) 2014/09/06 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2649] Clean up html/ page installation.
+(4.2.7p472) 2014/09/06 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2556] mrulist is missing from the generated ntpq man page.
+(4.2.7p471) 2014/09/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2649] "make install" leaves wrong owner for files in html/.
+* [Bug 2652] Windows hates directory names that contain a :.
+(4.2.7p470) 2014/09/02 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2502] Autogen text replacement errors.
+* autogen-5.18.5pre1
+* html/ cleanups from Hal Murray.
+(4.2.7p469) 2014/09/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2536] ntpd sandboxing support (libseccomp2) cleanup.
+(4.2.7p468) 2014/08/31 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2556] ntpq man page cleanup.
+* autogen-5.18.4
+(4.2.7p467) 2014/08/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2639] Check return value of ntp_adjtime().
+* [Bug 2640] STA_NANO can result in invalid ntv.constant.
+(4.2.7p466) 2014/08/27 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2536] ntpd sandboxing support (libseccomp2) cleanup.
+(4.2.7p465) 2014/08/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2538] NTP programs print exit code in help/usage text.
+* [Bug 2595] Man page quirks: ntpdate references in ntpd.
+* [Bug 2613] www.ntp.org/bugs.html tells folks to email doc bugs to DLM.
+* [Bug 2636] Clutter in syslog if gpsd not running
+ - found (hopefully) last cause for clutter in protocol version
+ - log GPSD revision and release numbers with protocol version
+(4.2.7p464) 2014/08/22 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2636] Fix coverity warning from previous patch.
+(4.2.7p463) 2014/08/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2636] Clutter in syslog if gpsd not running
+ - make driver work with GPSD protocol version 3.9
+ - use exponential back-off for connection problems
+ - implement rate-limit for syslog entries
+(4.2.7p462) 2014/08/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2622] Synchronisation problem using SHM [...]
+ Add 'control' function -- fudge values not available during start.
+(4.2.7p461) 2014/08/14 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1128] ntpq truncates "remote" host information.
+* More autogen-5.18.4pre14 cleanup.
+(4.2.7p460) 2014/08/13 Released by Harlan Stenn <stenn@ntp.org>
+* More autogen-5.18.4pre14 cleanup.
+(4.2.7p459) 2014/08/12 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2630] Limit the ntpq command buffer to 512 bytes.
+* FlexeLint cleanups.
+* Try bison-3.0.2 instead of bison-2.5.
+(4.2.7p458) 2014/08/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2633] Provide stdnoreturn.h for windows port.
+(4.2.7p457) 2014/08/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2622] Synchronisation problem using SHM when time difference is
+ more than four hours: Change SHM driver so TOY restricted API is not
+ used any more. (Plus some minor cleanup in logic and flow control)
+* Pass the configration source into the parser as argument rather
+ than through a global variable.
+* Fix nits in the ntpq man page.
+* autogen-5.18.4pre14
+(4.2.7p456) 2014/08/07 Released by Harlan Stenn <stenn@ntp.org>
+* CID 739722: Change the way the extention and MAC fields are processed.
+(4.2.7p455) 2014/08/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2565] ntpd sometimes logs unexpected getifaddrs() errors.
+* CID 739722: Clean up the definition of the exten field of struct pkt.
+(4.2.7p454) 2014/07/30 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2628] 'mon_getmoremem()' relies on undefined behaviour
+(4.2.7p453) 2014/07/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2597] leap file loose ends (follow-up)
+ - uniform expiration check messages for config and timer triggered
+ leap file loads
+ - timer triggered loads log messages only once per day
+(4.2.7p452) 2014/07/18 Released by Harlan Stenn <stenn@ntp.org>
+* Make all of the html/ .html files use the same format for "Last update".
+(4.2.7p451) 2014/07/17 Released by Harlan Stenn <stenn@ntp.org>
+* Fix the "Last update" entries in the html/ subtree.
+(4.2.7p450) 2014/07/16 Released by Harlan Stenn <stenn@ntp.org>
+* Distribute the scripts needed for the fix for Bug 2547.
+(4.2.7p449) 2014/07/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2547] Automate update of "Last Update" datestamps in .html files.
+* [Bug 2623] Missing {} in refclock_oncore.c.
+* Quiet warnings from ntp_calendar.h: avoid using argument names.
+* Fix typos in decode.html and debug.html .
+(4.2.7p448) 2014/07/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2621] Avoid use of indeterminate address after 'free()'
+ (minor C standard conformance issue)
+* Quiet warnings from ntp_calendar.h: avoid using argument names.
+(4.2.7p447) 2014/07/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2620] Use version.pm for checking version numbers in NTP::Util.
+* [Bug 2624] Fix signed compare on 'l_fp'.
+(4.2.7p446) 2014/06/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2597] leap file processing -- loose ends.
+* [Bug 2614] use 'unsigned long' consistently in ntp_random.c
+ to avoid possibly undefined behaviour in signed int overflow
+* [Bug 2619] Save a signed int copy of the return value of i2d_DSA_SIG().
+ Provide missing msyslog() message in crypto_alice().
+* Fix a variable lifetime issue.
+* Allow for version suffix in libevent in ntp_libevent.m4.
+(4.2.7p445) 2014/06/12 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2556] mrulist isn't mentioned in the ntpq man page.
+(4.2.7p444) 2014/05/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2597] leap file processing -- loose ends
+ fixed coverity issues
+(4.2.7p443) 2014/05/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2594] Update the year in sntp/include/copyright.def.
+(4.2.7p442) 2014/05/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2589] Update VS2013 project files for libntp.
+* [Bug 2600] Fix "Undisicplined Local Clock" driver1.html page.
+(4.2.7p441) 2014/05/04 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2597] leap file processing -- loose ends
+ log daily warning when leap info less than 28 days to expiration or
+ already expired; nag hourly on last day before expiration; log when
+ leapfile name is invalid
+(4.2.7p440) 2014/04/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2536] ntpd sandboxing support (libseccomp2) cleanup.
+* [Bug 2570] cleanup: fix log format for successful leapfile load
+(4.2.7p439) 2014/04/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2589] fix VS2009 compile problem.
+(4.2.7p438) 2014/04/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2546] Windows build documentation updates.
+(4.2.7p437) 2014/03/31 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2537] ntpd truncates symmetric keys to 20 bytes.
+* [Bug 2546] Documentation updates.
+(4.2.7p436) 2014/03/31 Released by Harlan Stenn <stenn@ntp.org>
+* Update to libopts-40.2.15, and autogen-5.18.3pre18.
+* [Bug 2311] Add more tags to mdoc2xxx.
+* [Bug 2502] Assorted text replacement errors in 4.2.7p345
+* [Bug 2538] ntp programs print exit code as part of the "usage" text.
+(4.2.7p435) 2014/03/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2570] cleanup: reduced logging noise, moved some functions
+ into libntp.
+(4.2.7p434) 2014/03/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2577] Update VS2013 solution and project files.
+(4.2.7p433) 2014/03/10 Released by Harlan Stenn <stenn@ntp.org>
+* Clean up last-update timestamps of html/*.html files.
+* [Bug 2546] Documentation updates.
+(4.2.7p432) 2014/03/09 Released by Harlan Stenn <stenn@ntp.org>
+* CID 711660: Do a non-NULL pointer assertion check a bit earlier.
+(4.2.7p431) 2014/03/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2572] cross-compiling fails for --with-yielding-select.
+(4.2.7p430) 2014/03/04 Released by Harlan Stenn <stenn@ntp.org>
+* Upgrade to libevent-2.1.3-alpha-dev.
+* [Bug 2572] cross-compiling fails for --with-yielding-select.
+(4.2.7p429) 2014/03/03 Released by Harlan Stenn <stenn@ntp.org>
+* CID 1165098: Remove logically dead code from refclock_true.c.
+* CID 1189401: Use INSIST() instead of a belt-and-suspenders pointer check.
+* In ntp_dir_sep.m4, we care about $host_os, not $target_os.
+* [Bug 2170] Use AC_PREPROC_IFELSE instead of AC_EGREP_CPP.
+* [Bug 2540] bootstrap script needs to 'touch' files in finer-grained groups.
+* [Bug 2570] refuse to load leapsec file with bad/missing SHA1 hash
+ -- change reading the hash line code: NIST omits leading zeros.
+* [Bug 2576] refclock_gpsdjson.c doesn't compile if CLOCK_GPSDJSON is
+ not enabled at configure time.
+(4.2.7p428) 2014/03/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2570] refuse to load leapsec file with bad/missing SHA1 hash
+* [Bug 2562] Distribute the code in libjsmn/ .
+(4.2.7p427) 2014/03/02 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2562] GPSD_JSON: fix solaris issues (asprintf(), isfinite())
+* [Bug 2562] first release of the GPSD client clock (type 46)
+(4.2.7p426) 2014/02/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2113] Warn about ignored extra args in ntpq.
+* [Bug 2540] bootstrap script needs to 'touch' files in finer-grained groups.
+* [Bug 2561] Allow wildcards in the target of the "interface" command.
+* [Bug 2572] cross-compiling fails for --with-yielding_select.
+(4.2.7p425) 2014/02/26 Released by Harlan Stenn <stenn@ntp.org>
+* Copyright file update.
+(4.2.7p424) 2014/02/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2541] ntpd terminates itself with SIGHUP unexpectedly.
+(4.2.7p423) 2014/02/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2565] Handle EINTR on getifaddrs().
+(4.2.7p422) 2014/02/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2536] ntpd sandboxing support (libseccomp2).
+(4.2.7p421) 2014/02/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 898] More documentation fixes.
+* [Bug 2555] Autogen mdoc man pages all stamped with SunOS 5.10.
+* calc_tickadj/Makefile.am man/mdoc page build cleanup.
+(4.2.7p420) 2014/02/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 492] Clearly document ntpdate's pending deprecation.
+* [Bug 1186] ntpd fails with link local IPv6 addresses.
+* [Sec 2542] Strengthen the mrulist nonce.
+(4.2.7p419) 2014/02/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2466] Wrap NMEA timestamps in 1024 week cycles.
+(4.2.7p418) 2014/02/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2551] --disable-local-libevent breaks the build.
+(4.2.7p417) 2014/02/02 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2539] doc and code tweaks for NMEA driver.
+* Add check for enable stats to ntpd/complete.conf.in
+* Fix typo in html/confopt.html
+(4.2.7p416) 2014/01/31 Released by Harlan Stenn <stenn@ntp.org>
+* Tweak the 'Modified' line on appropriate html pages.
+* Note in the deprecation of ntpdc in its documentation.
+* [Bug 2332] Be more careful about when we use 'libgcc_s'.
+(4.2.7p415) 2014/01/28 Released by Harlan Stenn <stenn@ntp.org>
+* Fix the man page installation for the scripts/ files.
+(4.2.7p414) 2014/01/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 792] TrueTime TL-3 WWV refclock support.
+* [Bug 898] Documentation fixes.
+* [Bug 930] ntpdc docs refer to 'clockinfo', but mean 'clockstat'.
+* [Bug 1002] ntp-keygen option and documentation updates: -p/--pvt-passwd
+ is now -p/--password, and -q/--get-pvt-passwd is now -q/--export-passwd.
+* [Bug 1349] statistics command not documented in HTML documentation.
+ In html/monopt.html, add statistics id, definition, description, and
+ correct typo.
+ In html/scripts/monopt.txt, add statistics item, href, and comment.
+ In ntpd/ntp.conf.def, under statistics correct four to eight kinds.
+ In ntpd/complete.conf.in, add all eight kinds to statistics.
+ In html/comdex.html, remove duplicate footer.
+* [Bug 1734] Include man page for ntp.conf (fixed in 4.2.7p297).
+* [Bug 2049] Clarify ntpdate's -d option behavior.
+* [Bug 2366] ntpdc.html: burst/iburst only work on servers.
+* [Bug 2493] ntptrace needs a man page (fixed in 4.2.7p402).
+* [Bug 2545] Cleanup of scripts/monitoring/ntptrap.
+(4.2.7p413) 2014/01/27 Released by Harlan Stenn <stenn@ntp.org>
+* Require a version string for perl scripts that use autogen.
+* html/ cleanup.
+(4.2.7p412) 2014/01/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2540] bootstrap script needs to 'touch' files in finer-grained groups.
+(4.2.7p411) 2014/01/12 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2532] Note in ntpdc docs that "enable pps" only works on older ntpd.
+(4.2.7p410) 2014/01/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2332] Force reference to 'libgcc_s' when using GCC, because
+ threading+restricted user+locked memory otherwise fails on Linux.
+* [Bug 2530] Fix documentation for enable/disable mode7 and pps.
+* Cleanup to the new scripts/*/Makefile.am files.
+(4.2.7p409) 2014/01/04 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2060] Warn about restrictions with "kod" but not "limited".
+(4.2.7p408) 2013/12/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2187] Update version number generation scripts.
+(4.2.7p407) 2013/12/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2519] mktime.c does not compile on 64-bit Solaris but we do not
+ need timegm() and the Solaris provides mktime().
+* [Bug 2522] Revert Bug 2513 fix - it breaks backward compatibility.
+(4.2.7p406) 2013/12/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2521] VPATH tweaks for perl -opts files.
+(4.2.7p405) 2013/12/27 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2521] bootstrap script needs a tweak for perl -opts files.
+* [Bug 2524] Add ntpsweep to sntp/loc/* files.
+* [Bug 2526] Add "noinst" support to the sntp/loc/ framework.
+(4.2.7p404) 2013/12/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 135] AIX5: "Address already in use" for IPv6 wildcard.
+(4.2.7p403) 2013/12/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2513] Remove any PIDFILE in finish().
+* [Bug 2516] Enable clock_gettime() support for AIX 5+.
+* [Bug 2517] Fix peer status errors in decode.html.
+(4.2.7p402) 2013/12/23 Released by Harlan Stenn <stenn@ntp.org>
+* Incorporate Oliver Kindernay's GSoC 2013 scripts/ cleanup.
+(4.2.7p401) 2013/11/30 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2491] VS20xx compile fixes.
+(4.2.7p400) 2013/11/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2491] VS2013 project files.
+(4.2.7p399) 2013/11/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2326] More leapsecond file notification cleanup.
+* [Bug 2506] make sure routing updates are always tracked
+* [Bug 2514] secs/* #define usage cleanup.
+(4.2.7p398) 2013/11/25 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2326] More leapsecond file notification cleanup.
+* Improve sntp KoD data file fopen() error message.
+(4.2.7p397) 2013/11/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2326] More leapsecond file notification cleanup.
+(4.2.7p396) 2013/11/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2326] Improve stale leapsecond notifications.
+(4.2.7p395) 2013/11/12 Released by Harlan Stenn <stenn@ntp.org>
+* Upgrade to autogen-5.18.3pre5 and libopts-40.1.15.
+(4.2.7p394) 2013/11/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1050] Change ONCORE log message for leap second announcement
+ to avoid misunderstandings.
+* [Bug 2499] Win32 user-space/loopback ppsapi provider drops samples.
+* [Bug 2256] Improve configure's function searches in libraries.
+(4.2.7p393) 2013/10/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2272] Use C99 integer types. ntp_calendar.h and ntp_types.h .
+(4.2.7p392) 2013/10/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2375] Improve AIX compatibility.
+* [Bug 2490] Fixed non-const initializer coming from [Bug 2250] fix.
+(4.2.7p391) 2013/10/12 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2250] Rework of leap second handling machine.
+* [Bug 2419] [rc-nmea] Improve clockstats reporting when receiver sends
+ data without valid GPS fix.
+(4.2.7p390) 2013/09/26 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2482] Cleanup of droproot and jail support for Solaris.
+(4.2.7p389) 2013/09/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2473] revisited: NTPD exits after clock is stepped backwards
+ Avoid possible unsigned underrun for startup condition when testing
+ for clock backstep.
+* [Bug 2481] ntpd aborts when both user and group are specified with -u.
+* [Bug 2482] Add droproot and jail support for Solaris.
+(4.2.7p388) 2013/09/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2473] NTPD exits after clock is stepped backwards externally
+(4.2.7p387) 2013/09/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1642] ntpdsim can't find simnulate block in config file.
+(4.2.7p386) 2013/09/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2472] (WinXP) Avoid self-termination of IO thread during exit().
+(4.2.7p385) 2013/08/19 Released by Harlan Stenn <stenn@ntp.org>
+* CID 975596: Copy/paste error: vallen should be siglen.
+* CID 1009579: Check return status of X509_add_ext().
+* [2085] Fix root distance and root dispersion calculations.
+* [Bug 2426] Possibly uninitialized data in crypto_send() - CID 975596.
+(4.2.7p384) 2013/08/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2450] --version has bogus short option.
+(4.2.7p383) 2013/08/10 Released by Harlan Stenn <stenn@ntp.org>
+* (no changes - force a rebuild for a new Coverity scan)
+(4.2.7p382) 2013/08/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2454] Need way to set file descriptor limit - cleanup.
+(4.2.7p381) 2013/08/07 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2451] rlimit command is missing from the table of contents in
+ miscopt.html .
+* [Bug 2452] provide io_handler/input_handler only on
+ non HAVE_IO_COMPLETION_PORT platforms
+* [Bug 2453] Need a way to avoid calling mlockall.
+* [Bug 2454] Need way to set file descriptor limit.
+* [Bug 2458] AM_CONFIG_HEADER is obsolete.
+(4.2.7p380) 2013/08/03 Released by Harlan Stenn <stenn@ntp.org>
+* CID 984511: Some systems have different printf needs for sizeof.
+(4.2.7p379) 2013/08/02 Released by Harlan Stenn <stenn@ntp.org>
+* CID 739724: Fix printf arg mismatch in a debug line.
+* [Bug 2425] compile io_handler() in ntp_io.c unconditionally
+* [Bug 2448] Fix checks for configure --with-stack-limit and --with-memlock
+ values.
+(4.2.7p378) 2013/08/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2425] move part of input handler code from ntpd.c to ntp_io.c
+ and fix select()-only platforms calling input_handler directly.
+* [Bug 2446] Quiet warnings from Oracle's Studio compiler.
+* Upgrade to AutoGen-5.18.1pre3
+* Upgrade to libopts-40.1.15.
+(4.2.7p377) 2013/07/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2397] License/copyright cleanup.
+* [Bug 2439] Fix check of EscapeCommFunction() in ports/winnt/libntp/termios.c.
+(4.2.7p376) 2013/07/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2322] Oncore driver should send 0 PPS offset to GPS.
+(4.2.7p375) 2013/07/22 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 883] log warning arguments swapped in refclock_gpsvme.c.
+* [Bug 2368] Correct bug in previous attempt.
+* [Bug 2413] Fix "make check" with automake >= 1.13.
+* [Bug 2434] Line-buffer (v. block-buffer) stdout.
+(4.2.7p374) 2013/07/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2368] make check troubles in libevent.
+* [Bug 2425] setup SIGIO/SIGPOLL for asyncio on the read side
+ of a socketpair for the worker thread.
+(4.2.7p373) 2013/07/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2427] configure fails to detect recvmsg() on Solaris.
+(4.2.7p372) 2013/07/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1466] Oncore should set FLAG_PPS.
+* [Bug 2375] AIX 7 doesn't like a libevent validation check.
+* [Bug 2423] Log command-line args at LOG_INFO.
+* [Bug 2428] do_unconf() should reset 'items' before the 2nd loop.
+(4.2.7p371) 2013/07/07 Released by Harlan Stenn <stenn@ntp.org>
+* CID 1042586: Check the return value of clock_gettime() in worker_sleep().
+* Upgrade to libopts-39.0.14 from 5.17.5pre10.
+(4.2.7p370) 2013/07/06 Released by Harlan Stenn <stenn@ntp.org>
+* Remove \n's from syslog output strings.
+(4.2.7p369) 2013/07/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2415] RES_LIMITED flags check should use &, not &&.
+* Have NTP_LIBNTP check for time.h and clock_getres().
+* Fix ntpsweep to use sntp instead of ntpdate, from Oliver Kindernay.
+(4.2.7p368) 2013/05/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2145] ntpq dumps core when displaying sys_var_list and more.
+(4.2.7p367) 2013/04/25 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1485] Sometimes ntpd crashes
+* [Bug 2382] Implement LOGTOD using ldexp() instead of shifting.
+(4.2.7p366) 2013/04/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1866] Disable some debugging output in refclock_oncore.
+(4.2.7p365) 2013/04/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2149] Log an error message if /proc/net/if_inet6 cannot be opened.
+(4.2.7p364) 2013/03/26 Released by Harlan Stenn <stenn@ntp.org>
+* Bump sntp/include/autogen-version.def .
+(4.2.7p363) 2013/03/26 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2357] sntp/libopts/usage.c sometimes needs -lintl.
+* Upgrade to libopts from 5.17.3pre10.
+(4.2.7p362) 2013/03/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2364] "sed -i" is not portable.
+(4.2.7p361) 2013/03/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2357] sntp/libopts/usage.c sometimes needs -lintl.
+* [Bug 2365] "make check" fails in libevent.
+(4.2.7p360) 2013/03/15 Released by Harlan Stenn <stenn@ntp.org>
+* Upgrade libevent (coverity fixes, etc.).
+* EEXIST is OK for mkdir() in sntp/kod_management.c.
+(4.2.7p359) 2013/03/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2359] Fix send_via_ntp_signd() prototype.
+(4.2.7p358) 2013/02/27 Released by Harlan Stenn <stenn@ntp.org>
+* Upgrade to autogen-5.17.3pre4 and libopts-38.0.13.
+* [Bug 2357] sntp/libopts/usage.c on NetBSD needs -lintl.
+(4.2.7p357) 2013/02/22 Released by Harlan Stenn <stenn@ntp.org>
+* Upgrade to autogen-5.17.2pre and libopts-38.0.13.
+(4.2.7p356) 2013/02/19 Released by Harlan Stenn <stenn@ntp.org>
+* Added loc/debian.
+(4.2.7p355) 2013/02/18 Released by Harlan Stenn <stenn@ntp.org>
+* CID 739708: Check return status of fcntl() in refclock_arc.c.
+* CID 739709: Check return status of fcntl() in refclock_datum.c.
+* CID 739710: Check return status of mkdir() in sntp/kod_management.c.
+* CID 739711: Ignore return status of remove() in ntp-keygen.c.
+* CID 739723: Print sizeof as unsigned.
+* CID 971094: Clean up time of check/time of use in check_leap_file().
+(4.2.7p354) 2013/02/10 Released by Harlan Stenn <stenn@ntp.org>
+* CID 97194: Check return from setsockopt().
+* CID 739473,739532: Out-of-bounds access/illegal address computation.
+* CID 739558: Double close.
+* CID 739559: Double close.
+* CID 739713: devmask/recmask copy/paste error.
+* CID 739714: Fix code indentation level.
+* CID 739715: Clean up sockaddr_dump().
+(4.2.7p353) 2013/02/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2326] Check hourly for a new leapfile if the old one expired.
+(4.2.7p352) 2013/01/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2326] Notice when a new leapfile has been installed.
+(4.2.7p351) 2013/01/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2328] Don't apply small time adjustments on Windows versions
+ which don't support this.
+(4.2.7p350) 2013/01/21 Released by Harlan Stenn <stenn@ntp.org>
+* Added sntp/loc/netbsd based on info from Christos Zoulas.
+(4.2.7p349) 2013/01/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2321] Fixed Windows build, but autogen update still required.
+(4.2.7p348) 2013/01/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2327] Rename sntp/ag-tpl/:Old to sntp/ag-tpl/Old.
+* Cleanup to ntpsnmpd-opts.def.
+* Cleanup to ntpq.texi.
+* Documentation cleanup to the ntpd, ntpdc, ntpq and ntp-wait
+ .def files.
+* In ntp.conf.def, cleanup SEE ALSO, document 'rlimit' options.
+* Add a reference to RFC5907 in the ntpsnmpd documentation.
+(4.2.7p347) 2013/01/07 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2325] Re-enable mlockall() check under Linux post-1223 fix.
+(4.2.7p346) 2013/01/06 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1223] reorganize inclusion of sys/resource.h.
+(4.2.7p345) 2013/01/04 Released by Harlan Stenn <stenn@ntp.org>
+* Update several .def files to use autogen-5.17 feature set.
+(4.2.7p344) 2013/01/03 Released by Harlan Stenn <stenn@ntp.org>
+* Refactor and enhance mdoc2texi.
+* Make sure agtexi-file.tpl defines label-str.
+* Cleanup to ntp.conf.def.
+* Upgrade to autogen-5.17 and libopts-37.0.12.
+(4.2.7p343) 2013/01/02 Released by Harlan Stenn <stenn@ntp.org>
+* Update the copyright year.
+(4.2.7p342) 2012/12/31 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2081 - Backward Incompatible] rawstats now logs everything.
+(4.2.7p341) 2012/12/30 Released by Harlan Stenn <stenn@ntp.org>
+(4.2.7p340) 2012/12/29 Released by Harlan Stenn <stenn@ntp.org>
+* mdoc2texi fixes: trailing punctuation.
+(4.2.7p339) 2012/12/26 Released by Harlan Stenn <stenn@ntp.org>
+* mdoc2texi fixes: parseQuote, closing of list item tables.
+* ntp-wait, ntpd, ntpdc, ntpq, ntpsnmpd autogen documentation updates.
+(4.2.7p338) 2012/12/25 Released by Harlan Stenn <stenn@ntp.org>
+* mdoc2texi fixes: Handle_ArCmFlIc, Handle_Fn, HandleQ.
+* ntp-keygen autogen documentation updates.
+* ntpq autogen docs.
+(4.2.7p337) 2012/12/22 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1223] More final cleanup for rlimit changes.
+(4.2.7p336) 2012/12/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1223] Final cleanup for rlimit changes.
+(4.2.7p335) 2012/12/18 Released by Harlan Stenn <stenn@ntp.org>
+* Update documentation templates and definitions.
+* Create agtexi-file.tpl .
+(4.2.7p334) 2012/12/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2114] Update tests for sntp's synch distance.
+* Create ntp-keygen.{html,texi}.
+(4.2.7p333) 2012/12/07 Released by Harlan Stenn <stenn@ntp.org>
+* Autogen documentation cleanup.
+(4.2.7p332) 2012/12/06 Released by Harlan Stenn <stenn@ntp.org>
+* sntp documentation cleanup.
+(4.2.7p331) 2012/12/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2114] Correctly calculate sntp's synch distance.
+(4.2.7p330) 2012/12/03 Released by Harlan Stenn <stenn@ntp.org>
+* autogen doc cleanup
+(4.2.7p329) 2012/12/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2278] ACTS flag3 mismatch between code and driver18.html.
+* Use an enum for the ACTS state table.
+* html doc reconciliation with DLM's copy.
+(4.2.7p328) 2012/11/30 Released by Harlan Stenn <stenn@ntp.org>
+* html doc reconciliation with DLM's copy.
+(4.2.7p327) 2012/11/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2024] Identify Events in the system status word in decode.html.'
+* [Bug 2040] Provide a command-line option for the identity key bits.
+* Create loc/darwin for Mac OSX
+(4.2.7p326) 2012/11/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1214] 'proto: precision = ...' should be at INFO, not NOTICE.
+* [Bug 2246] Clear sys_leap when voting says to disarm the leap.
+(4.2.7p325) 2012/11/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2202] ntpq.html: there is no "acv" billboard.
+* [Bug 2306] keep pps hack for Win32 even if user-mode/loopback
+ PPS API is activated on a serial line.
+(4.2.7p324) 2012/11/19 Released by Harlan Stenn <stenn@ntp.org>
+* Reinstate doc fix to authentic.html from Mike T.
+* [Bug 1223] cleanup for rlimit changes.
+* [Bug 2098] Install DLM's HTML documentation.
+* [Bug 2306] Added user-mode/loop-back PPS API provider for Win32
+(4.2.7p323) 2012/11/18 Released by Harlan Stenn <stenn@ntp.org>
+* html/ updates from Dave Mills.
+(4.2.7p322) 2012/11/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1223] Allow configurable values for RLIMIT_STACK and
+ RLIMIT_MEMLOCK.
+* [Bug 1320] Log ntpd's initial command-line parameters. (updated fix)
+* [Bug 2120] no sysexits.h under QNX.
+* [Bug 2123] cleanup to html/leap.html.
+(4.2.7p321) 2012/11/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1320] Log ntpd's initial command-line parameters.
+(4.2.7p320) 2012/11/12 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 969] Clarify ntpdate.html documentation about -u and ntpd.
+* [Bug 1217] libisc/ifiter_sysctl.c:internal_current(): Ignore RTM
+ messages with wrong version
+(4.2.7p319) 2012/11/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2296] Fix compile problem with building with old OpenSSL.
+(4.2.7p318) 2012/11/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2301] Remove spurious debug output from ntpq.
+(4.2.7p317) 2012/11/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 922] Allow interspersed -4 and -6 flags on the ntpq command line.
+(4.2.7p316) 2012/10/27 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2296] Update fix for Bug 2294 to handle --without-crypto.
+(4.2.7p315) 2012/10/26 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2294] ntpd crashes in FIPS mode.
+(4.2.7p314) 2012/10/23 Released by Harlan Stenn <stenn@ntp.org>
+* Document a tricky malloc() of dns_ctx in sntp.
+(4.2.7p313) 2012/10/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2291] sntp should report why it cannot open file.kod.
+* [Bug 2293] add support for SO_BINTIME, refine support for
+ SO_TIMESTAMPNS (bug 1374)
+(4.2.7p312) 2012/10/11 Released by Harlan Stenn <stenn@ntp.org>
+* Clean up testing/debugging of fix for [Bug 938] from sntp/main.c .
+(4.2.7p311) 2012/10/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 938] The argument to the -D flag takes a number, not a string.
+* [Bug 1013] ntpdate's HTML page claims wrong default version.
+* [Bug 1374] Support SO_TIMESTAMPNS.
+(4.2.7p310) 2012/10/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1374] Support SO_TIMESTAMPNS.
+* [Bug 2266] Remove deprecated refclock_trak.c from Windows Makefile
+ equivalents.
+* [Bug 2274] Bring libopts/enum.c back to (old) ANSI C compliance.
+(4.2.7p309) 2012/10/04 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2287] ntpdate returns 0 even if adjtime() call fails.
+(4.2.7p308) 2012/09/29 Released by Harlan Stenn <stenn@ntp.org>
+* CID 97198: Check return from ioctl() calls in refclock_acts.c.
+(4.2.7p307) 2012/09/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1997] Fix sntp broadcast timeouts.
+* [Bug 2234] Fix incorrect ntptrace html documentation.
+* [Bug 2262] Install html docs in $htmldir.
+* Fix typo in html/select.html.
+(4.2.7p306) 2012/09/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 752] ToS cleanup from Mike Tatarinov.
+(4.2.7p305) 2012/09/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 752] Use proper ToS network packet markings for IPv4 and IPv6.
+* [Bug 1232] Convert SHM refclock to use struct timespec.
+* [Bug 2258] Add syslog message about leap insertion.
+* [Bug 2263] broadcast server doesn't work for host with
+ OS_MISSES_SPECIFIC_ROUTE_UPDATES.
+* [Bug 2271] Decode refclock types when built with --disable-all-clocks.
+* [Bug 2276] clk_sel240x.c #define's _XOPEN_SOURCE, breaking QNX6.
+* Updates to driver28.html.
+(4.2.7p304) 2012/09/06 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2264] Cleanup SEL240X Refclock.
+* In refclock_wwv.c rename SECOND to WWV_SEC and MINUTE to WWV_MIN.
+(4.2.7p303) 2012/09/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1232] Add nanosecond support to SHM driver.
+(4.2.7p302) 2012/09/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2160] Log warning about expired leapseconds file.
+(4.2.7p301) 2012/09/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2164] Greater precision needed for ntpq offset report.
+* Clean the man5_MANS in ntpd/ .
+(4.2.7p300) 2012/09/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2262] Install sntp.html into htmldir.
+* [Bug 2270] Install fails due to repeated man5 page names.
+(4.2.7p299) 2012/09/01 Released by Harlan Stenn <stenn@ntp.org>
+* More cleanup to the bootstrap script.
+(4.2.7p298) 2012/09/01 Released by Harlan Stenn <stenn@ntp.org>
+* Handle additional man page sections in the bootstrap script.
+* Remove extraneous parens.
+* Add a missing "%s" syslog format string.
+(4.2.7p297) 2012/09/01 Released by Harlan Stenn <stenn@ntp.org>
+* Fix mdoc2man.
+* Distribute ntp.conf.def and ntp.keys.def.
+(4.2.7p296) 2012/08/31 Released by Harlan Stenn <stenn@ntp.org>
+* Begin support for autogen maintaining ntp.conf and ntp.keys docs.
+* Upgrade to autogen-5.16.2 and libopts-36.5.11.
+* Potential bugfix for agtexi-cmd.tpl.
+(4.2.7p295) 2012/08/11 Released by Harlan Stenn <stenn@ntp.org>
+* Look for syslog's facilitynames[].
+(4.2.7p294) 2012/08/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2242] configure fails to detect getifaddrs function on Solaris.
+* [Bug 2249] Bad operator for 'test' in 'make check' of libevent.
+* [Bug 2252] palisade: formats nanosecs to a 6-char field.
+* Attempt to resolve strict-aliasing violation in refclock_tsyncpci.c.
+* Fix && -> & typo in refclock_palisade.c debug statements.
+(4.2.7p293) 2012/08/04 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2247] (more) Get rid of the TRAK refclock - deprecated since 2006.
+* Documentation cleanup from Mike T.
+* Cleanup kclk_sel240x.o rules in libparse/Makefile.am.
+(4.2.7p292) 2012/08/02 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1545] Note why we are logging the Version string.
+* [Bug 1872] Remove legacy ppsclock fdpps, #ifdef PPS.
+* [Bug 2075] Fix spelling of 'incompatible'.
+* [Bug 2247] Get rid of the TRAK refclock - deprecated since 2006.
+* Clean up an exit status in ntpq.c.
+(4.2.7p291) 2012/07/31 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2241] MDNS registration should only happen if requested.
+(4.2.7p290) 2012/07/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1454] Add parse clock support for the SEL-240x GPS products.
+* CID 709185: refclock_chu.c will leak fd==0 (better fix)
+(4.2.7p289) 2012/07/16 Released by Harlan Stenn <stenn@ntp.org>
+* CID 97123: Future-proof possible change to refclock_nmea.c.
+* CID 97377: ntp-keygen.c's followlink() might not NUL-terminate.
+* CID 709185: refclock_chu.c will leak fd==0 (which should be impossible).
+(4.2.7p288) 2012/07/03 Released by Harlan Stenn <stenn@ntp.org>
+* CID 709173: Make sure a libisc function we do not use is called properly.
+(4.2.7p287) 2012/07/03 Released by Harlan Stenn <stenn@ntp.org>
+* Remove 1024 associations-per-server limit from ntpq.
+* Remove blank line between ntpq mreadvar associations.
+(4.2.7p286) 2012/06/28 Released by Harlan Stenn <stenn@ntp.org>
+* CID 97193: check return from sscanf() in ntp_config.c.
+* CID 709169: check return from open("/dev/null", 0) and friends.
+* CID 709207: Initialize "quality" for ulink_receive.
+(4.2.7p285) 2012/06/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2227] Enable mrulist access control via "restrict ... nomrulist".
+* Automake-1.12 wants us to use AM_PROG_AR.
+* Conditionalize msyslog messages about rejected mode 6 requests due to
+ nomodify and nomrulist restrictions under "logconfig +sysinfo".
+* Increment sys_restricted in a few rejection paths due to nomodify
+ restrictions where previosuly overlooked.
+(4.2.7p284) 2012/06/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2225] libevent configure hangs.
+* Update bundled libevent to git master, post libevent 2.1.1-alpha.
+(4.2.7p283) 2012/06/16 Released by Harlan Stenn <stenn@ntp.org>
+* In sntp/m4/ntp_openssl.m4, Support multiple package names for the
+ crypto library. Add legacy support for -Wl,-rpath.
+(4.2.7p282) 2012/06/15 Released by Harlan Stenn <stenn@ntp.org>
+* tickadj may need to be linked with PTHREAD_LIBS.
+(4.2.7p281) 2012/06/14 Released by Harlan Stenn <stenn@ntp.org>
+* U_INT32_MAX cleanup in include/ntp_types.h .
+* When linking, ntp_keygen and tickadj need $(LIBM).
+(4.2.7p280) 2012/06/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2224] Use-after-free in routing socket code after dropping root.
+(4.2.7p279) 2012/06/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2211] findbcastinter(): possibly undefined variable iface used.
+* [Bug 2220] Incorrect check for maximum association id in ntpq.
+(4.2.7p278) 2012/06/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2204] Build with --enable-getifaddrs=glibc fails.
+* [Bug 2178] refclock_tsyncpci.c reach register fails to shift.
+* [Bug 2191] dcfd -Y y2kcheck on CentOS 6.2 x86_64 breaks make check.
+(4.2.7p277) 2012/05/25 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2193] Building timestruct tests with Clang 3.1 fails.
+(4.2.7p276) 2012/05/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2179] Remove sntp/header.h.
+(4.2.7p275) 2012/04/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1744] Remove obsolete ntpdate/ntptime* items.
+(4.2.7p274) 2012/04/25 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2174] ntpd rejects source UDP ports less than 123 as bogus.
+(4.2.7p273) 2012/04/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2141] handle_sigio() calls get_systime(), which must be
+ reentrant when SIGIO is used. Sanity checks relative to the prior
+ get_systime() are disabled in ntpd on systems with signaled I/O, but
+ active in sntp and ntpdate.
+* Correct authnumfreekeys accounting broken in 4.2.7p262.
+(4.2.7p272) 2012/04/14 Released by Harlan Stenn <stenn@ntp.org>
+* LCRYPTO is gone - replace with VER_SUFFIX.
+* Change the link order for ntpsntpd.
+* Remove extra 'nlist' check from configure.ac.
+(4.2.7p271) 2012/04/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1122] openssl detection via pkg-config fails when no additional
+ -Idir flags are needed.
+* Avoid overwriting user variable LDFLAGS with OpenSSL flags, instead
+ they are added to LDFLAGS_NTP.
+(4.2.7p270) 2012/03/26 Released by Harlan Stenn <stenn@ntp.org>
+* Update driver45.html page.
+(4.2.7p269) 2012/03/25 Released by Harlan Stenn <stenn@ntp.org>
+* Clean up configure.ac.
+* Cleanup configure.ac's TSYNC PCI section.
+(4.2.7p268) 2012/03/24 Released by Harlan Stenn <stenn@ntp.org>
+* Update driver45.html page.
+(4.2.7p267) 2012/03/23 Released by Harlan Stenn <stenn@ntp.org>
+* Initial cut at a basic driver45.html page.
+(4.2.7p266) 2012/03/21 Released by Harlan Stenn <stenn@ntp.org>
+* Add refclock_tsyncpci.c (driver 45) supporting Spectracom TSYNC timing
+ boards.
+(4.2.7p265) 2012/03/20 Released by Harlan Stenn <stenn@ntp.org>
+* Treat zero counter as indication of precise system time in Windows
+ PPSAPI helper function pps_ntp_timestamp_from_counter(), enabling
+ PPSAPI providers to use the Windows 8 precise clock directly.
+(4.2.7p264) 2012/03/14 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2160] Note if leapseconds file is past its prime.
+* Use GetSystemTimePreciseAsFileTime() on Windows 8.
+(4.2.7p263) 2012/03/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2156] clock instability with LOCAL driver, from Miroslav Lichvar.
+* [Bug 2159] Windows ntpd using leapfile erroneous leap second 20120401.
+(4.2.7p262) 2012/02/29 Released by Harlan Stenn <stenn@ntp.org>
+* Improve ntpd scalability for servers with many trusted keys.
+(4.2.7p261) 2012/02/27 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2048] add the clock variable timecode to SHM refclock.
+(4.2.7p260) 2012/02/24 Released by Harlan Stenn <stenn@ntp.org>
+* Fix the check-scm-rev invocation in several Makefile.am's.
+(4.2.7p259) 2012/02/22 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2148] ntpd 4.2.7p258 segfault with 0x0100000 bit in NMEA mode.
+* refclock_nmea.c merge cleanup thanks to Juergen Perlinger.
+(4.2.7p258) 2012/02/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2140] Rework of Windows I/O completion port handling to avoid
+ garbling serial input in UNIX line discipline emulation.
+* [Bug 2143] NMEA driver: discard data if quality indication not good,
+ add statistic counters (mode bit enabled) to clockstats file.
+(4.2.7p257) 2012/02/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2135] defer calls to 'io_input' to main thread under Windows.
+(4.2.7p256) 2012/02/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2131] Set the system variable settimeofday only after clock step.
+* [Bug 2134] --enable-C99-snprintf does not force rpl_snprintf use.
+(4.2.7p255) 2012/01/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 603] Only link with nlist()-related libraries when needed:
+ More cleanup.
+(4.2.7p254) 2012/01/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 603] Only link with nlist()-related libraries when needed.
+(4.2.7p253) 2012/01/26 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2126] Compile error on Windows with libopts from Autogen 5.14.
+* Update one of the license URLs.
+(4.2.7p252) 2012/01/25 Released by Harlan Stenn <stenn@ntp.org>
+* Upgrade to autogen-5.14 (and libopts-36.1.11).
+(4.2.7p251) 2012/01/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2115] ntptrace should accept both rootdispersion and rootdisp.
+(4.2.7p250) 2012/01/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2113] Warn about ignored extra args in ntpq.
+* Update the copyright year.
+(4.2.7p249) 2012/01/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2111] Remove minpoll delay before iburst for pool and
+ manycastclient.
+* Move refclock-specific scheduled timer code under #ifdef REFCLOCK
+ and move "action" and "nextaction" data for same from struct peer to
+ struct refclockproc. These provide a way to schedule a callback some
+ seconds in the future.
+(4.2.7p248) 2012/01/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2109] "make clean check" is broken with gtest available.
+* [Bug 2110] systime.c typo breaks build on microsecond clocks.
+(4.2.7p247) 2012/01/07 Released by Harlan Stenn <stenn@ntp.org>
+* Fix build break triggered by updating deps-ver and libntp/systime.c at
+ the same time by explicitly depending systime_s.c on systime.c.
+(4.2.7p246) 2012/01/06 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2104] ntpdc fault with oversize -c command.
+* [Bug 2106] Fix warnings when using -Wformat-security.
+* Refactor timespecops.h and timevalops.h into inline functions.
+(4.2.7p245) 2011/12/31 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2100] conversion problem with timespec/timeval <--> l_fp fixed;
+ added tests to expose the bug.
+(4.2.7p244) 2011/12/25 Released by Harlan Stenn <stenn@ntp.org>
+* Updates from 4.2.6p5.
+(4.2.7p243) 2011/12/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2095] ntptrace now needs 'rv' instead of 'pstat', reported
+ by Michael Tatarinov.
+(4.2.7p242) 2011/12/21 Released by Harlan Stenn <stenn@ntp.org>
+* Include missing html/icons/sitemap.png, reported by Michael Tatarinov.
+* Documentation updates from Dave Mills.
+(4.2.7p241) 2011/12/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2015] Overriding sys_tick should recalculate sys_precision.
+* [Bug 2037] Fuzzed non-interpolated clock may decrease.
+* [Bug 2068] "tos ceiling" default and cap changed to 15.
+* Floor peer delay using system precision, as with jitter, reflecting
+ inability to measure shorter intervals.
+(4.2.7p240) 2011/12/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2092] clock_select() selection jitter miscalculated.
+* [Bug 2093] Reintroduce smaller stratum factor to system peer metric.
+(4.2.7p239) 2011/12/11 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p238) 2011/12/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2082] from 4.2.6p5-RC3: 3-char refid sent by ntpd 4.2.6p5-RC2
+ ends with extra dot.
+* [Bug 2085] from 4.2.6p5-RC3: clock_update() sys_rootdisp calculation
+ omits root delay.
+* [Bug 2086] from 4.2.6p5-RC3: get_systime() should not offset by
+ sys_residual.
+* [Bug 2087] from 4.2.6p5-RC3: sys_jitter calculation overweights
+ sys.peer jitter.
+* from 4.2.6p5-RC3: Ensure NULL peer->dstadr is not accessed in orphan
+ parent selection.
+(4.2.7p237) 2011/12/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2050] from 4.2.6p5-RC2: Orphan mode stratum counting to infinity.
+* [Bug 2059] from 4.2.6p5-RC2: optional billboard column "server" does
+ not honor -n.
+* [Bug 2066] from 4.2.6p5-RC2: ntpq lopeers ipv6 "local" column overrun.
+* [Bug 2068] from 4.2.6p5-RC2: ntpd sends nonprintable stratum 16 refid
+ to ntpq.
+* [Bug 2069] from 4.2.6p5-RC2: broadcastclient, multicastclient spin up
+ duplicate ephemeral associations without broadcastdelay.
+* [Bug 2072] from 4.2.6p5-RC2: Orphan parent selection metric needs
+ ntohl().
+* [Bug 2073] Correct ntpq billboard's MODE_PASSIVE t from 'u' to 'S'.
+* from 4.2.6p5-RC2: Exclude not-yet-determined sys_refid from use in
+ loopback TEST12 (from Dave Mills).
+* from 4.2.6p5-RC2: Never send KoD rate limiting response to MODE_SERVER.
+* Floor calculation of sys_rootdisp at sys_mindisp in clock_update (from
+ Dave Mills).
+* Restore 4.2.6 clock_combine() weighting to ntp-dev, reverting to pre-
+ 4.2.7p70 method while also avoiding divide-by-zero (from Dave Mills).
+* Round l_fp traffic interval when converting to integer in rate limit
+ and KoD calculation.
+(4.2.7p236) 2011/11/16 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p235) 2011/11/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2052] Autokey CRYPTO_ASSOC host@group vallen needs checking.
+(4.2.7p234) 2011/11/07 Released by Harlan Stenn <stenn@ntp.org>
+* Clean up -libm entries regarding libntp.a
+(4.2.7p233) 2011/11/06 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p232) 2011/11/05 Released by Harlan Stenn <stenn@ntp.org>
+* Update the NEWS file so we note the default disable of mode 7 requests.
+* Clean up some bitrotted code in libntp/socket.c.
+(4.2.7p231) 2011/11/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1940] ignore auth key if hex decoding fails.
+* Add ntpq reslist command to query access restrictions, similar to
+ ntpdc's reslist.
+(4.2.7p230) 2011/11/01 Released by Harlan Stenn <stenn@ntp.org>
+* Disable mode 7 (ntpdc) query processing in ntpd by default. ntpq is
+ believed to provide all functionality ntpdc did, and uses a less-
+ fragile protocol that's safer and easier to maintain. If you do find
+ some management via ntpdc is needed, you can use "enable mode7" in the
+ ntpd configuration.
+* Directly limit the number of datagrams in a mrulist response, rather
+ than limiting the number of entries returned to indirectly limit the
+ datagram count.
+* Documentation updates from Dave Mills.
+(4.2.7p229) 2011/10/26 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1995] fix wrong use of ZERO() macro in 'ntp_calendar.c'
+(4.2.7p228) 2011/10/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1995] add compile time stamp based era unfolding for
+ 'step_systime()' and necessary support to 'ntp-calendar.c'.
+(4.2.7p227) 2011/10/22 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2036] gcc 2.95.3 preprocessor can't nest #ifdef in macro args.
+* A number of compiler warnings eliminated.
+(4.2.7p226) 2011/10/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2035] ntpq -c mrulist sleeps 1 sec between queries, not 5 msec.
+* Documentation updates from Dave Mills.
+(4.2.7p225) 2011/10/15 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p224) 2011/10/14 Released by Harlan Stenn <stenn@ntp.org>
+* ntpq mrulist shows intermediate counts every five seconds while
+ retrieving list, and allows Ctrl-C interruption of the retrieval,
+ showing the incomplete list as retrieved. Reduce delay between
+ successive mrulist retrieval queries from 30 to 5 msec. Do not
+ give up mrulist retrieval when a single query times out.
+(4.2.7p223) 2011/10/12 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p222) 2011/10/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2029] "make check" clutters syslog.
+* Log signal description along with number on ntpd exit.
+(4.2.7p221) 2011/10/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2025] Switching between daemon and kernel loops can doubly-
+ correct drift
+* [Bug 2028] ntpd -n (nofork) redirects logging to stderr.
+* Documentation updates from Dave Mills.
+(4.2.7p220) 2011/10/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1945] mbg_gps166.h use of _TM_DEFINED conflicts with MS VC.
+* [Bug 1946] parse_start uses open; does not work on Windows.
+* [Bug 1947] Porting parse-based Wharton refclock driver to Windows.
+* [Bug 2024] Remove unused system event code EVNT_CLKHOP.
+(4.2.7p219) 2011/10/04 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p218) 2011/10/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2019] Allow selection of cipher for private key files.
+* Documentation updates from Dave Mills.
+* ntp-keygen private key cipher default now triple-key triple DES CBC.
+* ntp-keygen -M is intended to ignore all other defaults and
+ options, so do not attempt to open existing Autokey host certificate
+ before generating symmetric keys and terminating.
+* Restore IFF, MV, and GQ identity parameter filename convention to
+ ntpkey_<scheme>par_<group/host> in ntpd, matching ntp-keygen.
+* Change some error logging to syslog to ignore logconfig mask, such
+ as reporting PPSAPI failure in NMEA and WWVB refclocks.
+* ntp-keygen on Windows XP and later systems will now create links
+ expected by ntpd. They are hardlinks on Windows, soft on POSIX.
+* Conditionalize NMEA serial open message under clockevent.
+* Send all peer variables to trappers in report_event().
+(4.2.7p217) 2011/09/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2020] ntp-keygen -s no longer sets host in cert file name.
+* [Backward Incompatible] ntp-keygen -i option long name changed from
+ misleading --issuer-name to --ident.
+(4.2.7p216) 2011/09/27 Released by Harlan Stenn <stenn@ntp.org>
+* sntp documentation tag cleanup.
+* mdoc2man improvements.
+(4.2.7p215) 2011/09/24 Released by Harlan Stenn <stenn@ntp.org>
+* Use patched mdoc2man script, from Eric Feng.
+* Sync with ntp-4.2.6p4 (a no-op).
+(4.2.7p214) 2011/09/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1981] Initial offset convergence applies frequency correction 2x
+ with kernel discipline.
+* [Bug 2008] Initial offset convergence degraded with 500 PPM adjtime().
+* [Bug 2009] EVNT_NSET adj_systime() mishandled by Windows ntpd.
+(4.2.7p213) 2011/09/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1999] NMEA does not send PMOTG messages any more.
+(4.2.7p212) 2011/09/07 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2003] from 4.2.6p4-RC3: ntpq_read_assoc_peervars() broken.
+(4.2.7p211) 2011/09/01 Released by Harlan Stenn <stenn@ntp.org>
+* Update libevent to git head (2.1 branch) as of 2.0.14-stable.
+(4.2.7p210) 2011/08/31 Released by Harlan Stenn <stenn@ntp.org>
+* Require -D4 or higher for ntpd SIGALRM debug trace from [Bug 2000].
+(4.2.7p209) 2011/08/27 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 2000] ntpd worker threads must block signals expected in main
+ thread.
+* [Bug 2001] add ntpq -c timerstats like ntpdc -c timerstats.
+* [Bug 2001] from 4.2.6p4-RC3: ntpdc timerstats reports overruns as
+ handled.
+* Update sntp tests to track the change of root dispersion to
+ synchronization distance.
+(4.2.7p208) 2011/08/24 Released by Harlan Stenn <stenn@ntp.org>
+* Fix the CLOCK_MONOTONIC TRACE() message.
+(4.2.7p207) 2011/08/22 Released by Harlan Stenn <stenn@ntp.org>
+* Restore the original CLOCK_MONOTONIC output format in sntp.
+* Cleanups for ntp-wait-opts.def and ntp.keys.def .
+(4.2.7p206) 2011/08/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1993] ntpd Windows port adj_systime() broken in 4.2.7p203.
+* sntp documentation and behavior improvements suggested by
+ Steven Sommars.
+* Have sntp report synchronization distance instead of root dispersion.
+* Clean up ntp-wait-opts.def .
+(4.2.7p205) 2011/08/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1992] util/tg2 doesn't compile, needs libntp.
+(4.2.7p204) 2011/08/16 Released by Harlan Stenn <stenn@ntp.org>
+* Added support for Garmin's $PGRMF sentence to NMEA driver
+* [Bug 1988] Better sntp send failed error message needed.
+* [Bug 1989] sntp manual page sometimes refers to SNTP as a program.
+* [Bug 1990] sntp output should include stratum.
+(4.2.7p203) 2011/08/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1986] Require Visual C++ 2005 or later compilers in Windows port.
+* Actually use long long for (u_)int64 by correcting spelling of
+ SIZEOF_LONG_LONG in ntp_types.h.
+* Force .exe minimum Windows version to 0x0400 to allow NT4 in
+ vs2005/*.vcproj files.
+* Fix make distcheck with --enable-libevent-regress problem with
+ unwritable $srcdir.
+* Correct init_logging()'s def_syslogmask type to u_int32 following
+ change of ntp_syslogmask from u_long to u_int32 in p202.
+(4.2.7p202) 2011/08/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1983] --without-sntp build breaks in sntp subdir.
+* [Bug 1984] from 4.2.6p4-RC3: ntp/libisc fails to compile on OS X 10.7.
+* [Bug 1985] from 4.2.6p4-RC3: "logconfig =allall" rejected.
+(4.2.7p201) 2011/08/05 Released by Harlan Stenn <stenn@ntp.org>
+* sntp: change -h/--headspace to -g/--gap, and change the default gap
+ from 10 to 50ms
+* [Backward Incompatible] from 4.2.6p4: sntp: -l/--filelog ->
+ -l/--logfile, to be consistent with ntpd.
+* Documentation updates from Dave Mills.
+* From 4.2.6p4: libopts/file.c fix from Bruce Korb (arg-type=file).
+(4.2.7p200) 2011/08/04 Released by Harlan Stenn <stenn@ntp.org>
+* Sync with 4.2.6p4-RC2.
+(4.2.7p199) 2011/07/29 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p198) 2011/07/28 Released by Harlan Stenn <stenn@ntp.org>
+* remove old binsubdir stuff from SNTP, as NTP_LOCINFO does that now.
+(4.2.7p197) 2011/07/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1975] from 4.2.6p4-RC2: libntp/mktime.c won't work with 64-bit
+ time_t
+* [Bug 1976] genLocInfo writes to srcdir break 'make distcheck'.
+* [Bug 1977] Fix flag/description mismatches in ntp-keygen-opts.def.
+* Do not force "legacy" when --with-locfile is not given, genLocInfo
+ will find the correct default for the system.
+* Fix warnings in ntp_request.c ([Bug 1973] oversight) and sntp/main.c
+ (CID 159, apparent overrun due to union, actually correct).
+* Update sntp/loc/solaris to conform to stock locations.
+(4.2.7p196) 2011/07/27 Released by Harlan Stenn <stenn@ntp.org>
+* DEFAULT INSTALLATION DIRECTORY CHANGES ON SOME OSes: to get the old
+ behavior, pass --with-locfile=legacy to 'configure'
+* [Bug 1972] from 4.2.6p4-RC2: checking for struct rtattr fails.
+* [Bug 1973] Widen reference clock mode from 8 to 32 bits.
+* Removed sntp/m4/ntp_bindir.m4 - no longer needed.
+* Move loc/ to sntp/loc/ .
+* Move scripts/cvo.sh to sntp/scripts/cvo.sh .
+* Move scripts/genLocInfo to sntp/scripts/genLocInfo .
+* Give NTP_LOCINFO an optional path-to argument.
+* Remove hacks to get NTP_LOCINFO-related data to sntp/ .
+* Move sntp/include/mansec2subst.sed to sntp/scripts/mansec2subst.sed .
+* If no "more specific" loc file is found for redhat* or fedora*,
+ look for a loc/redhat file.
+* If no "more specific" loc file is found and uname says this is Linux,
+ look for a loc/linux file.
+* Improve the help text: --with-locfile=XXX .
+* work around solaris /bin/sh issues for genLocInfo.
+(4.2.7p195) 2011/07/25 Released by Harlan Stenn <stenn@ntp.org>
+* Added loc/redhat.
+(4.2.7p194) 2011/07/25 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1608] from 4.2.6p4-RC2: Parse Refclock driver should honor
+ trusttime.
+* Add support for installing programs and scripts to libexec.
+* Added loc/solaris.
+(4.2.7p193) 2011/07/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1970] from 4.2.6p4-RC2: UNLINK_EXPR_SLIST() causes crash if list
+ is empty.
+* Update libevent to 2.1 HEAD as of merge of 2.0.13-stable-dev.
+* Match addr_eqprefix() sizeof and memcpy destination to make it clear
+ to static analysis that there is no buffer overrun (CID 402).
+(4.2.7p192) 2011/07/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1966] Broken FILES section for ntp.keys.def.
+(4.2.7p191) 2011/07/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1948] Update man page section layout.
+* [Bug 1963] add reset command for ntpq :config, similar to ntpdc's.
+* [Bug 1964] --without-sntp should not build sntp.
+(4.2.7p190) 2011/07/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1961] from 4.2.6p4: html2man update: distribute ntp-wait.html.
+* Require autogen-5.12.
+(4.2.7p189) 2011/07/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1134] from 4.2.6p4-RC1: ntpd fails binding to tentative IPv6
+ addresses.
+* [Bug 1790] from 4.2.6p4-RC1: Update config.guess and config.sub to
+ detect AIX6.
+(4.2.7p188) 2011/06/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1958] genLocInfo must export PATH.
+* ntp-wait: some versions of ntpd spell "associd" differently.
+(4.2.7p187) 2011/06/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1954] Fix typos in [s]bin_PROGRAMS in ntpd/Makefile.am.
+* Implement --with-locfile=filename configure argument. If filename is
+ empty we'll look under loc/ for a good fit. If the filename contains
+ a / character, it will be treated as a "normal" pathname. Otherwise,
+ that explicit file will be searched for under loc/ .
+(4.2.7p186) 2011/06/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1950] Control installation of event_rpcgen.py.
+* Update .point-changed-filelist for the new man pages.
+* Update the building of OS-specific programs.
+* Finish conversion to genLocInfo.
+* validate MANTAGFMT in genLocInfo.
+* Documentation update from Dave Mills.
+(4.2.7p185) 2011/06/21 Released by Harlan Stenn <stenn@ntp.org>
+* ntp_locs.m4: handle the case where . is not in the PATH.
+* More genLocInfo cleanup.
+(4.2.7p184) 2011/06/20 Released by Harlan Stenn <stenn@ntp.org>
+* Added ntp_locs.m4.
+* genLocInfo improvements.
+* Add the man page tag "flavor" to the loc.* files.
+* Add/distribute genLocInfo.
+(4.2.7p183) 2011/06/19 Released by Harlan Stenn <stenn@ntp.org>
+* Update the autogen include list for scripts/Makefile.am.
+* Added loc.freebsd (and distribute it).
+* Added loc.legacy (and distribute it).
+(4.2.7p182) 2011/06/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1304] Update sntp.html to reflect new implementation.
+* Update .point-changed-filelist .
+* ntpdc documentation fixes.
+* Update ntp-wait autogen docs.
+* Update the ntpd autogen docs.
+* Update the ntpsnmpd autogen docs.
+* Use autogen to produce ntp-keygen docs.
+* Add "license name" to ntp.lic for autogen-5.11.10.
+* Prepare for ntp.keys.5.
+(4.2.7p181) 2011/06/07 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1938] addr_eqprefix() doesn't clear enough storage.
+(4.2.7p180) 2011/06/06 Released by Harlan Stenn <stenn@ntp.org>
+* Upgrade to libevent-2.0.12.
+* More sntp.1 cleanups.
+* Produce ntpq.1 with the new autogen macros.
+* Remove the deprecated "detail" stanza from ntpdc-opts.def.
+(4.2.7p179) 2011/06/03 Released by Harlan Stenn <stenn@ntp.org>
+* Update cmd-doc.tlib to autogen-5.11.10pre5.
+* Upgrade local autoopts templates to 5.11.10pre5.
+(4.2.7p178) 2011/06/02 Released by Harlan Stenn <stenn@ntp.org>
+* Update the std_def_list to include the ntp.lic file.
+* Distribute the ntp.lic file.
+* Add http://ntp.org/license to the ntp.lic file.
+(4.2.7p177) 2011/06/01 Released by Harlan Stenn <stenn@ntp.org>
+* Use the latest autogen's new copyright template code.
+* Clean up the ntp.lic file.
+(4.2.7p176) 2011/05/31 Released by Harlan Stenn <stenn@ntp.org>
+* sntp documentation cleanup.
+* autogen documentation template cleanup.
+(4.2.7p175) 2011/05/30 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1936] Correctly set IPV6_MULTICAST_LOOP.
+* cmd-doc.tlib cleanup from Bruce Korb.
+* sntp documentation cleanup.
+(4.2.7p174) 2011/05/28 Released by Harlan Stenn <stenn@ntp.org>
+* ntpdc documentation cleanup.
+* sntp documentation cleanup.
+* Don't build libevent with openssl support. Right now, libevent
+ doesn't use pkg-config to find openssl's installation location.
+(4.2.7p173) 2011/05/25 Released by Harlan Stenn <stenn@ntp.org>
+* Typo in emalloc.c hides file and line number from emalloc() error msg.
+* parsesolaris.c compile fails on SPARC Solaris with conflicting printf.
+* ntp_util.c compile fails on AIX and OSF with conflicting statsdir.
+(4.2.7p172) 2011/05/24 Released by Harlan Stenn <stenn@ntp.org>
+* Remove hardcoded 1/960 s. fudge for <CR> transmission time at 9600 8n1
+ from WWVB/Spectracom driver introduced in 4.2.7p169.
+(4.2.7p171) 2011/05/23 Released by Harlan Stenn <stenn@ntp.org>
+* Eliminate warnings about shadowing global "basename" on Linux.
+* Use filegen_config() consistently when changing filegen options.
+* mprintf() should go to stdout, not stderr. DPRINTF() uses mprintf().
+* Repair a few simulator problems (more remain).
+* Documentation updates from Dave Mills.
+(4.2.7p170) 2011/05/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1932] libevent/util_internal.h builtin_expect compile error with
+ gcc 2.95.
+* Use 64-bit scalars in LFPTOD() and DTOLFP() on more platforms by
+ conditionalizing on HAVE_U_INT64 rather than UINT64_MAX.
+(4.2.7p169) 2011/05/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1933] WWVB/Spectracom driver timestamps LFs, not CRs.
+(4.2.7p168) 2011/05/16 Released by Harlan Stenn <stenn@ntp.org>
+* Convert receive buffer queue from doubly-linked list to FIFO.
+(4.2.7p167) 2011/05/14 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1927] io_closeclock() should purge pending recvbufs.
+* [Bug 1931] cv always includes fudgetime1, never fudgetime2.
+* Use acts_close() in acts_shutdown() to avoid leaving a stale lockfile
+ if unpeered via runtime configuration while the modem is open.
+* Correct acts_close() test of pp->io.fd to see if it is open.
+* 4.2.7p164 documentation updates re: 'tos orphanwait' expanded scope.
+(4.2.7p166) 2011/05/13 Released by Harlan Stenn <stenn@ntp.org>
+* If we have local overrides for autogen template files, use them.
+* Convert more of the sntp-opt.def documentation from man to mdoc.
+(4.2.7p165) 2011/05/11 Released by Harlan Stenn <stenn@ntp.org>
+* Convert snmp docs to mdoc format, which requires autogen 5.11.9.
+* from 4.2.6p4-RC1: Require autogen 5.11.9.
+(4.2.7p164) 2011/05/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 988] Local clock eats up -g option, so ntpd stops with large
+ initial time offset.
+* [Bug 1921] LOCAL, ACTS drivers with "prefer" excluded from initial
+ candidate list.
+* [Bug 1922] "tos orphanwait" applied incorrectly at startup.
+* [Bug 1923] orphan parent favored over LOCAL, ACTS drivers.
+* [Bug 1924] Billboard tally codes sometimes do not match operation,
+ variables.
+* Change "pool DNS" messages from msyslog to debug trace output.
+* Remove unused FLAG_SYSPEER from peer->status.
+* Respect "tos orphanwait" at startup. Previously there was an
+ unconditional 300 s. startup orphanwait, though other values were
+ respected for subsequent orphan wait periods after no_sys_peer events.
+* Apply "tos orphanwait" (def. 300 seconds) to LOCAL and ACTS reference
+ clock drivers, in addition to orphan parent operation. LOCAL and ACTS
+ are not selectable during the orphanwait delay at startup and after
+ each no_sys_peer event. This prevents a particular form of clock-
+ hopping, such as using LOCAL briefly at startup before remote peers
+ are selectable. This fixes the issue reported in [Bug 988].
+* Documentation updates from Dave Mills.
+(4.2.7p163) 2011/05/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1911] missing curly brace in libntp/ntp_rfc2553.c
+(4.2.7p162) 2011/05/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1910] Support the Tristate Ltd. TS-GPSclock-01.
+(4.2.7p161) 2011/05/02 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1904] 4.2.7p160 Windows build broken (POSIX_SHELL).
+* [Bug 1906] 4.2.7p160 - libtool: compile: cannot determine name of
+ library object in ./libevent
+* Share a single sntp/libevent/build-aux directory between all three
+ configure scripts.
+* Add missing --enable-local-libevent help to top-level configure.
+(4.2.7p160) 2011/05/01 Released by Harlan Stenn <stenn@ntp.org>
+* from 4.2.6p4-RC1: Upgrade to libopts 35.0.10 from AutoGen 5.11.9pre8.
+* [Bug 1901] Simulator does not set progname.
+(4.2.7p159) 2011/04/28 Released by Harlan Stenn <stenn@ntp.org>
+* Fix a couple of unused variable warnings.
+* cleanup in timespecops.c / timevalops.c
+(4.2.7p158) 2011/04/24 Released by Harlan Stenn <stenn@ntp.org>
+* Update libevent --disable-libevent-regress handling to work when
+ building libevent using mingw.
+(4.2.7p157) 2011/04/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1890] 4.2.7p156 segfault in duplicate freeaddrinfo().
+(4.2.7p156) 2011/04/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1851] freeaddrinfo() called after getaddrinfo() fails.
+(4.2.7p155) 2011/04/18 Released by Harlan Stenn <stenn@ntp.org>
+* Fix leak in refclock_datum.c start failure path.
+(4.2.7p154) 2011/04/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1887] DNS fails on 4.2.7p153 using threads.
+(4.2.7p153) 2011/04/16 Released by Harlan Stenn <stenn@ntp.org>
+* A few more Coverity Scan cleanups.
+(4.2.7p152) 2011/04/15 Released by Harlan Stenn <stenn@ntp.org>
+* Update embedded libevent to current 2.1 git HEAD.
+(4.2.7p151) 2011/04/14 Released by Harlan Stenn <stenn@ntp.org>
+* Detect vsnprintf() support for "%m" and disable our "%m" expansion.
+* Add --enable-c99-sprintf to configure args for -noopenssl variety of
+ flock-build to avoid regressions in (v)snprintf() replacement.
+* More msnprintf() unit tests.
+* Coverity Scan error checking fixes.
+* Log failure to fetch time from HOPF_P hardware.
+* Check HOPF_S sscanf() conversion count before converted values.
+(4.2.7p150) 2011/04/13 Released by Harlan Stenn <stenn@ntp.org>
+* Remove never-used, incomplete ports/winnt/ntpd/refclock_trimbledc.[ch]
+* On systems without C99-compliant (v)snprintf(), use C99-snprintf
+ replacements (http://www.jhweiss.de/software/snprintf.html)
+* Remove remaining sprintf() calls except refclock_ripencc.c (which is
+ kept out of --enable-all-clocks as a result), upstream libs which use
+ sprintf() only after careful buffer sizing.
+(4.2.7p149) 2011/04/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1881] describe the {+,-,s} characters in configure --help output.
+(4.2.7p148) 2011/04/09 Released by Harlan Stenn <stenn@ntp.org>
+* Use _mkgmtime() as timegm() in the Windows port, rather than
+ libntp/mktime.c's timegm(). Fixed [Bug 1875] on Windows using the old
+ asn2ntp() code from before 4.2.7p147.
+* ntp_crypto.c string buffer safety.
+* Remove use of MAXFILENAME in mode 7 (ntpdc) on-wire structs.
+* Change ntpd MAXFILENAME from 128 to 256 to match ntp-keygen.
+* Buffer safety and sign extension fixes (thanks Coverity Scan).
+(4.2.7p147) 2011/04/07 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1875] 'asn2ntp()' rewritten with 'caltontp()'; 'timegm()'
+ substitute likely to crash with 64bit time_t.
+(4.2.7p146) 2011/04/05 Released by Harlan Stenn <stenn@ntp.org>
+* String buffer safety cleanup, converting to strlcpy() and strlcat().
+* Use utmpname() before pututline() so repeated steps do not
+ accidentally record into wtmp where utmp was intended.
+* Use setutent() before each pututline() including first.
+(4.2.7p145) 2011/04/04 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1840] ntp_lists.h FIFO macros buggy.
+(4.2.7p144) 2011/04/03 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1874] ntpq -c "rv 0 sys_var_list" empty.
+(4.2.7p143) 2011/03/31 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1732] ntpd ties up CPU on disconnected USB refclock.
+* [Bug 1861] tickadj build failure using uClibc.
+* [Bug 1862] in6addr_any test in configure fooled by arm gcc 4.1.3 -O2.
+* Remove kernel line discipline driver code for clk and chu, deprecate
+ related LDISC_ flags, and remove associated ntpd code to decode the
+ timestamps, remove clktest line discipline test program.
+* Remove "signal_no_reset: signal 17 had flags 4000000" logging, as it
+ indicates no problem and is interpreted as an error. Previously some
+ bits had been ignored one-by-one, but Linux SA_RESTORER definition is
+ unavailable to user headers.
+(4.2.7p142) 2011/03/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1844] ntpd 4.2.7p131 NetBSD, --gc-sections links bad executable.
+* Fix "make distcheck" break in libevent/sample caused by typo.
+(4.2.7p141) 2011/03/20 Released by Harlan Stenn <stenn@ntp.org>
+* Add "ntpq -c iostats" similar to "ntpdc -c iostats".
+* Compare entire timestamp to reject duplicates in refclock_pps().
+(4.2.7p140) 2011/03/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1848] ntpd 4.2.7p139 --disable-thread-support does not compile.
+* Add --disable-thread-support to one flock-build variation.
+* One more lock-while-init in lib/isc/task.c to quiet lock analysis.
+(4.2.7p139) 2011/03/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1848] make check ntpd --saveconfigquit clutters syslog.
+(4.2.7p138) 2011/03/08 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1846] MacOSX: debug symbol not found by propdelay or tickadj.
+(4.2.7p137) 2011/03/07 Released by Harlan Stenn <stenn@ntp.org>
+* Use TRACE() instead of DPRINTF() for libntp and utilities, which
+ use the "debug" variable regardless of #ifdef DEBUG.
+* Declare debug in libntp instead of each program. Expose extern
+ declaration to utilities, libntp, and DEBUG ntpd.
+* Lock under-construction task, taskmgr objects to satisfy Coverity's
+ mostly-correct assumptions about which variables are protected by
+ which locks.
+(4.2.7p136) 2011/03/02 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1839] 4.2.7p135 still installs libevent ev*.h headers.
+(4.2.7p135) 2011/03/02 Released by Harlan Stenn <stenn@ntp.org>
+* libevent: When building on systems with CLOCK_MONOTONIC available,
+ separate the internal timeline (possibly counting since system boot)
+ from the gettimeofday() timeline in event_base cached timevals. Adds
+ new event_base_tv_cached() to retrieve cached callback round start
+ time on the internal timeline, and changes
+ event_based_gettimeofday_cached() to always return times using the
+ namesake timeline. This preserves the benefit of using the never-
+ stepped monotonic clock for event timeouts while providing clients
+ with times consistently using gettimeofday().
+* Correct event_base_gettimeofday_cached() workaround code in
+ sntp to work with corrected libevent.
+* Remove sntp l_fp_output() test now that it uses prettydate().
+* [Bug 1839] 4.2.7p131 installs libevent ev*.h headers.
+* Ensure CONFIG_SHELL is not empty before relying on it for #! scripts.
+(4.2.7p134) 2011/02/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1837] Build fails on Win7 due to regedit requiring privilege.
+* Provide fallback definitions for GetAdaptersAddresses() for Windows
+ build environments lacking iphlpapi.h.
+* Rename file containing 1.xxxx ChangeSet revision from version to
+ scm-rev to avoid invoking GNU make implicit rules attempting to
+ compile version.c into version. Problem was with sntp/version.o
+ during make distcheck after fix for spurious sntp rebuilds.
+* Add INC_ALIGNED_PTR() macro to align pointers like malloc().
+(4.2.7p133) 2011/02/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1834] ntpdate 4.2.7p131 aborts with assertion failure.
+* Move sntp last in top-level Makefile.am SUBDIRS so that the libevent
+ tearoff (if required) and sntp are compiled after the rest.
+* Use a single set of Automake options for each package in configure.ac
+ AM_INIT, remove Makefile.am AUTOMAKE_OPTIONS= lines.
+* Correct spurious sntp rebuilds triggered by a make misperception
+ sntp/version was out-of-date relative to phony target FRC.version.
+* Do not cache paths to perl, test, or pkg-config, searching the PATH
+ at configure time is worth it to pick up tool updates.
+(4.2.7p132) 2011/02/22 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1832] ntpdate doesn't allow timeout > 2s.
+* [Bug 1833] The checking sem_timedwait() fails without -pthread.
+* ElectricFence was suffering bitrot - remove it. valgrind works well.
+* Enable all relevant automake warnings.
+* Correct Solaris 2.1x PTHREAD_ONCE_INIT extra braces test to avoid
+ triggering warnings due to excess braces.
+* Remove libevent-cfg from sntp/Makefile.am.
+* Provide bug report and URL options to Autoconf.
+* Avoid relying on remake rules for routine build/flock-build for
+ libevent as for the top-level and sntp subproject.
+(4.2.7p131) 2011/02/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1087] -v/--normalverbose conflicts with -v/--version in sntp.
+* [Bug 1088] sntp should (only) report the time difference without -s/-a.
+* older autoconf sometimes dislikes [].
+* Move "can't write KoD file" warning from sntp shutdown to startup.
+* refclock_acts.c cleanup from Dave Mills.
+* Convert sntp to libevent event-driven socket programming. Instead of
+ blocking name resolution and querying one NTP server at a time,
+ resolve server names and send NTP queries without blocking. Add
+ sntp command-line options to adjust timing and optionally wait for all
+ servers to respond instead of exiting after the first.
+* Import libevent 2.0.10-stable plus local patches as a tearoff, used
+ only if the target system lacks an installed libevent 2.0.9 or later.
+* Move blocking worker and resolver to libntp from ntpd.
+* Use threads rather than forked child processes for blocking worker
+ when possible. Override with configure --disable-thread-support.
+* Move init_logging(), change_logfile(), and setup_logfile() from ntpd
+ to libntp, use them in sntp.
+* Test --without-sntp in flock-build script's -no-refclocks variety.
+* Avoid invoking config.status twice in a row in build script.
+* Move more m4sh tests needed by libntp to shared .m4 files.
+* Split up ntp_libntp.m4 into smaller, more specific subsets.
+* Enable gcc -Wcast-align, fix many instances of warnings when casting
+ a pointer to a more-strictly-aligned underlying type.
+(4.2.7p130) 2011/02/12 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1811] Update the download location in WHERE-TO-START.
+(4.2.7p129) 2011/02/09 Released by Harlan Stenn <stenn@ntp.org>
+* Add missing "break;" to ntp_control.c ctl_putsys() for caliberrs, used
+ by ntpq -c kerninfo introduced in 4.2.7p104.
+* Fix leak in ntp_control.c read_mru_list().
+(4.2.7p128) 2011/01/30 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1799] ntpq mrv crash.
+* [Bug 1801] ntpq mreadvar requires prior association caching.
+(4.2.7p127) 2011/01/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1797] Restore stale timestamp check from the RANGEGATE cleanup.
+(4.2.7p126) 2011/01/27 Released by Harlan Stenn <stenn@ntp.org>
+* Fix unexposed fencepost error in format_time_fraction().
+* Add more unit tests for timeval_tostr() and timespec_tostr().
+(4.2.7p125) 2011/01/26 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1794] ntpq -c rv missing clk_wander information.
+* [Bug 1795] ntpq readvar does not display last variable.
+(4.2.7p124) 2011/01/25 Released by Harlan Stenn <stenn@ntp.org>
+* sntp/Makefile.am needs any passed-in CFLAGS.
+(4.2.7p123) 2011/01/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1788] tvtots.c tables inaccurate
+(4.2.7p122) 2011/01/22 Released by Harlan Stenn <stenn@ntp.org>
+* ACTS refclock cleanup from Dave Mills.
+* Avoid shadowing the "group" global variable.
+(4.2.7p121) 2011/01/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1786] Remove extra semicolon from ntp_proto.c .
+(4.2.7p120) 2011/01/20 Released by Harlan Stenn <stenn@ntp.org>
+* Change new timeval and timespec to string routines to use snprintf()
+ rather than hand-crafted conversion, avoid signed int overflow there.
+* Add configure support for SIZEOF_LONG_LONG to enable portable use of
+ snprintf() with time_t.
+* Grow ntpd/work_thread.c arrays as needed.
+* Add DEBUG_* variants of ntp_assert.h macros which compile away using
+ ./configure --disable-debugging.
+* Fix tvalops.cpp unit test failures for 32-bit builds.
+* Return to a single autoreconf invocation in ./bootstrap script.
+* Fix warnings seen on FreeBSD 9.
+* crypto group changes from Dave Mills.
+* Lose the RANGEGATE check in PPS, from Dave Mills.
+* ACTS refclock cleanup from Dave Mills.
+* Documentation updates from Dave Mills.
+* NMEA driver documentation update from Juergen Perlinger.
+(4.2.7p119) 2011/01/18 Released by Harlan Stenn <stenn@ntp.org>
+* added timespecops.{c,h} and tievalops.{c.h} to libntp and include
+ added tspecops.cpp to tests/libntp
+* Correct msyslog.c build break on Solaris 2.9 from #ifdef/#if mixup.
+(4.2.7p118) 2011/01/15 Released by Harlan Stenn <stenn@ntp.org>
+* Simplify the built-sources stuff in sntp/ .
+* Fix check for -lipv6 on HP-UX 11.
+(4.2.7p117) 2011/01/13 Released by Harlan Stenn <stenn@ntp.org>
+* Add configure --without-sntp option to disable building sntp and
+ sntp/tests. withsntp=no in the environment changes the default.
+* Build infrastructure cleanup:
+ Move m4 directory to sntp/m4.
+ Share a single set of genver output between sntp and the top level.
+ Share a single set of autogen included .defs in sntp/include.
+ Share a single set of build-aux scripts (e.g. config.guess, missing).
+ Add ntp_libntp.m4 and ntp_ipv6.m4 to reduce configure.ac duplication.
+ Warn and exit build/flock-build if bootstrap needs to be run.
+(4.2.7p116) 2011/01/10 Released by Harlan Stenn <stenn@ntp.org>
+* refclock_nmea.c refactoring by Juergen Perlinger.
+(4.2.7p115) 2011/01/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1780] Windows ntpd 4.2.7p114 crashes in ioctl().
+* [Bug 1781] longlong undefined in sntp handle_pkt() on Debian amd64.
+(4.2.7p114) 2011/01/08 Released by Harlan Stenn <stenn@ntp.org>
+* Fix for openssl pkg-config detection eval failure.
+* Add erealloc_zero(), refactor estrdup(), emalloc(), emalloc_zero() to
+ separate tracking callsite file/line from using debug MS C runtime,
+ and to reduce code duplication.
+(4.2.7p113) 2011/01/07 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1776] sntp mishandles -t/--timeout and -a/--authentication.
+* Default to silent make rules, override with make V=1 or ./configure
+ --disable-silent-rules.
+* Correct --with-openssl-incdir defaulting with pkg-config.
+* Correct ./build on systems without gtest available.
+* Begin moving some of the low-level socket stuff to libntp.
+(4.2.7p112) 2011/01/06 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1773] openssl not detected during ./configure.
+* [Bug 1774] Segfaults if cryptostats enabled and built without OpenSSL.
+* Use make V=0 in build script to increase signal/noise ratio.
+(4.2.7p111) 2011/01/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1772] refclock_open() return value check wrong for ACTS.
+* Default --with-openssl-libdir and --with-openssl-incdir to the values
+ from pkg-config, falling back on our usual search paths if pkg-config
+ is not available or does not have openssl.pc on PKG_CONFIG_PATH.
+* Change refclock_open() to return -1 on failure like open().
+* Update all refclock_open() callers to check for fd <= 0 indicating
+ failure, so they work with older and newer refclock_open() and can
+ easily backport.
+* Initialize refclockproc.rio.fd to -1, harmonize refclock shutdown
+ entrypoints to avoid crashing, particularly if refclock_open() fails.
+* Enable tickadj-like taming of wildly off-spec Windows clock using
+ NTPD_TICKADJ_PPM env. var. specifying baseline slew.
+(4.2.7p110) 2011/01/04 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1771] algorithmic error in 'clocktime()' fixed.
+* Unit tests extended for hard-coded system time.
+* make V=0 and configure --enable-silent-rules supported.
+* setvar modemsetup = ATE0... overrides ACTS driver default.
+* Preserve last timecode in ACTS driver (ntpq -ccv).
+* Tolerate previous ATE1 state when sending ACTS setup.
+* Enable raw tty line discipline in Windows port.
+* Allow tty open/close/open to succeed on Windows port.
+* Enable ACTS and CHU reference clock drivers on Windows.
+(4.2.7p109) 2011/01/02 Released by Harlan Stenn <stenn@ntp.org>
+* Remove nearly all strcpy() and most strcat() from NTP distribution.
+ One major pocket remains in ntp_crypto.c. libopts & libisc also have
+ (safe) uses of strcpy() and strcat() remaining.
+* Documentation updates from Dave Mills.
+(4.2.7p108) 2011/01/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1764] Move Palisade modem control logic to configure.ac.
+* [Bug 1768] TIOCFLUSH undefined in linux for refclock_acts.
+* Autokey multiple identity group improvements from Dave Mills.
+* from 4.2.6p3: Update the copyright year.
+(4.2.7p107) 2010/12/31 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1764] Palisade driver doesn't build on Linux.
+* [Bug 1766] Oncore clock has offset/high jitter at startup.
+* Move ntp_control.h variable IDs to ntp_control.c, remove their use by
+ ntpq. They are implementation details private to ntpd. [Bug 597] was
+ caused by ntpq's reliance on these IDs it need not know about.
+* refclock_acts.c updates from Dave Mills.
+(4.2.7p106) 2010/12/30 Released by Harlan Stenn <stenn@ntp.org>
+* from 4.2.6p3: Update genCommitLog for the bk-5 release.
+(4.2.7p105) 2010/12/29 Released by Harlan Stenn <stenn@ntp.org>
+(4.2.7p104) 2010/12/28 Released by Harlan Stenn <stenn@ntp.org>
+* from 4.2.6p3: Create and use scripts/check--help when generating
+ .texi files.
+* from 4.2.6p3: Update bk triggers for the bk-5 release.
+* Support for multiple Autokey identity groups from Dave Mills.
+* Documentation updates from Dave Mills.
+* Add ntpq kerninfo, authinfo, and sysinfo commands similar to ntpdc's.
+(4.2.7p103) 2010/12/24 Released by Harlan Stenn <stenn@ntp.org>
+* Add ntpq pstats command similar to ntpdc's.
+* Remove ntpq pstatus command, rv/readvar does the same and more.
+* Documentation updates from Dave Mills.
+(4.2.7p102) 2010/12/23 Released by Harlan Stenn <stenn@ntp.org>
+* Allow ntpq &1 associd use without preceding association-fetching.
+* Documentation updates from Dave Mills.
+(4.2.7p101) 2010/12/22 Released by Harlan Stenn <stenn@ntp.org>
+* from 4.2.6p3-RC12: Upgrade to libopts 34.0.9 from AutoGen 5.11.6pre7.
+* from 4.2.6p3-RC12: Relax minimum Automake version to 1.10 with updated
+ libopts.m4.
+(4.2.7p100) 2010/12/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1743] from 4.2.6p3-RC12: Display timezone offset when showing
+ time for sntp in the local timezone (documentation updates).
+(4.2.7p99) 2010/12/21 Released by Harlan Stenn <stenn@ntp.org>
+* Add unit tests for msnprintf().
+(4.2.7p98) 2010/12/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1761] clockstuff/clktest-opts.h omitted from tarball.
+* [Bug 1762] from 4.2.6p3-RC12: manycastclient responses interfere.
+* Documentation updates from Dave Mills.
+(4.2.7p97) 2010/12/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1458] from 4.2.6p3-RC12: Can not compile NTP on FreeBSD 4.7.
+* [Bug 1760] from 4.2.6p3-RC12: ntpd Windows interpolation cannot be
+ disabled.
+* from 4.2.6p3-RC12: Upgrade to libopts 34.0.9 from AutoGen 5.11.6pre5.
+* Documentation updates from Dave Mills.
+(4.2.7p96) 2010/12/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1758] from 4.2.6p3-RC12: setsockopt IPV6_MULTICAST_IF with wrong
+ ifindex.
+* Documentation updates from Dave Mills.
+(4.2.7p95) 2010/12/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1753] 4.2.7p94 faults on startup in newpeer(), strdup(NULL).
+* [Bug 1754] from 4.2.6p3-RC12: --version output should be more verbose.
+* [Bug 1757] from 4.2.6p3-RC12: oncore snprintf("%m") doesn't expand %m.
+* from 4.2.6p3-RC12: Suppress ntp-keygen OpenSSL version display for
+ --help, --version, display both build and runtime OpenSSL versions
+ when they differ.
+* from 4.2.6p3-RC12: Upgrade to libopts 33.5.8 from AutoGen 5.11.6pre3.
+* Documentation updates from Dave Mills.
+(4.2.7p94) 2010/12/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1751] from 4.2.6p3-RC12: Support for Atari FreeMiNT OS.
+* Documentation updates from Dave Mills.
+(4.2.7p93) 2010/12/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1510] from 4.2.6p3-RC12: Add modes 20/21 for driver 8 to support
+ RAWDCF @ 75 baud.
+* [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.
+* "server ... ident <groupname>" changes from Dave Mills.
+* Documentation updates from Dave Mills.
+(4.2.7p92) 2010/12/08 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [Bug 1735] 'clocktime()' aborts ntpd on bogus input
+(4.2.7p87) 2010/12/01 Released by Harlan Stenn <stenn@ntp.org>
+* 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 <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p85) 2010/11/24 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p84) 2010/11/22 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* Correct frequency estimate with no drift file, from David Mills.
+(4.2.7p78) 2010/11/04 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+* Include Linus Karlsson's GSoC 2010 testing code.
+(4.2.7p74) 2010/10/29 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [Bug 1679] Fix test for -lsocket.
+* Clean up missing ;; entries in configure.ac.
+(4.2.7p71) 2010/10/25 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [Bug 1671] Automatic delay calibration is sometimes inaccurate.
+(4.2.7p68) 2010/10/22 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* Documentation and code cleanup from Dave Mills. No more NTP_MAXASSOC.
+(4.2.7p60) 2010/10/04 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p59) 2010/10/02 Released by Harlan Stenn <stenn@ntp.org>
+* 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 <stenn@ntp.org>
+* 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 <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p56) 2010/09/25 Released by Harlan Stenn <stenn@ntp.org>
+* 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 <stenn@ntp.org>
+* 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 <stenn@ntp.org>
+* 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 <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+* More Initial convergence improvements from Dave Mills.
+(4.2.7p52) 2010/09/19 Released by Harlan Stenn <stenn@ntp.org>
+* Initial convergence improvements from Dave Mills.
+(4.2.7p51) 2010/09/18 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* Cleanup NTP_LIB_M.
+* [Bug 1628] Clean up -lxnet/-lsocket usage for (open)solaris.
+(4.2.7p49) 2010/09/13 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p48) 2010/09/12 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.7p47) 2010/09/11 Released by Harlan Stenn <stenn@ntp.org>
+* 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 <stenn@ntp.org>
+* Use AC_SEARCH_LIBS instead of AC_CHECK_LIB for NTP_LIB_M.
+(4.2.7p45) 2010/09/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1578] Consistently use -lm when needed.
+(4.2.7p44) 2010/08/27 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1573] from 4.2.6p3-beta1: Miscalculation of offset in sntp.
+(4.2.7p43) 2010/08/26 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1602] Refactor some of the sntp/ directory to facililtate testing.
+(4.2.7p42) 2010/08/18 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* 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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [Bug 1576] sys/sysctl.h depends on sys/param.h on OpenBSD.
+(4.2.7p36) 2010/06/15 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* Rewrite of multiprecision macros in 'ntp_fp.h' from J. Perlinger
+ <perlinger@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* 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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+(4.2.7p26) 2010/04/24 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [Bug 2399] Reset sys_kodsent in proto_clr_stats().
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [Bug 1467] from 4.2.6p1: Fix bogus rebuild of sntp/sntp.html.
+(4.2.7p12) 2010/01/30 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1468] 'make install' broken for root on default NFS mount.
+(4.2.7p11) 2010/01/28 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+(4.2.7p8) 2010/01/12 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* Include 4.2.6p1-RC2
+(4.2.7p4) 2009/12/24 Released by Harlan Stenn <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [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 <stenn@ntp.org>
+* [Bug 1407] configure.ac: recent GNU Make -v does not include "version".
+---
+(4.2.6p5) 2011/12/24 Released by Harlan Stenn <stenn@ntp.org>
+
+No changes from 4.2.6p5-RC3.
+
+---
+(4.2.6p5-RC3) 2011/12/08 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2082] 3-char refid sent by ntpd 4.2.6p5-RC2 ends with extra dot.
+* [Bug 2085] clock_update() sys_rootdisp calculation omits root delay.
+* [Bug 2086] get_systime() should not offset by sys_residual.
+* [Bug 2087] sys_jitter calculation overweights sys.peer jitter.
+* Ensure NULL peer->dstadr is not accessed in orphan parent selection.
+
+---
+(4.2.6p5-RC2) 2011/11/30 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2050] Orphan mode stratum counting to infinity.
+* [Bug 2059] optional billboard column "server" does not honor -n.
+* [Bug 2066] ntpq lopeers ipv6 "local" column overrun.
+* [Bug 2068] ntpd sends nonprintable stratum 16 refid to ntpq.
+* [Bug 2069] broadcastclient, multicastclient spin up duplicate
+ ephemeral associations without broadcastdelay.
+* [Bug 2072] Orphan parent selection metric needs ntohl().
+* Exclude not-yet-determined sys_refid from use in loopback TEST12
+ (from David Mills).
+* Never send KoD rate limiting response to MODE_SERVER response.
+
+---
+(4.2.6p5-RC1) 2011/10/18 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 2034] Listening address configuration with prefix misapplied.
+
+---
+(4.2.6p4) 2011/09/22 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1984] ntp/libisc fails to compile on OS X 10.7 (Lion).
+* [Bug 1985] "logconfig =allall" rejected.
+* [Bug 2001] ntpdc timerstats reports overruns as handled.
+* [Bug 2003] libntpq ntpq_read_assoc_peervars() broken.
+* [Backward Incompatible] sntp: -l/--filelog -> -l/--logfile, to be
+ consistent with ntpd.
+* libopts/file.c fix from Bruce Korb (arg-type=file).
+
+---
+(4.2.6p4-RC2) 2011/08/04 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1608] Parse Refclock driver should honor trusttime.
+* [Bug 1961] html2man update: distribute ntp-wait.html.
+* [Bug 1970] UNLINK_EXPR_SLIST() causes crash if list is empty.
+* [Bug 1972] checking for struct rtattr fails.
+* [Bug 1975] libntp/mktime.c won't work with 64-bit time_t
+* [Bug 1978] [Bug 1134] fix in 4.2.6p4-RC1 doesn't build on older Linux.
+* Backport several fixes for Coverity warnings from ntp-dev.
+* Backport if_nametoindex() check for hpux.
+
+---
+(4.2.6p4-RC1) 2011/07/10 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1134] ntpd fails binding to tentative IPv6 addresses.
+* [Bug 1790] Update config.guess and config.sub to detect AIX6.
+* [Bug 1961] html2man needs an update.
+* Update the NEWS file.
+
+---
+(4.2.6p4-beta2) 2011/05/25 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1695] ntpdate takes longer than necessary.
+* [Bug 1832] ntpdate doesn't allow timeout > 2s.
+* [Bug 1933] WWVB/Spectracom driver timestamps LFs, not CRs.
+* Backport utility routines from ntp-dev: mprintf(), emalloc_zero().
+
+---
+(4.2.6p4-beta1) 2011/05/16 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1554] peer may stay selected as system peer after becoming
+ unreachable.
+* [Bug 1921] LOCAL, ACTS drivers with "prefer" excluded from initial
+ candidate list.
+* [Bug 1923] orphan parent favored over LOCAL, ACTS drivers.
+* [Bug 1924] Billboard tally codes sometimes do not match operation,
+ variables.
+* Enable tickadj-like taming of wildly off-spec Windows clock using
+ NTPD_TICKADJ_PPM env. var. specifying baseline slew.
+* Upgrade to AutoGen 5.11.9 (and require it).
+* Upgrade to libopts 35.0.10 from AutoGen 5.11.9pre8.
+
+---
+(4.2.6p3) 2011/01/03 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1764] Palisade driver doesn't build on Linux
+* Create and use scripts/check--help when generating .texi files.
+* Update bk triggers for the bk-5 release.
+* Update genCommitLog for the bk-5 release.
+* Update the copyright year.
+
+---
+(4.2.6p3-RC12) 2010/12/25 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1458] Can not compile NTP on FreeBSD 4.7.
+* [Bug 1510] Add modes 20/21 for driver 8 to support RAWDCF @ 75 baud.
+* [Bug 1618] Unreachable code in jjy_start(). (backport from ntp-dev)
+* [Bug 1719] ntp-keygen -V crash. (backport)
+* [Bug 1740] ntpdc treats many counters as signed. (backport)
+* [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.
+* [Bug 1751] Support for Atari FreeMiNT OS.
+* [Bug 1754] --version output should be more verbose.
+* [Bug 1757] oncore snprintf("%m") doesn't expand %m.
+* [Bug 1758] setsockopt IPV6_MULTICAST_IF with wrong ifindex.
+* [Bug 1760] ntpd Windows interpolation cannot be disabled.
+* [Bug 1762] manycastclient solicitation responses interfere.
+* Upgrade to libopts 34.0.9 from AutoGen 5.11.6pre7.
+* Relax minimum Automake version to 1.10 with updated libopts.m4.
+* Suppress ntp-keygen OpenSSL version display for --help, --version,
+display both build and runtime OpenSSL versions when they differ.
+* Clean up m4 quoting in configure.ac, *.m4 files, resolving
+ intermittent AC_LANG_PROGRAM possibly undefined errors.
+* Clean up the SNTP documentation.
+* 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.6p3-RC11) 2010/11/28 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1725] ntpd sends multicast from only one address.
+* [Bug 1728] In ntp_openssl.m4, don't add -I/usr/include or -L/usr/lib
+ to CPPFLAGS or LDFLAGS.
+* [Bug 1733] IRIX doesn't have 'head' (affects scripts/checkChangeLog).
+* Remove log_msg() and debug_msg() from sntp in favor of msyslog().
+* Use a single copy of libopts/, in sntp/.
+* Upgrade libopts to 33.3.8.
+* Bump minimum Automake version to 1.11, required for AM_COND_IF
+ use in LIBOPTS_CHECK.
+* Improvements to the 'build' script.
+
+---
+(4.2.6p3-RC10) 2010/11/14 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1681] More sntp logging cleanup.
+* [Bug 1683] Non-localhost on loopback exempted from nic rules.
+
+---
+(4.2.6p3-RC9) 2010/11/10 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1574] sntp:set_time doesn't set tv_usec correctly.
+* [Bug 1681] sntp logging cleanup.
+* [Bug 1683] Interface binding does not seem to work as intended.
+* [Bug 1691] Use first NMEA sentence each second.
+* [Bug 1692] packageinfo.sh needs to be "sourced" using ./ .
+* [Bug 1709] ntpdate ignores replies with equal receive and transmit
+ timestamps.
+* Backport sntp from -dev
+
+---
+(4.2.6p3-RC8) 2010/10/29 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1685] NMEA driver mode byte confusion.
+* First cut at using scripts/checkChangeLog.
+
+---
+(4.2.6p3-RC7) 2010/10/25 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1676] NMEA: $GPGLL did not work after fix for Bug 1571.
+* Added scripts/checkChangeLog.
+
+---
+(4.2.6p3-RC6) 2010/10/24 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1571] NMEA does not relate data to PPS edge.
+* [Bug 1572] NMEA time adjustment for GPZDG buggy.
+* [Bug 1675] Prohibit includefile remote config.
+
+---
+(4.2.6p3-RC5) 2010/10/22 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1649] Require NMEA checksum if $GPRMC or previously seen.
+* [Bug 1669] NTP 4.2.6p2 fails to compile on IBM AIX 5.3.
+
+---
+(4.2.6p3-RC4) 2010/10/16 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1584] wrong SNMP type for precision, resolution.
+* [Bug 1659] Need CLOCK_TRUETIME not CLOCK_TRUE.
+* [Bug 1665] is_anycast() u_int32_t should be u_int32.
+* ntpsnmpd, libntpq warning cleanup.
+
+---
+(4.2.6p3-RC3) 2010/10/14 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 750] Non-existing device causes coredump with RIPE-NCC driver.
+* [Bug 1080] ntpd on ipv6 routers very chatty.
+* [Bug 1567] Support Arbiter 1093C Satellite Clock on Windows.
+* [Bug 1581] printf format string mismatch leftover.
+* [Bug 1584] ntpsnmpd OID must be mib-2.197.
+* [Bug 1643] Range-check the decoding of the RIPE-NCC status codes.
+* [Bug 1644] cvo.sh should use lsb_release to identify linux distros.
+* [Bug 1659] Support Truetime Satellite Clocks on Windows.
+* [Bug 1660] On some systems, test is in /usr/bin, not /bin.
+* [Bug 1661] Re-indent refclock_ripencc.c.
+
+---
+(4.2.6p3-RC2) 2010/09/25 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1635] "filegen ... enable" is not default.
+* [Bug 1636] yyparse() segfault after denied filegen remote config.
+
+---
+(4.2.6p3-RC1) 2010/09/18 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1344] ntpd on Windows exits without logging cause.
+
+---
+(4.2.6p3-beta1) 2010/09/11 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1573] Miscalculation of offset in sntp.
+* [Bug 1595] empty last line in key file causes duplicate key to be added
+* [Bug 1597] packet processing ignores RATE KoD packets, because of
+ a bug in string comparison.
+* [Bug 1581] ntp_intres.c size_t printf format string mismatch.
+
+---
+(4.2.6p2) 2010/07/09 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1581] size_t printf format string mismatches, IRIG string buffers
+ undersized. Mostly backported from earlier ntp-dev fixes by Juergen
+ Perlinger.
+
+---
+(4.2.6p2-RC7) 2010/06/19 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1570] serial clock drivers get outdated input from kernel tty
+ line buffer after startup
+* [Bug 1575] use 'snprintf' with LIB_BUFLENGTH in inttoa.c, tvtoa.c and
+ utvtoa.c
+* [Bug 1576] sys/sysctl.h depends on sys/param.h on OpenBSD.
+
+---
+(4.2.6p2-RC6) 2010/06/12 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 715] libisc Linux IPv6 interface iteration drops multicast flags.
+
+---
+(4.2.6p2-RC5) 2010/06/03 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1561] ntpq, ntpdc "passwd" prompts for MD5 password w/SHA1.
+* [Bug 1565] sntp/crypto.c compile fails on MacOS over vsnprintf().
+* Windows port: do not exit in ntp_timestamp_from_counter() without
+ first logging the reason.
+* Support "passwd blah" syntax in ntpq.
+
+---
+(4.2.6p2-RC4) 2010/05/19 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1555] 4.2.6p2-RC3 sntp illegal C (mixed code and declarations).
+
+---
+(4.2.6p2-RC3) 2010/05/11 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1325] unreachable code in sntp recv_bcst_data().
+* [Bug 1459] sntp MD5 authentication does not work with ntpd.
+* [Bug 1512] ntpsnmpd should connect to net-snmpd via a unix-domain
+ socket by default. Provide a command-line 'socket name' option.
+* [Bug 1538] update refclock_nmea.c's call to getprotobyname().
+* [Bug 1541] Fix wrong keyword for "maxclock".
+* [Bug 1552] update and complete broadcast and crypto features in sntp.
+* [Bug 1553] sntp/configure.ac OpenSSL support.
+* Escape unprintable characters in a refid in ntpq -p billboard.
+* Simplify hash client code by providing OpenSSL EVP_*() API when built
+ without OpenSSL. (from ntp-dev)
+* Do not depend on ASCII values for ('A' - '0'), ('a' - '0') in sntp.
+* Windows compiling hints/winnt.html update from G. Sunil Tej.
+
+---
+(4.2.6p2-RC2) 2010/04/27 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1465] Make sure time from TS2100 is not invalid (backport from
+ ntp-dev).
+* [Bug 1528] Fix EDITLINE_LIBS link order for ntpq and ntpdc.
+* [Bug 1534] win32/include/isc/net.h conflicts with VC++ 2010 errno.h.
+* [Bug 1535] "restrict -4 default" and "restrict -6 default" ignored.
+* Remove --with-arlib from br-flock.
+
+---
+(4.2.6p2-RC1) 2010/04/18 Released by Harlan Stenn <stenn@ntp.org>
+
+* [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.
+* [Bug 1518] Windows ntpd should lock to one processor more
+ conservatively.
+* [Bug 1522] Enable range syntax "trustedkey (301 ... 399)".
+* Update html/authopt.html controlkey, requestkey, and trustedkey docs.
+
+---
+(4.2.6p1) 2010/04/09 Released by Harlan Stenn <stenn@ntp.org>
+(4.2.6p1-RC6) 2010/03/31 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1514] Typo in ntp_proto.c: fabs(foo < .4) should be fabs(foo) < .4.
+* [Bug 1464] synchronization source wrong for refclocks ARCRON_MSF (27)
+ and SHM (28).
+* Correct Windows port's refclock_open() to return 0 on failure not -1.
+* Correct CHU, dumbclock, and WWVB drivers to check for 0 returned from
+ refclock_open() on failure.
+* Correct "SIMUL=4 ./flock-build -1" to prioritize -1/--one.
+
+---
+(4.2.6p1-RC5) 2010/02/09 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1140] Clean up debug.html, decode.html, and ntpq.html.
+* [Bug 1438] Remove dead code from sntp/networking.c.
+* [Bug 1477] 1st non-gmake make in clone w/VPATH can't make COPYRIGHT.
+* [Bug 1478] linking fails with undefined reference EVP_MD_pkey_type.
+* [Bug 1479] Compilation fails because of not finding readline headers.
+* [Bug 1480] snprintf() cleanup caused unterminated refclock IDs.
+* [Bug 1484] ushort is not defined in QNX6.
+
+---
+(4.2.6p1-RC4) 2010/02/04 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1455] ntpd does not try /etc/ntp.audio as documented.
+* [Bug 1467] Fix bogus rebuild of sntp/sntp.html
+* [Bug 1470] "make distdir" in $srcdir builds keyword-gen, libntp.a.
+* [Bug 1473] "make distcheck" before build can't make sntp/version.m4.
+* [Bug 1474] ntp_keygen needs LCRYPTO after libntp.a.
+* Convert many sprintf() calls to snprintf(), also strcpy(), strcat().
+* Fix widely cut-n-pasted bug in refclock shutdown after failed start.
+* Remove some dead code checking for emalloc() returning NULL.
+* Remove arlib.
+
+---
+(4.2.6p1-RC3) 2010/01/24 Released by Harlan Stenn <stenn@ntp.org>
+
+* Use TZ=UTC instead of TZ= when calling date in scripts/mkver.in .
+* [Bug 1448] Some macros not correctly conditionally or absolutely defined
+ on Windows.
+* [Bug 1449] ntpsim.h in ntp_config.c should be used conditionally.
+* [Bug 1450] Option to exclude warnings not unconditionally defined on Windows.
+* [Bug 1127] Properly check the return of X590_verify() - missed one.
+* [Bug 1439] .texi generation must wait until after binary is linked.
+* [Bug 1440] Update configure.ac to support kfreebsd.
+* [Bug 1445] IRIX does not have -lcap or support linux capabilities.
+* [Bug 1451] CID 115: sntp leaks KoD entry when updating existing.
+* [Bug 1453] Use $CC in config.cache filename in ./build script.
+
+---
+(4.2.6p1-RC2) 2009/12/25 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1411] Fix status messages in refclock_oncore.c.
+* [Bug 1416] MAXDNAME undefined on Solaris 2.6.
+* [Bug 1419] ntpdate, ntpdc, sntp, ntpd ignore configure --bindir.
+* [Bug 1424] Fix check for rtattr (rtnetlink.h).
+* [Bug 1425] unpeer by association ID sets up for duplicate free().
+* [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
+* [Bug 1429] ntpd -4 option does not reliably force IPv4 resolution.
+* [Bug 1431] System headers must come before ntp headers in ntp_intres.c .
+* [Bug 1434] HP-UX 11 ip_mreq undeclared, _HPUX_SOURCE helps some.
+* [Bug 1435] sntp: Test for -lresolv using the same tests as in ntp.
+
+---
+(4.2.6p1-RC1) 2009/12/20 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1409] Put refclock_neoclock4x.c under the NTP COPYRIGHT notice.
+ This should allow debian and other distros to add this refclock driver
+ in further distro releases.
+ Detect R2 hardware releases.
+* [Bug 1412] m4/os_cflags.m4 caches results that depend on $CC.
+* [Bug 1413] test OpenSSL headers regarding -Wno-strict-prototypes.
+* [Bug 1414] Enable "make distcheck" success with BSD make.
+* [Bug 1415] Fix Mac OS X link problem.
+* [Bug 1418] building ntpd/ntpdc/ntpq statically with ssl fails.
+* Build infrastructure updates to enable beta releases of ntp-stable.
+
+---
+(4.2.6) 2009/12/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Sec 1331] from4.2.4p8: DoS with mode 7 packets - CVE-2009-3563.
+* [Bug 508] Fixed leap second handling for Windows.
+(4.2.5p250-RC) 2009/11/30 Released by Harlan Stenn <stenn@ntp.org>
+* sntp documentation updates.
+* [Bug 761] internal resolver does not seem to honor -4/-6 qualifiers
+* [Bug 1386] Deferred DNS doesn't work on NetBSD
+* [Bug 1391] avoid invoking autogen twice for .c and .h files.
+* [Bug 1397] shmget() refclock_shm failing because of file mode.
+* Pass no_needed to ntp_intres as first part of fixing [Bug 975].
+* Add ./configure --enable-force-defer-DNS to help debugging.
+(4.2.5p249-RC) 2009/11/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1400] An empty KOD DB file causes sntp to coredump.
+* sntp: documentation cleanup.
+* sntp: clean up some error messages.
+* sntp: Use the precision to control how many offset digits are shown.
+* sntp: Show root dispersion.
+* Cleanup from the automake/autoconf upgrades.
+(4.2.5p248-RC) 2009/11/26 Released by Harlan Stenn <stenn@ntp.org>
+* Prepare for the generation of sntp.html.
+* Documentation changes from Dave Mills.
+* [Bug 1387] Storage leak in ntp_intres (minor).
+* [Bug 1389] buffer overflow in refclock_oncore.c
+* [Bug 1391] .texi usage text from installed, not built binaries.
+* [Bug 1392] intres retries duplicate assocations endlessly.
+* Correct *-opts.h dependency so default 'get' action isn't used.
+(4.2.5p247-RC) 2009/11/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1142] nodebug builds shed no light on -d, -D option failure.
+* [Bug 1179] point out the problem with -i/--jaildir and -u/--user when
+ they are disabled by configure.
+* [Bug 1308] support systems that lack fork().
+* [Bug 1343] sntp doesn't link on Solaris 7, needs -lresolv.
+(4.2.5p246-RC) 2009/11/17 Released by Harlan Stenn <stenn@ntp.org>
+* Upgrade to autogen-5.10
+* [Bug 1378] Unnecessary resetting of peers during interface update.
+* [Bug 1382] p245 configure --disable-dependency-tracking won't build.
+* [Bug 1384] ntpq :config core dumped with a blank password.
+(4.2.5p245-RC) 2009/11/14 Released by Harlan Stenn <stenn@ntp.org>
+* Cleanup from Dave Mills.
+* [Bug 1343] sntp illegal C does not compile on Solaris 7.
+* [Bug 1381] 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.
+(4.2.5p244-RC) 2009/11/12 Released by Harlan Stenn <stenn@ntp.org>
+* keygen.html updates from Dave Mills.
+* [Bug 1003] ntpdc unconfig command doesn't prompt for keyid.
+* [Bug 1376] Enable authenticated ntpq and ntpdc using newly-available
+ digest types.
+* ntp-keygen, Autokey OpenSSL build vs. run version mismatch is now a
+ non-fatal warning.
+(4.2.5p243-RC) 2009/11/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1226] Fix deferred DNS lookups.
+* new crypto signature cleanup.
+(4.2.5p242-RC) 2009/11/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1363] CID 92 clarify fallthrough case in clk_trimtsip.c
+* [Bug 1366] ioctl(TIOCSCTTY, 0) fails on NetBSD *[0-2].* > 3.99.7.
+* [Bug 1368] typos in libntp --without-crypto case
+* [Bug 1371] deferred DNS lookup failing with INFO_ERR_AUTH.
+* CID 87 dead code in ntpq.c atoascii().
+* 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.
+* Documention updates from Dave Mills.
+* authkeys.c cleanup from Dave Mills.
+(4.2.5p241-RC) 2009/11/07 Released by Harlan Stenn <stenn@ntp.org>
+* html/authopt.html update from Dave Mills.
+* Remove unused file from sntp/Makefile.am's distribution list.
+* new crypto signature cleanup.
+(4.2.5p240-RC) 2009/11/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1364] clock_gettime() not detected, need -lrt on Debian 5.0.3.
+* Provide all of OpenSSL's signature methods for ntp.keys (FIPS 140-2).
+(4.2.5p239-RC) 2009/10/30 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1357] bogus assert from refclock_shm.
+* [Bug 1359] Debug message cleanup.
+* CID 101: more pointer/array cleanup.
+* [Bug 1356] core dump from refclock_nmea when can't open /dev/gpsU.
+* [Bug 1358] AIX 4.3 sntp/networking.c IPV6_JOIN_GROUP undeclared.
+* CID 101: pointer/array cleanup.
+(4.2.5p238-RC) 2009/10/27 Released by Harlan Stenn <stenn@ntp.org>
+* Changes from Dave Mills.
+* driver4.html updates from Dave Mills.
+* [Bug 1252] PPSAPI cleanup on ntpd/refclock_wwvb.c.
+* [Bug 1354] libtool error building after bootstrap with Autoconf 2.64.
+* Allow NTP_VPATH_HACK configure test to handle newer gmake versions.
+* CIDs 94-99 make it more clearly impossible for sock_hash() to return
+ a negative number.
+* CID 105, 106 ensure ntpdc arrays are not overrun even if callers
+ misbehave.
+* CID 113 use va_end() in refclock_true.c true_debug().
+* Get rid of configure tests for __ss_family and __ss_len when the more
+ common ss_family and ss_len are present.
+(4.2.5p237-RC) 2009/10/26 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 610] NMEA support for using PPSAPI on a different device.
+* [Bug 1238] use only fudge time2 to offset NMEA serial timestamp.
+* [Bug 1355] ntp-dev won't compile on OpenBSD 4.6.
+(4.2.5p236-RC) 2009/10/22 Released by Harlan Stenn <stenn@ntp.org>
+* Cleanup from Dave Mills.
+* [Bug 1343] ntpd/ntp_io.c close_fd() does not compile on Solaris 7.
+* [Bug 1353] ntpq "rv 0 settimeofday" always shows UNKNOWN on unix.
+* Do not attempt to execute built binaries from ntpd/Makefile when
+ cross-compiling (keyword-gen and ntpd --saveconfigquit).
+* sntp/main.c: Remove duplicate global adr_buf[] (also defined in
+ networking.c) which Piotr Grudzinski identified breaking his build.
+* Correct in6addr_any test in configure.ac to attempt link too.
+(4.2.5p235-RC) 2009/10/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1343] lib/isc build breaks on systems without IPv6 headers.
+(4.2.5p234-RC) 2009/10/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1339] redux, use unmodified lib/isc/win32/strerror.c and
+ move #define strerror... to a header not used by lib/isc code.
+* [Bug 1345] illegal 'grep' option prevents compilation.
+* [Bug 1346] keyword scanner broken where char defaults to unsigned.
+* [Bug 1347] ntpd/complete.conf missing multicastclient test case.
+(4.2.5p233-RC) 2009/10/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1337] cast setsockopt() v4 address pointer to void *.
+* [Bug 1342] ignore|drop one IPv6 address on an interface blocks all
+ addresses on that interface.
+* Documentation cleanup and updates.
+(4.2.5p232-RC) 2009/10/14 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1302] OpenSSL under Windows needs applink support.
+* [Bug 1337] fix incorrect args to setsockopt(fd, IP_MULTICAST_IF,...).
+* [Bug 1339] Fix Windows-only ntp_strerror() infinite recursion.
+* [Bug 1341] NMEA driver requires working PPSAPI #ifdef HAVE_PPSAPI.
+* Construct ntpd keyword scanner finite state machine at compile time
+ rather than at runtime, shrink entries from 40+ to 8 bytes.
+* Update documentation for ntpq --old-rv, saveconfig, saveconfigdir,
+ ntpd -I -L and -M, and interface/nic rules. (From Dave Hart)
+* [Bug 1337] fix incorrect args to setsockopt(fd, IP_MULTICAST_IF,...)
+(4.2.5p231-RC) 2009/10/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1335] Broadcast client degraded by wildcard default change.
+(4.2.5p230-RC) 2009/10/09 Released by Harlan Stenn <stenn@ntp.org>
+* Start the 4.2.6 Release Candidate cycle.
+* Broadcast and transit phase cleanup from Dave Mills.
+(4.2.5p229) 2009/10/07 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1334] ntpsnmpd undefined reference to `ntpqOptions'.
+* Change ntpsnmpd/Makefile.am include file order to fix FreeBSD build.
+(4.2.5p228) 2009/10/06 Released by Harlan Stenn <stenn@ntp.org>
+* Reclaim syntax tree memory after application in ntpd built with
+ configure --disable-saveconfig.
+* [Bug 1135] ntpq uses sizeof(u_long) where sizeof(u_int32) is meant.
+* [Bug 1333] ntpd --interface precedence over --novirtualips lost.
+(4.2.5p227) 2009/10/05 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1135] :config fails with "Server disallowed request"
+* [Bug 1330] disallow interface/nic rules when --novirtualips or
+ --interface are used.
+* [Bug 1332] ntpq -c 'rv 0 variablename' returns extra stuff.
+* Add test of ntpd --saveconfigquit fidelity using new complete.conf.
+* Documentation updates from Dave Hart/Dave Mills.
+(4.2.5p226) 2009/10/04 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1318] Allow multiple -g options on ntpd command line.
+* [Bug 1327] ntpq, ntpdc, ntp-keygen -d & -D should work with configure
+ --disable-debugging.
+* Add ntpd --saveconfigquit <filename> option for future build-time
+ testing of saveconfig fidelity.
+* Clockhop and autokey cleanup from Dave Mills.
+* Documentation updates from Dave Mills.
+(4.2.5p225) 2009/09/30 Released by Harlan Stenn <stenn@ntp.org>
+* authopt documentation changes from Dave Mills/Dave Hart.
+* [Bug 1324] support bracketed IPv6 numeric addresses for restrict.
+(4.2.5p224) 2009/09/29 Released by Harlan Stenn <stenn@ntp.org>
+* Clockhop and documentation fixes from Dave Mills.
+* Remove "tos maxhop" ntp.conf knob.
+(4.2.5p223) 2009/09/28 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1321] build doesn't work if . isn't on $PATH.
+* [Bug 1323] Implement "revoke #" to match documentation, deprecate
+ "crypto revoke #".
+(4.2.5p222) 2009/09/27 Released by Harlan Stenn <stenn@ntp.org>
+* 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.
+(4.2.5p221) 2009/09/26 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1316] segfault if refclock_nmea can't open file.
+* [Bug 1317] Distribute cvo.sh.
+(4.2.5p220) 2009/09/25 Released by Harlan Stenn <stenn@ntp.org>
+* Rearrange libisc code to match the upstream layout in BIND. This is
+ step one of two, changing the layout but keeping our existing libisc.
+(4.2.5p219) 2009/09/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1315] "interface ignore 0.0.0.0" is ignored.
+* 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.
+(4.2.5p218) 2009/09/21 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1314] saveconfig emits -4 and -6 on when not given.
+* 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.
+(4.2.5p217) 2009/09/20 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1300] reject remote configuration of dangerous items.
+(4.2.5p216) 2009/09/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1312] ntpq/ntpdc MD5 passwords truncated to 8 chars on Suns.
+* CID 10 missing free(up); in refclock_palisade.c error return, again.
+* CID 83 added assertion to demonstrate config_nic_rules() does not
+ call strchr(NULL, '/').
+(4.2.5p215) 2009/09/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1292] Workaround last VC6 unsigned __int64 kink.
+(4.2.5p214) 2009/09/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1303] remove top-level "autokey" directive.
+* use "nic listen 192.168.0.0/16" instead of
+ "nic listen 192.168.0.0 prefixlen 16".
+(4.2.5p213) 2009/09/16 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1310] fix Thunderbolt mode in refclock_palisade.c
+(4.2.5p212) 2009/09/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 983] add interface [listen | ignore | drop] ... directive.
+* [Bug 1243] MD5auth_setkey zero-fills key from first zero octet.
+* [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 1311] 4.2.5p211 doesn't build in no-debug mode.
+* document interface (alias nic) and unpeer.
+* Correct syntax error line & column numbers.
+* CID 79: kod_init_kod_db() fails to fclose(db_s) in two error paths.
+* CID 80: attempt to quiet Coverity false positive re: leaking "reason"
+ in main().
+* Documentation updates from Dave Mills.
+* CID 81: savedconfig leaked in save_config().
+* Make the code agree with the spec and the book (Dave Mills).
+(4.2.5p211) 2009/09/14 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 663] respect ntpq -c and -p order on command line.
+* [Bug 1292] more VC6 unsigned __int64 workarounds.
+* [Bug 1296] Added Support for Trimble Acutime Gold.
+(4.2.5p210) 2009/09/06 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1294] Use OPENSSL_INC and OPENSSL_LIB macros for Windows
+ and remove unnecessary reference to applink.c for Windows
+* [Bug 1295] trap directive options are not optional.
+* [Bug 1297] yylex() must always set yylval before returning.
+(4.2.5p209) 2009/09/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1290] Fix to use GETTIMEOFDAY macro
+* [Bug 1289] Update project files for VC6, VS2003, VS2005, VS 2008
+(4.2.5p208) 2009/08/30 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1293] make configuration dumper ready for release, specifically:
+* rename ntpq dumpcfg command to "saveconfig".
+* require authentication for saveconfig.
+* "restrict ... nomodify" prevents saveconfig and :config.
+* "saveconfig ." shorthand to save to startup configuration file.
+* support strftime() substitution in saveconfig arg to timestamp
+ the output filename, for example "saveconfig %Y%m%d-%H%M%S.conf".
+* display saveconfig response message from ntpd in ntpq.
+* save output filename in "savedconfig" variable, fetched with ntpq -c
+ "rv 0 savedconfig".
+* document saveconfig in html/ntpq.html.
+* add ./configure --disable-saveconfig to build a smaller ntpd.
+* log saveconfig failures and successes to syslog.
+(4.2.5p207) 2009/08/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1292] Minor Windows source tweaks for VC6-era SDK headers.
+(4.2.5p206) 2009/08/26 Released by Harlan Stenn <stenn@ntp.org>
+* accopt.html typo fixes from Dave Mills.
+* [Bug 1283] default to remembering KoD in sntp.
+* clean up numerous sntp/kod_management.c bugs.
+* use all addresses resolved from each DNS name in sntp.
+(4.2.5p205) 2009/08/18 Released by Harlan Stenn <stenn@ntp.org>
+* accopt.html typo fixes from Dave Mills.
+* [Bug 1285] Log ntpq :config/config-from-file events.
+* [Bug 1286] dumpcfg omits statsdir, mangles filegen.
+(4.2.5p204) 2009/08/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1284] infinite loop in ntpd dumping more than one trustedkey
+(4.2.5p203) 2009/08/16 Released by Harlan Stenn <stenn@ntp.org>
+* Add ntpq -c dumpcfg, Google Summer of Code project of Max Kuehn
+(4.2.5p202) 2009/08/14 Released by Harlan Stenn <stenn@ntp.org>
+* install the binary and man page for sntp.
+(4.2.5p201) 2009/08/13 Released by Harlan Stenn <stenn@ntp.org>
+* sntp: out with the old, in with the new.
+(4.2.5p200) 2009/08/12 Released by Harlan Stenn <stenn@ntp.org>
+* [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.
+(4.2.5p199) 2009/08/09 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1279] Cleanup for warnings from Veracode static analysis.
+(4.2.5p198) 2009/08/03 Released by Harlan Stenn <stenn@ntp.org>
+* Upgrade to autogen-5.9.9-pre5.
+(4.2.5p197) 2009/07/30 Released by Harlan Stenn <stenn@ntp.org>
+* The build script now has . at the end of PATH for config.guess.
+(4.2.5p196) 2009/07/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1272] gsoc_sntp IPv6 build problems under HP-UX 10.
+* [Bug 1273] CID 10: Palisade leaks unit struct in error path.
+* [Bug 1274] CID 67: ensure resolve_hosts() output count and pointers
+ are consistent.
+* [Bug 1275] CID 45: CID 46: old sntp uses uninitialized guesses[0],
+ precs[0].
+* [Bug 1276] CID 52: crypto_xmit() may call crypto_alice[23]()
+ with NULL peer.
+(4.2.5p195) 2009/07/27 Released by Harlan Stenn <stenn@ntp.org>
+* cvo.sh: Add support for CentOS, Fedora, Slackware, SuSE, and QNX.
+(4.2.5p194) 2009/07/26 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+* Use scripts/cvo.sh in the build script to get better subdir names.
+(4.2.5p193) 2009/07/25 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1261] CID 34: simulate_server() rbuf.msg_flags uninitialized.
+* [Bug 1262] CID 35: xpkt.mac uninitialized in simulate_server().
+* [Bug 1263] CID 37: CID 38: CID 40: CID 43: multiple refclocks
+ uninitialized tm_zone (arc, chronolog, dumbclock, pcf).
+* [Bug 1264] CID 64: gsoc_sntp on_wire() frees wrong ptr receiving KoD.
+* [Bug 1265] CID 65: CID 66: gsoc_sntp on_wire() leaks x_pkt, r_pkt.
+* [Bug 1266] CID 39: datum_pts_start() uninitialized arg.c_ospeed.
+* [Bug 1267] CID 44: old sntp handle_saving() writes stack garbage to
+ file when clearing.
+* [Bug 1268] CID 63: resolve_hosts() leaks error message buffer.
+* [Bug 1269] CID 74: use assertion to ensure move_fd() does not return
+ negative descriptors.
+* [Bug 1270] CID 70: gsoc_sntp recv_bcst_data mdevadr.ipv6mr_interface
+ uninitialized.
+(4.2.5p192) 2009/07/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 965] CID 42: ss_family uninitialized.
+* [Bug 1250] CID 53: kod_init_kod_db() overruns kod_db malloc'd buffer.
+* [Bug 1251] CID 68: search_entry() mishandles dst argument.
+* [Bug 1252] CID 32: Quiet Coverity warning with assertion.
+* [Bug 1253] CID 50: gsoc_sntp/crypto.c auth_init() always returns a
+ list with one entry.
+* [Bug 1254] CID 56: tv_to_str() leaks a struct tm each call.
+* [Bug 1255] CID 55: pkt_output() leaks a copy of each packet.
+* [Bug 1256] CID 51: Coverity doesn't recognize our assertion macros as
+ terminal.
+* [Bug 1257] CID 57: gsoc_sntp auth_init() fails to fclose(keyfile).
+* [Bug 1258] CID 54: gsoc_sntp resolve_hosts() needs simplification.
+* [Bug 1259] CID 59: gsoc_sntp recv_bcast_data() fails to free(rdata)
+ on error paths.
+* [Bug 1260] CID 60: gsoc_sntp recvpkt() fails to free(rdata).
+* Updated to AutoGen-5.9.9pre2.
+(4.2.5p191) 2009/07/21 Released by Harlan Stenn <stenn@ntp.org>
+* Updated to AutoGen-5.9.9pre1.
+(4.2.5p190) 2009/07/20 Released by Harlan Stenn <stenn@ntp.org>
+* Updated to AutoGen-5.9.8.
+* [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.
+* Log warning about signd blocking when restrict mssntp used.
+(4.2.5p189) 2009/07/16 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation cleanup from Dave Mills.
+(4.2.5p188) 2009/07/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1245] Broken xmt time sent in fast_xmit() of 4.2.5p187.
+(4.2.5p187) 2009/07/11 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1042] multicast listeners IPv4+6 ignore new interfaces.
+* [Bug 1237] Windows serial code treat CR and LF both as line
+ terminators.
+* [Bug 1238] use fudge time2 for serial timecode offset in NMEA driver.
+* [Bug 1242] Remove --enable-wintime, symmetric workaround is now
+ always enabled.
+* [Bug 1244] NTP_INSIST(fd != maxactivefd) failure in intres child
+* Added restrict keyword "mssntp" for Samba4 DC operation, by Dave Mills.
+(4.2.5p186) 2009/07/08 Released by Harlan Stenn <stenn@ntp.org>
+* ntp_proto.c cleanup from Dave Mills.
+(4.2.5p185) 2009/07/01 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+* [Bug 1234] convert NMEA driver to use common PPSAPI code.
+* timepps-Solaris.h pps_handle_t changed from pointer to scalar
+* Spectracom refclock added to Windows port of ntpd
+* [Bug 1236] Declaration order fixed.
+* Bracket private ONCORE debug statements with #if 0 rather than #ifdef
+ DEBUG
+* Delete ONCORE debug statement that is now handled elsewhere.
+(4.2.5p184) 2009/06/24 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1233] atom refclock fudge time1 sign flipped in 4.2.5p164.
+(4.2.5p183) 2009/06/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1196] setsockopt(SO_EXCLUSIVEADDRUSE) can fail on Windows 2000
+ and earlier with WSAINVAL, do not log a complaint in that case.
+* [Bug 1210] ONCORE driver terminates ntpd without logging a reason.
+* [Bug 1218] Correct comment in refclock_oncore on /etc/ntp.oncore*
+ configuration file search order.
+* Change ONCORE driver to log using msyslog as well as to any
+ clockstats file.
+* [Bug 1231] ntpsnmpd build fails after sockaddr union changes.
+(4.2.5p182) 2009/06/18 Released by Harlan Stenn <stenn@ntp.org>
+* Add missing header dependencies to the ntpdc layout verification.
+* prefer.html updates from Dave Mills.
+* [Bug 1205] Add ntpd --usepcc and --pccfreq options on Windows
+* [Bug 1215] unpeer by association ID
+* [Bug 1225] Broadcast address miscalculated on Windows 4.2.5p180
+* [Bug 1229] autokey segfaults in cert_install().
+* 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.
+(4.2.5p181) 2009/06/06 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1206] Required compiler changes for Windows
+* [Bug 1084] PPSAPI for ntpd on Windows with DLL backends
+* [Bug 1204] Unix-style refclock device paths on Windows
+* [Bug 1205] partial fix, disable RDTSC use by default on Windows
+* [Bug 1208] decodenetnum() buffer overrun on [ with no ]
+* [Bug 1211] keysdir free()d twice #ifdef DEBUG
+* Enable ONCORE, ARCRON refclocks on Windows (untested)
+(4.2.5p180) 2009/05/29 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1200] Enable IPv6 in Windows port
+* Lose FLAG_FIXPOLL, from Dave Mills.
+(4.2.5p179) 2009/05/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1041] xmt -> aorg timestamp cleanup from Dave Mills,
+ reported by Dave Hart.
+* [Bug 1193] Compile error: conflicting types for emalloc.
+* [Bug 1196] VC6 winsock2.h does not define SO_EXCLUSIVEADDRUSE.
+* Leap/expire cleanup from Dave Mills.
+(4.2.5p178) 2009/05/21 Released by Harlan Stenn <stenn@ntp.org>
+* Provide erealloc() and estrdup(), a la emalloc().
+* Improve ntp.conf's parser error messages.
+* [Bug 320] "restrict default ignore" does not affect IPv6.
+* [Bug 1192] "restrict -6 ..." reports a syntax error.
+(4.2.5p177) 2009/05/18 Released by Harlan Stenn <stenn@ntp.org>
+* Include 4.2.4p7
+* [Bug 1174] nmea_shutdown assumes that nmea has a unit assigned
+* [Bug 1190] NMEA refclock fudge flag4 1 obscures position in timecode
+* Update NMEA refclock documentation in html/drivers/driver20.html
+(4.2.5p176) 2009/05/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1154] mDNS registration should be done later, repeatedly and only
+ if asked for. (second try for fix)
+(4.2.5p175) 2009/05/12 Released by Harlan Stenn <stenn@ntp.org>
+* Include 4.2.4p7-RC7
+* [Bug 1180] ntpd won't start with more than ~1000 interfaces
+* [Bug 1182] Documentation typos and missing bits.
+* [Bug 1183] COM port support should extend past COM3
+* [Bug 1184] ntpd is deaf when restricted to second IP on the same net
+* Clean up configure.ac NTP_CACHEVERSION interface, display cache
+ version when clearing. Fixes a regression.
+(4.2.5p174) 2009/05/09 Released by Harlan Stenn <stenn@ntp.org>
+* Stale leapsecond file fixes from Dave Mills.
+(4.2.5p173) 2009/05/08 Released by Harlan Stenn <stenn@ntp.org>
+* Include 4.2.4p7-RC6
+(4.2.5p172) 2009/05/06 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1175] Instability in PLL daemon mode.
+* [Bug 1176] refclock_parse.c does not compile without PPSAPI.
+(4.2.5p171) 2009/05/04 Released by Harlan Stenn <stenn@ntp.org>
+* Autokey documentation cleanup from Dave Mills.
+* [Bug 1171] line editing libs found without headers (Solaris 11)
+* [Bug 1173] NMEA refclock fails with Solaris PPSAPI
+* Fix problem linking msntp on Solaris when sntp subdir is configured
+ before parent caused by different gethostent library search order.
+* Do not clear config.cache when it is empty.
+(4.2.5p170) 2009/05/02 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1152] adjust PARSE to new refclock_pps logic
+* Include 4.2.4p7-RC5
+* loopfilter FLL/PLL crossover cleanup from Dave Mills.
+* Documentation updates from Dave Mills.
+* ntp-keygen cleanup from Dave Mills.
+* crypto API cleanup from Dave Mills.
+* Add NTP_CACHEVERSION mechanism to ignore incompatible config.cache
+* Enable gcc -Wstrict-overflow for gsoc_sntp as well
+(4.2.5p169) 2009/04/30 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1171] Note that we never look for -lreadline by default.
+* [Bug 1090] Fix bogus leap seconds in refclock_hpgps.
+(4.2.5p168) 2009/04/29 Released by Harlan Stenn <stenn@ntp.org>
+* Include 4.2.4p7-RC4
+* [Bug 1169] quiet compiler warnings
+* Re-enable gcc -Wstrict-prototypes when not building with OpenSSL
+* Enable gcc -Wstrict-overflow
+* ntpq/ntpdc emit newline after accepting password on Windows
+* Updates from Dave Mills:
+* 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
+* [Bug 1166] Remove truncation of position (blanking) code in refclock_nmea.c
+(4.2.5p167) 2009/04/26 Released by Harlan Stenn <stenn@ntp.org>
+* Crypto cleanup from Dave Mills.
+(4.2.5p166) 2009/04/25 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1165] Clean up small memory leaks in the config file parser
+* 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.
+* [Bug 1057] ntpdc unconfig failure
+* [Bug 1161] unpeer AKA unconfig command for ntpq :config
+* PPS and crypto cleanup in ntp_proto.c from Dave Mills.
+(4.2.5p165) 2009/04/23 Released by Harlan Stenn <stenn@ntp.org>
+* WWVB refclock cleanup from Dave Mills.
+* Code cleanup: requested_key -> request_key.
+* [Bug 833] ignore whitespace at end of remote configuration lines
+* [Bug 1033] ntpdc/ntpq crash prompting for keyid on Windows
+* [Bug 1028] Support for W32Time authentication via Samba.
+* quiet ntp_parser.c malloc redeclaration warning
+* Mitigation and PPS/PPSAPI cleanup from Dave Mills.
+* Documentation updates from Dave Mills.
+* timepps-Solaris.h patches from Dave Hart.
+(4.2.5p164) 2009/04/22 Released by Harlan Stenn <stenn@ntp.org>
+* Include 4.2.4p7-RC3
+* PPS/PPSAPI cleanup from Dave Mills.
+* Documentation updates from Dave Mills.
+* [Bug 1125] C runtime per-thread initialization on Windows
+* [Bug 1152] temporarily disable refclock_parse, refclock_true until
+ maintainers can repair build break from pps_sample()
+* [Bug 1153] refclock_nmea should not mix UTC with GPS time
+* [Bug 1159] ntpq overlap diagnostic message test buggy
+(4.2.5p163) 2009/04/10 Released by Harlan Stenn <stenn@ntp.org>
+(4.2.5p162) 2009/04/09 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+* Mitigation and PPS cleanup from Dave Mills.
+* Include 4.2.4p7-RC2
+* [Bug 216] New interpolation scheme for Windows eliminates 1ms jitter
+* 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.
+* [Bug 1148] NMEA reference clock improvements
+* remove deleted gsoc_sntp/utilities.o from repository so that .o build
+ products can be cleaned up without corrupting the repository.
+(4.2.5p161) 2009/03/31 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+(4.2.5p160) 2009/03/30 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1141] refclock_report missing braces cause spurious "peer event:
+ clock clk_unspec" log entries
+* Include 4.2.4p7-RC1
+(4.2.5p159) 2009/03/28 Released by Harlan Stenn <stenn@ntp.org>
+* "bias" changes from Dave Mills.
+(4.2.5p158) 2009/01/30 Released by Harlan Stenn <stenn@ntp.org>
+* Fix [CID 72], a typo introduced at the latest fix to prettydate.c.
+(4.2.5p157) 2009/01/26 Released by Harlan Stenn <stenn@ntp.org>
+* Cleanup/fixes for ntp_proto.c and ntp_crypto.c from Dave Mills.
+(4.2.5p156) 2009/01/19 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1118] Fixed sign extension for 32 bit time_t in caljulian() and prettydate().
+ Fixed some compiler warnings about missing prototypes.
+ Fixed some other simple compiler warnings.
+* [Bug 1119] [CID 52] Avoid a possible null-dereference in ntp_crypto.c.
+* [Bug 1120] [CID 51] INSIST that peer is non-null before we dereference it.
+* [Bug 1121] [CID 47] double fclose() in ntp-keygen.c.
+(4.2.5p155) 2009/01/18 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+* CHU frequency updates.
+* Design assertion fixes for ntp_crypto.c from Dave Mills.
+(4.2.5p154) 2009/01/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 992] support interface event change on Linux from
+ Miroslav Lichvar.
+(4.2.5p153) 2009/01/09 Released by Harlan Stenn <stenn@ntp.org>
+* Renamed gsoc_sntp/:fetch-stubs to gsoc_sntp/fetch-stubs to avoid
+ file name problems under Windows.
+ Removed German umlaut from log msg for 4.2.5p142.
+(4.2.5p152) 2009/01/08 Released by Harlan Stenn <stenn@ntp.org>
+* Include 4.2.4p6: 2009/01/08 Released by Harlan Stenn <stenn@ntp.org>
+(4.2.5p151) 2008/12/23 Released by Harlan Stenn <stenn@ntp.org>
+* Stats file logging cleanup from Dave Mills.
+(4.2.5p150) 2008/12/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1099] Fixed wrong behaviour in sntp's crypto.c.
+* [Bug 1103] Fix 64-bit issues in the new calendar code.
+(4.2.5p149) 2008/12/05 Released by Harlan Stenn <stenn@ntp.org>
+* Fixed mismatches in data types and OID definitions in ntpSnmpSubAgent.c
+* added a premliminary MIB file to ntpsnmpd (ntpv4-mib.mib)
+(4.2.5p148) 2008/12/04 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1070] Fix use of ntpq_parsestring() in ntpsnmpd.
+(4.2.5p147) 2008/11/27 Released by Harlan Stenn <stenn@ntp.org>
+* Update gsoc_sntp's GCC warning code.
+(4.2.5p146) 2008/11/26 Released by Harlan Stenn <stenn@ntp.org>
+* Update Solaris CFLAGS for gsoc_sntp.
+(4.2.5p145) 2008/11/20 Released by Harlan Stenn <stenn@ntp.org>
+* 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.
+* Provide INET6_ADDRSTRLEN if it is missing.
+* [Bug 1095] overflow in caljulian.c.
+(4.2.5p144) 2008/11/19 Released by Harlan Stenn <stenn@ntp.org>
+* Use int32, not int32_t.
+* Avoid the sched*() functions under OSF - link problems.
+(4.2.5p143) 2008/11/17 Released by Harlan Stenn <stenn@ntp.org>
+* sntp cleanup and fixes.
+(4.2.5p142) 2008/11/16 Released by Harlan Stenn <stenn@ntp.org>
+* Imported GSoC SNTP code from Johannes Maximilian Kuehn.
+(4.2.5p141) 2008/11/13 Released by Harlan Stenn <stenn@ntp.org>
+* New caltontp.c and calyearstart.c from Juergen Perlinger.
+(4.2.5p140) 2008/11/12 Released by Harlan Stenn <stenn@ntp.org>
+* Cleanup lint from the ntp_scanner files.
+* [Bug 1011] gmtime() returns NULL on windows where it would not under Unix.
+* Updated caljulian.c and prettydate.c from Juergen Perlinger.
+(4.2.5p139) 2008/11/11 Released by Harlan Stenn <stenn@ntp.org>
+* Typo fix to driver20.html.
+(4.2.5p138) 2008/11/10 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 474] --disable-ipv6 is broken.
+* IPv6 interfaces were being looked for twice.
+* SHM driver grabs more samples, add clockstats
+* decode.html and driver20.html updates from Dave Mills.
+(4.2.5p137) 2008/11/01 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1069] #undef netsnmp's PACKAGE_* macros.
+* [Bug 1068] Older versions of netsnmp do not have netsnmp_daemonize().
+(4.2.5p136) 2008/10/27 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1078] statsdir configuration parsing is broken.
+(4.2.5p135) 2008/09/23 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1072] clock_update should not allow updates older than sys_epoch.
+(4.2.5p134) 2008/09/17 Released by Harlan Stenn <stenn@ntp.org>
+* Clean up build process for ntpsnmpd.
+(4.2.5p133) 2008/09/16 Released by Harlan Stenn <stenn@ntp.org>
+* Add options processing to ntpsnmpd.
+* [Bug 1062] Check net-snmp headers before deciding to build ntpsnmpd.
+* Clean up the libntpq.a build.
+* Regenerate ntp_parser.[ch] from ntp_parser.y
+(4.2.5p132) 2008/09/15 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1067] Multicast DNS service registration must come after the fork
+ on Solaris.
+* [Bug 1066] Error messages should log as errors.
+(4.2.5p131) 2008/09/14 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1065] Re-enable support for the timingstats file.
+(4.2.5p130) 2008/09/13 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1064] Implement --with-net-snmp-config=progname
+* [Bug 1063] ntpSnmpSubagentObject.h is missing from the distribution.
+(4.2.5p129) 2008/09/11 Released by Harlan Stenn <stenn@ntp.org>
+* Quiet some libntpq-related warnings.
+(4.2.5p128) 2008/09/08 Released by Harlan Stenn <stenn@ntp.org>
+* Import Heiko Gerstung's GSoC2008 NTP MIB daemon.
+(4.2.5p127) 2008/09/01 Released by Harlan Stenn <stenn@ntp.org>
+* Regenerate ntpd/ntp_parser.c
+(4.2.5p126) 2008/08/31 Released by Harlan Stenn <stenn@ntp.org>
+* Stop libtool-1.5 from looking for C++ or Fortran.
+* [BUG 610] Documentation update for NMEA reference clock driver.
+* [Bug 828] Fix IPv4/IPv6 address parsing.
+* Changes from Dave Mills:
+ Documentation updates.
+ 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.
+(4.2.5p125) 2008/08/18 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 1052] Add linuxPPS support to ONCORE driver.
+(4.2.5p124) 2008/08/17 Released by Harlan Stenn <stenn@ntp.org>
+* Documentation updates from Dave Mills.
+* Include 4.2.4p5: 2008/08/17 Released by Harlan Stenn <stenn@ntp.org>
+* [Bug 861] leap info was not being transmitted.
+* [Bug 1046] refnumtoa0.c is using the wrong header file.
+* [Bug 1047] enable/disable options processing fix.
+* header file cleanup.
+* [Bug 1037] buffer in subroutine was 1 byte short.
+* 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.
+* Documentation updates from Dave Mills.
+* [Bug 1037] Use all 16 of the MD5 passwords generated by ntp-keygen.
+* Fixed the incorrect edge parameter being passed to time_pps_kcbind in
+ NMEA refclock driver.
+* [Bug 399] NMEA refclock driver does not honor time1 offset if flag3 set.
+* [Bug 985] Modifications to NMEA reference clock driver to support Accord
+ GPS Clock.
+* poll time updates from Dave Mills.
+* local refclock documentation updates from Dave Mills.
+* [Bug 1022] Fix compilation problems with yesterday's commit.
+* 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.
+
+ 1. 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.
+
+ 2. 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.
+
+ 3. 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.
+
+ 4. 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.
+
+ 5. The flake restrict bit turned out to be really interesting,
+ especially with symmtric 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.
+
+ 6. 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.
+
+* Updates and cleanup from Dave Mills.
+* [Bug 995] Remove spurious ; from ntp-keygen.c.
+* More cleanup and changes from Dave Mills.
+* [Bug 980] Direct help to stdout.
+---
+(4.2.4p8) 2009/12/08 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Sec 1331] DoS with mode 7 packets - CVE-2009-3563.
+
+---
+(4.2.4p7) 2009/05/18 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Sec 1151] Remote exploit if autokey is enabled - CVE-2009-1252.
+* [Bug 1187] Update the copyright date.
+* [Bug 1191] ntpd fails on Win2000 - "Address already in use" after fix
+ for [Sec 1149].
+
+---
+(4.2.4p7-RC7) 2009/05/12 Released by Harlan Stenn <stenn@ntp.org>
+
+* ntp.isc.org -> ntp.org cleanup.
+* [Bug 1178] Use prior FORCE_DNSRETRY behavior as needed at runtime,
+ add configure --enable-ignore-dns-errors to be even more stubborn
+
+---
+(4.2.4p7-RC6) 2009/05/08 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 784] Make --enable-linuxcaps the default when available
+* [Bug 1179] error messages for -u/--user and -i lacking droproot
+* Updated JJY reference clock driver from Takao Abe
+* [Bug 1071] Log a message and exit before trying to use FD_SET with a
+ descriptor larger than FD_SETSIZE, which will corrupt memory
+* On corruption of the iface list head in add_interface, log and exit
+
+---
+(4.2.4p7-RC5) 2009/05/02 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1172] 4.2.4p7-RC{3,4} fail to build on linux.
+* flock-build script unportable 'set -m' use removed
+
+---
+(4.2.4p7-RC4) 2009/04/29 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1167] use gcc -Winit-self only if it is understood
+
+---
+(4.2.4p7-RC3) 2009/04/22 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 787] Bug fixes for 64-bit time_t on Windows
+* [Bug 813] Conditional naming of Event
+* [Bug 1147] System errors should be logged to msyslog()
+* [Bug 1155] Fix compile problem on Windows with VS2005
+* [Bug 1156] lock_thread_to_processor() should be declared in header
+* [Bug 1157] quiet OpenSSL warnings, clean up configure.ac
+* [Bug 1158] support for aix6.1
+* [Bug 1160] MacOS X is like BSD regarding F_SETOWN
+
+---
+(4.2.4p7-RC2) 2009/04/09 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Sec 1144] limited buffer overflow in ntpq. CVE-2009-0159
+* [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows
+
+---
+(4.2.4p7-RC1) 2009/03/30 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1131] UDP sockets should not use SIGPOLL on Solaris.
+* build system email address cleanup
+* [Bug 774] parsesolaris.c does not compile under the new Solaris
+* [Bug 873] Windows serial refclock proper TTY line discipline emulation
+* [Bug 1014] Enable building with VC9 (in Visual Studio 2008,
+ Visual C++ 2008, or SDK)
+* [Bug 1117] Deferred interface binding under Windows works only correctly
+ if FORCE_DNSRETRY is defined
+* [BUG 1124] Lock QueryPerformanceCounter() client threads to same CPU
+* DPRINTF macro made safer, always evaluates to a statement and will not
+ misassociate an else which follows the macro.
+
+---
+(4.2.4p6) 2009/01/08 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 1113] Fixed build errors with recent versions of openSSL.
+* [Sec 1111] Fix incorrect check of EVP_VerifyFinal()'s return value.
+* Update the copyright year.
+
+---
+(4.2.4p5) 2008/08/17 Released by Harlan Stenn <stenn@ntp.org>
+
+* [BUG 1051] Month off by one in leap second message written to clockstats
+ file fixed.
+* [Bug 450] Windows only: Under original Windows NT we must not discard the
+ wildcard socket to workaround a bug in NT's getsockname().
+* [Bug 1038] Built-in getpass() function also prompts for password if
+ not built with DEBUG.
+* [Bug 841] Obsolete the "dynamic" keyword and make deferred binding
+ to local interfaces the default.
+ Emit a warning if that keyword is used for configuration.
+* [Bug 959] Refclock on Windows not properly releasing recvbuffs.
+* [Bug 993] Fix memory leak when fetching system messages.
+* much cleanup, fixes, and changes from Dave Mills.
+* ntp_control.c: LEAPTAB is a filestamp, not an unsigned. From Dave Mills.
+* ntp_config.c: ntp_minpoll fixes from Dave Mills.
+* ntp-keygen updates from Dave Mills.
+* refresh epoch, throttle, and leap cleanup from Dave Mills.
+* Documentation cleanup from Dave Mills.
+* [Bug 918] Only use a native md5.h if MD5Init() is available.
+* [Bug 979] Provide ntptimeval if it is not otherwise present.
+* [Bug 634] Re-instantiate syslog() and logfiles after the daemon fork.
+* [Bug 952] Use md5 code with a friendlier license.
+* [Bug 977] Fix mismatching #ifdefs for builds without IPv6.
+* [Bug 830] Fix the checking order of the interface options.
+* Clean up the logfile/syslog setup.
+* [Bug 970] Lose obsolete -g flag to ntp-keygen.
+* The -e flag to ntp-keygen can write GQ keys now, too.
+* ntp_proto.c: sys_survivors and hpoll cleanup from Dave Mills.
+* ntp_loopfilter.c: sys_poll cleanup from Dave Mills.
+* refclock_wwv.c: maximum-likelihood digit and DSYNC fixes from Dave Mills.
+* [Bug 967] preemptable associations are lost forever on a step.
+* ntp_config.c: [CID 48] missing "else" clause.
+* [Bug 833] ntpq config keyword is quote-mark unfriendly.
+* Rename the ntpq "config" keyword to ":config".
+* Dave Mills shifted some orphan processing.
+* Fix typos in the [Bug 963] patch.
+* bootstrap: squawk if genver fails. Use -f with cp in case Dave does a chown.
+* Remove obsolete simulator command-line options.
+* ntp_request.c: [CID 36] zero sin_zero.
+* [Bug 963] get_systime() is too noisy.
+* [Bug 960] spurious syslog:crypto_setup:spurious crypto command
+* [Bug 964] Change *-*-linux* to *-*-*linux* to allow for uclinux.
+* Changes from Dave Mills:
+ - ntp_util.c: cleanup.
+ - ntp_timer.c: watch the non-burst packet rate.
+ - ntp_request.c: cleanup.
+ - ntp_restrict.c: RES_LIMITED cleanup.
+ - ntp_proto.c: RES_LIMITED, rate bucktes, counters, overall cleanup.
+ - ntp_peer.c: disallow peer_unconfig().
+ - ntp_monitor.c: RES_LIMITED cleanup.
+ - ntp_loopfilter.c: poll interval cleanup.
+ - ntp_crypto.c: volley -> retry. Cleanup TAI leap message.
+ - ntp_config: average and minimum are ^2 values.
+ - ntpdc: unknownversion is really "declined", not "bad version".
+ - Packet retry cleanup.
+* [Bug 961] refclock_tpro.c:tpro_poll() calls refclock_receive() twice.
+* [Bug 957] Windows only: Let command line parameters from the Windows SCM GUI
+ override the standard parameters from the ImagePath registry key.
+* Added HAVE_INT32_T to the Windows config.h to avoid duplicate definitions.
+* Work around a VPATH difference in FreeBSD's 'make' command.
+* Update bugreport URL.
+* Update -I documentation.
+* [Bug 713] Fix bug reporting information.
+* A bug in the application of the negative-sawtooth for 12 channel receivers.
+* The removal of unneeded startup code used for the original LinuxPPS, it now
+ conforms to the PPSAPI and does not need special code.
+* ntp-keygen.c: Coverity fixes [CID 33,47].
+* Volley cleanup from Dave Mills.
+* Fuzz cleanup from Dave Mills.
+* [Bug 861] Leap second cleanups from Dave Mills.
+* ntpsim.c: add missing protypes and fix [CID 34], a nit.
+* Upgraded bison at UDel.
+* Update br-flock and flock-build machine lists.
+* [Bug 752] QoS: add parse/config handling code.
+* Fix the #include order in tickadj.c for picky machines.
+* [Bug 752] QoS: On some systems, netinet/ip.h needs netinet/ip_systm.h.
+* [Bug 752] Update the QoS tagging (code only - configuration to follow).
+* Orphan mode and other protocol cleanup from Dave Mills.
+* Documentation cleanup from Dave Mills.
+* [Bug 940] ntp-keygen uses -v. Disallow it as a shortcut for --version.
+* more cleanup to ntp_lineeditlibs.m4.
+* Documentation updates from Dave Mills.
+* -ledit cleanup for ntpdc and ntpq.
+* Association and other cleanup from Dave Mills.
+* NTP_UNREACH changes from Dave Mills.
+* Fix the readline history test.
+* [Bug 931] Require -lreadline to be asked for explicitly.
+* [Bug 764] When looking for -lreadline support, also try using -lncurses.
+* [Bug 909] Fix int32_t errors for ntohl().
+* [Bug 376/214] Enhancements to support multiple if names and IP addresses.
+* [Bug 929] int32_t is undefined on Windows. Casting wrong.
+* [Bug 928] readlink missing braces.
+* [Bug 788] Update macros to support VS 2005.
+* ntpd/ntp_timer.c: add missing sys_tai parameter for debug printf
+* [Bug 917] config parse leaves files open
+* [Bug 912] detect conflicting enable/disable configuration on interfaces
+ sharing an IP address
+* [Bug 771] compare scopeid if available for IPv6 addresses
+* Lose obsolete crypto subcommands (Dave Mills).
+* WWV is an HF source, not an LF source (Dave Mills).
+* [Bug 899] Only show -i/--jaildir -u/--user options if we HAVE_DROPROOT.
+* [Bug 916] 'cryptosw' is undefined if built without OpenSSL.
+* [Bug 891] 'restrict' config file keyword does not work (partial fix).
+* [Bug 890] the crypto command seems to be required now.
+* [Bug 915] ntpd cores during processing of x509 certificates.
+* Crypto lint cleanup from Dave Mills.
+* [Bug 897] Check RAND_status() - we may not need a .rnd file.
+* Crypto cleanup from Dave Mills.
+* [Bug 911] Fix error message in cmd_args.c.
+* [Bug 895] Log assertion failures via syslog(), not stderr.
+* Documentation updates from Dave Mills.
+* Crypto cleanup from Dave Mills.
+* [Bug 905] ntp_crypto.c fails to compile without -DDEBUG.
+* Avoid double peer stats logging.
+* ntp-keygen cleanup from Dave Mills.
+* libopts needs to be built after ElectricFence.
+* [Bug 894] Initialize keysdir before calling crypto_setup().
+* Calysto cleanup for ntpq.
+* ntp-keygen -i takes an arg.
+* Cleanup and fixes from Dave Mills.
+* [Bug 887] Fix error in ntp_types.h (for sizeof int != 4).
+* Bug 880 bug fixes for Windows build
+* Improve Calysto support.
+* The "revoke" parameter is a crypto command.
+* The driftfile wander threshold is a real number.
+* [Bug 850] Fix the wander threshold parameter on the driftfile command.
+* ntp_io.c: Dead code cleanup - Coverity View 19.
+* Leap file related cleanup from Dave Mills.
+* ntp_peer.c: Set peer->srcadr before (not after) calling set_peerdstadr().
+* Initialize offset in leap_file() - Coverity View 17.
+* Use the correct stratum on KISS codes.
+* Fuzz bits cleanup.
+* Show more digits in some debug printf's.
+* Use drift_file_sw internally to control writing the drift file.
+* Implement the wander_threshold option for the driftfile config keyword.
+* reformat ntp_control.c; do not use c++ // comments.
+* [Bug 629] Undo bug #629 fixes as they cause more problems than were being
+ solved
+* Changes from Dave Mills: in/out-bound data rates, leapsecond cleanup,
+ driftfile write cleanup, packet buffer length checks, documentation updates.
+* More assertion checks and malloc()->emalloc(), courtesy of Calysto.
+* [Bug 864] Place ntpd service in maintenance mode if using SMF on Solaris
+* [Bug 862] includefile nesting; preserve phonelist on reconfig.
+* [Bug 604] ntpd regularly dies on linux/alpha.
+* more leap second infrastructure fixes from Dave Mills.
+* [Bug 858] recent leapfile changes broke non-OpenSSL builds.
+* Use emalloc() instead of malloc() in refclock_datum.c (Calysto).
+* Start using 'design by contract' assertions.
+* [Bug 767] Fast sync to refclocks wanted.
+* Allow null driftfile.
+* Use YYERROR_VERBOSE for the new parser, and fix related BUILT_SOURCES.
+* [Bug 629] changes to ensure broadcast works including on wildcard addresses
+* [Bug 853] get_node() must return a pointer to maximally-aligned memory.
+* Initial leap file fixes from Dave Mills.
+* [Bug 858] Recent leapfile changes broke without OPENSSL.
+* Use a char for DIR_SEP, not a string.
+* [Bug 850] driftfile parsing changes.
+* driftfile maintenance changes from Dave Mills. Use clock_phi instead of
+ stats_write_tolerance.
+* [Bug 828] refid string not being parsed correctly.
+* [Bug 846] Correct includefile parsing.
+* [Bug 827] New parsing code does not handle "fudge" correctly.
+* Enable debugging capability in the config parser.
+* [Bug 839] Crypto password not read from ntp.conf.
+* Have autogen produce writable output files.
+* [Bug 825] Correct logconfig -/+ keyword processing.
+* [Bug 828] Correct parsing of " delimited strings.
+* Cleanup FILE * usage after fclose() in ntp_filegen.c.
+* [Bug 843] Windows Completion port code was incorrectly merged from -stable.
+* [Bug 840] do fudge configuration AFTER peers (thus refclocks) have been
+ configured.
+* [Bug 824] Added new parser modules to the Windows project file.
+* [Bug 832] Add libisc/log.c headers to the distribution.
+* [Bug 808] Only write the drift file if we are in state 4.
+* Initial import of libisc/log.c and friends.
+* [Bug 826] Fix redefinition of PI.
+* [Bug 825] ntp_scanner.c needs to #include <config.h> .
+* [Bug 824] New parser code has some build problems with the SIM code.
+* [Bug 817] Use longnames for setting ntp variables on the command-line;
+ Allowing '-v' with and without an arg to disambiguate usage is error-prone.
+* [Bug 822] set progname once, early.
+* [Bug 819] remove erroneous #if 0 in Windows completion port code.
+* The new config code missed an #ifdef for building without refclocks.
+* Distribute some files needed by the new config parsing code.
+* [Bug 819] Timeout for WaitForMultipleObjects was 500ms instead of INFINITE
+* Use autogen 5.9.1.
+* Fix clktest command-line arg processing.'
+* Audio documentation updates from Dave Mills.
+* New config file parsing code, from Sachin Kamboj.
+* fuzz bit cleanup from Dave Mills.
+* replay cleanup from Dave Mills.
+* [Bug 542] Tolerate missing directory separator at EO statsdir.
+* [Bug 812] ntpd should drop supplementary groups.
+* [Bug 815] Fix warning compiling 4.2.5p22 under Windows with VC6.
+* [Bug 740] Fix kernel/daemon startup drift anomaly.
+* refclock_wwv.c fixes from Dave Mills.
+* [Bug 810] Fix ntp-keygen documentation.
+* [Bug 787] Bug fixes for 64-bit time_t on Windows.
+* [Bug 796] Clean up duplicate #defines in ntp_control.c.
+* [Bug 569] Use the correct precision for the Leitch CSD-5300.
+* [Bug 795] Moved declaration of variable to top of function.
+* [Bug 798] ntpq [p typo crashes ntpq/ntpdc.
+* [Bug 786] Fix refclock_bancomm.c on Solaris.
+* [Bug 774] parsesolaris.c does not compile under the new Solaris.
+* [Bug 782] Remove P() macros from Windows files.
+* [Bug 778] ntpd fails to lock with drift=+500 when started with drift=-500.
+* [Bug 592] Trimble Thunderbolt GPS support.
+* IRIG, CHU, WWV, WWVB refclock improvements from Dave Mills.
+* [Bug 757] Lose ULONG_CONST().
+* [Bug 756] Require ANSI C (function prototypes).
+* codec (audio) and ICOM changes from Dave Mills.
+
+---
+
+* [Bug 450] Windows only: Under original Windows NT we must not discard the
+ wildcard socket to workaround a bug in NT's getsockname().
+* [Bug 1038] Built-in getpass() function also prompts for password if
+ not built with DEBUG.
+* [Bug 841] Obsolete the "dynamic" keyword and make deferred binding
+ to local interfaces the default.
+ Emit a warning if that keyword is used for configuration.
+* [Bug 959] Refclock on Windows not properly releasing recvbuffs.
+* [Bug 993] Fix memory leak when fetching system messages.
+* [Bug 987] Wake up the resolver thread/process when a new interface has
+ become available.
+* Correctly apply negative-sawtooth for oncore 12 channel receiver.
+* Startup code for original LinuxPPS removed. LinuxPPS now conforms to
+ the PPSAPI.
+* [Bug 1000] allow implicit receive buffer allocation for Windows.
+ fixes startup for windows systems with many interfaces.
+ reduces dropped packets on network bursts.
+ additionally fix timer() starvation during high load.
+* [Bug 990] drop minimum time restriction for interface update interval.
+* [Bug 977] Fix mismatching #ifdefs for builds without IPv6.
+* Update the copyright year.
+* Build system cleanup (make autogen-generated files writable).
+* [Bug 957] Windows only: Let command line parameters from the Windows SCM GUI
+ override the standard parameters from the ImagePath registry key.
+* Fixes for ntpdate:
+* [Bug 532] nptdate timeout is too long if several servers are supplied.
+* [Bug 698] timeBeginPeriod is called without timeEndPeriod in some NTP tools.
+* [Bug 857] ntpdate debug mode adjusts system clock when it shouldn't.
+* [Bug 908] ntpdate crashes sometimes.
+* [Bug 982] ntpdate(and ntptimeset) buffer overrun if HAVE_POLL_H isn't set
+ (dup of 908).
+* [Bug 997] ntpdate buffer too small and unsafe.
+* ntpdate.c: Under Windows check whether NTP port in use under same conditions
+ as under other OSs.
+* ntpdate.c: Fixed some typos and indents (tabs/spaces).
+
+(4.2.4p4) Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 902] Fix problems with the -6 flag.
+* Updated include/copyright.def (owner and year).
+* [Bug 878] Avoid ntpdc use of refid value as unterminated string.
+* [Bug 881] Corrected display of pll offset on 64bit systems.
+* [Bug 886] Corrected sign handling on 64bit in ntpdc loopinfo command.
+* [Bug 889] avoid malloc() interrupted by SIGIO risk
+* ntpd/refclock_parse.c: cleanup shutdown while the file descriptor is still
+ open.
+* [Bug 885] use emalloc() to get a message at the end of the memory
+ unsigned types cannot be less than 0
+ default_ai_family is a short
+ lose trailing , from enum list
+ clarify ntp_restrict.c for easier automated analysis
+* [Bug 884] don't access recv buffers after having them passed to the free
+ list.
+* [Bug 882] allow loopback interfaces to share addresses with other
+ interfaces.
+
+---
+(4.2.4p3) Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 863] unable to stop ntpd on Windows as the handle reference for events
+ changed
+
+---
+(4.2.4p2) Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 854] Broadcast address was not correctly set for interface addresses
+* [Bug 829] reduce syslog noise, while there fix Enabled/Disable logging
+ to reflect the actual configuration.
+* [Bug 795] Moved declaration of variable to top of function.
+* [Bug 789] Fix multicast client crypto authentication and make sure arriving
+ multicast packets do not disturb the autokey dance.
+* [Bug 785] improve handling of multicast interfaces
+ (multicast routers still need to run a multicast routing software/daemon)
+* ntpd/refclock_parse.c: cleanup shutdown while the file descriptor is still
+ open.
+* [Bug 885] use emalloc() to get a message at the end of the memory
+ unsigned types cannot be less than 0
+ default_ai_family is a short
+ lose trailing , from enum list
+* [Bug 884] don't access recv buffers after having them passed to the free list.
+* [Bug 882] allow loopback interfaces to share addresses with other interfaces.
+* [Bug 527] Don't write from source address length to wrong location
+* Upgraded autogen and libopts.
+* [Bug 811] ntpd should not read a .ntprc file.
+
+---
+(4.2.4p1) (skipped)
+
+---
+(4.2.4p0) Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 793] Update Hans Lambermont's email address in ntpsweep.
+* [Bug 776] Remove unimplemented "rate" flag from ntpdate.
+* [Bug 586] Avoid lookups if AI_NUMERICHOST is set.
+* [Bug 770] Fix numeric parameters to ntp-keygen (Alain Guibert).
+* [Bug 768] Fix io_setbclient() error message.
+* [Bug 765] Use net_bind_service capability on linux.
+* [Bug 760] The background resolver must be aware of the 'dynamic' keyword.
+* [Bug 753] make union timestamp anonymous (Philip Prindeville).
+* confopt.html: move description for "dynamic" keyword into the right section.
+* pick the right type for the recv*() length argument.
+
+---
+(4.2.4) Released by Harlan Stenn <stenn@ntp.org>
+
+* monopt.html fixes from Dave Mills.
+* [Bug 452] Do not report kernel PLL/FLL flips.
+* [Bug 746] Expert mouseCLOCK USB v2.0 support added.'
+* driver8.html updates.
+* [Bug 747] Drop <NOBR> tags from ntpdc.html.
+* sntp now uses the returned precision to control decimal places.
+* sntp -u will use an unprivileged port for its queries.
+* [Bug 741] "burst" doesn't work with !unfit peers.
+* [Bug 735] Fix a make/gmake VPATH issue on Solaris.
+* [Bug 739] ntpd -x should not take an argument.
+* [Bug 737] Some systems need help providing struct iovec.
+* [Bug 717] Fix libopts compile problem.
+* [Bug 728] parse documentation fixes.
+* [Bug 734] setsockopt(..., IP_MULTICAST_IF, ...) fails on 64-bit platforms.
+* [Bug 732] C-DEX JST2000 patch from Hideo Kuramatsu.
+* [Bug 721] check for __ss_family and __ss_len separately.
+* [Bug 666] ntpq opeers displays jitter rather than dispersion.
+* [Bug 718] Use the recommended type for the saddrlen arg to getsockname().
+* [Bug 715] Fix a multicast issue under Linux.
+* [Bug 690] Fix a Windows DNS lookup buffer overflow.
+* [Bug 670] Resolved a Windows issue with the dynamic interface rescan code.
+* K&R C support is being deprecated.
+* [Bug 714] ntpq -p should conflict with -i, not -c.
+* WWV refclock improvements from Dave Mills.
+* [Bug 708] Use thread affinity only for the clock interpolation thread.
+* [Bug 706] ntpd can be running several times in parallel.
+* [Bug 704] Documentation typos.
+* [Bug 701] coverity: NULL dereference in ntp_peer.c
+* [Bug 695] libopts does not protect against macro collisions.
+* [Bug 693] __adjtimex is independent of ntp_{adj,get}time.
+* [Bug 692] sys_limitrejected was not being incremented.
+* [Bug 691] restrictions() assumption not always valid.
+* [Bug 689] Deprecate HEATH GC-1001 II; the driver never worked.
+* [Bug 688] Fix documentation typos.
+* [Bug 686] Handle leap seconds better under Windows.
+* [Bug 685] Use the Windows multimedia timer.
+* [Bug 684] Only allow debug options if debugging is enabled.
+* [Bug 683] Use the right version string.
+* [Bug 680] Fix the generated version string on Windows.
+* [Bug 678] Use the correct size for control messages.
+* [Bug 677] Do not check uint_t in configure.ac.
+* [Bug 676] Use the right value for msg_namelen.
+* [Bug 675] Make sure ntpd builds without debugging.
+* [Bug 672] Fix cross-platform structure padding/size differences.
+* [Bug 660] New TIMESTAMP code fails tp build on Solaris Express.
+* [Bug 659] libopts does not build under Windows.
+* [Bug 658] HP-UX with cc needs -Wp,-H8166 in CFLAGS.
+* [Bug 656] ntpdate doesn't work with multicast address.
+* [Bug 638] STREAMS_TLI is deprecated - remove it.
+* [Bug 635] Fix tOptions definition.
+* [Bug 628] Fallback to ntp discipline not working for large offsets.
+* [Bug 622] Dynamic interface tracking for ntpd.
+* [Bug 603] Don't link with libelf if it's not needed.
+* [Bug 523] ntpd service under Windows does't shut down properly.
+* [Bug 500] sntp should always be built.
+* [Bug 479] Fix the -P option.
+* [Bug 421] Support the bc637PCI-U card.
+* [Bug 342] Deprecate broken TRAK refclock driver.
+* [Bug 340] Deprecate broken MSF EES refclock driver.
+* [Bug 153] Don't do DNS lookups on address masks.
+* [Bug 143] Fix interrupted system call on HP-UX.
+* [Bug 42] Distribution tarballs should be signed.
+* Support separate PPS devices for PARSE refclocks.
+* [Bug 637, 51?] Dynamic interface scanning can now be done.
+* Options processing now uses GNU AutoGen.
+
+---
+(4.2.2p4) Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 710] compat getnameinfo() has off-by-one error
+* [Bug 690] Buffer overflow in Windows when doing DNS Lookups
+
+---
+(4.2.2p3) Released by Harlan Stenn <stenn@ntp.org>
+
+* Make the ChangeLog file cleaner and easier to read
+* [Bug 601] ntpq's decodeint uses an extra level of indirection
+* [Bug 657] Different OSes need different sized args for IP_MULTICAST_LOOP
+* release engineering/build changes
+* Documentation fixes
+* Get sntp working under AIX-5
+
+---
+(4.2.2p2) (broken)
+
+* Get sntp working under AIX-5
+
+---
+(4.2.2p1)
+
+* [Bug 661] Use environment variable to specify the base path to openssl.
+* Resolve an ambiguity in the copyright notice
+* Added some new documentation files
+* URL cleanup in the documentation
+* [Bug 657]: IP_MULTICAST_LOOP uses a u_char value/size
+* quiet gcc4 complaints
+* more Coverity fixes
+* [Bug 614] manage file descriptors better
+* [Bug 632] update kernel PPS offsets when PPS offset is re-configured
+* [Bug 637] Ignore UP in*addr_any interfaces
+* [Bug 633] Avoid writing files in srcdir
+* release engineering/build changes
+
+---
+(4.2.2)
+
+* SNTP
+* Many bugfixes
+* Implements the current "goal state" of NTPv4
+* Autokey improvements
+* Much better IPv6 support
+* [Bug 360] ntpd loses handles with LAN connection disabled.
+* [Bug 239] Fix intermittent autokey failure with multicast clients.
+* Rewrite of the multicast code
+* New version numbering scheme
+
+---
+(4.2.0)
+
+* More stuff than I have time to document
+* IPv6 support
+* Bugfixes
+* call-gap filtering
+* wwv and chu refclock improvements
+* OpenSSL integration
+
+---
+(4.1.2)
+
+* clock state machine bugfix
+* Lose the source port check on incoming packets
+* (x)ntpdc compatibility patch
+* Virtual IP improvements
+* ntp_loopfilter fixes and improvements
+* ntpdc improvements
+* GOES refclock fix
+* JJY driver
+* Jupiter refclock fixes
+* Neoclock4X refclock fixes
+* AIX 5 port
+* bsdi port fixes
+* Cray unicos port upgrade
+* HP MPE/iX port
+* Win/NT port upgrade
+* Dynix PTX port fixes
+* Document conversion from CVS to BK
+* readline support for ntpq
+
+---
+(4.1.0)
+
+* CERT problem fixed (99k23)
+
+* Huff-n-Puff filter
+* Preparation for OpenSSL support
+* Resolver changes/improvements are not backward compatible with mode 7
+ requests (which are implementation-specific anyway)
+* leap second stuff
+* manycast should work now
+* ntp-genkeys does new good things.
+* scripts/ntp-close
+* PPS cleanup and improvements
+* readline support for ntpdc
+* Crypto/authentication rewrite
+* WINNT builds with MD5 by default
+* WINNT no longer requires Perl for building with Visual C++ 6.0
+* algorithmic improvements, bugfixes
+* Solaris dosynctodr info update
+* html/pic/* is *lots* smaller
+* New/updated drivers: Forum Graphic GPS, WWV/H, Heath GC-100 II, HOPF
+ serial and PCI, ONCORE, ulink331
+* Rewrite of the audio drivers
+
+---
+(4.0.99)
+
+* Driver updates: CHU, DCF, GPS/VME, Oncore, PCF, Ulink, WWVB, burst
+ If you use the ONCORE driver with a HARDPPS kernel module,
+ you *must* have a properly specified:
+ pps <filename> [assert/clear] [hardpps]
+ line in the /etc/ntp.conf file.
+* PARSE cleanup
+* PPS cleanup
+* ntpd, ntpq, ntpdate cleanup and fixes
+* NT port improvements
+* AIX, BSDI, DEC OSF, FreeBSD, NetBSD, Reliant, SCO, Solaris port improvements
+
+---
+(4.0.98)
+
+* Solaris kernel FLL bug is fixed in 106541-07
+* Bug/lint cleanup
+* PPS cleanup
+* ReliantUNIX patches
+* NetInfo support
+* Ultralink driver
+* Trimble OEM Ace-II support
+* DCF77 power choices
+* Oncore improvements
+
+---
+(4.0.97)
+
+* NT patches
+* AIX,SunOS,IRIX portability
+* NeXT portability
+* ntptimeset utility added
+* cygwin portability patches
+
+---
+(4.0.96)
+
+* -lnsl, -lsocket, -lgen configuration patches
+* Y2K patches from AT&T
+* Linux portability cruft
+
+---
+(4.0.95)
+
+* NT port cleanup/replacement
+* a few portability fixes
+* VARITEXT Parse clock added
+
+---
+(4.0.94)
+
+* PPS updates (including ntp.config options)
+* Lose the old DES stuff in favor of the (optional) RSAREF stuff
+* html cleanup/updates
+* numerous drivers cleaned up
+* numerous portability patches and code cleanup
+
+---
+(4.0.93)
+
+* Oncore refclock needs PPS or one of two ioctls.
+* Don't make ntptime under Linux. It doesn't compile for too many folks.
+* Autokey cleanup
+* ReliantUnix patches
+* html cleanup
+* tickadj cleanup
+* PARSE cleanup
+* IRIX -n32 cleanup
+* byte order cleanup
+* ntptrace improvements and patches
+* ntpdc improvements and patches
+* PPS cleanup
+* mx4200 cleanup
+* New clock state machine
+* SCO cleanup
+* Skip alias interfaces
+
+---
+(4.0.92)
+
+* chronolog and dumbclock refclocks
+* SCO updates
+* Cleanup/bugfixes
+* Y2K patches
+* Updated palisade driver
+* Plug memory leak
+* wharton kernel clock
+* Oncore clock upgrades
+* NMEA clock improvements
+* PPS improvements
+* AIX portability patches
+
+---
+(4.0.91)
+
+* New ONCORE driver
+* New MX4200 driver
+* Palisade improvements
+* config file bugfixes and problem reporting
+* autoconf upgrade and cleanup
+* HP-UX, IRIX lint cleanup
+* AIX portability patches
+* NT cleanup
+
+---
+(4.0.90)
+
+* Nanoseconds
+* New palisade driver
+* New Oncore driver
+
+---
+(4.0.73)
+
+* README.hackers added
+* PARSE driver is working again
+* Solaris 2.6 has nasty kernel bugs. DO NOT enable pll!
+* DES is out of the distribution.
+
+---
+(4.0.72)
+
+* K&R C compiling should work again.
+* IRIG patches.
+* MX4200 driver patches.
+* Jupiter driver added.
+* Palisade driver added. Needs work (ANSI, ntoh/hton, sizeof double, ???)
diff --git a/devel/CommitLog-4.1.0 b/devel/CommitLog-4.1.0
new file mode 100644
index 0000000..2940c72
--- /dev/null
+++ b/devel/CommitLog-4.1.0
@@ -0,0 +1,6157 @@
+This is the historical change log from before the source was under
+version control. Describes changes from 1997 to 2001. For changes
+from 2001 to mid-2015, see ChangeLog. For newer changes, browse the
+comments in the version-control system.
+
+2001-08-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.1.0
+
+2001-07-27 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_oncore.c (oncore_start): Set pps_enable=1, just
+ like the atom driver does.
+ From: reg@dwf.com
+
+ * ntpd/refclock_nmea.c (nmea_ppsapi): Set pps_enable=1, just like
+ the atom driver does.
+ From: Scott Allendorf <sca@newton.physics.uiowa.edu>
+
+ * ntpd/ntp_config.c (getconfig): CONF_CLOCK_PANIC was using the
+ wrong config flag.
+ From: <justin_forrester@hp.com>
+
+2001-07-10 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99m-rc3
+
+2001-07-06 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntp_update: COPYRIGHT needs a touch.
+ From: Mike Stump <mrs@kithrup.com>
+
+2001-07-04 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/config.htm: Major cleanup.
+ From: Martin Janzen <janzen@pixelmetrix.com>
+
+ * configure.in (rt library check): Don't look for -lrt under
+ Linux. Under glibc-2.1.2 and -2.2.2 (at least), the POSIX-
+ compatibility real-time library does strange things with threads
+ as other processes and we're getting lots of complaints about it.
+ Reported by: Juha Sarlin <juha@c3l.com>
+
+2001-06-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/driver35.htm: Update email address.
+
+2001-06-25 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_oncore.c (oncore_msg_BaEaHa): Fix wrong offset for
+ rsm.bad_almanac
+ From: Reynir Siik <reynir@royal.net>
+
+2001-06-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99m-rc2
+
+2001-06-10 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_config.c:
+ * include/ntp_config.h: includefile config keyword support
+ From: Dean Gibson <timekeeper@tcp-udp.net>
+
+2001-06-08 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99m-rc1b
+
+ * ntpd/refclock_true.c (true_debug): Bump some buffer sizes to
+ reduce/eliminate chance of buffer overflow. Use snprintf()
+ instead of sprintf(). Do a better job of opening the debug file.
+ * ntpd/ntp_control.c (ctl_getitem): Count overflow packets as bad
+ and return a BADFMT.
+ * ntpd/ntp_config.c (save_resolve): call fdopen() with the correct
+ mode.
+ From: Bela Lubkin <belal@sco.com>
+
+2001-06-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * include/ntp.h (RES_ALLFLAGS): Add RES_DEMOBILIZE.
+ From: Dean Gibson <timekeeper@tcp-udp.net>
+
+ * configure.in: 4.0.99m-rc1a
+
+2001-06-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_refclock.c (refclock_open): Add O_NOCTTY to the open()
+ flags when opening a serial port.
+ Reported by: joseph lang <tcnojl1@earthlink.net>
+
+2001-05-31 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/notes.htm: Typo fix.
+ From: John Stone <johns@ks.uiuc.edu>
+
+ * configure.in: 4.0.99m-rc1
+
+ * html/monopt.htm: Typo fix.
+ * html/confopt.htm: Cruft removal.
+ From: John Stone <johns@ks.uiuc.edu>
+
+2001-05-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * README.cvs: More updates and cleanup.
+
+ * ntpd/ntp_loopfilter.c (loop_config):
+ Check against STA_NANO instead of (NTP_API > 3) to catch kernels
+ that were rolled while the spec was evolving.
+ From: John.Hay@icomtek.csir.co.za
+
+ * README.cvs: Note that we want to check out NTP into a clean
+ subdir.
+ Reported by jrd@cc.usu.edu (Joe Doupnik)
+
+2001-05-27 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k40
+
+ * include/ntp_refclock.h: Median Filter (SAMPLE - macro) - change
+ to use most recent MAXSTAGE entries when the filter overflows (ie
+ driver poking say once per second with poll > MAXSTAGE) rather
+ than blocking after MAXSTAGE entries (turf oldest rather than turf
+ most recent).
+ From: John Woolner <vk1et@tpg.com.au>
+
+ * ntpd/refclock_true.c:
+ a. Don't cream pp->a_lastcode when we get a <cr><lf> pair
+ b. Fix up pp->leap handling to work correctly
+ c. clear CEVNT_BADTIME etc warnings when we get good clock
+ CEVNT_NOMINAL.
+ From: John Woolner <vk1et@tpg.com.au>
+
+ * kernel/sys/pcl720.h:
+ Add support for the XL clock to refclock_true.c
+ From: Paul A Vixie <vixie@mfnx.net>
+
+ * ntpd/ntp_loopfilter.c (local_clock): One more attempt at
+ "improving" the panic message.
+
+2001-05-26 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (ac_cv_func_ctty_for_f_setown): BSDI3 needs a ctty
+ for F_SETOWN, too.
+ From: Paul A Vixie <vixie@mfnx.net>
+
+2001-05-24 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/ntpd.htm: Typo.
+ From: John Stone <johns@ks.uiuc.edu>
+
+2001-05-23 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k39
+
+ * ntpd/ntp_loopfilter.c (local_clock): huffpuff cleanup/improvements.
+ (huffpuff): Cleanup/improvements.
+ (loop_config): huffpuff initialization cleanup/improvements.
+ From: Dave Mills, Terje, Mark, and John?
+
+2001-05-22 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/release.htm:
+ * html/ntpd.htm:
+ * html/miscopt.htm:
+ From: Dave Mills: Updates.
+
+2001-05-21 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k38
+
+ * ntpd/ntp_proto.c (clock_filter): Huff-n-Puff and Popcorn
+ improvements.
+ * ntpd/ntp_loopfilter.c (local_clock): Debug cleanup
+ From: Dave Mills.
+
+ * include/ntp_syscall.h (ntp_gettime): Updated patch from Ulrich.
+ My original attempt was not backwards compatible.
+
+2001-05-17 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * include/ntp_syscall.h (ntp_gettime): Fill in the tai member.
+ From: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
+
+ * configure.in: 4.0.99k37
+
+ * ntpd/ntp_proto.c (clock_filter): Lose "off", xtemp and ytemp,
+ and some obsoleted calculations. Set the peer->offset and
+ peer->delay from the filter stages.
+
+ * ntpd/ntp_loopfilter.c: Comment/document improvements.
+ (local_clock): correct the offset by one-half the difference
+ between the sample delay and minimum delay. Lose "mu" from the
+ debug message.
+ From: Dave Mills.
+
+2001-05-15 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k36
+
+ * ntpd/ntp_loopfilter.c: Huff-n-puff cleanup
+ From: Dave Mills.
+
+2001-05-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k35
+
+ * ntpd/refclock_atom.c (atom_ppsapi): set pps_enable=1 if
+ enb_hardpps.
+ * ntpd/ntp_timer.c: huffpuff support.
+ (init_timer): huffpuff support.
+ (timer): huffpuff support.
+ * ntpd/ntp_proto.c (init_proto): Initialize pps_enable to 0, not 1.
+ * ntpd/ntp_loopfilter.c (CLOCK_HUFFPUFF): Added.
+ Add huff-n-puff filter variables.
+ (local_clock): Lose "pps sync enabled" log noise.
+ (huffpuff): Added.
+ (loop_config): LOOP_MINPOLL and LOOP_ALLAN were missing the
+ trailing break; add LOOP_HUFFPUFF.
+ * ntpd/ntp_config.c: tinker huffpuff added.
+ (getconfig): CONF_CLOCK_HUFFPUFF support.
+ * include/ntpd.h: huffpuff() declaration.
+ * include/ntp_config.h (CONF_CLOCK_HUFFPUFF): Added.
+ * include/ntp.h (HUFFPUFF): Added.
+ (LOOP_HUFFPUFF): Added.
+ From: Dave Mills.
+
+2001-05-11 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/driver20.htm: Reality check.
+ * ntpd/refclock_nmea.c: Comment cleanup
+ From: John Woolner <vk1et@tpg.com.au>
+
+ * html/release.htm: Cleanup (at least).
+ * html/refclock.htm: Cleanup (at least).
+ * html/kern.htm: Cleanup (at least).
+ * html/index.htm: Cleanup (at least).
+ * html/extern.htm: Cleanup (at least).
+ * html/driver1.htm: Cleanup (at least).
+ * html/debug.htm: Cleanp (at least).
+ * html/accopt.htm: KoD documentation update.
+ From: Dave Mills.
+
+ * configure.in: 4.0.99k34
+
+ * ntpd/ntp_util.c (record_loop_stats): values are now passed in.
+ * ntpd/ntp_loopfilter.c (local_clock): pass the values to
+ record_loop_stats().
+ * include/ntpd.h: Pass the parameters in to record_loop_stats().
+ With the discipline loop opened (disable ntp) the local clock
+ updates were not being sent to loopstats. That now is.
+ From: Dave Mills.
+
+2001-05-10 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k33
+
+ * ntpd/ntp_proto.c (receive): Validate the source port. Lose
+ NTPv1 support.
+ * ntpd/ntp_loopfilter.c (local_clock): Sanity check sys_poll
+ earlier instead of later.
+ From: Dave Mills.
+
+ * ntpd/refclock_oncore.c (oncore_msg_any): We don't always have
+ GETTIMEOFDAY().
+
+2001-05-09 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_shm.c (shm_poll): Apply JAN_1970 correction after
+ calling TVTOTS(), just like everybody else does.
+ From: David Malone <dwmalone@maths.tcd.ie>
+
+ * ntpd/refclock_ulink.c: fixed 33x quality flag, added more
+ debugging stuff, updated 33x time code explanation.
+ From: s.l.smith (via j.c.lang).
+
+2001-05-08 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k32
+
+ * ntpd/ntp_loopfilter.c: rstclock now takes a 3rd argument, the
+ last offset.
+ (init_loopfilter): Use it.
+ (local_clock): Use it. Clean up the code.
+ (loop_config): Use it.
+ (rstclock): Implement it. Clean up the code.
+ From Dave Mills.
+
+2001-05-06 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k31
+
+ * ntpdc/ntpdc_ops.c (sysstats): That's 'bad packet format'
+ (instead of '... length'), and 'packets rejected' (instead of
+ 'limitation rejects'.
+ * ntpd/ntp_proto.c (receive): PUBKEY fixes. Move KoD stuff to
+ process_packet().
+ (process_packet): Move KoD stuff here...
+ (peer_clear): Unspec the stratum, too.
+ (clock_filter): Don't update peer->epoch here. Fix the filter
+ test when checking the epoch.
+ (fast_xmit): Send back STRATUM_UNSPEC on a KoD packet.
+ (init_proto): Initialize sys_jitter.
+
+ * ntpd/ntp_loopfilter.c: rstclock() takes 2 parameters now.
+ (init_loopfilter): Use it...
+ (local_clock): Ditto, and change the "mu" calculation. Improve
+ the jitter test in S_SYNC. Use peer->epoch (not current_time) to
+ update the last_time. Update debug info.
+ (rstclock): 2nd arg - the epoch to use. Use it.
+ (loop_config): update call to rstclock.
+ From: Dave Mills.
+
+2001-05-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ports/winnt/ntpd/ntpd.dsp: Add cmd_args.c
+ From: Wink Saville <wink@saville.com>
+
+2001-04-29 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpq/ntpq.c (tstflags): 11 now.
+ From: John Cochran <jdc@fiawol.org>
+
+ * ntpd/ntp_proto.c (receive): KoD updates. Improve the comments.
+ Lose the AM_PROCPKT restrictions test.
+ (peer_xmit): Check/report on no encryption key in packet.
+ (fast_xmit): Use peer_xmit's new packet length check code.
+ From Dave Mills.
+
+2001-04-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k30
+
+2001-04-27 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpdc/ntpdc_ops.c: Added "kod", lost "demobilize".
+ * ntpd/ntp_config.c: Added "kod" keyword. Lose "demobilize" keyword.
+ * html/release.htm: Updated.
+ * html/accopt.htm: Updated.
+ From: Dave Mills.
+
+ * ntpq/ntpq.c: Reorder and add some TEST flag bits.
+ * ntpd/ntp_proto.c (transmit): Also bail if access denied.
+ (receive): Lose RES_DEMOBILIZE and (some?) RES_DONTSERVE and
+ RES_LIMITIED stuff. Update Kiss-Of-Death (KoD) docs.
+ Call fast_xmit with new 3rd parameter (restrict_mask).
+ Before checking for an authentic packet, check the restrict_mask
+ for RES_{DONTSERVE,LIMITED,NOPEER}.
+ Check restrictions in AM_PROCPKT case.
+ (peer_clear): Don't lose the stratum if the peer->flags don't
+ indicate FLAG_REFCLOCK.
+ (fast_xmit): Take restrict mask as a new argument, and handle
+ KoD. Reorder some code.
+ From: Dave Mills.
+
+2001-04-26 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpdc/ntpdc_ops.c: restrict/unrestrict support for version and
+ demobilize. Implement demobilze.
+ * ntpd/ntp_proto.c (receive): Improve version testing, including
+ RES_DEMOBILIZE support.
+ (fast_xmit): Patches to kiss-of-death packet.
+ * ntpd/ntp_loopfilter.c (local_clock): S_SYNC case now also checks
+ abs(clock_offset) against CLOCK_PGATE*sys_jitter.
+ * ntpd/ntp_config.c: CONF_RES_DEMOBILIZE/demobilize support.
+ * include/ntp_config.h (CONF_RES_DEMOBILIZE): Added.
+ * include/ntp.h (RES_DEMOBILIZE): Added.
+ From Dave Mills.
+
+2001-04-25 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/accopt.htm: Document the "version" parameter
+ From Dave Mills.
+
+ * ntpd/ntp_proto.c (fast_xmit): Implement DENY mode.
+ From Dave Mills.
+
+ * ntpd/ntp_config.c: Add the "allan" tinker variable.
+ From: Juha Sarlin <juha@c3l.tyreso.se>
+
+ * ntpd/refclock_hopfpci.c (hopfpci_start): Lose the "correct_any"
+ stuff - it's both obsolete and wrong.
+
+ * ntpd/ntp_proto.c (receive): Keep track of packet versions.
+ Implement RES_LIMITED.
+ * include/ntp_config.h (CONF_RES_LIMITED):
+ * include/ntp.h (RES_LIMITED): Leave the bits in the original
+ order.
+ From Dave Mills.
+
+ * util/timetrim.c:
+ * util/Makefile.am:
+ * ntpdc/ntpdc_ops.c:
+ * ntpd/refclock_nmea.c:
+ * libntp/snprintf.c:
+ * configure.in:
+ * configure:
+ * config.h.in:
+ * aclocal.m4:
+ * acconfig.h:
+ Lint cleanup from: Marc Brett <mbrett@rgs0.london.waii.com>
+
+ * ntpd/ntp_config.c: Add "version" support.
+ (getconfig): version support.
+ * include/ntp_config.h (CONF_RES_VERSION): Added.
+ * include/ntp.h (RES_VERSION): Added.
+ From: Dave Mills.
+
+ * include/ntp_machine.h (ifreq): WinNT cleanup
+
+2001-04-23 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k29
+
+ * html/miscopt.htm: Document the "allan" tinker variable.
+ * ntpd/ntp_proto.c (clock_filter): Update comments. Lose etemp;
+ we now use allan_xpt for this.
+ * ntpd/ntp_loopfilter.c: Added allan_xpt as a tinker variable.
+ Reorganize variables and improve comments.
+ (local_clock): Improve comments, use (new) allan_xpt instead of
+ CLOCK_ALLAN. Fix test in S_SYNC state. Update debug info.
+ (rstclock): No longer force allan_xpt to CVLOCK_ALLAN in S_FREQ,
+ S_SYNC, or default case.
+ (loop_config): Document dangerous tinker variables, and add
+ LOOP_ALLAN to the list.
+ * include/ntp_config.h (CONF_CLOCK_ALLAN): Added.
+ * include/ntp.h (LOOP_ALLAN): Added.
+ Allan intercept fixes from Dave Mills.
+
+ * scripts/mkver.in: Use the C locale so the dates come out in a
+ consistent format.
+ From: ASANO Naoyuki <n_asano@imjp.co.jp>
+
+ * build: Run "config.status" before the "make" because it probably
+ saves time and trouble. Probably...
+
+ * flock-build: Try building sequentially.
+
+2001-04-22 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (ac_cv_make_tickadj): Fix it right...
+
+ * util/ntp-genkeys.c: extern config_netinfo, too.
+
+ * util/hist.c:
+ * ntptrace/ntptrace.c:
+ * ntpq/ntpq.c:
+ * ntpdc/ntpdc.c:
+ * ntpdate/ntptimeset.c:
+ * ntpdate/ntpdate.c:
+ * ntpd/refclock_parse.c:
+ * ntpd/refclock_msfees.c:
+ * ntpd/refclock_jupiter.c:
+ * ntpd/ntp_refclock.c:
+ * ntpd/ntp_io.c:
+ * libparse/clk_wharton.c:
+ * libparse/clk_varitext.c:
+ * libparse/clk_trimtaip.c:
+ * libparse/clk_schmid.c:
+ * libparse/clk_rcc8000.c:
+ * libparse/clk_rawdcf.c:
+ * libparse/clk_meinberg.c:
+ * libparse/clk_hopf6021.c:
+ * libparse/clk_dcf7000.c:
+ * libparse/clk_computime.c:
+ Lint. From: Simon Burge <simonb@wasabisystems.com>
+
+2001-04-21 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_nmea.c (nmea_receive): Fixes.
+ From: John Woolner <vk1et@tpg.com.au>
+
+ * util/ntp-genkeys.c: Declare check_netinfo, don't define it.
+ From: Jack Bryans <jbryans@csulb.edu>
+
+ * configure.in (RSASRCS): rsaref2 needs digit.h (I thought I fixed
+ this already).
+
+ * configure.in (CFLAGS): Disable -Wconversion, enable
+ -Wmissing-prototypes, and allow for -Werror.
+ From: Simon Burge <simonb@wasabisystems.com>
+
+ * util/ntp-genkeys.c (main): Reset the standard mask so the
+ symlinks are created with the standard mask.
+
+ * configure.in: 4.0.99k28
+
+ * ntpd/ntpd.c (ntpdmain): Use mode_t for umask value.
+
+ * util/ntp-genkeys.c: Create files with the right umask.
+
+ * util/ntp-genkeys.c: config_file should be declared, not defined.
+ * ntpd/refclock_mx4200.c (mx4200_pps): debug cleanup.
+ * ntpd/refclock_hopfser.c: If we're not using it, provide the _bs.
+ * ntpd/refclock_heath.c (heath_receive): Add missing "break"
+ statements.
+ * ntpd/ntp_proto.c: Lose extra definition of mode_ntpdate.
+ * librsaref/Makefile.am (nodist_librsaref_a_SOURCES): Put RSASRCS
+ on the same line as rsaref.h to improve portability.
+ * libntp/msyslog.c: Lint cleanup.
+ From: Marc.Brett@westerngeco.com
+
+ * util/ntp-genkeys.c:
+ * ntpdate/ntpdate.c:
+ * ntpd/ntp_config.c: Netinfo header reorder.
+ From: Jack Bryans <jbryans@csulb.edu>
+
+ * configure.in: timespec can be found by looking in goofy places
+ under SunOS.
+
+2001-04-20 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_nmea.c: PPSAPI cleanup, default to RMC sentences,
+ handle milliseconds, multiple sentences, other good stuff.
+ From: John Woolner <vk1et@tpg.com.au>, Marc.Brett@westerngeco.com,
+ John.Hay@icomtek.csir.co.za
+
+ * ntpd/ntp_proto.c (receive): In the AM_NEWBCL case, return in all
+ cases at the end.
+ * ntpd/ntp_peer.c (newpeer): Check cast_flags against MDF_BCLNT,
+ not against MDF_BCAST.
+ * ntpd/ntp_loopfilter.c (local_clock): Lose debug info.
+ * ntpd/ntp_crypto.c (crypto_recv): Bugfix.
+ From: Dave Mills.
+
+ * configure.in: 4.0.99k27
+
+ * ntpd/ntp_loopfilter.c (local_clock): Check clock_panic > 0.
+ Check clock_max > 0.
+ * html/ntpd.htm: Cleanup.
+ * html/miscopt.htm: Cleanup.
+ * html/confopt.htm: Cleanup minpoll documentation.
+ From: Dave Mills.
+
+2001-04-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/cmd_args.c (getstartup): check_netinfo needs an extern
+ declaration.
+ Reported by: Jack Bryans <jbryans@csulb.edu>
+
+ * configure.in (ac_cv_make_timetrim): Added.
+ * util/Makefile.am (bin_PROGRAMS): MAKE_TIMETRIM
+ Requested by: Jack Bryans <jbryans@csulb.edu>
+
+ * configure.in: 4.0.99k26
+
+ * util/ntp-genkeys.c:
+ * ntpd/refclock_oncore.c:
+ * ntpd/ntp_peer.c:
+ * libntp/msyslog.c:
+ * libntp/audio.c:
+ Lint cleanup.
+ From: Simon Burge <simonb@wasabisystems.com>
+
+ * ntpd/ntp_loopfilter.c (local_clock): debug message improvements
+ from Dave Mills.
+
+ * libntp/emalloc.c (emalloc): Tell people we are exiting if we log
+ an out-of-memory condition.
+
+ * util/ntp-genkeys.c (main): Don't allow '#' in a generated MD5
+ key. Reported by: Dave Tyson <Dave.Tyson@liverpool.ac.uk>
+
+2001-04-18 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (clock_update): minpoll cleanup.
+ (clock_select): minpoll cleanup.
+ (clock_filter): Bugfixes from Mark Martinec <Mark.Martinec@ijs.si>
+ * ntpd/ntp_loopfilter.c (rstclock): minpoll cleanup. Debug cleanup.
+ * ntpd/ntp_config.c (getconfig): Initialize/bounds check minpoll
+ using NTP_MINDPOLL insted of sys_minpoll.
+ From: Dave Mills.
+
+2001-04-17 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libntp/msyslog.c:
+ * ElectricFence/page.c (stringErrorReport): Follow Rainer's lead
+ and use strerror().
+
+ * ntpd/refclock_shm.c (shm_start): Always use strerror.
+ * libntp/msyslog.c (msyslog): Use strerror if present.
+ From: Rainer Orth <ro@TechFak.Uni-Bielefeld.
+
+ * ntpd/ntp_config.c (getconfig): Read stratum fudge value into
+ long variable.
+ From: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * libparse/parsesolaris.c (rdchar): Cast ~0 to unsigned long.
+ * libntp/buftvtots.c (buftvtots): Allow for 8-byte tv_sec, tv_usec
+ in struct timeval.
+ From: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+2001-04-16 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_config.c (getconfig): move "tinker" so it's generally
+ available.
+
+2001-04-15 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: Look for getclock().
+
+ * ntpd/ntp_config.c (getconfig): Squawk if provided minpoll or
+ maxpoll values are out of range.
+
+ * ntpd/ntp_proto.c (poll_update): Some operations can only be done
+ if we're compiling with some REFCLOCKs.
+ From Dave Mills.
+
+ * configure.in (RSASRCS): Added.
+ * librsaref/Makefile.am (nodist_librsaref_a_SOURCES): Use RSASRCS.
+
+ * configure.in: Limit the DECL_HSTRERROR_0 to aix4.3.*. RSN, we
+ could also limit it to xlc...
+
+ * configure.in: 4.0.99k25
+
+ * html/leap.htm: Added.
+ * html/index.htm: Update.
+ * html/driver7.htm: Update.
+ * html/driver6.htm: Update.
+ * html/driver36.htm: Update.
+ * html/audio.htm: Update.
+ * html/y2k.htm: Removed.
+ From Dave Mills.
+
+2001-04-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * acconfig.h: Lose extra declarations of PACKAGE and VERSION.
+
+ * acconfig.h:
+ * configure.in:
+ * include/l_stdlib.h: DECL_HSTRERROR_0 needed for xlc under AIX 4.3.2.
+ Reported by: Harald Barth <haba@pdc.kth.se>
+
+ * ntpd/ntp_proto.c (proto_config): cal_enable (PROTO_CAL) is
+ invalid if no refclocks are present.
+ From: Frodo Looijaard <frodol@dds.nl>
+
+ * README.cvs: On some systems, the -C option fails.
+
+ * ntpd/refclock_nmea.c:
+ * ntpd/ntp_refclock.c:
+ * html/driver20.htm:
+ PPSAPI patches for NMEA driver.
+ From: John.Hay@icomtek.csir.co.za
+
+ * README.rsa: Describe RSAEuro support, provide alternate rsa.c
+ patch.
+ * configure.in: Check for rsaeuro1, RSAOBJS, RSADIR respectively.
+ * html/build.htm: Hint at rsaeuro1 directory.
+ * include/global.h (BYTE): Define.
+ * librsaref/Makefile.am (nodist_librsaref_a_SOURCES): Removed rsaref2
+ specific sources.
+ (librsaref_a_LIBADD): Add appropriate objects.
+ (librsaref_a_DEPENDENCIES): Work around automake limitation.
+ (stamp-rsaref): Use RSADIR.
+ * scripts/README: Document ntp-close.
+ * scripts/Makefile.am (EXTRA_DIST): Distribute it.
+ * Makefile.am (DISTCLEANFILES): Remove .warning.
+ * librsaref/Makefile.am (DISTCLEANFILES): Remove copied/touched
+ librsaref sources, stamp-rsaref.
+ * ntpdate/Makefile.am (DISTCLEANFILES): Remove version.c.
+ * ntpq/Makefile.am (DISTCLEANFILES): Likewise.
+ * parseutil/Makefile.am (DISTCLEANFILES): Remove $(EXTRA_PROGRAMS).
+ Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * ntpd/ntp_control.c: Header cleanup
+
+2001-04-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: Properly align --help output.
+ Explain ElectricFence.
+ From: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * ntpd/ntp_loopfilter.c (local_clock): Lose debugging statements.
+ * ntpd/ntp_proto.c (clock_filter): Rewrite.
+ From: Dave Mills
+
+ * ntpd/ntp_control.c (ctl_getitem): msyslog() possible buffer
+ overflow exploit.
+
+ * configure.in: 4.0.99k24
+
+ * html/pic/radio2.jpg:
+ * html/release.htm:
+ * html/refclock.htm:
+ * html/pps.htm:
+ * html/ntpd.htm:
+ * html/miscopt.htm:
+ * html/driver22.htm:
+ * html/confopt.htm:
+ Updated documentation from Dave Mills.
+
+ * util/ntp-genkeys.c: sys_minpoll.
+ * ntpd/refclock_atom.c: Comment additions.
+ * ntpd/ntp_proto.c: mode_ntpdate and peer_ntpdate added.
+ (transmit): We want 3, not 2, consecutive polls. hpoll logic
+ cleanup. mode_ntpdate changes.
+ (receive): When setting up a newpeer, use our sys_minpoll, not the
+ peer->ppoll.
+ (clock_update): sys_minpoll changes. Reorder some case 1 code.
+ Don't exit in case 2.
+ (poll_update): hpoll cleanup.
+ (peer_clear): u_rand. Use u_rand to randomize the initial poll.
+ * ntpd/ntp_peer.c (newpeer): Bump peer_ntpdate if we're in
+ mode_ntpdate.
+ * ntpd/ntp_loopfilter.c: Initialize sys_poll and sys_minpoll to
+ NTP_MINDPOLL.
+ (local_clock): Clean up some debug/info messages.
+ (rstclock): Use sys_minpoll.
+ (loop_config): KERNEL_PLL sanity checks. LOOP_MINPOLL support.
+ * ntpd/ntp_crypto.c (crypto_recv): Turn off FLAG_AUTOKEY when we
+ turn off TEST10.
+ * ntpd/ntp_control.c (ctl_getitem): Buffer overflow check. Clean
+ up some loop logic.
+ * ntpd/ntp_config.c: Added "tinker" and "minpoll". Use
+ sys_minpoll now, instead of old manifest constant.
+ (save_resolve): Print keyid using decimal, not hex. From Lars-Owe
+ Ivarsson <larsowe@paradisaea.its.uu.se>
+ * include/ntpd.h: Added peer_ntpdate and sys_minpoll.
+ * include/ntp_config.h (CONF_CLOCK_MINPOLL): Added.
+ * include/ntp.h: keyid cleanup. LOOP_* cleanup.
+ From Dave Mills.
+
+2001-04-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (clock_filter): Swell stuff.
+ From: Mark Martinec <Mark.Martinec@ijs.si>
+
+ * ports/winnt/ntpd/ntpd.dsp:
+ * ports/winnt/ntpd/hopf_PCI_io.c:
+ * ports/winnt/include/hopf_PCI_io.h:
+ * ports/winnt/include/config.h:
+ * ntpd/refclock_hopfser.c:
+ * ntpd/refclock_hopfpci.c:
+ * ntpd/refclock_conf.c:
+ * ntpd/ntp_control.c:
+ * ntpd/Makefile.am:
+ * libntp/clocktypes.c:
+ * include/ntp.h:
+ * include/hopf6039.h:
+ * include/Makefile.in:
+ * include/Makefile.am:
+ * html/pic/fg6039.jpg:
+ * html/refclock.htm:
+ * html/driver39.htm:
+ * html/driver38.htm:
+ * html/copyright.htm:
+ Updated Oncore dudes.
+
+ * configure.in:
+ HOPF drivers and documentation.
+ From: Bernd Altmeier <altmeier@atlsoft.de> (with some light
+ hacking from Harlan to clean up indentation and lose the // comments)
+
+ * ntpd/refclock_oncore.c:
+ * ntpd/refclock_conf.c: Make it go.
+ From: Reg Clemens <reg@dwf.com>
+
+ * configure.in (openssl): Publish and default to RSAREF; hide
+ openssl, and only use it if explicitly requested (at least until
+ we work with it).
+
+2001-04-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/y2k.htm:
+ * html/tickadj.htm:
+ * html/release.htm:
+ * html/refclock.htm:
+ * html/quick.htm:
+ * html/pps.htm:
+ * html/ntptrace.htm:
+ * html/ntptime.htm:
+ * html/ntpq.htm:
+ * html/ntpdc.htm:
+ * html/ntpdate.htm:
+ * html/ntpd.htm:
+ * html/miscopt.htm:
+ * html/index.htm:
+ * html/genkeys.htm:
+ * html/exec.htm:
+ * html/driver7.htm:
+ * html/driver22.htm:
+ * html/copyright.htm:
+ * html/confopt.htm:
+ * html/build.htm:
+ * html/authopt.htm:
+ * html/assoc.htm:
+ Updates from Dave Mills.
+
+2001-04-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (OPENSSL): Just use -lcrypto.
+ Reported by Dave Mills.
+
+2001-03-31 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k20
+
+ * ntpd/refclock_heath.c: Add support for GC-1000 II.
+ From Dave Mills.
+
+ * ntpd/ntp_proto.c (transmit): Check peer->unreach.
+ (peer_clear): peer->outdate is a f(BURST_INTERVAL1), not
+ NTP_MINPOLL.
+ * ntpd/ntp_loopfilter.c (local_clock): mode_ntpdate stuff.
+ * ntpd/ntp_crypto.c: OpenSSL/RSAREF support.
+ * ntpd/cmd_args.c: Use -q, not -z, for mode_ntpdate.
+ (getstartup): nofork on mode_ntpdate. Usage update.
+ * include/ntp_crypto.h: OpenSSL/RSAREF support.
+ From: Dave Mills.
+
+ * configure.in (rsaref): Buglet.
+
+2001-03-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (clock_update): mode_ntpdate support.
+ * ntpd/ntp_loopfilter.c (local_clock): mode_ntpdate support.
+ * ntpd/cmd_args.c: Added -z (mode_ntpdate).
+ * include/ntpd.h: mode_ntpdate added.
+ * include/ntp_crypto.h: RSAREF/OPENSSL cleanup.
+ From: Dave Mills.
+
+2001-03-29 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * config.h.in:
+ * aclocal.m4:
+ * configure.in: Prepare for OpenSSL support
+
+2001-03-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * README.rsa: Note that RSAEURO will not work.
+ Reported by: pieter.delacourt@banksys.be
+
+2001-03-25 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * include/ntp_if.h:
+ * include/ntp_machine.h:
+ * include/ntp_unixtime.h:
+ * libntp/humandate.c:
+ * libntp/iosignal.c:
+ * libntp/mktime.c:
+ * libntp/prettydate.c:
+ * libntp/systime.c:
+ * libntp/tvtoa.c:
+ * libntp/uglydate.c:
+ * libntp/utvtoa.c:
+ * libparse/clk_computime.c:
+ * libparse/clk_dcf7000.c:
+ * libparse/clk_hopf6021.c:
+ * libparse/clk_meinberg.c:
+ * libparse/clk_rawdcf.c:
+ * libparse/clk_rcc8000.c:
+ * libparse/clk_schmid.c:
+ * libparse/clk_trimtaip.c:
+ * libparse/clk_trimtsip.c:
+ * libparse/clk_varitext.c:
+ * libparse/parse.c:
+ * libparse/parse_conf.c:
+ * ntpd/check_y2k.c:
+ * ntpd/ntp_config.c:
+ * ntpd/ntp_control.c:
+ * ntpd/ntp_intres.c:
+ * ntpd/ntp_io.c:
+ * ntpd/ntp_loopfilter.c:
+ * ntpd/ntp_monitor.c:
+ * ntpd/ntp_proto.c:
+ * ntpd/ntp_refclock.c:
+ * ntpd/ntp_request.c:
+ * ntpd/ntp_resolver.c:
+ * ntpd/ntp_timer.c:
+ * ntpd/ntp_util.c:
+ * ntpd/ntpd.c:
+ * ntpd/refclock_acts.c:
+ * ntpd/refclock_arbiter.c:
+ * ntpd/refclock_arc.c:
+ * ntpd/refclock_as2201.c:
+ * ntpd/refclock_atom.c:
+ * ntpd/refclock_bancomm.c:
+ * ntpd/refclock_chronolog.c:
+ * ntpd/refclock_chu.c:
+ * ntpd/refclock_datum.c:
+ * ntpd/refclock_dumbclock.c:
+ * ntpd/refclock_fg.c:
+ * ntpd/refclock_gpsvme.c:
+ * ntpd/refclock_heath.c:
+ * ntpd/refclock_hpgps.c:
+ * ntpd/refclock_irig.c:
+ * ntpd/refclock_jupiter.c:
+ * ntpd/refclock_leitch.c:
+ * ntpd/refclock_local.c:
+ * ntpd/refclock_msfees.c:
+ * ntpd/refclock_mx4200.c:
+ * ntpd/refclock_nmea.c:
+ * ntpd/refclock_oncore.c:
+ * ntpd/refclock_pcf.c:
+ * ntpd/refclock_pst.c:
+ * ntpd/refclock_shm.c:
+ * ntpd/refclock_tpro.c:
+ * ntpd/refclock_trak.c:
+ * ntpd/refclock_true.c:
+ * ntpd/refclock_ulink.c:
+ * ntpd/refclock_usno.c:
+ * ntpd/refclock_wwv.c:
+ * ntpd/refclock_wwvb.c:
+ * ntpdate/ntpdate.c:
+ * ntpdate/ntptime_config.c:
+ * ntpdate/ntptimeset.c:
+ * ntpdc/ntpdc.c:
+ * ntpdc/ntpdc_ops.c:
+ * ntpq/ntpq.c:
+ * ntpq/ntpq_ops.c:
+ * ntptrace/ntptrace.c:
+ * parseutil/testdcf.c:
+ * util/hist.c:
+ * util/ntp-genkeys.c:
+ * util/ntptime.c:
+ * util/precision.c:
+ * util/tickadj.c:
+ time.h and sys/time.h cleanup.
+
+2001-03-24 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: '99k19
+
+ * ntpd/refclock_atom.c (atom_ppsapi): PPS API RFC alignment patches.
+ From: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
+
+ * util/ntptime.c: MNT options
+ From: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
+
+ * ntpd/ntp_refclock.c (refclock_newpeer): Lose "extra" free().
+ From: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
+
+ * configure.in: 4.0.99k18 and auto* upgrade
+
+2001-03-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpdc/ntpdc_ops.c (printpeer): No more "valid".
+ * ntpd/ntp_request.c (peer_info): No more "valid".
+ * ntpd/ntp_refclock.c (refclock_transmit): valid/hpoll cleanup.
+ * ntpd/ntp_proto.c (transmit): valid/hpoll and peer->ttl cleanup.
+ peer->valid/oreach cleanup.
+ (receive): Call newpeer() with the pkt->ppoll, not
+ NTP_MINDPOLL (in several places).
+ In AM_NEWPASS, if we have a NULL peer, return.
+ (poll_update): Added xpoll definition, fixed oldpoll definition.
+ Algorithmic improvements.
+ * ntpd/ntp_peer.c (newpeer): Better minpoll/maxpoll
+ initialization.
+ (resetmanycast): That's a poll_update() on an MDF_ACAST, not a
+ poll_clear().
+ * ntpd/ntp_crypto.c: include <fcntl.h>.
+ (crypto_recv): Leave the crypto_flags alone when wiggling the
+ peer-> stuff.
+ (crypto_cert): Make room for daddy. Do a real open() on the cert
+ file. Read the cert. Initial hack and slash. Better debug info.
+ * ntpd/ntp_control.c: CP_VALID now does "unreach".
+ (ctl_putpeer): Ditto.
+ * include/ntp_request.h: info_peer gets a placeholder for "valid".
+ * include/ntp_crypto.h (CRYPTO_FLAG_CERT): Comment update.
+ * include/ntp.h: Lose "valid" from struct peer.
+ From: Dave Mills.
+
+2001-03-05 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (transmit): hpoll calc logic cleanup.
+ (receive): New cert stuff.
+ (poll_update): Improvements.
+ (peer_clear): New cert stuff.
+ (peer_xmit): New cert stuff.
+ * ntpd/ntp_crypto.c: New cert stuff, documentation cleanup. Lose
+ extraneous poll_uopdate()s.
+ * ntpd/ntp_control.c: Deal with new cert stuff.
+ * ntpd/ntp_config.c (getconfig): Handle CONF_CRYPTO_CERT.
+ * include/ntp_crypto.h (CRYPTO_FLAG_CERT): Added.
+ (CRYPTO_CERT): Added.
+ (CRYPTO_CONF_CERT): Added.
+ Add declaration for struct value certif.
+ * include/ntp_control.h (CS_CERTIF): Added.
+ (CP_CERTIF): Added.
+ * include/ntp_config.h (CONF_CRYPTO_CERT): Added.
+ * include/ntp.h (TEST10,TEST11): New meaning. Add certif to
+ struct peer.
+ (FLAG_PROVEN): Added.
+ (MAX_EXT_LEN): Removed.
+ exten grew from 672/4 to 5000/4 for PUBKEY.
+ From: Dave Mills.
+
+2001-03-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (transmit): Documentation cleanup.
+ (receive): Watch for NULL peer->pubkey.ptr (TEST11).
+ (poll_update): peer->nextdate, not ->outdate. More cleanup around
+ the disabled PUBKEY chunk.
+ * ntpd/ntp_crypto.c (make_keylist): ltemp might be smaller than
+ sys_automax - check peer->kpoll, too. Other ltemp cleanup.
+ (crypto_recv): fstamp is a PUBKEY-only variable.
+ * include/ntp.h (NTP_AUTOMAX): 13, not 12.
+ From: Dave Mills.
+
+2001-03-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (transmit): hpoll cleanup. Call clock_select()
+ after calling poll_update, not before.
+ (receive): Call poll_update after crypto_recv if FLAG_SKEY.
+ (process_packet): Set peer->ppoll Later.
+ (poll_update): peer->hpoll sanity checking. Set peer->outdate,
+ not ->nextate, when burst > 0. MDF_ACAST cleanup.
+ (clock_select): Fix hpoll typo in call to poll_update().
+ * ntpd/ntp_crypto.c (crypto_xmit): tstamp's value is a function of
+ PUBKEY.
+ * include/ntp.h (clear_to_zero): #define value is a function of
+ AUTOKEY.
+ From: Dave Mills.
+
+2001-02-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (transmit): Documentation/code update.
+ (poll_update): Sanity check peer->hpoll. Improve debug info.
+ (peer_clear): Improve debug info. Turn off FLAG_ASSOC in addition
+ to FLAG_AUTOKEY.
+ (clock_select): peer->status is CTL_PST_SEL_DISTSYSPEER, and don't
+ call poll_update(). Make each entry in the peer_list a
+ CTL_PST_SEL_SELCAND sooner, too. Rework similar logic later on.
+ Change debug level on some info.
+ (peer_xmit): Check peer->flags using FLAG_ASSOC, not
+ CRYPTO_FLAG_AUTO in a couple places. Don't call poll_update() if
+ sendlen > LEN_PKT_NOMAC.
+ * ntpd/ntp_loopfilter.c (local_clock): Improve debug info.
+ Sanity-check sys_poll sooner.
+ * ntpd/ntp_crypto.c: New artwork.
+ (COOKIE_LEN,AUTOKEY_LEN,VALUE_LEN): New.
+ (make_keylist): More debug info. Use FLAG_ASSOC, not
+ CRYPTO_FLAG_ASSOC.
+ (crypto_recv): More debug info. Clean up/improve sanity checks on
+ CRYPTO_ASSOC and CRYPTO_RESP packets, and in other places.
+ (crypto_xmit): Clean up/improve sanity checks on CRYPTO_ASSOC and
+ CRYPTO_RESP packets. Use FLAG_ASSOC, not CRYPTO_FLAG_ASSOC. More
+ debug info.
+ * include/ntp.h (NTP_CANLOCK): Lose it.
+ (clear_to_zero): is now "assoc".
+ (FLAG_ASSOC): Added.
+ From: Dave Mills
+
+2001-02-23 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpdate/ntpdate.h (NTP_MAXAGE): Added.
+ * ntpd/ntp_refclock.c (refclock_receive): Cleanup.
+ * ntpd/ntp_proto.c (transmit): Don't reset peer->ppoll in one case.
+ Update peer->hpoll based on CTL_PST_SEL_CORRECT, not FLAG_SYSPEER.
+ Don't update peer->ppoll based on MDF_[BM]CAST.
+ (peer_clear): ppoll is initialized to maxpoll.
+ (clock_select): call poll_update(peer->hpoll) earlier.
+ (peer_xmit): Call poll_update later.
+ * ntpd/ntp_peer.c (peer_config): Rework initial values of [hkp]poll.
+ * ntpd/ntp_loopfilter.c (CLOCK_PHI): Added. Deal with other
+ (allow_*) stuff. Treat Windows/NT the same as others regarding
+ panic steps. Deal with tinker stuff.
+ * ntpd/ntp_config.c: Tinker stuff.
+ * ntpd/cmd_args.c (getCmdOpts): -g now wiggles "allow_panic"
+ (renamed from "correct_any"). -x now wiggles "allow_step"
+ (renamed from "allow_step_backward").
+ * include/ntpd.h: Add tinker variables. Rename/rework variables
+ associated with "permission to step" and "permission to make a
+ panic correction"
+ * include/ntp_config.h (CONFIG_TINKER): Added.
+ (CONF_CLOCK_MAX): Tinker keyword
+ (CONF_CLOCK_PANIC): Tinker keyword
+ (CONF_CLOCK_PHI): Tinker keyword
+ (CONF_CLOCK_MINSTEP): Tinker keyword
+ * include/ntp.h (NTP_MINCLOCK): Tinker and other cleanup.
+ From: Dave Mills
+
+2001-02-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (transmit): Don't peer_clear() and reset
+ minpoll unconditionally; make sure the peer is configured.
+ (poll_update): When updating peer->ppoll, check on BCAST and
+ MCAST, not ACAST
+ (peer_clear): PUBKEY cleanup. Zero out the peer structure
+ earlier. Initialization cleanup/fixes.
+ (peer_xmit): CRYPTO_FLAG_AUTO is in peer->flags now.
+ (key_expire): Debug output.
+ * ntpd/ntp_peer.c (unpeer): PUBKEY cleanup.
+ (newpeer): peer variable setup cleanup.
+ * ntpd/ntp_crypto.c (make_keylist): Keep CRYPTO_FLAG_AUTO in
+ peer->flags, not crypto_flags.
+ (crypto_xmit): Ditto.
+ (crypto_recv): Fix up RV_TSP logic (several places).
+ * include/ntp.h (clear_to_zero): Moved...
+ From: Dave Mills.
+
+2001-02-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (peer_xmit): Crypto-related fixes
+ From Dave Mills.
+
+ * ntpd/ntp_crypto.c (crypto_recv): Allocate space for the trailing
+ NUL on the keystr.
+
+2001-01-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k17
+
+ * ntpd/refclock_local.c (STRATUM): 3 -> 5
+ * ntpd/ntp_proto.c: sys_maxd -> sys_selerr, sys_epsil ->
+ sys_syserr. various cleanups and improvements.
+ From: Dave Mills.
+
+2001-01-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k16
+
+ * config.h.in: Regenerated - became empty somehow.
+ Reported by John.Hay@icomtek.csir.co.za
+
+ * ntpd/ntp_proto.c (clock_select): Fix sdisp calculation.
+ From Dave Mills.
+
+ * util/ntp-genkeys.c:
+ * ntpd/refclock_chu.c:
+ * ntpd/refclock_atom.c:
+ * ntpd/ntpd.c:
+ * ntpd/ntp_loopfilter.c:
+ * ntpd/ntp_io.c:
+ * ntpd/cmd_args.c:
+ * libntp/audio.c:
+ * include/l_stdlib.h:
+ * html/copyright.htm:
+ Lint fixes (Thanks bunches!)
+ From: Marc.Brett@westerngeco.com
+
+2001-01-18 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k15
+
+ * ntpd/ntp_proto.c (clock_select): Track error[] items sooner.
+ Typo grabbing the dtemp value and in the sdisp calculation.
+ From Dave Mills.
+
+2001-01-17 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k14
+
+ * ntpd/ntp_proto.c: Change description of sys_rootdelay and
+ sys_rootdispersion.
+ (process_packet): Fix p_del test (bad distance).
+ (process_packet): Fix bad synch distance test.
+ (process_packet): Fix call to clock_filter (p_disp)
+ (clock_update): Fix sys_rootdelay calculation.
+ (clock_filter): Initialize jit to f(sys_precision)
+ (clock_filter): Update jit using distance[i] instead of
+ SQUARE(). peer->jitter uses dtemp instead of SQUARE().
+ (clock_filter): Updated CLOCK_SGATE checks. When printing debug
+ info, show jitter along with popcorn spike.
+ (clock_select): New sdisp calc.
+ (root_distance): New return value calc.
+ (peer_xmit): xpkt.rootdispersion value change.
+ * include/ntp.h (CLOCK_SGATE): Popcorn spike gate (Whoa, Molly!)
+ From Dave Mills.
+
+2001-01-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * config.sub (Repository): Updated.
+ * config.guess (Repository): Updated.
+
+ * ntpd/ntp_loopfilter.c (local_clock): Just use sys_jitter in the
+ calculation for rootdispersion.
+ From Dave Mills.
+
+2001-01-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (transmit): Fix documentation. Set
+ peer->outdate and call poll_update in a new place. Sanity checks
+ in the MODE_BROADCAST case.
+ (clock_select): Track the old peer. Use the old peer in
+ subsequent checks, where appropriate. Clean up unpeer() logic.
+ From Dave Mills.
+
+2001-01-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_chu.c: Start using HAVE_AUDIO.
+ * ntpd/ntp_proto.c (clock_select): If about to discard an
+ ephemeral association, do it only if not the system peer.
+ From Dave Mills.
+
+ * html/pic/wingdorothy.gif:
+ * html/pic/bustardfly.gif:
+ * html/pic/boom3a.gif:
+ * html/pic/tonea.gif:
+ * html/pic/stack1a.jpg:
+ * html/pic/pogoa.gif:
+ * html/pic/pogo8.gif:
+ * html/pic/pogo6.gif:
+ * html/pic/pogo5.gif:
+ * html/pic/pogo4.gif:
+ * html/pic/pogo3.gif:
+ * html/pic/pogo1.gif:
+ * html/pic/oz2.gif:
+ * html/pic/flatheads.gif:
+ * html/pic/boom4.gif:
+ * html/pic/boom3.gif:
+ * html/pic/appletree.gif:
+ * html/pic/alice51.gif:
+ * html/pic/alice44.gif:
+ * html/pic/alice35.gif:
+ * html/pic/alice31.gif:
+ * html/pic/alice15b.gif:
+ * html/pic/alice13.gif:
+ * html/pic/alice11.gif:
+ * html/release.htm:
+ * html/rdebug.htm:
+ * html/prefer.htm:
+ * html/porting.htm:
+ * html/ntptrace.htm:
+ * html/ntpq.htm:
+ * html/ntpdate.htm:
+ * html/monopt.htm:
+ * html/kernpps.htm:
+ * html/index.htm:
+ * html/hints.htm:
+ * html/gadget.htm:
+ * html/driver7.htm:
+ * html/copyright.htm:
+ * html/config.htm:
+ * html/build.htm:
+ * html/authopt.htm:
+ * html/assoc.htm:
+ * html/accopt.htm:
+ Cleanup from Dave Mills.
+
+2000-12-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k13
+
+ * ntpd/refclock_wwv.c (wwv_start): Call audio_init with DEVICE_AUDIO.
+ * ntpd/refclock_irig.c (irig_start): Call audio_init with DEVICE_AUDIO.
+ * ntpd/refclock_chu.c: Documentation cleanup.
+ (DEVICE_AUDIO): Added.
+ (fd_audio): Added.
+ (chu_start): Separate audio from serial device.
+ (chu_receive): Rewrite - get data from serial or audio device as
+ appropriate.
+ (chu_audio_receive): Renamed (from chu_receive) to allow both
+ audio and serial capability.
+ (chu_serial_receive): Ditto.
+ (chu_decode): Do the Right Thing based on audio/serial data.
+ * ntpd/ntp_refclock.c (refclock_open): Check for failure using <0
+ instead of ==-1.
+ * libntp/audio.c: Header cleanup, and remove
+ HAVE_STRUCT_AUDIO_INFO_* related fields.
+ (audio_init): Func arg is device to attempt to open.
+ * include/audio.h (audio_init): Now takes a char * argument.
+ From Dave Mills.
+
+ * configure.in (ntp_refclock): HAVE_AUDIO added. Remove
+ HAVE_STRUCT_AUDIO_INFO_* stuff; Dave rewrote the audio stuff.
+
+2000-12-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k12
+
+2000-12-27 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/release.htm:
+ * html/patches.htm:
+ * html/measure.htm:
+ * html/confopt.htm:
+ * html/clockopt.htm:
+ * html/biblio.htm:
+ * html/authopt.htm:
+ * html/assoc.htm:
+ Updates from Dave Mills.
+
+ * include/ntp_crypto.h: Make sure crypto_flags is visible.
+ From Dave Mills.
+
+2000-12-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (process_packet): pleap/pstratum.
+ (peer_xmit): Use CRYPTO_FLAG_AUTO.
+ * ntpd/ntp_crypto.c (make_keylist): Use CRYPTO_FLAG_AUTO. Only
+ sign host name and timestamps if the clock is synched.
+ * include/ntp_crypto.h (CRYPTO_FLAG_AUTO): Added.
+ From: Dave Mills
+
+2000-12-11 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (transmit): Call clock_select in a few new
+ places. BURST/IBURST cleanup. Don't turn off FLAG_BURST at the
+ EOburst.
+ (receive): Set peer->unreach = 0 before we call process_packet().
+ (process_packet): ditto, before calling poll_update(). Lose some
+ debugging, MODE_BCLIENT/CLIENT cleanup.
+ (poll_update): Bump nextupdate on FLAG_REFCLOCK, not _REFCLOCK or
+ _IBURST.
+ (peer_clear): Don't set IBURST on MDF_BCLNT.
+ From: Dave Mills.
+
+ * ntpdate/ntpdate.c (alarming): Appease ansi2knr.
+
+2000-12-10 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_control.c (ctl_putpeer): CP_TTL and CP_TTLMAX
+ MDF_ACAST and MDF_MCAST cleanup.
+
+ * ntpd/refclock_wwv.c (wwv_start): ttlmax/ttl cleanup.
+ * ntpd/refclock_usno.c (usno_timeout): ttlmax/ttl cleanup.
+ * ntpd/refclock_parse.c (CLK_REALTYPE): ttlmax/ttl cleanup.
+ * ntpd/refclock_chu.c (chu_start): ttlmax/ttl cleanup.
+ * ntpd/refclock_acts.c (acts_timeout): ttlmax/ttl cleanup.
+ * ntpd/ntp_refclock.c (refclock_newpeer): Don't do the
+ any_interface -> loopback_interface trick.
+ * ntpd/ntp_proto.c (transmit): Broadcast/manycast cleanup.
+ * ntpd/ntp_peer.c: Cleanup.
+ * ntpd/ntp_io.c: Cleanup.
+ * ntpd/ntp_crypto.c (crypto_recv): AUTOKEY based on BCLNT, not MCAST2.
+ * include/ntpd.h: Declare findbcastinter().
+ * include/ntp.h: struct peer's ttlmax is now max ttl/refclock
+ mode. ttl is now ttl for manycast mode.
+ (FLAG_MCAST): Reworked several FLAG_ bits.
+ From Dave Mills.
+
+2000-12-05 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpq/ntpq.c: CP_TTLMAX support.
+ * ntpd/ntp_proto.c (transmit): MDF_ACAST ttl fixes.
+ * ntpd/ntp_peer.c (resetmanycast): Reset ttl if MDF_ACAST.
+ (peer_config): Save max ttl in ttlmax.
+ * ntpd/ntp_control.c: ttlmax support.
+ * include/ntp_control.h (CP_TTLMAX): Added.
+ * include/ntp.h: Added ttlmax to struct peer.
+ Dave Mills.
+
+2000-12-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (receive): That any_interface is now an
+ rbufp->dstadr.
+ Various other doc and code cleanup.
+ * ntpd/ntp_peer.c (findmanycastpeer): Fixes
+ From Dave Mills
+
+2000-12-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_request.c (do_conf): call peer_config with
+ any_interface, not 0.
+ * ntpd/ntp_proto.c (transmit): Manycast cleanup
+ * ntpd/ntp_peer.c (findmanycastpeer): manycast cleanup
+ * ntpd/ntp_io.c (sendpkt): Only check ttl if we have a ttl
+ (findinterface): Cleanup
+ * ntpd/ntp_control.c: cleanup
+ * include/ntpd.h: Added resetmanycast.
+ * include/ntp_control.h (CP_TTL): disp -> ttl
+ * ntpq/ntpq.c: disp -> ttl
+ From Dave Mills
+
+2000-11-26 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k11
+
+ * ntpd/ntp_proto.c (transmit):
+ * ntpd/ntp_peer.c:
+ * ntpd/ntp_io.c:
+ * ntpd/ntp_control.c (ctl_putpeer):
+ * ntpd/ntp_config.c (getconfig):
+ * include/ntpd.h: mcast/ucast interface cleanup.
+ From: Dave Mills
+
+ * include/ntp_request.h: Put data[] as MAXFILENAME+16. This will
+ fix the conf_peer requests again, but re-break compatibility with
+ old versions of the daemon. Sigh.
+
+ * util/ntp-genkeys.c (cleanlinks): Don't do it if nosymlinks.
+
+2000-11-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_parse.c (rawdcf_init_1): make Linux happier with
+ some modem control stuff.
+ From: Wolfram Pienkoss <wp@bszh.de> (via Frank Kardel)
+
+ * ntpd/refclock_pcf.c (pcf_poll): isdst fix
+ From: Andreas Voegele <andreas.voegele@gmx.de>
+
+2000-10-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k10
+
+ * ntpd/refclock_wwvb.c (wwvb_start): Cosmetic reorder.
+ * ntpd/refclock_atom.c (RANGEGATE): Cleanup. Add ASTAGE.
+ Add ppsparams to struct ppsunit.
+ (atom_start): Init peer->burst to ASTAGE.
+ (atom_shutdown): Multi-handle
+ (atom_pps): Multi-handle
+ (atom_pps): RANGEGATE cleanup
+ (atom_poll): Poll count cleanup. Error check cleanup. Burst cleanup.
+ * ntpd/ntp_refclock.c (refclock_transmit): Lose the pre-burst
+ check poll_update().
+ (refclock_sample): Fix the jitter calc.
+ (refclock_receive): Pass the jitter to the clock_filter().
+
+ * ntpd/ntp_proto.c (clock_update): If we lose sync, reset the poll
+ to NTP_MINDPOLL.
+ (poll_update): Poll wiggles. Make sure peer->nextdate is timely.
+ (clock_select): If we lose sync, reset the poll to NTP_MINDPOLL.
+ * ntpd/ntp_loopfilter.c (local_clock): Show the asocid in debug
+ output. popcorn debug message changes. Clamp the poll interval
+ if the system peer has changed. PPS wiggle changes.
+ From Dave Mills.
+
+2000-10-16 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_pcf.c (pcf_start):
+ * html/driver35.htm:
+ The radio clock transmits 69 bits with a period of 2.5
+ milliseconds per bit. Thus the driver now sets the default
+ calibration offset to 0.1725 (69 * 2.5 = 172.5).
+ Its now possible to disable the check of the radio clock's
+ synchronisation status bit. Several users requested this option.
+ From: Andreas Voegele <andreas.voegele@gmx.de>
+
+ * html/refclock.htm:
+ * html/rdebug.htm:
+ * html/prefer.htm:
+ * html/pps.htm:
+ * html/ntpdc.htm:
+ * html/miscopt.htm:
+ * html/ldisc.htm:
+ * html/kern.htm:
+ * html/index.htm:
+ * html/exec.htm:
+ * html/driver22.htm:
+ * html/clockopt.htm:
+ Updates from Dave Mills
+
+ * ntpd/ntp_intres.c (request): Sanity check the size of the response
+
+2000-10-15 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpq/ntpq_ops.c (dopeers): Dave didn't like the patch to show
+ the units on the times...
+ * ntpdc/ntpdc_ops.c (doset): SYS_FLAG_PPS cleanup
+ * ntpd/refclock_wwv.c (wwv_newchan): Update the peer refid if
+ we're talking to a stratum 0 source
+ * ntpd/refclock_trak.c: Needs PPS
+ * ntpd/refclock_oncore.c: Disable for now
+ * ntpd/refclock_mx4200.c: Needs PPSAPI, not PPS
+ Header cleanup. PPS interface cleanup.
+ Process sentences with a switch
+ Cleanup and sanity checks
+ * ntpd/refclock_datum.c: header cleanup, light body cleanup
+ * ntpd/refclock_conf.c: CLOCK_TRAK needs PPS
+ MX4200 needs PPSAPI, not PPS
+ Disable ONCORE for now
+ * ntpd/refclock_bancomm.c: Surgery
+ * ntpd/refclock_atom.c: Cleanup
+ (atom_control): added
+ (atom_ppsapi): added
+ * ntpd/ntp_request.c (setclr_flags): SYS_FLAG_PPS cleanup
+ * ntpd/ntp_refclock.c: stropts.h back in in TTYCLK and
+ HAVE_SYS_CLKDEFS_H
+ Get ntp_syscall if KERNEL_PLL
+ Define cal_enable
+ (refclock_receive): Cleanup
+ (refclock_control): sanity check procptr
+ * ntpd/ntp_proto.c (init_proto): pps_enable
+ (proto_config): Turn on/off PPS discipline
+ * ntpd/ntp_loopfilter.c: pps_enable
+ (local_clock): record_loop_stats() if !ntp_enable
+ (local_clock): Turn off PPS if it's not enabled
+ Other cleanup/fixes
+ * ntpd/ntp_config.c: pps and calibrate keywords. Initialize
+ pps_assert to 0, not 1 (swap assert/clear?)
+ * include/ntpd.h: We have pll_status if KERNEL_PLL
+ Added pps_enable and cal_enable
+ * include/ntp_request.h (SYS_FLAG_PPS): Renamed from
+ SYS_FLAG_AUTHENTICATE
+ * include/ntp.h (PROTO_PPS): Added
+ (PROTO_CAL): Added
+ From: Dave Mills
+
+2000-09-23 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * include/ntp_refclock.h (stropts.h, sys/clkdefs.h): Harmful and
+ useless file include's turned off.
+ * libntp/iosignal.c (netinet/in.h, sys/sockio.h): Duplicate file
+ include's turned off.
+ * ntpd/ntp_refclock.c (ntp_tty.h): File included.
+ (refclock_open, refclock_ioctl): Use `TTY' from ntp_tty.h.
+ * ntpd/refclock_atom.c: Grab a few headers regardless; if we don't
+ CLOCK_ATOM we provide a stub pps_sample() routine so the WHARTON
+ can be compiled/used.
+ * ntpq/ntpq_ops.c (dopeers, doopeers): Print the units for
+ each column header.
+ Tue Sep 12 16:25:51 2000 Philippe De Muyter <phdm@macqel.be>
+
+ * ntpd/refclock_atom.c (atom_start): Lose "temp", because we now
+ initially either CAPTUREASSERT or CAPTURECLEAR.
+ (atom_pps): pps_info_t is our friend. Update comments to reflect
+ reality. DTRT with pps_info. Do some overflow checks.
+ From: Dave Mills.
+
+2000-09-21 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: Much improved Solaris patch-level check for the
+ FLL bug test.
+ From: Marc.Brett@westgeo.com
+
+2000-09-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * include/Makefile.am (noinst_HEADERS): Added ntp_tty.h
+ Reported by Dave Mills
+
+2000-09-16 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntptrace/ntptrace.c:
+ * ntpdate/ntptimeset.c (receive):
+ * ntpdate/ntpdate.c (receive):
+ STRATUM cleanup
+ * ntpd/refclock_atom.c (atom_poll): Autostratum. Lose the leap.
+ * ntpd/ntp_proto.c: sys_prefer
+ (process_packet): stratum cleanup
+ (clock_select): Autostratum the ATOM
+ * ntpd/ntp_loopfilter.c: pps_update/pps_stratum wiggle.
+ * include/ntpd.h: Lose pps_update, gain sys_prefer
+ * include/ntp.h: STRATUM variable cleanup
+ From Dave Mills
+
+2000-09-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_oncore.c (oncore_get_timestamp): Print debug
+ messages being aware of HAVE_STRUCT_TIMESPEC.
+
+ * ntpd/refclock_atom.c: Have pps_params tag along in the ppsunit
+ structure, where it really belongs.
+ (atom_pps): Use PPS_CAPTURE{ASSERT,CLEAR}
+ From: Dave Mills.
+
+2000-09-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (ac_cv_var_atom_ok): Cleanup ATOM/PPSAPI stuff...
+
+ * scripts/ntp-close: Find "close" ntp servers.
+ From: Neal McBurnett <neal@bcn.boulder.co.us>
+
+ * ntpd/refclock_conf.c:
+ * ntpd/refclock_oncore.c: Re-enabled oncore driver for HAVE_PPSAPI
+ case only.
+
+2000-09-12 Philippe De Muyter <phdm@macqel.be>
+
+ * ntpd/refclock_parse.c (we400a_pollinfo): Useless variable removed.
+ [WHARTON slot]: Set NO_POLL, NO_INIT and NO_DATA; fix `fixed format'
+ and `offset' fields.
+
+ * include/ntp_tty.h: New file
+ * libntp/icom.c: Use it.
+
+ * ntp_update (UPDATE_OPTIONS): Use -d, too. Fix Pass 1 comment.
+
+2000-09-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_oncore.c: shmem_fname added. oncore_init_shmem()
+ updated.
+ (oncore_start): Comment cleanup
+ (oncore_read_config): Move call to oncore_shmem_init()
+ (oncore_init_shmem): Prototype change
+ (oncore_init_shmem): Don't exit on errors
+ (oncore_msg_any): timespec/timeval cleanup
+ (oncore_msg_Cj_id): shmem_fname changes
+ (oncore_msg_BaEaHa): saw_At bugfix
+ (oncore_get_timestamp): Added current_mode/current_params. Commented.
+ Added time_pps_getcap() calls.
+ From: Reg Clemens <reg@dwf.com>
+
+ * ntpd/ntp_io.c (input_handler): Better recvfrom() error message
+ From: Dean Gibson <timekeeper@tcp-udp.net>
+
+ * ntpdc/ntpdc.c (passwd): Get them working again.
+ From: Benjamin Greenwald <beng@lcs.mit.edu>
+
+2000-09-11 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_atom.c:
+ (atom_start):
+ * ntpd/ntp_refclock.c: Comment cleanup. PPS/PPSAPI cleanup
+ (refclock_open): PPS/PPSAPI cleanup
+ From: Dave Mills
+
+ * ntpd/refclock_oncore.c:
+ * ntpd/refclock_mx4200.c:
+ HAVE_TIMESPEC -> HAVE_STRUCT_TIMESPEC
+
+ * configure.in: ATOM requires struct timespec, not PPSAPI. Clean
+ up dependencies accordingly.
+
+2000-09-09 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (ac_cv_var_atom_ok): Improve ATOM configure message
+ PARSE requires ATOM.
+
+ * ntpd/ntpd.c (set_process_priority): Clean up debug messages.
+
+2000-09-07 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: ac_cv_atom_ok, depends on HAVE_PPSAPI.
+ I notice the PARSE clocks require ATOM. Could be interesting...
+
+2000-09-06 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * Makefile.in (distdir): Seems to be a bug in an automake library
+ somewhere...
+
+2000-09-05 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_loopfilter.c (loop_config): V3 API needs MOD_BITS when
+ initializing ntv.modes. Initialize ntv.{maxerror,esterror,status}
+ earlier. Clean up KERNEL_PLL code.
+
+2000-09-04 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpq/ntpq.c: report offset as "offset", not "phase". Lose
+ compliance.
+ * ntpd/refclock_local.c (local_poll): variance -> jitter
+ * ntpd/refclock_chu.c (chu_major): Lose variance.
+ * ntpd/ntp_util.c (hourly_stats): sys_error -> sys_jitter
+ (record_loop_stats): ditto
+ * ntpd/ntp_request.c (peer_info): variance -> jitter
+ * ntpd/ntp_refclock.c (refclock_sample): variance -> jitter
+ (refclock_receive): variance -> jitter
+ * ntpd/ntp_proto.c (process_packet): variance -> jitter
+ (clock_filter): variance -> jitter
+ (clock_select): variance -> jitter
+ (root_distance): variance -> jitter
+ * ntpd/ntp_peer.c (newpeer): variance -> jitter
+ * ntpd/ntp_loopfilter.c: Cleanup pll_nano selection bogon.
+ Centralize the kernel API data.
+ (local_clock): Lose sys_error.
+ (loop_config): Code cleanup.
+ * ntpd/ntp_control.c: Call offset "offset" and not "phase". Lose
+ CS_COMPLIANCE. Deal with variance/jitter rename.
+ * include/ntp_refclock.h: Rename variance to jitter in struct
+ refclockproc.
+ * include/ntp_control.h (CS_COMPLIANCE): Lose it.
+ * include/ntp.h: Rename variance to jitter in struct peer.
+ From: Dave Mills
+
+2000-09-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_atom.c: Use the new ppsunit. Cleanup and improve
+ documentation.
+ * ntpd/ntp_refclock.c (refclock_sample): Don't accumulate
+ variance.
+ From Dave Mills
+
+2000-08-31 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/driver22.htm: Update the docs.
+ * ntpd/refclock_atom.c (atom_start): Open the device if it hasn't
+ been opened already.
+ (pps_sample): Make it more visible.
+ From Dave Mills.
+
+ * configure.in: 4.0.99k8
+
+ Revert to the older automake.
+
+ * configure.in: The PPSAPI headers use "inline", so require a STDC
+ compiler.
+
+ * ntpd/refclock_atom.c (atom_shutdown): Typo
+ From Dave Mills
+
+ * configure.in: Convert to autoconf-2.49
+
+ * ntpd/refclock_atom.c: Header cleanup Comment cleanup. Lose the
+ TTYCLK stuff. Convert to PPSAPI.
+ * ntpd/ntp_refclock.c (refclock_newpeer): Move refclock_unpeer().
+ From: Dave Mills
+
+2000-08-29 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure: Fix the autoconf problem...
+
+2000-08-20 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 99k7
+
+ * util/ntptime.c (main): Report TAI stuff
+ * ntpq/ntpq.c: CS_COMPLIANCE/CS_JITTER cleanup
+ * ntpd/ntp_loopfilter.c (local_clock): sys_error/sys_jitter cleanup.
+ kernel PPL cleanup.
+ * ntpd/ntp_crypto.c: Check NTP_API if we're doing KERNEL_PLL so we
+ can get the TAI stuff.
+ * ntpd/ntp_control.c: CS_COMPLIANCE now reports "error" instead of
+ "jitter". CS_JITTER now reports jitter.
+ * include/ntpd.h: Added sys_jitter
+ * include/ntp_control.h (CS_JITTER): Added
+ From: Dave Mills
+
+ * ntpd/cmd_args.c (getCmdOpts): Crack -N at pre-scan, as we do the
+ priority wiggle before the final scan.
+ From: Tom Smith <smith@cag.lkg.dec.com>
+ We might do better to move the priority wiggle to after the final
+ scan. Especially if we want to permit command-line options to
+ have decent control over the priority. When we rewrite the config
+ file stuff we might go to a multi-scan to solve some of these
+ problems.
+
+2000-08-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: '99k6, and manually fix configure.
+
+ * include/ntp_request.h (NTP_MAXHOSTNAME): 144 -> 32
+
+2000-08-18 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp-genkeys.c (main): Don't call fclose if stream is NULL.
+
+2000-08-17 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/driver35.htm:
+ * ntpd/refclock_pcf.c: Updates and improvements
+ From: Andreas Voegele <andreas.voegele@gmx.de>
+
+ * configure.in (ac_cv_struct_ntptimeval): Lose the TAI check - we
+ don't need it since we can check NTP_API. Re-hack the generated
+ configure script.
+
+ * configure: Manual hack to the ntptimeval.time.tv_nsec stuff
+ because we're running an old autoconf.
+
+2000-08-16 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntptime.c: Use: HAVE_STRUCT_NTPTIMEVAL_TIME_TV_NSEC, it's
+ the standard name.
+
+ * configure.in: Look for struct ntptimeval.tai in sys/timex.h
+ Cleanup struct tptimeval member tests.
+
+ * util/ntp-genkeys.c: New command-line arguments
+
+2000-08-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp-genkeys.c (main): More small steps...
+
+2000-08-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_crypto.c (crypto_rsa): Now that we're using
+ NTP_KEYSDIR, make sure there is a '/ between the dir and the file.
+
+ * util/ntp-genkeys.c (main): More small steps...
+
+2000-08-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp-genkeys.c (main): Another small step...
+
+ * configure.in: 99k5
+
+ * include/ntp_request.h: Make data[] member of req_pkt 32 again.
+ Bump the version number...
+
+ * ntpd/ntp_loopfilter.c (local_clock): Change 0. to 0 in a couple
+ of places.
+ From Dave Mills
+
+2000-08-11 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp-genkeys.c (main): Minimal progress...
+
+2000-08-06 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/check_y2k.c: Make debug definition match ntpd.h's declaration
+
+ * ntpd/Makefile.am (check-local): Use test in favor of [
+
+2000-08-05 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (NTP_KEYSDIR): Typo
+
+2000-08-04 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ElectricFence/Makefile.am (check-local): use test instead of [
+
+ * configure.in: AC_REPLACE_FUNCS(strdup)
+ * libntp/strdup.c (strdup): Added.
+ * libntp/Makefile.am (EXTRA_libntp_a_SOURCES): Added strdup.c
+
+ * util/Makefile.am (ntp_genkeys_DEPENDENCIES): Use $U on .o files
+ (ntp_genkeys_LDADD): ditto.
+
+ * ntpd/ntp_crypto.c: Use NTP_KEYSDIR
+
+ * util/ntp-genkeys.c (snifflink): Ignore ENOENT, too.
+
+ * ntpd/ntp_proto.c (peer_xmit): Crypto cleanup
+ * ntpd/ntp_crypto.c: Cleanup
+ * ntpd/ntp_control.c: Join the club
+ * ntpd/ntp_config.c: Call crypto_config() instead; we got rid of
+ crypto_flags.
+ * include/ntp_crypto.h (CRYPTO_FLAG_ENAB): New crypto flags, rework
+ * include/ntp_control.h (CS_FLAGS): Wiggle in.
+ * include/ntp.h: Added crypto peer status to struct peer
+ From Dave Mills
+
+2000-08-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp-genkeys.c: Initialize path_keysdir to NTP_KEYSDIR.
+
+ * configure.in (NTP_KEYSDIR): Added
+ * acinclude.m4: Added AC_DEFINE_DIR macro
+
+ * util/ntp-genkeys.c (main): Sanity checks on the file paths.
+
+2000-08-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp-genkeys.c (crypto_config): Only #ifdef PUBKEY
+ (PATH_MAX): Try harder...
+
+2000-08-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp-genkeys.c (main): Use snifflink()
+ (snifflink): Implement...
+
+ * configure.in: Check for readlink()
+
+2000-07-31 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp-genkeys.c (main): Use strdup on the tokens returned
+ from ntp_config...
+ (crypto_config): Fix a typo...
+ (crypto_config): Even more...
+ (usage): Flesh it out.
+
+ * include/ntp_config.h:
+ * ntpd/ntp_config.c: Move a whack of #defines to ntp_config.h so
+ ntp-genkeys.c can see them, too.
+
+ * util/ntp-genkeys.c: Add stubs to work with ../ntpd/ntp_config.o,
+ start hooking things up.
+ (main): debugging
+ (crypto_config): better implementation
+
+
+ * ntpd/ntp_config.c (getconfig):
+ * ntpd/ntpd.c: Initialize "debug" here, not in ntp_config.c
+
+ * util/Makefile.am (ntp_genkeys_LDADD): Added ../ntpd/ntp_config.o
+ * util/Makefile.am (ntp_genkeys_DEPENDENCIES): Added.
+
+2000-07-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99k4
+ * util/ntp-genkeys.c: Start hacking for new functionality.
+ * include/Makefile.am (noinst_HEADERS): Added ntp_cmdargs.h and
+ ntp_config.h .
+ * ntpd/ntp_config.c: Grab ntp_cmdargs.h. Make some new globals
+ (ugh), move ntpd-specific variables and code to cmd_args.c .
+ * ntpd/cmd_args.c: Move command argument processing functions from
+ ntp_config.c to this file.
+ * ntpd/Makefile.am (ntpd_SOURCES): Added cmd_args.c
+ * include/ntpd.h: Move getstartup() to ntp_cmdargs.h
+ * include/ntp_cmdargs.h: New file
+ Begin the hacking fest to make it easier for ntp-genkeys to use
+ ntpd's config processing code. I really hope this is the lesser
+ of the evils...
+
+2000-07-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp-genkeys.c (usage): Added.
+
+ * ntpd/ntp_crypto.c: Cleanup
+ * ntpd/ntp_proto.c (transmit): Add some parens.
+ (peer_xmit): Add ntohl when grabbing sndauto.seq for broadcast.
+ * ntpd/ntp_peer.c (findpeer): Cleanup
+ * ntpd/ntp_loopfilter.c (local_clock): Typo
+ From Dave Mills
+
+ * include/ntp_config.h: Created
+
+ * util/ntp-genkeys.c: Always build, but realize we may not have
+ RSAREF. Compile parts appropriately.
+
+ * util/Makefile.am (bin_PROGRAMS): Always make ntp-genkeys
+ (ntp-genkeys_LDADD): Use $LIBRSAREF instead of the "real path"
+ * configure.in: Lose MAKE_NTP_GENKEYS
+
+ * configure.in:
+ * util/ntp-genkeys.c:
+ * util/Makefile.am:
+ Renamed ntp_genkeys to ntp-genkeys.
+
+2000-07-27 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpdate/ntpdate.c (ntpdatemain): Cleanup error message.
+
+ * ntpdate/ntpdate.c (ntpdatemain): Add missing authtrust() call
+ From: Jason Heiss <jheiss@cruzeiro.ugcs.caltech.edu>
+
+ * ntpd/refclock_ulink.c (ulink_receive):
+ * ntpd/ntp_crypto.c:
+ * libntp/authparity.c:
+ Lint/noise cleanup
+ From: Marc Brett <mbrett@rgs0.london.waii.com>
+
+ * ntpd/ntp_proto.c: Specifically track manycastserver and
+ survivors
+ From: Dave Mills
+
+2000-07-26 Sven Dietrich <sven_dietrich@trimble.com>
+
+ * ntpd/ntpd.c: remove WINNT priority adjustment to the ports/winnt area
+ where it does not clutter up the main distribution.
+
+2000-07-24 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (receive): dstadr_sin needs higher visibility
+ From: Dave Mills
+
+ * flock-build: Added baldwin
+
+ * ntpd/ntp_request.c:
+ * ntpd/ntp_proto.c:
+ * ntpd/ntp_peer.c:
+ * ntpd/ntp_io.c:
+ * ntpd/ntp_intres.c:
+ * ntpd/ntp_crypto.c (make_keylist):
+ * ntpd/ntp_control.c:
+ * ntpd/ntp_config.c (CONF_MOD_IBURST, save_resolve):
+ * include/ntpd.h (findpeerbyassoc, newpeer, peer_config, *_interface):
+ * include/ntp_request.h (CONF_FLAG_IBURST):
+ * include/ntp_crypto.h (crypto_xmit, make_keylist):
+ * include/ntp.h (FLAG_IBURST):
+ * html/release.htm:
+ * html/confopt.htm:
+ * html/assoc.htm:
+ Add iburst option, fix broadcast/multicast and some types.
+ From: Dave Mills
+
+2000-07-20 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * scripts/Makefile.am (bin_SCRIPTS): Install ntp-wait
+
+ * configure.in: 4.0.99k
+
+2000-07-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_proto.c (peer_xmit): PUBKEY cleanup
+
+2000-07-18 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99j5
+
+ * html/ntpd.htm (HREF): Document other missing command-line options
+
+ * html/ntpd.htm (HREF): Document
+ * html/confopt.htm (href): Undocument
+ * ntpd/ntp_config.c (getconfig): -N high for high-priority.
+ Lose the ntp.conf way of setting priority.
+
+ * ntpd/ntp_crypto.c: PUBKEY/AUTOKEY cleanup
+ From Dave Mills
+
+2000-07-17 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/confopt.htm (href): Document it.
+ * ntpd/ntp_config.c (getconfig): CONFIG_PRIORITY support
+ * ntpd/ntpd.c (set_process_priority): Use it.
+
+ * ntpd/ntp_crypto.c: Crypto key stuff
+ * ntpd/ntp_proto.c: pubkey -> pubkey.ptr
+ * ntpd/ntp_control.c (ctl_putpeer): fstamp -> pubkey.fstamp
+ * ntpd/ntp_peer.c:
+ * include/ntpd.h:
+ * include/ntp_types.h:
+ * include/ntp_request.h:
+ * include/ntp_crypto.h:
+ * include/ntp_control.h:
+ * include/ntp.h: Type cleanup
+ From: Dave Mills
+
+2000-07-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ElectricFence/Makefile.am (check-local): Don't run the tests if
+ we didn't build the programs...
+ (check-local): Same, but watch the return codes...
+
+ * ElectricFence/page.c: #include config.h if it's there.
+ Properly handle the sys_errlist declaration.
+
+ * html/ntpq.htm:
+ * html/index.htm:
+ * html/debug.htm:
+ * html/authopt.htm:
+ Reality check.
+ From Dave Mills
+
+2000-07-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * Makefile.am (SUBDIRS): Added ElectricFence
+ * configure.in (AC_CONFIG_FILES): Added ElectricFence support
+ * ElectricFence: Imporpted.
+
+2000-07-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/ntp_genkeys.c (main): Cleanup
+ * ntpd/refclock_wwv.c (wwv_qrz): sqrt -> SQRT
+ * ntpd/refclock_chu.c (chu_rf): sqrt -> SQRT
+ * ntpd/ntpd.c (set_process_priority): Disable high-priority for now.
+ PUBKEY cleanup.
+ * ntpd/ntp_timer.c: sys_revoketime cleanup.
+ * ntpd/ntp_proto.c (receive): PUBKEY cleanup. Comment and code
+ cleanup.
+ (process_packet): Comment and code (PUBKEY) cleanup.
+ (peer_xmit): Comment and code cleanup.
+ (fast_xmit): Comment and code cleanup.
+ * ntpd/ntp_peer.c (expire_all): revoketime cleanup. PUBKEY cleanup.
+ * ntpd/ntp_crypto.c: Comment reorg. DH parameters are now
+ file-static instead of local to subroutines.
+ (make_keylist): peer->pcookie.key cleanup/fix
+ (crypto_recv): Subroutine documentation cleanup, other cleanup
+ (crypto_xmit): Cleanup/document.
+ (crypto_setup): Cleanup/document.
+ (crypto_agree): Cleanup/document.
+ (crypto_rsa): now static
+ (crypto_dh): now static. Comment cleanup. Code cleanup.
+ (crypto_tai): now static. Code and comment cleanup.
+ (crypto_config): Deal with CRYPTO_CONF_LEAP.
+ * ntpd/ntp_control.c (CS_DHPARAMS): Rename corresponding token to
+ "params". Remove CS_TAI from def_sys_var[].
+ (ctl_putsys): CS_HOST, CS_DHPARAMSm CS_REVTIME, and CS_LEAPTIME
+ bugfix. CS_TAI cleanup.
+ * ntpd/ntp_config.c (CONF_CRYPTO_LEAP): Added
+ (getconfig): Added CONF_CRYPTO_LEAP support.
+ * include/ntp_syslog.h: Lose GIZMO stuff.
+ * include/ntp_crypto.h (CRYPTO_CONF_LEAP): Added
+ * include/ntp.h: struct autokey, cookie,value, and pkt changes for
+ signature field. Update the inline docs on pkt's exten field.
+ From: Dave Mills
+
+
+2000-07-08 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_util.c (stats_config): If we read a bogus old_drift,
+ use 0 instead of failing.
+
+2000-07-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * README.cvs: Cleanup.
+
+ * ntpd/refclock_datum.c (datum_pts_poll): index -> unit_index
+ * ntpd/ntp_resolver.c (findhostaddr): const cleanup
+ * libntp/recvbuff.c:
+ * libntp/msyslog.c:
+ * libntp/emalloc.c:
+ * libntp/authreadkeys.c:
+ Fix header order.
+ From: Simon Burge <simonb@netbsd.org>
+
+ * ntpd/ntp_util.c (stats_config): Use HAVE_FINITE and HAVE_ISFINITE
+ * configure.in (ac_cv_struct_ntptimeval_timespec): isfinite()
+ checks for HP-UX11.
+ From: Albert Chin-A-Young <china@thewrittenword.com>
+
+2000-07-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * flock-build (LIST): Lose malarky, update some machine/OS descriptions
+
+ * configure.in: 4.0.99j4
+
+ * ntpq/ntpq.c: Lose PUBKEY stuff - older ntpq's will complain when
+ they see the info in a packet.
+ * ntpd/ntp_proto.c (peer_xmit): TAI changes.
+ * ntpd/ntp_crypto.c: Fix host/network byteorder stuff. Follow
+ global->struct changes. TAI changes. Bugfixes.
+ * ntpd/ntp_control.c: Follow field reorder/rename.
+ * include/ntp_crypto.h: Move crypto stuff from separate globals
+ into structs.
+ * include/ntp_control.h (CS_HOST): Reorder/rename some fields
+ From: Dave Mills
+
+2000-06-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_peer.c (unpeer): Moved keystr cleanup inside ifdef PUBKEY
+
+ * configure.in: 4.0.99j3
+
+ * html/release.htm:
+ * html/ntpq.htm:
+ * html/authopt.htm:
+ Updates from Dave Mills
+
+ * ntpd/ntp_request.c (dns_a): Don't call crypto_public for now...
+ * ntpd/ntp_proto.c (receive): Follow the TEST wiggles
+ (peer_xmit): TAI support
+ * ntpd/ntp_crypto.c: TAI support
+ * ntpd/ntp_control.c: CS_VERSION and CS_TAI support
+ * include/ntp_crypto.h (CRYPTO_FLAG_TAI): Added.
+ * include/ntp_control.h (CS_VERSION): Added.
+ * include/ntp.h (TEST4,TEST5,TEST8,TEST9): Wiggle.
+ From: Dave Mills
+
+ * ntpd/Makefile.am (ntpd_SOURCES): Lose refclock_ulink331.c
+ because the new refclock_ulink.c handles it.
+
+2000-06-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_config.c (getconfig): Sanity check the right variable
+ From: Dave Mills.
+
+2000-06-25 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99j2
+
+ * ntpd/ntp_proto.c:
+ * ntpd/ntp_peer.c:
+ * ntpd/ntp_crypto.c:
+ * include/ntp_crypto.h:
+ * include/ntp.h:
+ AUTOKEY/PUBKEY/DH/crypto changes
+ From: Dave Mills
+
+2000-06-23 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/driver34.htm:
+ * ntpd/refclock_ulink.c:
+ * ntpd/refclock_ulink331.c: (removed)
+ Updated for 320/330 series refclocks
+ From: joseph lang <tcnojl1@earthlink.net>
+
+ * ntpd/refclock_oncore.c: Patches/improvements
+ * html/driver30.htm: New release
+ From: Reg Clemens <reg@orion.dwf.com>
+
+2000-06-17 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99j1
+
+ * ntpdc/ntpdc.c (getcmds):
+ * configure.in:
+ Readline support.
+ From: Aaron Sherman <ajs@narn.ajs.com>
+
+ * ntpd/refclock_ulink331.c: Added.
+ Sent in by Doug Grosso <dgrosso@mint.net>
+ * ntpd/Makefile.am (ntpd_SOURCES): Added refclock_ulink331.c
+
+ * libntp/snprintf.c: Added stdio.h
+ From: Marc Brett <mbrett@rgs0.london.waii.com>
+
+ * include/ntp.h: struct autokey's siglen is u_int32. So is the
+ siglen in struct cookie. So is siglen and value length in struct
+ value. Add fstamp to struct peer. Resize the exten AUTOKEY field
+ in struct pkt.
+ * include/ntp_crypto.h: crypto_enable -> crypto_flags and a
+ variety of other cleanups.
+ * ntpd/ntp_config.c: crypto_enable -> crypto_flags, and some
+ key/fudge cleanup.
+ * ntpd/ntp_control.c: Much cleanup.
+ * ntpd/ntp_crypto.c: Many changes that Harlan is too tired to
+ properly document.
+ * ntpd/ntp_peer.c: crypto_enable -> crypto_flags
+ (peer_config): Hold off on crypto_public() until some resolver
+ issue is fixed.
+ * ntpd/ntp_proto.c (receive): Disable the reverse DNS lookup for now.
+ (process_packet): Don't record_raw_stats() for now.
+ crypto_enable was renamed to crypto_flags.
+ (peer_xmit): In MODE_ACTIVE or MODE_PASSIVE, only call
+ crypto_xmit() if the peer->cmmd is not CRYPTO_AUTO. Reset
+ peer->cmmd to 0 when we're thru.
+ Don't reset peer->cmmd to 0 until the end of MODE_CLIENT.
+ * ntpd/ntpd.c: Lose the call to crypto_init(). Instead, call
+ crypto_setup() later on if we have crypto_flags.
+ * util/ntp_genkeys.c: Lose GENLEN; use PRIMELEN/2 .
+ From Dave Mills.
+
+ * ntpd/ntp_crypto.c (crypto_rsa):
+ (crypto_dh):
+ Do some debug logging if readlink() fails with something other
+ than EINVAL (file isn't a symlink).
+
+2000-06-04 James R. Van Zandt <jrv@vanzandt.mv.com>
+
+ * html/miscopt.htm (trap): punctuation
+
+ * html/ntpd.htm (-g): typo
+
+ * html/miscopt.htm (logconfig): List the "clock" event class.
+ "allprefix" should be two words.
+
+2000-05-31 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_timer.c: Protect <unistd.h>
+
+2000-05-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/Makefile.am: Document what we expect from -lm
+
+2000-05-29 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99j
+
+2000-05-22 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/ntptime.htm: More fixes
+ From: Kazu TAKAMUNE <takamune@avrl.mei.co.jp>
+
+2000-05-16 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * build (KEYSUF):
+ * flock-build:
+ * configure.in: Lose the "md5" options from the --with-crypto
+ check; Dave hates it.
+
+ * ntpd/ntp_util.c (stats_config):
+ * ntpd/ntp_loopfilter.c (loop_config):
+ * libntp/systime.c (adj_systime):
+ * include/ntp_proto.h (NTP_MAXFREQ):
+ Renamed MAX_FREQ to NTP_MAXFREQ
+
+ * ntpd/ntpd.c (ntpdmain):
+ * ntpd/ntp_proto.c (receive):
+ (poll_update):
+ * ntpd/ntp_intres.c (addentry):
+ * ntpd/ntp_config.c (getconfig):
+ Lint cleanup
+ From: Marc Brett <mbrett@rgs0.london.waii.com>
+
+ * include/ntp_stdlib.h:
+ * libntp/systime.c (adj_systime):
+ * ntpd/ntp_loopfilter.c (loop_config):
+ * ntpd/ntp_util.c (stats_config):
+ * ports/winnt/ntpd/nt_clockstuff.c (adj_systime):
+ MAXFREQ -> MAX_FREQ
+ * include/ntp_proto.h: Define MAX_FREQ
+
+2000-05-15 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * include/ntp_stdlib.h:
+ * libntp/systime.c (adj_systime):
+ * ntpd/ntp_loopfilter.c (loop_config):
+ * ntpd/ntp_util.c (stats_config):
+ * ports/winnt/ntpd/nt_clockstuff.c (adj_systime):
+ sys_maxfreq -> MAXFREQ
+ Per Dave Mills.
+
+2000-05-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * acinclude.m4: Typo...
+
+2000-05-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libntp/gpstolfp.c (GPSORIGIN): Try new ULONG_CONST macro
+
+ * ntpdate/ntptimeset.c:
+ * ntpdate/ntpdate.h:
+ * ntpd/refclock_oncore.c (oncore_msg_En):
+ * ntpd/ntp_util.c (stats_config):
+ * ntpd/ntp_request.c:
+ * ntpd/ntp_intres.c (findhostaddr):
+ * ntpd/ntp_config.c (getconfig):
+ * libntp/systime.c (adj_systime):
+ * libntp/lib_strbuf.c:
+ * libntp/authparity.c:
+ * libntp/audio.c:
+ Header/lint cleanup
+ From/reported by: Simon Burge <simonb@netbsd.org>
+
+ * ntpd/ntp_resolver.c (findhostaddr): Compiler noise cleanup
+
+ * ntpd/ntp_intres.c: Compiler noise cleanup
+
+ * html/ntptime.htm: Document reality check
+ From: Kazu TAKAMUNE <takamune@avrl.mei.co.jp>
+
+2000-05-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_intres.c (ntp_intres): Quiet some debug messages
+ Reported by: Brian Bergstrand <brianb@mac.com>
+
+2000-05-11 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * scripts/mkver.in (ConfStr): Use -r if we're using RSAREF,
+ otherwise use -a if we're using autokey, otherwise use no extra
+ suffix.
+
+2000-05-11 Sven Dietrich <sven_dietrich@trimble.com>
+
+ * ports/winnt/include/config.h: New defines to support AUTOKEY
+ * ports/winnt/include/unistd.h: Added another dummy placeholder.h
+ * ports/winnt/ntpd/ntpd.dsp: Added ntp_crypt.c to makefile
+ * ports/winnt/ntpd/ntpd.c: service_main needs a local hostname[]
+ * html/hints/winnt.htm: Add remark about 4.0.99i not compiling.
+ These changes got WINNT running again. No idea if the keys stuff
+ works however.
+
+2000-05-10 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99i9
+
+ * ntpd/ntp_crypto.c: tstamp and autokey cleanup
+ From: Dave Mills
+
+ * ntpd/ntp_proto.c (clock_update): Only call expire_all() if
+ AUTOKEY
+ From many folks, including Reg Clemens <reg@dwf.com>
+
+2000-05-07 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99i8
+
+ * flock-build: Use new --with-crypto choices
+ * build (KEYSUF): Deal with new --with-crypto
+ * configure.in: --with-crypto={md5,autokey,rsaref};
+ lose --enable-autokey
+
+2000-05-06 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * build (KEYSUF): Catch --disable-autokey first.
+
+2000-05-05 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * flock-build: If we don't use autokey, don't use rsaref either.
+
+ * configure.in: 4.0.99i7
+
+ * build (KEYSUF):
+ * flock-build:
+ It's --disable-autokey now
+
+ * configure.in: MD5 is not optional (but AUTOKEY is)
+ * include/ntp_stdlib.h:
+ * libntp/a_md5encrypt.c:
+ * libntp/authkeys.c:
+ (authhavekey):
+ (MD5auth_setkey):
+ (auth_delkeys):
+ (authencrypt):
+ (authdecrypt):
+ * libntp/authreadkeys.c:
+ (authreadkeys):
+ * ntpd/ntp_proto.c (init_proto):
+ * libntp/authusekey.c:
+ MD5 is required.
+
+2000-05-04 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99i6
+
+ * ntpd/ntp_proto.c (transmit): Fix up the UNREACH code.
+ (receive): Lose some debug code.
+ (clock_update): expire_all() if LEAP_NOTINSYNC
+ crypto_xmit() a CRYPTO_AUTO if !FLAG_AUTOKEY instead of recauto.tstamp
+ crypto_xmit() a CRYPTO_PRIV (not CRYPTO_AUTO) based on pcookie.tstamp
+ crypto_xmit() a CRYPTO_AUTO (not CRYPTO_PRIV) based on FLAG_MCAST2
+ and !FLAG_AUTOKEY
+ * ntpd/ntp_crypto.c (crypto_recv): Clean up debug output.
+ Don't AUTOKEY if FLAG_MCAST2
+ From: Dave Mills
+
+ * flock-build: Also make obe withouyt md5 (no AUTOKEY)
+ * build (BDIR): Handle -noautokey build directory suffix
+ * configure.in: Prepare for AUTOKEY in mkver.in
+ * scripts/mkver.in (ConfStr): Indicate in the version string if
+ we're not using AUTOKEY.
+
+2000-05-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * scripts/ntp-wait.in: Fun things with backspaces
+
+ * configure.in: 4.0.99i5
+
+ * ntptrace/ntptrace.c: Protect sys/ioctl.h; grab config.h
+
+ * ntpd/ntp_proto.c (transmit): AUTOKEY and tstamp fixes.
+ (clock_update): Check oleap against LEAP_NOTINSYNC
+ (peer_clear): Free pubkey when we're done
+ Check peer's keynumber against the seq in MODE_BROADCAST.
+ Reorder tstamp changes.
+ * ntpd/ntp_crypto.c (crypto_recv): Check the packet if we get a
+ CRYPTO_RESP and reorder the update of tstamp.
+ (crypto_recv): Don't expire the peer until we're thru with it.
+ * include/ntp.h: AUTOKEY and pkeyid changes
+ From Dave Mills
+
+ * ntpdate/ntpdate.c: Protect sys/ioctl.h
+
+2000-05-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99i4
+
+ * include/ntp.h:
+ * include/ntp_crypto.h:
+ * include/ntpd.h:
+ * ntpd/ntp_crypto.c:
+ * ntpd/ntp_proto.c:
+ * ntpd/ntpd.c:
+ * util/ntp_genkeys.c:
+ Dave Mills closed some potential vulnerabilities in the key protocol.
+
+2000-04-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99i3
+
+ * ntpd/ntp_proto.c: Just check tstamp, forget about sndauto.seq
+ * ntpd/ntp_crypto.c (crypto_recv): Lose inappropriate ntohl()
+ conversion on tstamp.
+ AUTOKEY if tstamp>0, not !=
+ Stash tstamp before we check pcookie.key (several places)
+ * ntpd/ntp_control.c (ctl_putpeer): In CP_INITSEQ, check
+ recauto.key, not keylist.
+ From: Dave Mills
+
+2000-04-27 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99i2
+
+ * ntpq/ntpq.c: PUBKEY stuff
+ * ntpd/ntp_proto.c (clock_select): nreach, and better survivor pick.
+ * ntpd/ntp_peer.c (newpeer): Better nextdate choice.
+ * ntpd/ntp_control.c (ctl_putsys): Buglet in CS_HOSTNAM code.
+ From Dave Mills.
+
+2000-04-24 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * build (IAM): Show hostname if we trip a buildkey check.
+
+2000-04-23 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * build: deal with optional 1st argument (SIG), which must match
+ the contents of .buildkey
+
+ * flock-build: Generalize, implement SIG and .buildkey, and drive
+ list from LIST, which the user can override.
+
+2000-04-21 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99i1
+ Dave updated some docs, implemented the kpoll variable, and
+ wiggled a host/network byte order thing in the crypto key code.
+
+2000-04-16 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwvb.c (wwvb_receive): Grab any character (instead
+ of just a space) before the DSTchar.
+ From: Dave Mills
+
+2000-04-11 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99i
+
+ Dave made some documentation updates.
+
+2000-04-08 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * flock-build: Add malarky. By default, --enable-parse-clocks.
+ Start 2 builds, one with and the other without rsaref.
+
+ * configure.in: 4.0.99h6
+ Dave improved the crypto stuff some more.
+
+2000-04-05 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_acts.c (acts_receive): Do a better job with year
+ conversions and leap-year checks. The PTB stuff caught this.
+ Reported by: Daniel.Aeby@eam.admin.ch
+
+2000-04-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_atom.c (atom_pps): Bugfix
+ From: Philippe Charnier <charnier@xp11.frmug.org>
+
+2000-03-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libparse/clk_wharton.c (cvt_wharton_400a): Do not return
+ CVT_NONE when receiving the early warning bit set.
+ From: Philippe De Muyter <phdm@macqel.be>
+
+ * configure.in: 4.0.99h5
+ Dave made more changes to the auth key stuff.
+
+2000-03-29 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99h4
+ Dave made a bunch of changes/fixes to the auth key stuff.
+
+2000-03-22 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_resolver.c: Typos.
+
+2000-03-21 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99h3
+
+ * ntpd/ntp_intres.c: Use LOG_INFO instead of LOG_DEBUG.
+ * ntpd/ntp_resolver.c: Ditto.
+
+2000-03-20 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * util/Makefile.am (ntp_genkeys_LDADD): Might need snprintf (-lntp)
+
+ * librsaref/Makefile.am (stamp-rsaref): nodist_HEADERS are not
+ supoprted yet. Hack around it.
+
+ * ntpd/ntp_resolver.c (findhostaddr): hstrerror isn't always available.
+
+ * configure.in: Look for hstrerror.
+
+ * util/ntp_genkeys.c (main): Use snprintf, not sprintf.
+
+ * ntpd/ntp_crypto.c: Use gethostname, not uname
+ * util/ntp_genkeys.c: Ditto
+ From: Dave Mills
+
+2000-03-19 Harlan Stenn <harlan@pfcs.com>
+
+ * ntpd/ntp_proto.c (receive): Rename ntp_res_send() to
+ ntp_res_name() and adjust the number of arguments.
+ * ntpd/ntp_resolver.c (ntp_res_name): Ditto
+ * include/ntpd.h: Ditto
+
+ * ntpd/ntp_resolver.c: Add de_done to the dns_entry structure.
+
+2000-03-18 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99h2
+
+ * libparse/Makefile.am (info_trimble.c): Use $(srcdir)/foo.sed
+ instead of foo.sed .
+
+ * librsaref/Makefile.am (stamp-rsaref): Copy each file to the build
+ directory, not to the source directory. This sucks; it wastes
+ space (but it's more portable).
+
+ * configure.in (ac_busted_vpath_in_make): Add FreeBSD. I bet all
+ systems that use pmake will need this.
+ (ac_busted_vpath_in_make): Remove FreeBSD - I found a workaround.
+
+ * Makefile.am: General cleanup
+
+ * configure.in: 4.0.99h1
+
+ * ntpd/ntp_resolver.c: Lose unneeded header.
+
+2000-03-17 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libntp/snprintf.c: #include <config.h>
+
+ * libntp/Makefile.am (EXTRA_libntp_a_SOURCES): Use it correctly...
+
+2000-03-16 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libntp/Makefile.am (EXTRA_DIST): Added snprintf.c
+
+ * configure.in: Look for (and provide if it's missing) snprintf()
+
+ * ntpd/ntp_request.c (dns_a): Call crypto_public with the resolved
+ name and the peer pointer.
+ (dns_a): crypto_public() is only available if PUBKEY is #defined.
+
+ * ntpd/ntp_crypto.c (crypto_public): sprintf is Evil. Use snprintf.
+ (crypto_setup): Ditto
+ (crypto_read): Ditto
+
+ * ntpd/ntp_resolver.c (ntp_res_send): Lose some debugging noise.
+
+ * ntpd/ntp_config.c (getconfig): Lose testing code.
+
+ * ntpd/ntp_request.c (dns_a): Fix buglet in hostname length check.
+
+2000-03-16 Harlan Stenn <harlan@pfcs.com>
+
+ * ntpd/ntp_request.c (dns_a): Start cracking the returned information.
+
+2000-03-15 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_resolver.c (ntp_res): Authenticate the keyid.
+
+ * ntpd/ntp_crypto.c (crypto_line): Fix definition
+ (crypto_read): Ditto.
+
+ * ntpd/ntp_config.c (getconfig): Move req_keyid generation here.
+
+ * librsaref/Makefile.am (BUILT_SOURCES): Cleanup more nodist_ stuff.
+
+2000-03-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * build (RSASUF): If we have rsaref2/ and are building
+ --without-rsaref, note it as a build-directory suffix.
+
+ * configure.in: 4.0.99h
+ Crypto merge
+
+ * librsaref/Makefile.am (nodist_librsaref_a_SOURCES): Added nodist_
+
+2000-02-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: Lose the changequote calls and fix the quoting.
+ Reported by: Akim Demaille <akim@epita.fr>
+
+ * ntpd/ntp_request.c: Log various error conditions.
+
+2000-02-27 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99g
+
+ * ntpd/ntpd.c: Only log EINTR if debug > 2.
+
+2000-02-25 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * scripts/mkver.in (ConfStr): Use `-r' when configured with crypto.
+
+ * ntpd/refclock_wwvb.c (wwvb_receive): Undo the previous chagne.
+
+2000-02-24 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwvb.c (wwvb_receive): LENWWVB0 can return 6 or 7
+ fields.
+ From: Michael Sinatra <msinatra@uclink4.berkeley.edu>
+ with a cleanup from Ulrich.
+
+ * scripts/mkver.in (ConfStr): Make RSAREF appear as part of the
+ version.
+
+2000-02-21 Sven Dietrich <sven_dietrich@trimble.com>
+
+ * ports/winnt/include/config.h: Enable MD5 and RANDOM by default
+ * ports/winnt/libntp/SetSystemTime.c: Fix warning and const declaration
+ From: Carl Byington <carl@five-ten-sg.com>
+
+2000-02-21 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * Makefile.am (SUBDIRS): Make librsaref right after includes so we
+ can copy any needed header files over.
+
+ * libntp/Makefile.am (INCLUDES): Also look in librsaref for des.h
+ * ntpd/Makefile.am (INCLUDES): Ditto
+ * util/Makefile.am (INCLUDES): Ditto
+
+ * librsaref/Makefile.am (librsaref_a_SOURCES): Use the des.h from
+ the rsaref2 distribution.
+
+ * include/Makefile.am (noinst_HEADERS): No, we don't want des.h
+
+2000-02-20 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * include/Makefile.am (noinst_HEADERS): Add des.h
+
+2000-02-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/ntp_config.c (do_resolve_internal): Try Real Hard to
+ generate a full random key.
+ From: Carl Byington <carl@five-ten-sg.com>
+
+ * include/ntp.h: Now we know we have either mrand48() or random().
+ * configure.in: If we have mrand48, use it. Otherwise, use (and
+ provide if necessary) random().
+ * libntp/Makefile.am (EXTRA_DIST): random.c
+ * libntp/random.c: Added.
+
+2000-02-18 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * librsaref/Makefile.am (stamp-rsaref): Typo
+
+ * configure.in (ac_cv_func_ctty_for_f_setown): Yes for OpenBSD
+ (ac_cv_var_ntp_syscalls): Fix quoting of description
+ From: Jonathan Rozes <jrozes@vinton.com>
+
+ * librsaref/Makefile.am: Fix stamp-rsaref dependency order.
+
+ * configure.in: 4.0.99f
+
+2000-02-17 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_mx4200.c: Remove the DOP-weighted position
+ averaging code and revert to a simple mean average. The weighted
+ average consistently produced a *worse* result. Go figure.
+ * html/mx4200data.htm: Cleanup, reflect current reality.
+ * html/driver9.htm: Cleanup, reflect current reality.
+ * html/copyright.htm: Cleanup, and credit where credit is due.
+ From: Marc.Brett@westgeo.com
+
+ * ntpd/refclock_oncore.c: Cleanup/fixes
+ * html/driver30.htm: Cleanup
+ * html/Oncore-SHMEM.htm: Cleanup
+ From: Reg Clemens <reg@dwf.com>
+
+2000-02-16 Sven Dietrich <sven_dietrich@trimble.com>
+
+ * winnt/scripts/mkver.bat: Frederick Czajka [w2k@austin.rr.com]
+ winnt/ntpq/ntpq.dsp: modified mkver.bat to eliminate the
+ winnt/ntpd/ntpd.dsp: need to have Perl installed and the
+ winnt/ntpdc/ntpdc.dsp: PERL environment variable to be set.
+ winnt/ntpdate/ntpdate.dsp:
+ winnt/ntptrace/ntptrace.dsp: Thanks, Frederick!
+
+ * ntpd/refclock_nmea.c: Correctly interpret the quality indicator.
+
+2000-02-15 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_nmea.c: Correctly interpret the quality indicator.
+ Deal with the time supplied in centiseconds. GPGCA/GPGGA cleanup.
+ From: Andrew Hood <ajhood@fl.net.au>
+
+ * libparse/Makefile.am (K_CFLAGS): Use instead. Add NEED_NTP_BOPS.
+
+2000-02-10 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * scripts/ntp-wait.in: Intensify, including some suggestions from
+ Ulrich.
+
+ * configure.in: 4.0.99e
+
+ * scripts/ntp-wait.in: Lose cruft, sleep after each try.
+
+ * scripts/ntp-restart: It's ntpd now. Also, call ntp-wait.
+
+ * configure.in (AC_CONFIG_*): New scripts that use PATH_PERL
+
+ * scripts/Makefile.am (noinst_SCRIPTS): Added ntp-wait
+ (noinst_SCRIPTS): Added all of the scripts that now use PATH_PERL
+
+ * configure.in: Get the path to perl
+ (AC_CONFIG_*): Added scripts/ntp-wait
+
+ * ntptrace/ntptrace.c (DoTrace): If the server's srcadr is 0.0.0.0
+ then we haven't synced yet. Note and punt.
+ Reported by: Bdale Garbee <bdale@gag.com>,http://bugs.debian.org/56551
+
+2000-02-09 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ports/winnt/include/config.h: Typo (CLOCK_PALISADE comment)
+ From: Carl Byington <carl@five-ten-sg.com>
+
+ * configure.in: Disable kernel_fll_bug for Generic_105181-17 under
+ Solaris-2.6
+ From: Juergen Georgi <georgi@belwue.de>
+
+2000-02-07 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99d
+
+ * html/Oncore-SHMEM.htm: New document
+ * html/driver30.htm: Cleanup and improvements
+ From: Reg Clemens <reg@dwf.com>
+
+2000-01-30 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_oncore.c: Patches/improvements
+ From: Reg Clemens <reg@dwf.com>
+
+2000-01-29 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99c
+
+2000-01-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: Autoconf update...
+
+ * ntpdate/ntpdate.c (ntpdatemain): Typo
+ From: Jack Bryans <jbryans@csulb.edu>
+
+ * Makefile.am (EXTRA_DIST): Add flock-build. Probably UDel specific...
+
+2000-01-23 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/check_y2k.c (main): Reformat for ansi2knr
+
+ * configure.in (AC_OUTPUT): Revert to obsolete form until automake
+ catches up.
+
+2000-01-22 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: Use AC_CHECK_TYPES((s_char)) instead of
+ AC_CHECK_TYPE.
+ (ac_cv_var_kernel_fll_bug): Generic_106541-08 is apparently OK, too.
+
+ * scripts/Makefile.am (EXTRA_DIST): Need to explicitly distribute
+ mkver.in and ntpver.in now, apparently.
+ * configure.in: Search for the various audio_info members so the
+ printing in audio_show is less of a circus. This required an
+ autoconf upgrade. Major sigh.
+
+ * libntp/audio.c (audio_show): Clean up (more) properly.
+
+2000-01-21 Sven Dietrich <sven_dietrich@trimble.com>
+
+ * Add pointer to html/hints/winnt.htm to INSTALL file
+ * Fix NT makefiles to accomodate at least one weird
+ version of Visual C that can't handle the LFs without
+ the DOS CR also.
+
+2000-01-20 Sven Dietrich <sven_dietrich@trimble.com>
+
+ * Update Copyright in Palisade driver to 2000
+ * Fix Palisade MIN & MAX POLL to optimal values
+
+2000-01-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * html/driver7.htm: Patches from Dave Mills
+ * html/driver36.htm: Patches from Dave Mills
+
+ * html/copyright.htm: Added Kamal Mostafa
+
+2000-01-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99b
+
+2000-01-18 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_chu.c: NCHAN is used with generic ICOM.
+
+ * ntpd/refclock_wwv.c: Use new audio stuff
+ * ntpd/refclock_irig.c: Use new audio stuff
+ * ntpd/refclock_chu.c: Use new audio stuff
+ * ntpd/ntp_proto.c: Clean up
+ * ntpd/ntp_loopfilter.c (local_clock): Clean up error message
+ * include/icom.h: Number of arguments changed
+ * libntp/Makefile.am (libntp_a_SOURCES): Added audio.c
+ * libntp/audio.c: New file
+ * include/Makefile.am (noinst_HEADERS): audio.h added
+ * include/audio.h: New file
+ From: Dave Mills <mills@udel.edu>
+
+ * scripts/freq_adj: Added. FreeBSD frequency adjustment script.
+
+ * configure.in: Do a better job on my oncore_ok check for SCO.
+
+2000-01-15 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99a
+
+ * scripts/ntpsweep: New version
+ * html/copyright.htm: Added Hans Lambermont
+ From: Hans Lambermont <Hans.Lambermont@nl.origin-it.com>
+
+2000-01-14 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_oncore.c (oncore_start): Only dance with the
+ pps_device if it's there.
+ From: reg@dwf.com
+
+ * configure.in: ONCORE is OK if ac_cv_hdr_def_tiocdcdtimestamp=yes
+
+ * build: Just overwrite the log file each time; sometimes NFS goes
+ a little goofy.
+
+ * ntpd/refclock_fg.c: Syntax/punctuation cleanup
+
+2000-01-13 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * scripts/ntpsweep: New version
+ From: Hans Lambermont <Hans.Lambermont@nl.origin-it.com>
+
+ * ntpd/refclock_fg.c: New version
+ * html/driver37.htm: New version
+ From: Dmitry Smirnov <das@online.nsk.su>
+
+2000-01-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * README.des: Cleanup
+
+2000-01-12 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.99
+
+ * html/driver36.htm: Cleanup
+ * html/monopt.htm: Ditto
+ From: Dave Mills <mills@udel.edu>
+
+ * ntpd/ntp_intres.c (ntp_intres): Put "NTP_INTRES running" at a
+ higher debug level
+
+2000-01-11 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c: More improvements
+ From: Dave Mills <mills@udel.edu>
+
+2000-01-10 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c: Bugfixes/improvements
+ From: Dave Mills <mills@udel.edu>
+
+ * configure.in: Get the quoting right on the sys_errlist check.
+ From documentation by: Akim Demaille <akim@epita.fr>
+
+2000-01-08 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: <netinet/ip.h> cannot be detected...
+ * ntpd/ntp_io.h: ...but every OS has it
+ * ntpd/refclock_oncore.c: Lint removal
+ * ntpq/ntpq_ops.c: Lint removal
+ * ntpq/refclock_chu.c: chu_major() is not an audio routine (?), lint
+ * libntp/icom.c: AIX doesn't have <sys/termios.h>
+ From: Marc.Brett@westgeo.com
+
+ * ntpd/refclock_chu.c: NetBSD needs sys/ioctl.h
+ (chu_debug): NetBSD-specific debug output.
+ From: Frederick Bruckman <fb@enteract.com>
+
+2000-01-06 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.98m
+ I skipped `l' - it looks like a `1'.
+
+ * html/driver7.htm: Doc update
+ * html/driver36.htm: Ditto
+ * html/audio.htm: Ditto
+
+ * ntpd/refclock_wwv.c: Dvae snuck another fix/change in on me.
+
+ * configure.in: 4.0.98k
+
+ * ntpd/refclock_chu.c (chu_start): Call icom_init with the speed
+ * ntpd/refclock_wwv.c (wwv_start): Ditto, plus other improvements.
+ * libntp/icom.c (icom_init): Add speed parameter
+ * include/icom.h: Update declaration
+ From: Dave Mills <mills@udel.edu>
+
+ * include/Makefile.am (noinst_HEADERS): Added icom.h
+ From: Frederick Bruckman <fb@enteract.com>
+
+2000-01-05 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.98j
+
+ * ntpd/refclock_wwv.c (timecode): Make definition == declaration
+ (wwv_newchan): Ditto
+ (wwv_corr4): Dave fixed the declaration.
+
+ * flock-build: Add rackety to the flock - it runs SunOS 4.1.3/cc
+
+ * ntpd/refclock_wwv.c: Undo that declaration cleanup for now...
+
+ * ntpd/ntp_io.c (open_socket): TOS support
+ From: Marc.Brett@westgeo.com
+
+2000-01-04 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c: Declaration cleanup
+ * ntpd/refclock_fg.c (fg_receive): Not all sprintf's are created
+ equal...
+ From: Marc.Brett@westgeo.com
+
+ * ntpd/refclock_wwv.c: Dave Cleaned and Improved things.
+ * ntpd/ntp_loopfilter.c (local_clock): Dave fixed something.
+
+ * ntpd/refclock_wwv.c: Rename max to p_max or s_max as appropriate
+ to avoid native SunOS compiler collision.
+ (wwv_epoch): Make declaration == definition
+ (wwv_rsec): Ditto
+ (wwv_newchan): Ditto
+ (wwv_qsy): Ditto
+ (timecode): Ditto
+
+ * ntpd/refclock_oncore.c (oncore_init_shmem): Use a cast to widen
+ mmap's NIL offset.
+
+ * ntpd/refclock_chu.c (chu_rf): Make declaration == definition.
+ Rename min/max to es_min/es_max to avoid native SunOS compiler
+ collision.
+ (chu_uart): Make declaration == definition.
+
+ * libntp/icom.c (sndpkt): Make declaration and definition equivalent.
+ (doublefreq): Ditto.
+
+ * ntpd/refclock_oncore.c (MAP_FAILED): Some systems do not #define
+ this.
+
+ * ntpd/refclock_wwv.c:
+ * ntpd/refclock_chu.c:
+ * libntp/icom.c:
+ * libntp/Makefile.am:
+ * include/icom.h:
+ * html/driver7.htm:
+ * html/driver36.htm:
+ Support for ICOM. The WWV/H driver, by the way, is getting truly
+ awesome. The CHU autotune function works okay as it is. I'd like
+ to find somebody else to test the audio drivers just to make sure
+ I haven't done something stupid. There is a new define ICOM
+ intended for the driver autotune function; however, I crafted the
+ thing in much the same way as the refclock_atom.c thing - it tries
+ to open /dev/icom and, if that fails, goes quietly to sleep.
+ From: Dave Mills <mills@udel.edu>
+
+2000-01-03 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_oncore.c (oncore_read_config): Patches and cleanup
+ From: Poul-Henning Kamp <phk@critter.freebsd.dk>
+ more isascii() stuff from HMS.
+
+ * ntpd/refclock_fg.c (fg_receive): Cast.
+ From: Tom Smith <smith@cag.lkg.dec.com>
+
+ * ntpd/map_vme.c (map_vme): tx.access_result indicates failure on
+ < 0, not <= 0. A fix that apparently did not get brought over
+ from the ntp3 base.
+ From: Michael Barone <michael.barone@lmco.com>
+
+ * configure.in: Move the ONCORE_SHMEM_STATUS check and definition
+ here.
+
+ * ntpd/refclock_oncore.c (oncore_init_shmem): Some systems do not
+ have MAP_HASSEMAPHORE.
+
+ * ntpd/refclock_oncore.c: Drive ONCORE_SHMEM_STATUS based on
+ HAVE_SYS_MMAN_H . If this needs finer checks, do it in
+ configure.in .
+ (oncore_read_config): Add the isascii() checks; older versions of
+ Unix don't guarantee correct behavior of is*() without it.
+
+ * ntpd/refclock_oncore.c: Add proof-of-concept support for
+ delivering receiver data stream to other processes through
+ a memory-mapped file.
+ From: Poul-Henning Kamp <phk@FreeBSD.org>
+
+2000-01-02 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (ac_refclock_chu): Provide the CHU driver by
+ default, and by default prefer the AUDIO version. We used to
+ limit this to SunOS or Solaris; now we drive by the availability
+ of the audioio header file.
+ Select the IRIG and WWV audio drivers the same way.
+
+ * flock-build: build ignores the -l flag; lose it.
+ (BUILD_ARGS): added.
+ * build: Remove unused -l stuff (LOG variable).
+
+ * ntpd/ntp_refclock.c: HAVE_PPSAPI header cleanup
+ From: Reg Clemens <reg@dwf.com>
+
+2000-01-01 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in (CLOCK_WWV): Require <sys/audioio.h> or <sun/audioio.h>
+
+1999-12-29 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.98i
+
+ * ntpd/refclock_gpsvme.c: Fixes
+ From: Michael Barone <michael.barone@lmco.com>
+ Patch severely hacked by HMS to "make it conform". I hope I
+ didn't break anything.
+
+ * scripts/ntpsweep: Nifty utility
+ From: Hans.Lambermont@nl.origin-it.com
+
+ * ntpd/refclock_fg.c:
+ * ntpd/refclock_conf.c:
+ * ntpd/ntp_control.c:
+ * ntpd/Makefile.am:
+ * libntp/clocktypes.c:
+ * include/ntp.h:
+ * html/refclock.htm:
+ * html/driver37.htm:
+ * configure.in:
+ * acconfig.h:
+ Forum Graphic GPS clock support
+ From: Dmitry Smirnov <das@online.nsk.su>
+
+ * configure.in: Default to compile the IRIG, CHU and WWV/H
+ drivers and compile the CHU driver for audio, not modem.
+ Requested by Dave Mills.
+
+ * html/audio.htm:
+ * html/driver36.htm:
+ * html/qth.htm:
+ Dave wrote these to go along with the changes I checked in yesterday.
+
+1999-12-28 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * ntpd/refclock_wwv.c:
+ * ntpd/refclock_conf.c:
+ * ntpd/refclock_chu.c:
+ * ntpd/ntp_refclock.c:
+ * ntpd/ntp_loopfilter.c:
+ * html/refclock.htm:
+ * html/pps.htm:
+ * html/index.htm:
+ * html/driver7.htm:
+ * html/driver6.htm:
+ * html/copyright.htm:
+
+ I indulged an old agenda to polish up some programs originally
+ written for a DSP evaluation board. The result is a really hot
+ audio driver for the NIST WWV/WWVH time/frequency station plus a
+ makeover for the CHU audio driver. Currently, they and their IRIG
+ audio driver buddy use the SunOS/Solaris audio interface, which is
+ clean and simple. I hook the line in jack to a shortwave radio and
+ these drivers (driver 7 for CHU and driver 36 for WWV) and the
+ drivers do the rest. The WWV/H driver is really hot - I am
+ currently watching the ionosphere move from the doppler that shows
+ up on the tick modulation tracked by the program. During midday
+ when the F2 layer settles down, the program closes in on a few
+ tens of microseconds of spare jitter and wander. This watch on
+ whichever 15/20 MHz signal sounds the best. At night on 5/10 MHz
+ and even 2.5 HMz where the multipath, interference and noise are
+ much worse, the driver bangs around somewhat more.
+
+ The CHU driver makeover discovered a few broken bones after all
+ these years, but its majority decoder is back in business. For
+ various reasons to icky to reveal here, its 103-modem demodulator
+ is not quite as good as the chip, but it comes close and hey,
+ 2025/2125 FSK is just not a good idea for HF radio. This driver is
+ not nearly as sophisitcated as the WWV/H driver, but here a few
+ hundred miles south of Ottawa, it does a passably good job.
+
+ I tell you this in the hopes of getting somebody interested in
+ porting the audio interface to other machines, in particular
+ Linux, FreeBSD and anything else with a sound card. When the
+ ionosphere stays cool, the WWV/H driver is as good as anything
+ else around here and with much less jitter than a serial port. The
+ only downside is all the audio drivers chew up a modest fraction
+ of cycles for the DSP routines - a few percent on the newer
+ silicon, up to half the cycles on an old Sparc IPC. Whattheheck,
+ these old machines aren't doing anything else around here except
+ serving time, and even when sucking cycles for DSP they still mind
+ the PPS microseconds.
+
+ The audio driver documentation had a makeover, too.
+ From: Dave Mills <mills@udel.edu>
+
+1999-12-20 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * configure.in: 4.0.98h
+
+1999-12-19 Harlan Stenn <stenn@whimsy.udel.edu>
+
+ * libntp/syssignal.c: Small cleanup to Marc's patch.
+
+ * ntpd/ntp_refclock.c:
+ * ntpd/refclock_atom.c: Header cleanup
+ * html/driver30.htm: Cleanup and improvements.
+ From: Reg Clemens <reg@dwf.com>
+
+ * ntpd/ntp_refclock.c:
+ * ntpd/refclock_jupiter.c:
+ * ntpd/refclock_msfees.c:
+ * ntpd/refclock_mx4200.c:
+ Portability (Solaris) patches
+ * ntpd/refclock_mx4200.c:
+ Self-survey improvements, cleanup for, PPS re-activation
+ * libntp/syssignal.c:
+ Fix for "interrupted system call" (EINTR) failure of the PPS
+ ioctl(TIOCGPPSEV) call in Solaris. Not sure why it was
+ interrupted, but this works around the failure. Not sure if
+ the (now silent) interrupt affects the timing accuracy.
+ THERE IS A CHANCE THIS PART OF THE PATCH MAY ADVERSELY
+ AFFECT OTHER SYSTEMS!
+ * scripts/ntp-status: Added.
+ From: Marc.Brett@westgeo.com
+
+ * ntpdate/ntpdate.c: Deal with multiple addresses.
+ From: Jeffrey C Honig <jch@bsdi.com>
+
+ * ntpd/refclock_conf.c: Replaced macro SHM with CLOCK_SHM.
+