git: 2a5324685d3a - stable/12 - ntp: import ntp-4.2.8p17

From: Cy Schubert <cy_at_FreeBSD.org>
Date: Fri, 09 Jun 2023 13:39:24 UTC
The branch stable/12 has been updated by cy:

URL: https://cgit.FreeBSD.org/src/commit/?id=2a5324685d3abd857ff638d97e4be21a75db723e

commit 2a5324685d3abd857ff638d97e4be21a75db723e
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2023-06-06 12:43:04 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2023-06-09 13:39:05 +0000

    ntp: import ntp-4.2.8p17
    
    Fixes two small bugs including one regression.
    
    Merge commit 'ab1f1aa8333369a83ff284848fc3fc2e52d5f29f'
    
    (cherry picked from commit e6bfd18d21b225af6a0ed67ceeaf1293b7b9eba5)
    
    ntp: Fix build
    
    Two files used to obtain time from reference clocks did not include
    ntp_types.h resulting in an undefined NONEMPTY_TRANSLATION_UNIT.
    
    Fixes:          e6bfd18d21b2
    
    (cherry picked from commit 82aa1470c94c55db31c0168d65f8a08fa1d41378)
---
 contrib/ntp/ChangeLog                              |  14 +
 contrib/ntp/CommitLog                              | 464 +++++++++++++++++++++
 contrib/ntp/NEWS                                   |  25 ++
 contrib/ntp/configure                              |  20 +-
 contrib/ntp/include/ntp.h                          |   2 +-
 contrib/ntp/include/ntp_md5.h                      |   4 +
 contrib/ntp/include/ntp_stdlib.h                   |  39 +-
 contrib/ntp/libntp/a_md5encrypt.c                  |  23 +-
 contrib/ntp/libntp/authkeys.c                      |  27 +-
 contrib/ntp/libntp/authreadkeys.c                  |  12 +-
 contrib/ntp/libntp/msyslog.c                       |   5 +-
 contrib/ntp/libparse/clk_hopf6021.c                |   7 +-
 contrib/ntp/libparse/clk_wharton.c                 |   7 +-
 contrib/ntp/ntpd/invoke-ntp.conf.texi              |   2 +-
 contrib/ntp/ntpd/invoke-ntp.keys.texi              |   2 +-
 contrib/ntp/ntpd/invoke-ntpd.texi                  |   4 +-
 contrib/ntp/ntpd/ntp.conf.5man                     |   4 +-
 contrib/ntp/ntpd/ntp.conf.5mdoc                    |   4 +-
 contrib/ntp/ntpd/ntp.conf.html                     |   2 +-
 contrib/ntp/ntpd/ntp.conf.man.in                   |   4 +-
 contrib/ntp/ntpd/ntp.conf.mdoc.in                  |   4 +-
 contrib/ntp/ntpd/ntp.keys.5man                     |   4 +-
 contrib/ntp/ntpd/ntp.keys.5mdoc                    |   4 +-
 contrib/ntp/ntpd/ntp.keys.html                     |   2 +-
 contrib/ntp/ntpd/ntp.keys.man.in                   |   4 +-
 contrib/ntp/ntpd/ntp.keys.mdoc.in                  |   4 +-
 contrib/ntp/ntpd/ntp_config.c                      |  18 +
 contrib/ntp/ntpd/ntp_control.c                     |   1 -
 contrib/ntp/ntpd/ntp_loopfilter.c                  |   3 -
 contrib/ntp/ntpd/ntp_proto.c                       |   5 +-
 contrib/ntp/ntpd/ntpd-opts.c                       |  14 +-
 contrib/ntp/ntpd/ntpd-opts.h                       |   6 +-
 contrib/ntp/ntpd/ntpd.1ntpdman                     |   4 +-
 contrib/ntp/ntpd/ntpd.1ntpdmdoc                    |   4 +-
 contrib/ntp/ntpd/ntpd.c                            |   6 +-
 contrib/ntp/ntpd/ntpd.html                         |   4 +-
 contrib/ntp/ntpd/ntpd.man.in                       |   4 +-
 contrib/ntp/ntpd/ntpd.mdoc.in                      |   4 +-
 contrib/ntp/ntpdc/invoke-ntpdc.texi                |   4 +-
 contrib/ntp/ntpdc/ntpdc-opts.c                     |  14 +-
 contrib/ntp/ntpdc/ntpdc-opts.h                     |   6 +-
 contrib/ntp/ntpdc/ntpdc.1ntpdcman                  |   4 +-
 contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc                 |   4 +-
 contrib/ntp/ntpdc/ntpdc.html                       |   4 +-
 contrib/ntp/ntpdc/ntpdc.man.in                     |   4 +-
 contrib/ntp/ntpdc/ntpdc.mdoc.in                    |   4 +-
 contrib/ntp/ntpq/invoke-ntpq.texi                  |   4 +-
 contrib/ntp/ntpq/ntpq-opts.c                       |  14 +-
 contrib/ntp/ntpq/ntpq-opts.h                       |   6 +-
 contrib/ntp/ntpq/ntpq.1ntpqman                     |   4 +-
 contrib/ntp/ntpq/ntpq.1ntpqmdoc                    |   4 +-
 contrib/ntp/ntpq/ntpq.html                         |   4 +-
 contrib/ntp/ntpq/ntpq.man.in                       |   4 +-
 contrib/ntp/ntpq/ntpq.mdoc.in                      |   4 +-
 contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi          |   2 +-
 contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c               |  14 +-
 contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h               |   6 +-
 contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman         |   4 +-
 contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc        |   4 +-
 contrib/ntp/ntpsnmpd/ntpsnmpd.html                 |   2 +-
 contrib/ntp/ntpsnmpd/ntpsnmpd.man.in               |   4 +-
 contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in              |   4 +-
 contrib/ntp/packageinfo.sh                         |   2 +-
 .../calc_tickadj/calc_tickadj.1calc_tickadjman     |   4 +-
 .../calc_tickadj/calc_tickadj.1calc_tickadjmdoc    |   4 +-
 contrib/ntp/scripts/calc_tickadj/calc_tickadj.html |   2 +-
 .../ntp/scripts/calc_tickadj/calc_tickadj.man.in   |   4 +-
 .../ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in  |   4 +-
 .../scripts/calc_tickadj/invoke-calc_tickadj.texi  |   2 +-
 contrib/ntp/scripts/invoke-plot_summary.texi       |   4 +-
 contrib/ntp/scripts/invoke-summary.texi            |   4 +-
 contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi  |   4 +-
 contrib/ntp/scripts/ntp-wait/ntp-wait-opts         |   4 +-
 contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman |   4 +-
 .../ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc    |   4 +-
 contrib/ntp/scripts/ntp-wait/ntp-wait.html         |   4 +-
 contrib/ntp/scripts/ntp-wait/ntp-wait.man.in       |   4 +-
 contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in      |   4 +-
 contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi  |   4 +-
 contrib/ntp/scripts/ntpsweep/ntpsweep-opts         |   4 +-
 contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman |   4 +-
 .../ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc    |   4 +-
 contrib/ntp/scripts/ntpsweep/ntpsweep.html         |   4 +-
 contrib/ntp/scripts/ntpsweep/ntpsweep.man.in       |   4 +-
 contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in      |   4 +-
 contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi  |   4 +-
 contrib/ntp/scripts/ntptrace/ntptrace-opts         |   4 +-
 contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman |   4 +-
 .../ntp/scripts/ntptrace/ntptrace.1ntptracemdoc    |   4 +-
 contrib/ntp/scripts/ntptrace/ntptrace.html         |   4 +-
 contrib/ntp/scripts/ntptrace/ntptrace.man.in       |   4 +-
 contrib/ntp/scripts/ntptrace/ntptrace.mdoc.in      |   4 +-
 contrib/ntp/scripts/plot_summary-opts              |   4 +-
 contrib/ntp/scripts/plot_summary.1plot_summaryman  |   4 +-
 contrib/ntp/scripts/plot_summary.1plot_summarymdoc |   4 +-
 contrib/ntp/scripts/plot_summary.html              |   4 +-
 contrib/ntp/scripts/plot_summary.man.in            |   4 +-
 contrib/ntp/scripts/plot_summary.mdoc.in           |   4 +-
 contrib/ntp/scripts/summary-opts                   |   4 +-
 contrib/ntp/scripts/summary.1summaryman            |   4 +-
 contrib/ntp/scripts/summary.1summarymdoc           |   4 +-
 contrib/ntp/scripts/summary.html                   |   4 +-
 contrib/ntp/scripts/summary.man.in                 |   4 +-
 contrib/ntp/scripts/summary.mdoc.in                |   4 +-
 .../scripts/update-leap/invoke-update-leap.texi    |   2 +-
 contrib/ntp/scripts/update-leap/update-leap-opts   |   4 +-
 .../update-leap/update-leap.1update-leapman        |   4 +-
 .../update-leap/update-leap.1update-leapmdoc       |   4 +-
 contrib/ntp/scripts/update-leap/update-leap.html   |   2 +-
 contrib/ntp/scripts/update-leap/update-leap.man.in |   4 +-
 .../ntp/scripts/update-leap/update-leap.mdoc.in    |   4 +-
 contrib/ntp/sntp/configure                         |  20 +-
 contrib/ntp/sntp/crypto.c                          |   5 -
 contrib/ntp/sntp/crypto.h                          |   1 -
 contrib/ntp/sntp/include/version.def               |   2 +-
 contrib/ntp/sntp/include/version.texi              |   6 +-
 contrib/ntp/sntp/invoke-sntp.texi                  |   4 +-
 contrib/ntp/sntp/m4/version.m4                     |   2 +-
 contrib/ntp/sntp/scm-rev                           |   2 +-
 contrib/ntp/sntp/sntp-opts.c                       |  14 +-
 contrib/ntp/sntp/sntp-opts.h                       |   6 +-
 contrib/ntp/sntp/sntp.1sntpman                     |   4 +-
 contrib/ntp/sntp/sntp.1sntpmdoc                    |   4 +-
 contrib/ntp/sntp/sntp.html                         |   4 +-
 contrib/ntp/sntp/sntp.man.in                       |   4 +-
 contrib/ntp/sntp/sntp.mdoc.in                      |   4 +-
 contrib/ntp/tests/libntp/data/mills,david-03.jpg   | Bin 0 -> 40964 bytes
 contrib/ntp/tests/libntp/data/ntp.keys             |  34 ++
 contrib/ntp/tests/libntp/digests.c                 | 415 ++++++++++++++++++
 contrib/ntp/tests/libntp/run-digests.c             |  80 ++++
 contrib/ntp/util/invoke-ntp-keygen.texi            |   4 +-
 contrib/ntp/util/ntp-keygen-opts.c                 |  14 +-
 contrib/ntp/util/ntp-keygen-opts.h                 |   6 +-
 contrib/ntp/util/ntp-keygen.1ntp-keygenman         |   4 +-
 contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc        |   4 +-
 contrib/ntp/util/ntp-keygen.html                   |   4 +-
 contrib/ntp/util/ntp-keygen.man.in                 |   4 +-
 contrib/ntp/util/ntp-keygen.mdoc.in                |   4 +-
 usr.sbin/ntp/config.h                              |   6 +-
 139 files changed, 1404 insertions(+), 337 deletions(-)

