diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2019-11-05 18:32:25 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2019-11-05 18:32:25 +0000 |
commit | d1e182a3fedfab17246b551a8244ed75f2df9054 (patch) | |
tree | 55c16b3fa6c150098ce01248666d31d1b7289200 | |
parent | Initial commit. (diff) | |
download | ntpsec-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>
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 @@ -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 + @@ -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 @@ -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 @@ -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. + + @@ -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. + |