diff --git a/contrib/ntp/ChangeLog b/contrib/ntp/ChangeLog
index 8e34d2a96696..93cdab8b94eb 100644
--- a/contrib/ntp/ChangeLog
+++ b/contrib/ntp/ChangeLog
@@ -1,3 +1,17 @@
+---
+(4.2.8p17) 2023/06/06 Released by Harlan Stenn <stenn@ntp.org>
+
+* [Bug 3824] Spurious "ntpd: daemon failed to notify parent!" logged at
+             event_sync.  Reported by Edward McGuire.  <hart@ntp.org>
+* [Bug 3822] ntpd significantly delays first poll of servers specified by name.
+             <hart@ntp.org>  Miroslav Lichvar identified regression in 4.2.8p16.
+* [Bug 3821] 4.2.8p16 misreads hex authentication keys, won't interop with
+             4.2.8p15 or earlier.  Reported by Matt Nordhoff, thanks to
+	     Miroslav Lichvar and Matt for rapid testing and identifying the
+	     problem. <hart@ntp.org>
+* Add tests/libntp/digests.c to catch regressions reading keys file or with
+  symmetric authentication digest output.
+
 ---
 (4.2.8p16) 2023/05/31 Released by Harlan Stenn <stenn@ntp.org>
 
diff --git a/contrib/ntp/CommitLog b/contrib/ntp/CommitLog
index 54bf0f9a45fc..adeda2c60402 100644
--- a/contrib/ntp/CommitLog
+++ b/contrib/ntp/CommitLog
@@ -1,3 +1,467 @@
+ChangeSet@1.4004, 2023-06-06 04:40:27-07:00, ntpreleng@ntp-build.tal1.ntfo.org
+  NTP_4_2_8P17
+  TAG: NTP_4_2_8P17
+
+  ChangeLog@1.2053 +1 -0
+    NTP_4_2_8P17
+
+  ntpd/invoke-ntp.conf.texi@1.225 +1 -1
+    NTP_4_2_8P17
+
+  ntpd/invoke-ntp.keys.texi@1.210 +1 -1
+    NTP_4_2_8P17
+
+  ntpd/invoke-ntpd.texi@1.524 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntp.conf.5man@1.259 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntp.conf.5mdoc@1.259 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntp.conf.html@1.207 +1 -1
+    NTP_4_2_8P17
+
+  ntpd/ntp.conf.man.in@1.259 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntp.conf.mdoc.in@1.259 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntp.keys.5man@1.244 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntp.keys.5mdoc@1.244 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntp.keys.html@1.204 +1 -1
+    NTP_4_2_8P17
+
+  ntpd/ntp.keys.man.in@1.244 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntp.keys.mdoc.in@1.244 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntpd-opts.c@1.549 +7 -7
+    NTP_4_2_8P17
+
+  ntpd/ntpd-opts.h@1.548 +3 -3
+    NTP_4_2_8P17
+
+  ntpd/ntpd.1ntpdman@1.353 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntpd.1ntpdmdoc@1.353 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntpd.html@1.198 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntpd.man.in@1.353 +2 -2
+    NTP_4_2_8P17
+
+  ntpd/ntpd.mdoc.in@1.353 +2 -2
+    NTP_4_2_8P17
+
+  ntpdc/invoke-ntpdc.texi@1.523 +2 -2
+    NTP_4_2_8P17
+
+  ntpdc/ntpdc-opts.c@1.544 +7 -7
+    NTP_4_2_8P17
+
+  ntpdc/ntpdc-opts.h@1.543 +3 -3
+    NTP_4_2_8P17
+
+  ntpdc/ntpdc.1ntpdcman@1.354 +2 -2
+    NTP_4_2_8P17
+
+  ntpdc/ntpdc.1ntpdcmdoc@1.354 +2 -2
+    NTP_4_2_8P17
+
+  ntpdc/ntpdc.html@1.368 +2 -2
+    NTP_4_2_8P17
+
+  ntpdc/ntpdc.man.in@1.354 +2 -2
+    NTP_4_2_8P17
+
+  ntpdc/ntpdc.mdoc.in@1.354 +2 -2
+    NTP_4_2_8P17
+
+  ntpq/invoke-ntpq.texi@1.533 +2 -2
+    NTP_4_2_8P17
+
+  ntpq/ntpq-opts.c@1.553 +7 -7
+    NTP_4_2_8P17
+
+  ntpq/ntpq-opts.h@1.551 +3 -3
+    NTP_4_2_8P17
+
+  ntpq/ntpq.1ntpqman@1.361 +2 -2
+    NTP_4_2_8P17
+
+  ntpq/ntpq.1ntpqmdoc@1.361 +2 -2
+    NTP_4_2_8P17
+
+  ntpq/ntpq.html@1.198 +2 -2
+    NTP_4_2_8P17
+
+  ntpq/ntpq.man.in@1.361 +2 -2
+    NTP_4_2_8P17
+
+  ntpq/ntpq.mdoc.in@1.361 +2 -2
+    NTP_4_2_8P17
+
+  ntpsnmpd/invoke-ntpsnmpd.texi@1.523 +1 -1
+    NTP_4_2_8P17
+
+  ntpsnmpd/ntpsnmpd-opts.c@1.544 +7 -7
+    NTP_4_2_8P17
+
+  ntpsnmpd/ntpsnmpd-opts.h@1.543 +3 -3
+    NTP_4_2_8P17
+
+  ntpsnmpd/ntpsnmpd.1ntpsnmpdman@1.352 +2 -2
+    NTP_4_2_8P17
+
+  ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc@1.352 +2 -2
+    NTP_4_2_8P17
+
+  ntpsnmpd/ntpsnmpd.html@1.190 +1 -1
+    NTP_4_2_8P17
+
+  ntpsnmpd/ntpsnmpd.man.in@1.352 +2 -2
+    NTP_4_2_8P17
+
+  ntpsnmpd/ntpsnmpd.mdoc.in@1.352 +2 -2
+    NTP_4_2_8P17
+
+  packageinfo.sh@1.550 +2 -2
+    NTP_4_2_8P17
+
+  scripts/calc_tickadj/calc_tickadj.1calc_tickadjman@1.113 +2 -2
+    NTP_4_2_8P17
+
+  scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc@1.115 +2 -2
+    NTP_4_2_8P17
+
+  scripts/calc_tickadj/calc_tickadj.html@1.114 +1 -1
+    NTP_4_2_8P17
+
+  scripts/calc_tickadj/calc_tickadj.man.in@1.112 +2 -2
+    NTP_4_2_8P17
+
+  scripts/calc_tickadj/calc_tickadj.mdoc.in@1.115 +2 -2
+    NTP_4_2_8P17
+
+  scripts/calc_tickadj/invoke-calc_tickadj.texi@1.117 +1 -1
+    NTP_4_2_8P17
+
+  scripts/invoke-plot_summary.texi@1.135 +2 -2
+    NTP_4_2_8P17
+
+  scripts/invoke-summary.texi@1.134 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntp-wait/invoke-ntp-wait.texi@1.346 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntp-wait/ntp-wait-opts@1.82 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntp-wait/ntp-wait.1ntp-waitman@1.341 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntp-wait/ntp-wait.1ntp-waitmdoc@1.343 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntp-wait/ntp-wait.html@1.362 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntp-wait/ntp-wait.man.in@1.341 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntp-wait/ntp-wait.mdoc.in@1.343 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntpsweep/invoke-ntpsweep.texi@1.132 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntpsweep/ntpsweep-opts@1.85 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntpsweep/ntpsweep.1ntpsweepman@1.120 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntpsweep/ntpsweep.1ntpsweepmdoc@1.120 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntpsweep/ntpsweep.html@1.134 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntpsweep/ntpsweep.man.in@1.120 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntpsweep/ntpsweep.mdoc.in@1.121 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntptrace/invoke-ntptrace.texi@1.135 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntptrace/ntptrace-opts@1.85 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntptrace/ntptrace.1ntptraceman@1.120 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntptrace/ntptrace.1ntptracemdoc@1.122 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntptrace/ntptrace.html@1.135 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntptrace/ntptrace.man.in@1.120 +2 -2
+    NTP_4_2_8P17
+
+  scripts/ntptrace/ntptrace.mdoc.in@1.123 +2 -2
+    NTP_4_2_8P17
+
+  scripts/plot_summary-opts@1.86 +2 -2
+    NTP_4_2_8P17
+
+  scripts/plot_summary.1plot_summaryman@1.133 +2 -2
+    NTP_4_2_8P17
+
+  scripts/plot_summary.1plot_summarymdoc@1.133 +2 -2
+    NTP_4_2_8P17
+
+  scripts/plot_summary.html@1.137 +2 -2
+    NTP_4_2_8P17
+
+  scripts/plot_summary.man.in@1.133 +2 -2
+    NTP_4_2_8P17
+
+  scripts/plot_summary.mdoc.in@1.133 +2 -2
+    NTP_4_2_8P17
+
+  scripts/summary-opts@1.85 +2 -2
+    NTP_4_2_8P17
+
+  scripts/summary.1summaryman@1.132 +2 -2
+    NTP_4_2_8P17
+
+  scripts/summary.1summarymdoc@1.132 +2 -2
+    NTP_4_2_8P17
+
+  scripts/summary.html@1.136 +2 -2
+    NTP_4_2_8P17
+
+  scripts/summary.man.in@1.132 +2 -2
+    NTP_4_2_8P17
+
+  scripts/summary.mdoc.in@1.132 +2 -2
+    NTP_4_2_8P17
+
+  scripts/update-leap/invoke-update-leap.texi@1.33 +1 -1
+    NTP_4_2_8P17
+
+  scripts/update-leap/update-leap-opts@1.35 +2 -2
+    NTP_4_2_8P17
+
+  scripts/update-leap/update-leap.1update-leapman@1.33 +2 -2
+    NTP_4_2_8P17
+
+  scripts/update-leap/update-leap.1update-leapmdoc@1.34 +2 -2
+    NTP_4_2_8P17
+
+  scripts/update-leap/update-leap.html@1.33 +1 -1
+    NTP_4_2_8P17
+
+  scripts/update-leap/update-leap.man.in@1.33 +2 -2
+    NTP_4_2_8P17
+
+  scripts/update-leap/update-leap.mdoc.in@1.34 +2 -2
+    NTP_4_2_8P17
+
+  sntp/invoke-sntp.texi@1.523 +2 -2
+    NTP_4_2_8P17
+
+  sntp/sntp-opts.c@1.545 +7 -7
+    NTP_4_2_8P17
+
+  sntp/sntp-opts.h@1.543 +3 -3
+    NTP_4_2_8P17
+
+  sntp/sntp.1sntpman@1.358 +2 -2
+    NTP_4_2_8P17
+
+  sntp/sntp.1sntpmdoc@1.358 +2 -2
+    NTP_4_2_8P17
+
+  sntp/sntp.html@1.539 +2 -2
+    NTP_4_2_8P17
+
+  sntp/sntp.man.in@1.358 +2 -2
+    NTP_4_2_8P17
+
+  sntp/sntp.mdoc.in@1.358 +2 -2
+    NTP_4_2_8P17
+
+  util/invoke-ntp-keygen.texi@1.526 +2 -2
+    NTP_4_2_8P17
+
+  util/ntp-keygen-opts.c@1.547 +7 -7
+    NTP_4_2_8P17
+
+  util/ntp-keygen-opts.h@1.545 +3 -3
+    NTP_4_2_8P17
+
+  util/ntp-keygen.1ntp-keygenman@1.354 +2 -2
+    NTP_4_2_8P17
+
+  util/ntp-keygen.1ntp-keygenmdoc@1.354 +2 -2
+    NTP_4_2_8P17
+
+  util/ntp-keygen.html@1.199 +2 -2
+    NTP_4_2_8P17
+
+  util/ntp-keygen.man.in@1.354 +2 -2
+    NTP_4_2_8P17
+
+  util/ntp-keygen.mdoc.in@1.354 +2 -2
+    NTP_4_2_8P17
+
+ChangeSet@1.4003, 2023-06-06 04:28:11-07:00, ntpreleng@ntp-build.tal1.ntfo.org
+  p17
+
+  tests/libntp/run-digests.c@1.2 +7 -7
+    p17
+
+ChangeSet@1.4002, 2023-06-06 04:09:35-07:00, ntpreleng@ntp-build.tal1.ntfo.org
+  p17
+
+  packageinfo.sh@1.549 +1 -1
+    p17
+
+ChangeSet@1.4001, 2023-06-06 09:43:55+00:00, hart@ntp-devbuild.chi1.ntfo.org
+  Makefile.am:
+    Fix make distcheck failure with generated srcdir.c
+
+  tests/libntp/Makefile.am@1.104 +2 -2
+    Fix make distcheck failure with generated srcdir.c
+
+ChangeSet@1.4000, 2023-06-06 03:43:29-05:00, stenn@stenn.chi1.ntfo.org
+  prep for p17
+
+  ChangeLog@1.2052 +8 -6
+    prep for p17
+
+  NEWS@1.219 +25 -0
+    prep for p17
+
+ChangeSet@1.3998, 2023-06-05 00:21:10+00:00, davehart@tl.davehart.net
+  Add tests for loading and using all supported symmetric auth digests.
+
+  ChangeLog@1.2050 +2 -0
+    Add tests/libntp/digests.c to catch regressions reading keys file or with
+    symmetric authentication digest output.
+
+  include/ntp.h@1.235 +1 -1
+    move KEY_TYPE_MD5 to ntp_md5.h
+
+  include/ntp_md5.h@1.15 +4 -0
+    move a few items here where they better fit.
+
+  include/ntp_stdlib.h@1.91 +21 -18
+    Move items to ntp_md5.h, add some arg names to prototypes.
+
+  libntp/a_md5encrypt.c@1.55 +13 -10
+    %zu isn't supported by all compilers we support
+
+  libntp/authkeys.c@1.46 +11 -12
+    Get rid of magic number 4 for sizeof(u_int32), use zero_mem()
+
+  libntp/authreadkeys.c@1.36 +10 -2
+    Warn if AES128CMAC key is less than 128 bits.
+
+  libntp/msyslog.c@1.57 +3 -2
+    Comment grammar
+
+  libparse/clk_hopf6021.c@1.14 +3 -2
+    include ascii.h after ntp_stdlib.h to avoid clash with EM define
+
+  libparse/clk_wharton.c@1.13 +3 -2
+    include ascii.h after ntp_stdlib.h to avoid clash with EM define
+
+  ntpd/ntp_control.c@1.241 +0 -1
+    ntp_md5.h in ntp_stdlib.h now
+
+  ntpd/ntp_loopfilter.c@1.197 +0 -3
+    Move PATH_MAX definition to header file.
+
+  sntp/crypto.c@1.42 +0 -5
+    Remove redundancies
+
+  sntp/crypto.h@1.15 +0 -1
+    separate include of ntp_md5.h no longer needed
+
+  tests/libntp/Makefile.am@1.103 +33 -6
+    add digests.c
+
+  tests/libntp/data/ntp.keys@1.2 +1 -1
+    typo
+
+  tests/libntp/digests.c@1.1 +415 -0
+    Unit test for loading and using all supported symmetric auth methods.
+
+  tests/libntp/digests.c@1.0 +0 -0
+
+  tests/libntp/run-digests.c@1.1 +80 -0
+    Unity generated runner for digests.c
+
+  tests/libntp/run-digests.c@1.0 +0 -0
+
+ChangeSet@1.3996.2.1, 2023-06-03 22:48:12+00:00, davehart@tl.davehart.net
+  [Bug 3822] ntpd significantly delays first poll of servers specified by name.
+
+  ChangeLog@1.2048.2.1 +4 -0
+    [Bug 3822] ntpd significantly delays first poll of servers specified by name.
+
+  ntpd/ntp_config.c@1.383 +18 -0
+    Treat associations from ntp.conf with hostnames the same as those with IP addresses.
+
+ChangeSet@1.3996.1.1, 2023-06-02 23:42:10+00:00, davehart@tl.davehart.net
+  [Bug 3824] Spurious "ntpd: daemon failed to notify parent!" logged at event_sync.
+
+  ChangeLog@1.2048.1.1 +4 -0
+    [Bug 3824] Spurious "ntpd: daemon failed to notify parent!" logged at event_sync.
+
+  ntpd/ntp_proto.c@1.446 +3 -2
+    CLarify error message
+
+  ntpd/ntpd.c@1.189 +4 -2
+    Fix logic error, clarify message
+
+ChangeSet@1.3997, 2023-06-02 19:29:12+00:00, davehart@tl.davehart.net
+  [Bug 3821] 4.2.8p16 misreads hex auth keys, won't interop with 4.2.8p15.
+
+  ChangeLog@1.2049 +5 -0
+    [Bug 3821] 4.2.8p16 misreads hex auth keys, won't interop with 4.2.8p15.
+
+  libntp/authkeys.c@1.45 +2 -2
+    > typo for >>
+
+  tests/libntp/data/mills,david-03.jpg@1.1 +912 -0
+    The internet's Father Time
+
+  tests/libntp/data/mills,david-03.jpg@1.0 +0 -0
+
+  tests/libntp/data/ntp.keys@1.1 +34 -0
+    Test keys for libntp/tests/digest.c
+
+  tests/libntp/data/ntp.keys@1.0 +0 -0
+
 ChangeSet@1.3996, 2023-05-31 20:05:32-07:00, ntpreleng@ntp-build.tal1.ntfo.org
   NTP_4_2_8P16
   TAG: NTP_4_2_8P16
diff --git a/contrib/ntp/NEWS b/contrib/ntp/NEWS
index d9d8a0987ab6..432c3d324575 100644
--- a/contrib/ntp/NEWS
+++ b/contrib/ntp/NEWS
@@ -1,3 +1,28 @@
+---
+NTP 4.2.8p17 (Harlan Stenn <stenn@ntp.org>, 2023 Jun 06)
+
+Focus: Bug fixes
+
+Severity: HIGH (for people running 4.2.8p16)
+
+This release:
+
+- fixes 3 bugs, including a regression
+- adds new unit tests
+
+Details below:
+
+* [Bug 3824] Spurious "ntpd: daemon failed to notify parent!" logged at
+             event_sync.  Reported by Edward McGuire.  <hart@ntp.org>
+* [Bug 3822] ntpd significantly delays first poll of servers specified by name.
+             <hart@ntp.org>  Miroslav Lichvar identified regression in 4.2.8p16.
+* [Bug 3821] 4.2.8p16 misreads hex authentication keys, won't interop with
+             4.2.8p15 or earlier.  Reported by Matt Nordhoff, thanks to
+	     Miroslav Lichvar and Matt for rapid testing and identifying the
+	     problem. <hart@ntp.org>
+* Add tests/libntp/digests.c to catch regressions reading keys file or with
+  symmetric authentication digest output.
+
 ---
 NTP 4.2.8p16 (Harlan Stenn <stenn@ntp.org>, 2023 May 30)
 
diff --git a/contrib/ntp/configure b/contrib/ntp/configure
index a8c2ba593aa3..5d09904bea03 100755
--- a/contrib/ntp/configure
+++ b/contrib/ntp/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for ntp 4.2.8p16.
+# Generated by GNU Autoconf 2.71 for ntp 4.2.8p17.
 #
 # Report bugs to <https://bugs.ntp.org/>.
 #
@@ -621,8 +621,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='ntp'
 PACKAGE_TARNAME='ntp'
-PACKAGE_VERSION='4.2.8p16'
-PACKAGE_STRING='ntp 4.2.8p16'
+PACKAGE_VERSION='4.2.8p17'
+PACKAGE_STRING='ntp 4.2.8p17'
 PACKAGE_BUGREPORT='https://bugs.ntp.org/'
 PACKAGE_URL='https://www.ntp.org/'
 
@@ -1651,7 +1651,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ntp 4.2.8p16 to adapt to many kinds of systems.
+\`configure' configures ntp 4.2.8p17 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1722,7 +1722,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ntp 4.2.8p16:";;
+     short | recursive ) echo "Configuration of ntp 4.2.8p17:";;
    esac
   cat <<\_ACEOF
 
@@ -1967,7 +1967,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ntp configure 4.2.8p16
+ntp configure 4.2.8p17
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2624,7 +2624,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ntp $as_me 4.2.8p16, which was
+It was created by ntp $as_me 4.2.8p17, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4039,7 +4039,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ntp'
- VERSION='4.2.8p16'
+ VERSION='4.2.8p17'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -35365,7 +35365,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ntp $as_me 4.2.8p16, which was
+This file was extended by ntp $as_me 4.2.8p17, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -35434,7 +35434,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-ntp config.status 4.2.8p16
+ntp config.status 4.2.8p17
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff --git a/contrib/ntp/include/ntp.h b/contrib/ntp/include/ntp.h
index c037f5986016..258ddd6138f7 100644
--- a/contrib/ntp/include/ntp.h
+++ b/contrib/ntp/include/ntp.h
@@ -134,7 +134,7 @@ typedef char s_char;
  * Miscellaneous stuff
  */
 #define NTP_MAXKEY	65535	/* max authentication key number */
-#define	KEY_TYPE_MD5	NID_md5	/* MD5 digest NID */
+
 /*
  * Limits of things
  */
diff --git a/contrib/ntp/include/ntp_md5.h b/contrib/ntp/include/ntp_md5.h
index 06c90b2d2faf..8b5a7d0cbb49 100644
--- a/contrib/ntp/include/ntp_md5.h
+++ b/contrib/ntp/include/ntp_md5.h
@@ -6,6 +6,8 @@
 #ifndef NTP_MD5_H
 #define NTP_MD5_H
 
+# define KEY_TYPE_MD5			NID_md5
+
 #ifdef OPENSSL
 # include <openssl/evp.h>
 # include "libssl_compat.h"
@@ -30,6 +32,8 @@
 
   typedef MD5_CTX			EVP_MD_CTX;
 
+# define NID_md5			4	/* from openssl/objects.h */
+# define EVP_MAX_MD_SIZE		64	/* from openssl/evp.h */
 # define EVP_MD_CTX_free(c)		free(c)
 # define EVP_MD_CTX_new()		calloc(1, sizeof(MD5_CTX))
 # define EVP_get_digestbynid(t)		NULL
diff --git a/contrib/ntp/include/ntp_stdlib.h b/contrib/ntp/include/ntp_stdlib.h
index 2d7c640565d5..446837e3adcb 100644
--- a/contrib/ntp/include/ntp_stdlib.h
+++ b/contrib/ntp/include/ntp_stdlib.h
@@ -11,6 +11,7 @@
 
 #include "declcond.h"	/* ntpd uses ntpd/declcond.h, others include/ */
 #include "l_stdlib.h"
+#include "ntp_md5.h"
 #include "ntp_net.h"
 #include "ntp_debug.h"
 #include "ntp_malloc.h"
@@ -18,6 +19,10 @@
 #include "ntp_syslog.h"
 #include "ntp_keyacc.h"
 
+#ifndef PATH_MAX
+# define PATH_MAX MAX_PATH
+#endif
+
 #ifdef __GNUC__
 #define NTP_PRINTF(fmt, args) __attribute__((__format__(__printf__, fmt, args)))
 #else
@@ -36,24 +41,16 @@ extern	void	mvsyslog(int, const char *, va_list) NTP_PRINTF(2, 0);
 extern	void	init_logging	(const char *, u_int32, int);
 extern	int	change_logfile	(const char *, int);
 extern	void	setup_logfile	(const char *);
-#ifndef errno_to_str
+#ifndef errno_to_str		/* Windows port defines this */
 extern	void	errno_to_str(int, char *, size_t);
 #endif
 
-extern char *	ntp_realpath(const char * fsname);
+extern	char *	ntp_realpath(const char *fsname);
 
-extern	int	xvsbprintf(char**, char* const, char const*, va_list) NTP_PRINTF(3, 0);
-extern	int	xsbprintf(char**, char* const, char const*, ...) NTP_PRINTF(3, 4);
-
-/*
- * When building without OpenSSL, use a few macros of theirs to
- * minimize source differences in NTP.
- */
-#ifndef OPENSSL
-#define NID_md5	4	/* from openssl/objects.h */
-/* from openssl/evp.h */
-#define EVP_MAX_MD_SIZE	64	/* longest known is SHA512 */
-#endif
+extern	int	xvsbprintf(char **, char * const, char const *, va_list)
+				NTP_PRINTF(3, 0);
+extern	int	xsbprintf(char **, char * const, char const *, ...)
+				NTP_PRINTF(3, 4);
 
 #define SAVE_ERRNO(stmt)				\
 	{						\
@@ -111,10 +108,16 @@ extern	void	auth_prealloc_symkeys(int);
 extern	int	ymd2yd		(int, int, int);
 
 /* a_md5encrypt.c */
-extern	int	MD5authdecrypt	(int, const u_char *, size_t, u_int32 *, size_t, size_t, keyid_t);
-extern	size_t	MD5authencrypt	(int, const u_char *, size_t, u_int32 *, size_t);
-extern	void	MD5auth_setkey	(keyid_t, int, const u_char *, size_t, KeyAccT *c);
-extern	u_int32	addr2refid	(sockaddr_u *);
+extern	size_t	MD5authencrypt	(int type, const u_char *key, size_t klen,
+				 u_int32 *pkt, size_t length);
+extern	int	MD5authdecrypt	(int type, const u_char *key, size_t klen,
+				 u_int32 *pkt, size_t length, size_t size,
+				 keyid_t keyno);
+extern	u_int32	addr2refid(sockaddr_u *);
+
+/* authkeys.c */
+extern	void	MD5auth_setkey	(keyid_t, int, const u_char *, size_t,
+				 KeyAccT *c);
 
 /* emalloc.c */
 #ifndef EREALLOC_CALLSITE	/* ntp_malloc.h defines */
diff --git a/contrib/ntp/libntp/a_md5encrypt.c b/contrib/ntp/libntp/a_md5encrypt.c
index 6011af52af6d..7a372969123f 100644
--- a/contrib/ntp/libntp/a_md5encrypt.c
+++ b/contrib/ntp/libntp/a_md5encrypt.c
@@ -9,7 +9,6 @@
 #include "ntp_string.h"
 #include "ntp_stdlib.h"
 #include "ntp.h"
-#include "ntp_md5.h"	/* provides OpenSSL digest API */
 #include "isc/string.h"
 
 typedef struct {
@@ -22,10 +21,12 @@ typedef struct {
 	size_t		len;
 } rwbuffT;
 
+
 #if defined(OPENSSL) && defined(ENABLE_CMAC)
 static size_t
 cmac_ctx_size(
-	CMAC_CTX *	ctx)
+	CMAC_CTX *	ctx
+	)
 {
 	size_t mlen = 0;
 
@@ -36,14 +37,16 @@ cmac_ctx_size(
 	}
 	return mlen;
 }
-#endif /*OPENSSL && ENABLE_CMAC*/
+#endif	/* OPENSSL && ENABLE_CMAC */
+
 
 static size_t
 make_mac(
 	const rwbuffT *	digest,
 	int		ktype,
 	const robuffT *	key,
-	const robuffT *	msg)
+	const robuffT *	msg
+	)
 {
 	/*
 	 * Compute digest of key concatenated with packet. Note: the
@@ -66,8 +69,8 @@ make_mac(
 		/* adjust key size (zero padded buffer) if necessary */
 		if (AES_128_KEY_SIZE > key->len) {
 			memcpy(keybuf, keyptr, key->len);
-			memset((keybuf + key->len), 0,
-			       (AES_128_KEY_SIZE - key->len));
+			zero_mem((keybuf + key->len),
+				 (AES_128_KEY_SIZE - key->len));
 			keyptr = keybuf;
 		}
 
@@ -107,10 +110,10 @@ make_mac(
 			goto mac_fail;
 		}
 
-           #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW
+	   #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW
 		/* make sure MD5 is allowd */
 		EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
-           #endif
+	   #endif
 		/* [Bug 3457] DON'T use plain EVP_DigestInit! It would
 		 * kill the flags! */
 		if (!EVP_DigestInit_ex(ctx, EVP_get_digestbynid(ktype), NULL)) {
@@ -239,8 +242,8 @@ MD5authdecrypt(
 		dlen = MAX_MDG_LEN;
 	if (size != (size_t)dlen + KEY_MAC_LEN) {
 		msyslog(LOG_ERR,
-		    "MAC decrypt: MAC length error: len=%zu key=%d",
-			size, keyno);
+			"MAC decrypt: MAC length error: len=%u key=%d",
+			(u_int)size, keyno);
 		return (0);
 	}
 	return !isc_tsmemcmp(digest,
diff --git a/contrib/ntp/libntp/authkeys.c b/contrib/ntp/libntp/authkeys.c
index 4448dadd2b6a..d28b4b932b84 100644
--- a/contrib/ntp/libntp/authkeys.c
+++ b/contrib/ntp/libntp/authkeys.c
@@ -284,8 +284,7 @@ init_auth(void)
 	 */
 	newalloc = authhashbuckets * sizeof(key_hash[0]);
 
-	key_hash = erealloc(key_hash, newalloc);
-	memset(key_hash, '\0', newalloc);
+	key_hash = emalloc_zero(newalloc);
 
 	INIT_DLIST(key_listhead, llink);
 
@@ -458,7 +457,7 @@ auth_resize_hashtable(void)
 	newalloc = authhashbuckets * sizeof(key_hash[0]);
*** 3320 LINES SKIPPED ***