diff options
author | Xin LI <delphij@FreeBSD.org> | 2016-06-04 06:51:08 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2016-06-04 06:51:08 +0000 |
commit | 97d46c0b16b8dffc2903bbe83eb26cb54a8d807d (patch) | |
tree | 2059fe82f1f1ef87d433c4ad20e363c24c4bacc7 /share/security/patches | |
parent | 2d1a634039ba83c3d83496d3b447016ebd1e52ab (diff) | |
download | doc-97d46c0b16b8dffc2903bbe83eb26cb54a8d807d.tar.gz doc-97d46c0b16b8dffc2903bbe83eb26cb54a8d807d.zip |
Add SA-16:24.ntp.
Notes
Notes:
svn path=/head/; revision=48891
Diffstat (limited to 'share/security/patches')
-rw-r--r-- | share/security/patches/SA-16:24/ntp.patch | 11582 | ||||
-rw-r--r-- | share/security/patches/SA-16:24/ntp.patch.asc | 17 |
2 files changed, 11599 insertions, 0 deletions
diff --git a/share/security/patches/SA-16:24/ntp.patch b/share/security/patches/SA-16:24/ntp.patch new file mode 100644 index 0000000000..f503b49859 --- /dev/null +++ b/share/security/patches/SA-16:24/ntp.patch @@ -0,0 +1,11582 @@ +--- contrib/ntp/ChangeLog.orig ++++ contrib/ntp/ChangeLog +@@ -1,4 +1,26 @@ + --- ++(4.2.8p8) 2016/06/02 Released by Harlan Stenn <stenn@ntp.org> ++ ++* [Sec 3042] Broadcast Interleave. HStenn. ++* [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ - validate origin timestamps on bad MACs, too. stenn@ntp.org ++* [Sec 3044] Spoofed server packets are partially processed. HStenn. ++* [Sec 3045] Bad authentication demobilizes ephemeral associations. JPerlinger. ++* [Sec 3046] CRYPTO_NAK crash. stenn@ntp.org ++* [Bug 3038] NTP fails to build in VS2015. perlinger@ntp.org ++ - provide build environment ++ - 'wint_t' and 'struct timespec' defined by VS2015 ++ - fixed print()/scanf() format issues ++* [Bug 3052] Add a .gitignore file. Edmund Wong. ++* [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite. ++* [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback, ++ JPerlinger, HStenn. ++* Update the NEWS file for 4.2.8p8. HStenn. ++* Fix typo in ntp-wait and plot_summary. HStenn. ++* Make sure we have an "author" file for git imports. HStenn. ++* Update the sntp problem tests for MacOS. HStenn. ++ ++--- + (4.2.8p7) 2016/04/26 Released by Harlan Stenn <stenn@ntp.org> + + * [Sec 2901] KoD packets must have non-zero transmit timestamps. HStenn. +--- contrib/ntp/CommitLog.orig ++++ contrib/ntp/CommitLog +@@ -1,3 +1,774 @@ ++ChangeSet@1.3686, 2016-06-02 07:40:06-04:00, stenn@deacon.udel.edu ++ NTP_4_2_8P8 ++ TAG: NTP_4_2_8P8 ++ ++ ChangeLog@1.1834 +1 -0 ++ NTP_4_2_8P8 ++ ++ ntpd/invoke-ntp.conf.texi@1.200 +1 -1 ++ NTP_4_2_8P8 ++ ++ ntpd/invoke-ntp.keys.texi@1.190 +1 -1 ++ NTP_4_2_8P8 ++ ++ ntpd/invoke-ntpd.texi@1.506 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.conf.5man@1.234 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.conf.5mdoc@1.234 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.conf.html@1.185 +55 -19 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.conf.man.in@1.234 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.conf.mdoc.in@1.234 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.keys.5man@1.224 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.keys.5mdoc@1.224 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.keys.html@1.186 +1 -1 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.keys.man.in@1.224 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpd/ntp.keys.mdoc.in@1.224 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpd/ntpd-opts.c@1.528 +7 -7 ++ NTP_4_2_8P8 ++ ++ ntpd/ntpd-opts.h@1.527 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpd/ntpd.1ntpdman@1.335 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpd/ntpd.1ntpdmdoc@1.335 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpd/ntpd.html@1.179 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpd/ntpd.man.in@1.335 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpd/ntpd.mdoc.in@1.335 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpdc/invoke-ntpdc.texi@1.503 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpdc/ntpdc-opts.c@1.521 +7 -7 ++ NTP_4_2_8P8 ++ ++ ntpdc/ntpdc-opts.h@1.520 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpdc/ntpdc.1ntpdcman@1.334 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpdc/ntpdc.1ntpdcmdoc@1.334 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpdc/ntpdc.html@1.347 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpdc/ntpdc.man.in@1.334 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpdc/ntpdc.mdoc.in@1.334 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpq/invoke-ntpq.texi@1.511 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpq/ntpq-opts.c@1.528 +7 -7 ++ NTP_4_2_8P8 ++ ++ ntpq/ntpq-opts.h@1.526 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpq/ntpq.1ntpqman@1.339 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpq/ntpq.1ntpqmdoc@1.339 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpq/ntpq.html@1.176 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpq/ntpq.man.in@1.339 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpq/ntpq.mdoc.in@1.339 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpsnmpd/invoke-ntpsnmpd.texi@1.505 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpsnmpd/ntpsnmpd-opts.c@1.523 +7 -7 ++ NTP_4_2_8P8 ++ ++ ntpsnmpd/ntpsnmpd-opts.h@1.522 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpsnmpd/ntpsnmpd.1ntpsnmpdman@1.334 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc@1.334 +2 -2 ++ NTP_4_2_8P8 ++ ++ ntpsnmpd/ntpsnmpd.html@1.174 +1 -1 ++ NTP_4_2_8P8 ++ ++ ntpsnmpd/ntpsnmpd.man.in@1.334 +3 -3 ++ NTP_4_2_8P8 ++ ++ ntpsnmpd/ntpsnmpd.mdoc.in@1.334 +2 -2 ++ NTP_4_2_8P8 ++ ++ packageinfo.sh@1.528 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/calc_tickadj/calc_tickadj.1calc_tickadjman@1.95 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc@1.96 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/calc_tickadj/calc_tickadj.html@1.97 +1 -1 ++ NTP_4_2_8P8 ++ ++ scripts/calc_tickadj/calc_tickadj.man.in@1.94 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/calc_tickadj/calc_tickadj.mdoc.in@1.96 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/calc_tickadj/invoke-calc_tickadj.texi@1.99 +1 -1 ++ NTP_4_2_8P8 ++ ++ scripts/invoke-plot_summary.texi@1.117 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/invoke-summary.texi@1.116 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntp-wait/invoke-ntp-wait.texi@1.326 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntp-wait/ntp-wait-opts@1.62 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntp-wait/ntp-wait.1ntp-waitman@1.323 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/ntp-wait/ntp-wait.1ntp-waitmdoc@1.324 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntp-wait/ntp-wait.html@1.343 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntp-wait/ntp-wait.man.in@1.323 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/ntp-wait/ntp-wait.mdoc.in@1.324 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntpsweep/invoke-ntpsweep.texi@1.114 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntpsweep/ntpsweep-opts@1.64 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntpsweep/ntpsweep.1ntpsweepman@1.102 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/ntpsweep/ntpsweep.1ntpsweepmdoc@1.102 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntpsweep/ntpsweep.html@1.115 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntpsweep/ntpsweep.man.in@1.102 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/ntpsweep/ntpsweep.mdoc.in@1.103 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntptrace/invoke-ntptrace.texi@1.115 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntptrace/ntptrace-opts@1.64 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntptrace/ntptrace.1ntptraceman@1.102 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/ntptrace/ntptrace.1ntptracemdoc@1.103 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntptrace/ntptrace.html@1.116 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/ntptrace/ntptrace.man.in@1.102 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/ntptrace/ntptrace.mdoc.in@1.104 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/plot_summary-opts@1.65 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/plot_summary.1plot_summaryman@1.115 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/plot_summary.1plot_summarymdoc@1.115 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/plot_summary.html@1.118 +40 -58 ++ NTP_4_2_8P8 ++ ++ scripts/plot_summary.man.in@1.115 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/plot_summary.mdoc.in@1.115 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/summary-opts@1.64 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/summary.1summaryman@1.114 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/summary.1summarymdoc@1.114 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/summary.html@1.117 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/summary.man.in@1.114 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/summary.mdoc.in@1.114 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/update-leap/invoke-update-leap.texi@1.15 +1 -1 ++ NTP_4_2_8P8 ++ ++ scripts/update-leap/update-leap-opts@1.15 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/update-leap/update-leap.1update-leapman@1.15 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/update-leap/update-leap.1update-leapmdoc@1.15 +2 -2 ++ NTP_4_2_8P8 ++ ++ scripts/update-leap/update-leap.html@1.15 +1 -1 ++ NTP_4_2_8P8 ++ ++ scripts/update-leap/update-leap.man.in@1.15 +3 -3 ++ NTP_4_2_8P8 ++ ++ scripts/update-leap/update-leap.mdoc.in@1.15 +2 -2 ++ NTP_4_2_8P8 ++ ++ sntp/invoke-sntp.texi@1.503 +2 -2 ++ NTP_4_2_8P8 ++ ++ sntp/sntp-opts.c@1.522 +7 -7 ++ NTP_4_2_8P8 ++ ++ sntp/sntp-opts.h@1.520 +3 -3 ++ NTP_4_2_8P8 ++ ++ sntp/sntp.1sntpman@1.338 +3 -3 ++ NTP_4_2_8P8 ++ ++ sntp/sntp.1sntpmdoc@1.338 +2 -2 ++ NTP_4_2_8P8 ++ ++ sntp/sntp.html@1.518 +2 -2 ++ NTP_4_2_8P8 ++ ++ sntp/sntp.man.in@1.338 +3 -3 ++ NTP_4_2_8P8 ++ ++ sntp/sntp.mdoc.in@1.338 +2 -2 ++ NTP_4_2_8P8 ++ ++ util/invoke-ntp-keygen.texi@1.506 +2 -2 ++ NTP_4_2_8P8 ++ ++ util/ntp-keygen-opts.c@1.524 +7 -7 ++ NTP_4_2_8P8 ++ ++ util/ntp-keygen-opts.h@1.522 +3 -3 ++ NTP_4_2_8P8 ++ ++ util/ntp-keygen.1ntp-keygenman@1.334 +3 -3 ++ NTP_4_2_8P8 ++ ++ util/ntp-keygen.1ntp-keygenmdoc@1.334 +2 -2 ++ NTP_4_2_8P8 ++ ++ util/ntp-keygen.html@1.180 +2 -2 ++ NTP_4_2_8P8 ++ ++ util/ntp-keygen.man.in@1.334 +3 -3 ++ NTP_4_2_8P8 ++ ++ util/ntp-keygen.mdoc.in@1.334 +2 -2 ++ NTP_4_2_8P8 ++ ++ChangeSet@1.3685, 2016-06-02 06:50:37-04:00, stenn@deacon.udel.edu ++ 4.2.8p8 ++ ++ packageinfo.sh@1.527 +1 -1 ++ 4.2.8p8 ++ ++ChangeSet@1.3684, 2016-05-27 08:02:09+00:00, stenn@psp-deb1.ntp.org ++ typo ++ ++ NEWS@1.174 +1 -1 ++ typo ++ ++ChangeSet@1.3683, 2016-05-27 00:07:22-07:00, harlan@max.pfcs.com ++ [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback, JPerlinger, HStenn. ++ ++ ChangeLog@1.1833 +2 -0 ++ [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback, JPerlinger, HStenn. ++ ++ NEWS@1.173 +2 -0 ++ [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback, JPerlinger, HStenn. ++ ++ ntpd/ntp_io.c@1.417 +41 -41 ++ [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback, JPerlinger, HStenn. ++ ++ChangeSet@1.3682, 2016-05-26 22:37:19-07:00, harlan@max.pfcs.com ++ [Sec3043] - validate origin timestamps on bad MACs, too. stenn@ntp.org ++ ++ ChangeLog@1.1832 +2 -1 ++ [Sec3043] - validate origin timestamps on bad MACs, too. stenn@ntp.org ++ ++ NEWS@1.172 +9 -9 ++ [Sec3043] - validate origin timestamps on bad MACs, too. stenn@ntp.org ++ ++ ntpd/ntp_proto.c@1.392 +19 -6 ++ [Sec3043] - validate origin timestamps on bad MACs, too. stenn@ntp.org ++ ++ChangeSet@1.3681, 2016-05-24 23:31:36+00:00, stenn@psp-deb1.ntp.org ++ Update the NEWS file for 4.2.8p8. HStenn. ++ ++ ChangeLog@1.1831 +1 -0 ++ Update the NEWS file for 4.2.8p8. HStenn. ++ ++ NEWS@1.171 +103 -2 ++ Update the NEWS file for 4.2.8p8. HStenn. ++ ++ChangeSet@1.3680, 2016-05-24 12:05:06+00:00, stenn@psp-deb1.ntp.org ++ [Sec 3044] Spoofed server packets are partially processed. HStenn. ++ ++ ChangeLog@1.1830 +3 -2 ++ [Sec 3044] Spoofed server packets are partially processed. HStenn. ++ ++ ntpd/ntp_proto.c@1.391 +39 -24 ++ [Sec 3044] Spoofed server packets are partially processed. HStenn. ++ ++ChangeSet@1.3669.3.2, 2016-05-24 02:58:00-07:00, harlan@hms-mbp11.pfcs.com ++ Make sure we have an "author" file for git imports. HStenn. ++ ++ ChangeLog@1.1820.3.3 +1 -0 ++ Update the problem tests for MacOS for sntp. HStenn. ++ ++ ChangeLog@1.1820.3.2 +1 -0 ++ Make sure we have an "author" file for git imports. HStenn. ++ ++ configure.ac@1.606 +1 -0 ++ Make sure we have an "author" file for git imports. HStenn. ++ ++ scripts/build/Makefile.am@1.5 +1 -1 ++ Make sure we have an "author" file for git imports. HStenn. ++ ++ scripts/build/genAuthors.in@1.1 +82 -0 ++ BitKeeper file /Users/harlan/src/ntp-stable/scripts/build/genAuthors.in ++ ++ scripts/build/genAuthors.in@1.0 +0 -0 ++ ++ sntp/configure.ac@1.83 +2 -0 ++ Make sure we have an "author" file for git imports. HStenn. ++ ++ sntp/m4/ntp_problemtests.m4@1.5 +1 -0 ++ Make sure we have an "author" file for git imports. HStenn. ++ ++ sntp/m4/sntp_problemtests.m4@1.1 +47 -0 ++ BitKeeper file /Users/harlan/src/ntp-stable/sntp/m4/sntp_problemtests.m4 ++ ++ sntp/m4/sntp_problemtests.m4@1.0 +0 -0 ++ ++ sntp/tests/Makefile.am@1.67 +8 -2 ++ Update the problem tests for MacOS for sntp. HStenn. ++ ++ChangeSet@1.3669.3.1, 2016-05-24 02:25:46-07:00, harlan@hms-mbp11.pfcs.com ++ [Sec 3042] Broadcast Interleave. HStenn. ++ ++ ChangeLog@1.1820.3.1 +4 -0 ++ [Sec 3042] Broadcast Interleave. HStenn. ++ ++ ntpd/ntp_proto.c@1.386.1.1 +69 -14 ++ [Sec 3042] Broadcast Interleave. HStenn. ++ ++ChangeSet@1.3678, 2016-05-23 09:53:37+00:00, stenn@psp-deb1.ntp.org ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ChangeLog@1.1828 +1 -1 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ include/ntp.h@1.220 +1 -0 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/complete.conf.in@1.31 +1 -1 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/invoke-ntp.conf.texi@1.199 +23 -3 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/keyword-gen-utd@1.28 +1 -1 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/keyword-gen.c@1.34 +2 -1 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp.conf.5man@1.233 +27 -6 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp.conf.5mdoc@1.233 +24 -2 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp.conf.def@1.24 +22 -0 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp.conf.man.in@1.233 +27 -6 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp.conf.mdoc.in@1.233 +24 -2 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp_config.c@1.338 +6 -2 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp_keyword.h@1.30 +617 -597 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp_parser.c@1.102 +1541 -1773 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp_parser.h@1.66 +294 -306 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp_parser.y@1.92 +2 -0 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ ntpd/ntp_proto.c@1.389 +29 -8 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org, stenn@ntp.org ++ ++ChangeSet@1.3671.1.3, 2016-05-17 06:49:41+00:00, stenn@psp-deb1.ntp.org ++ [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite. ++ ++ ChangeLog@1.1822.1.3 +1 -0 ++ [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite. ++ ++ html/miscopt.html@1.86 +2 -2 ++ [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite. ++ ++ChangeSet@1.3671.1.2, 2016-05-17 04:25:50+00:00, stenn@psp-deb1.ntp.org ++ [Bug 3052] Add a .gitignore file. Edmund Wong. ++ ++ .gitignore@1.1 +9 -0 ++ BitKeeper file /home/stenn/ntp-stable/.gitignore ++ ++ .gitignore@1.0 +0 -0 ++ ++ BitKeeper/etc/ignore@1.91 +0 -1 ++ [Bug 3052] Add a .gitignore file. Edmund Wong. ++ ++ ChangeLog@1.1822.1.2 +1 -0 ++ [Bug 3052] Add a .gitignore file. Edmund Wong. ++ ++ChangeSet@1.3675, 2016-05-08 11:59:28+02:00, perlinger@ntp.org ++ [Sec 3043] Autokey association reset. perlinger@ntp.org ++ (fixes [Sec 3044] and [Sec 3045], too) ++ ++ ChangeLog@1.1825 +2 -0 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org ++ ++ ntpd/ntp_proto.c@1.388 +28 -22 ++ [Sec 3043] Autokey association reset. perlinger@ntp.org ++ (fixes [Sec 3044] and [Sec 3045], too) ++ ++ChangeSet@1.3674, 2016-05-06 11:05:44+00:00, stenn@psp-deb1.ntp.org ++ [Sec 3046] CRYPTO_NAK crash ++ ++ ChangeLog@1.1824 +1 -0 ++ [Sec 3046] CRYPTO_NAK crash ++ ++ ntpd/ntp_proto.c@1.387 +2 -1 ++ [Sec 3046] CRYPTO_NAK crash ++ ++ChangeSet@1.3669.2.1, 2016-05-06 09:20:29+00:00, stenn@psp-deb1.ntp.org ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ ChangeLog@1.1820.2.1 +4 -0 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/invoke-plot_summary.texi@1.116 +2 -2 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/ntp-wait/ntp-wait.in@1.12 +1 -1 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/plot_summary-opts@1.64 +1 -1 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/plot_summary-opts.def@1.3 +1 -1 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/plot_summary.1plot_summaryman@1.114 +4 -4 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/plot_summary.1plot_summarymdoc@1.114 +3 -3 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/plot_summary.html@1.117 +58 -40 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/plot_summary.man.in@1.114 +4 -4 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/plot_summary.mdoc.in@1.114 +3 -3 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ scripts/t/ntp-wait.t@1.2 +1 -1 ++ Fix typo in ntp-wait and plot_summary. HStenn. ++ ++ChangeSet@1.3672, 2016-05-05 06:17:20+00:00, stenn@psp-deb1.ntp.org ++ Update NEWS file for 4.2.8p9 for Bug 3038 ++ ++ NEWS@1.170 +9 -0 ++ Update NEWS file for 4.2.8p9 for Bug 3038 ++ ++ChangeSet@1.3671, 2016-05-05 06:09:53+00:00, stenn@psp-deb1.ntp.org ++ trivial cleanup ++ ++ ChangeLog@1.1822 +1 -0 ++ trivial cleanup ++ ++ChangeSet@1.3670, 2016-04-27 21:54:12+02:00, perlinger@ntp.org ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - new build environment ++ - 'wint_t' and 'struct timespec' defined by VS2015 ++ - fixed several format clashes in 'printf()' and 'scanf' ++ ++ BitKeeper/etc/ignore@1.90 +1 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - skip next version of MSVC symbol database ++ ++ ChangeLog@1.1821 +6 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ ++ ntpd/refclock_parse.c@1.83 +6 -6 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - work around clash SOCKET vs file descriptor formatting ++ ++ ntpdc/ntpdc.c@1.107 +2 -2 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - fix format warnings/errors ++ ++ ntpq/ntpq.c@1.170 +5 -2 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - fix format warnings/errors ++ ++ ports/winnt/include/config.h@1.115 +4 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - VS2015 has 'wint_t' ++ ++ ports/winnt/include/sys/time.h@1.9 +2 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - VS2015 has 'struct timespec' ++ ++ ports/winnt/libntp/termios.c@1.33 +3 -3 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - fix format parsing error ++ ++ ports/winnt/ppsapi/loopback/src/sys/time.h@1.2 +2 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - VS2015 has 'struct timespec' ++ ++ ports/winnt/vs2013/common.props@1.3 +1 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ -enable multiprocessor build ++ ++ ports/winnt/vs2015/common.props@1.1 +60 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/common.props@1.0 +0 -0 ++ ++ ports/winnt/vs2015/debug-x64.props@1.1 +24 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/debug-x64.props@1.0 +0 -0 ++ ++ ports/winnt/vs2015/debug.props@1.1 +24 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/debug.props@1.0 +0 -0 ++ ++ ports/winnt/vs2015/instsrv/instsrv.vcxproj@1.1 +269 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/instsrv/instsrv.vcxproj@1.0 +0 -0 ++ ++ ports/winnt/vs2015/instsrv/instsrv.vcxproj.filters@1.1 +28 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/instsrv/instsrv.vcxproj.filters@1.0 +0 -0 ++ ++ ports/winnt/vs2015/libntp/libntp.vcxproj@1.1 +431 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/libntp/libntp.vcxproj@1.0 +0 -0 ++ ++ ports/winnt/vs2015/libntp/libntp.vcxproj.filters@1.1 +574 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/libntp/libntp.vcxproj.filters@1.0 +0 -0 ++ ++ ports/winnt/vs2015/loopback-pps/loopback-ppsapi-provider.vcxproj@1.1 +252 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/loopback-pps/loopback-ppsapi-provider.vcxproj@1.0 +0 -0 ++ ++ ports/winnt/vs2015/loopback-pps/loopback-ppsapi-provider.vcxproj.filters@1.1 +39 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/loopback-pps/loopback-ppsapi-provider.vcxproj.filters@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntp-keygen/ntp-keygen.vcxproj@1.1 +270 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntp-keygen/ntp-keygen.vcxproj@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntp-keygen/ntp-keygen.vcxproj.filters@1.1 +36 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntp-keygen/ntp-keygen.vcxproj.filters@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntp.sln@1.1 +166 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntp.sln@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpd-keyword-gen/ntpd-keyword-gen.vcxproj@1.1 +227 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpd-keyword-gen/ntpd-keyword-gen.vcxproj@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpd-keyword-gen/ntpd-keyword-gen.vcxproj.filters@1.1 +69 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpd-keyword-gen/ntpd-keyword-gen.vcxproj.filters@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpd/gen-ntp_keyword.bat@1.1 +53 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpd/gen-ntp_keyword.bat@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpd/ntpd.vcxproj@1.1 +515 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpd/ntpd.vcxproj@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpd/ntpd.vcxproj.filters@1.1 +556 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpd/ntpd.vcxproj.filters@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpdate/ntpdate.vcxproj@1.1 +287 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpdate/ntpdate.vcxproj@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpdate/ntpdate.vcxproj.filters@1.1 +72 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpdate/ntpdate.vcxproj.filters@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpdc/ntpdc.vcxproj@1.1 +278 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpdc/ntpdc.vcxproj@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpdc/ntpdc.vcxproj.filters@1.1 +45 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpdc/ntpdc.vcxproj.filters@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpq/ntpq.vcxproj@1.1 +277 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpq/ntpq.vcxproj@1.0 +0 -0 ++ ++ ports/winnt/vs2015/ntpq/ntpq.vcxproj.filters@1.1 +42 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/ntpq/ntpq.vcxproj.filters@1.0 +0 -0 ++ ++ ports/winnt/vs2015/release-x64.props@1.1 +25 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/release-x64.props@1.0 +0 -0 ++ ++ ports/winnt/vs2015/release.props@1.1 +25 -0 ++ [Bug 3038] NTP fails to build in VS2015 Community Edition ++ - add build environment ++ ++ ports/winnt/vs2015/release.props@1.0 +0 -0 ++ + ChangeSet@1.3669, 2016-04-26 20:30:51-04:00, stenn@deacon.udel.edu + NTP_4_2_8P7 + TAG: NTP_4_2_8P7 +--- contrib/ntp/NEWS.orig ++++ contrib/ntp/NEWS +@@ -1,4 +1,116 @@ + --- ++NTP 4.2.8p8 (Harlan Stenn <stenn@ntp.org>, 2016/06/02) ++ ++Focus: Security, Bug fixes, enhancements. ++ ++Severity: HIGH ++ ++In addition to bug fixes and enhancements, this release fixes the ++following 1 high- and 4 low-severity vulnerabilities: ++ ++* CRYPTO_NAK crash ++ Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 ++ References: Sec 3046 / CVE-2016-4957 / VU#321640 ++ Affects: ntp-4.2.8p7, and ntp-4.3.92. ++ CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C) ++ CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H ++ Summary: The fix for Sec 3007 in ntp-4.2.8p7 contained a bug that ++ could cause ntpd to crash. ++ Mitigation: ++ Implement BCP-38. ++ Upgrade to 4.2.8p8, or later, from the NTP Project Download Page ++ or the NTP Public Services Project Download Page ++ If you cannot upgrade from 4.2.8p7, the only other alternatives ++ are to patch your code or filter CRYPTO_NAK packets. ++ Properly monitor your ntpd instances, and auto-restart ntpd ++ (without -g) if it stops running. ++ Credit: This weakness was discovered by Nicolas Edet of Cisco. ++ ++* Bad authentication demobilizes ephemeral associations ++ Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 ++ References: Sec 3045 / CVE-2016-4953 / VU#321640 ++ Affects: ntp-4, up to but not including ntp-4.2.8p8, and ++ ntp-4.3.0 up to, but not including ntp-4.3.93. ++ CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) ++ CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L ++ Summary: An attacker who knows the origin timestamp and can send a ++ spoofed packet containing a CRYPTO-NAK to an ephemeral peer ++ target before any other response is sent can demobilize that ++ association. ++ Mitigation: ++ Implement BCP-38. ++ Upgrade to 4.2.8p8, or later, from the NTP Project Download Page ++ or the NTP Public Services Project Download Page ++ Properly monitor your ntpd instances. ++ Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. ++ ++* Processing spoofed server packets ++ Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 ++ References: Sec 3044 / CVE-2016-4954 / VU#321640 ++ Affects: ntp-4, up to but not including ntp-4.2.8p8, and ++ ntp-4.3.0 up to, but not including ntp-4.3.93. ++ CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) ++ CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L ++ Summary: An attacker who is able to spoof packets with correct origin ++ timestamps from enough servers before the expected response ++ packets arrive at the target machine can affect some peer ++ variables and, for example, cause a false leap indication to be set. ++ Mitigation: ++ Implement BCP-38. ++ Upgrade to 4.2.8p8, or later, from the NTP Project Download Page ++ or the NTP Public Services Project Download Page ++ Properly monitor your ntpd instances. ++ Credit: This weakness was discovered by Jakub Prokes of Red Hat. ++ ++* Autokey association reset ++ Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 ++ References: Sec 3043 / CVE-2016-4955 / VU#321640 ++ Affects: ntp-4, up to but not including ntp-4.2.8p8, and ++ ntp-4.3.0 up to, but not including ntp-4.3.93. ++ CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) ++ CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L ++ Summary: An attacker who is able to spoof a packet with a correct ++ origin timestamp before the expected response packet arrives at ++ the target machine can send a CRYPTO_NAK or a bad MAC and cause ++ the association's peer variables to be cleared. If this can be ++ done often enough, it will prevent that association from working. ++ Mitigation: ++ Implement BCP-38. ++ Upgrade to 4.2.8p8, or later, from the NTP Project Download Page ++ or the NTP Public Services Project Download Page ++ Properly monitor your ntpd instances. ++ Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. ++ ++* Broadcast interleave ++ Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 ++ References: Sec 3042 / CVE-2016-4956 / VU#321640 ++ Affects: ntp-4, up to but not including ntp-4.2.8p8, and ++ ntp-4.3.0 up to, but not including ntp-4.3.93. ++ CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) ++ CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L ++ Summary: The fix for NtpBug2978 does not cover broadcast associations, ++ so broadcast clients can be triggered to flip into interleave mode. ++ Mitigation: ++ Implement BCP-38. ++ Upgrade to 4.2.8p8, or later, from the NTP Project Download Page ++ or the NTP Public Services Project Download Page ++ Properly monitor your ntpd instances. ++ Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. ++ ++Other fixes: ++* [Bug 3038] NTP fails to build in VS2015. perlinger@ntp.org ++ - provide build environment ++ - 'wint_t' and 'struct timespec' defined by VS2015 ++ - fixed print()/scanf() format issues ++* [Bug 3052] Add a .gitignore file. Edmund Wong. ++* [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite. ++* [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback, ++ JPerlinger, HStenn. ++* Fix typo in ntp-wait and plot_summary. HStenn. ++* Make sure we have an "author" file for git imports. HStenn. ++* Update the sntp problem tests for MacOS. HStenn. ++ ++--- + NTP 4.2.8p7 (Harlan Stenn <stenn@ntp.org>, 2016/04/26) + + Focus: Security, Bug fixes, enhancements. +--- contrib/ntp/configure.orig ++++ contrib/ntp/configure +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.69 for ntp 4.2.8p7. ++# Generated by GNU Autoconf 2.69 for ntp 4.2.8p8. + # + # Report bugs to <http://bugs.ntp.org./>. + # +@@ -590,8 +590,8 @@ + # Identity of this package. + PACKAGE_NAME='ntp' + PACKAGE_TARNAME='ntp' +-PACKAGE_VERSION='4.2.8p7' +-PACKAGE_STRING='ntp 4.2.8p7' ++PACKAGE_VERSION='4.2.8p8' ++PACKAGE_STRING='ntp 4.2.8p8' + PACKAGE_BUGREPORT='http://bugs.ntp.org./' + PACKAGE_URL='http://www.ntp.org./' + +@@ -1618,7 +1618,7 @@ + # 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.8p7 to adapt to many kinds of systems. ++\`configure' configures ntp 4.2.8p8 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1688,7 +1688,7 @@ + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of ntp 4.2.8p7:";; ++ short | recursive ) echo "Configuration of ntp 4.2.8p8:";; + esac + cat <<\_ACEOF + +@@ -1924,7 +1924,7 @@ + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-ntp configure 4.2.8p7 ++ntp configure 4.2.8p8 + generated by GNU Autoconf 2.69 + + Copyright (C) 2012 Free Software Foundation, Inc. +@@ -2754,7 +2754,7 @@ + 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.8p7, which was ++It was created by ntp $as_me 4.2.8p8, which was + generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ +@@ -3755,7 +3755,7 @@ + + # Define the identity of the package. + PACKAGE='ntp' +- VERSION='4.2.8p7' ++ VERSION='4.2.8p8' + + + cat >>confdefs.h <<_ACEOF +@@ -37251,6 +37251,7 @@ + + + ++ + ### + + +@@ -37309,6 +37310,8 @@ + + ac_config_files="$ac_config_files scripts/build/Makefile" + ++ac_config_files="$ac_config_files scripts/build/genAuthors" ++ + ac_config_files="$ac_config_files scripts/build/mkver" + + ac_config_files="$ac_config_files scripts/calc_tickadj/Makefile" +@@ -38000,7 +38003,7 @@ + # 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.8p7, which was ++This file was extended by ntp $as_me 4.2.8p8, which was + generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -38067,7 +38070,7 @@ + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" + ac_cs_version="\\ +-ntp config.status 4.2.8p7 ++ntp config.status 4.2.8p8 + configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +@@ -38595,6 +38598,7 @@ + "parseutil/Makefile") CONFIG_FILES="$CONFIG_FILES parseutil/Makefile" ;; + "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;; + "scripts/build/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/build/Makefile" ;; ++ "scripts/build/genAuthors") CONFIG_FILES="$CONFIG_FILES scripts/build/genAuthors" ;; + "scripts/build/mkver") CONFIG_FILES="$CONFIG_FILES scripts/build/mkver" ;; + "scripts/calc_tickadj/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/calc_tickadj/Makefile" ;; + "scripts/calc_tickadj/calc_tickadj") CONFIG_FILES="$CONFIG_FILES scripts/calc_tickadj/calc_tickadj" ;; +@@ -40149,6 +40153,7 @@ + ;; + "ntpd/complete.conf":F) sed -e '/^rlimit$/d' -e '/^$/d' < ntpd/complete.conf > ntpd/complete.conf.new && mv ntpd/complete.conf.new ntpd/complete.conf ;; + "ntpdc/nl.pl":F) chmod +x ntpdc/nl.pl ;; ++ "scripts/build/genAuthors":F) chmod +x scripts/build/genAuthors ;; + "scripts/build/mkver":F) chmod +x scripts/build/mkver ;; + "scripts/calc_tickadj/calc_tickadj":F) chmod +x scripts/calc_tickadj/calc_tickadj ;; + "scripts/ntp-wait/ntp-wait":F) chmod +x scripts/ntp-wait/ntp-wait ;; +--- contrib/ntp/configure.ac.orig ++++ contrib/ntp/configure.ac +@@ -4397,6 +4397,7 @@ + AC_CONFIG_FILES([parseutil/Makefile]) + AC_CONFIG_FILES([scripts/Makefile]) + AC_CONFIG_FILES([scripts/build/Makefile]) ++AC_CONFIG_FILES([scripts/build/genAuthors], [chmod +x scripts/build/genAuthors]) + AC_CONFIG_FILES([scripts/build/mkver], [chmod +x scripts/build/mkver]) + AC_CONFIG_FILES([scripts/calc_tickadj/Makefile]) + AC_CONFIG_FILES([scripts/calc_tickadj/calc_tickadj], [chmod +x scripts/calc_tickadj/calc_tickadj]) +--- contrib/ntp/html/miscopt.html.orig ++++ contrib/ntp/html/miscopt.html +@@ -11,7 +11,7 @@ + <img src="pic/boom3.gif" alt="gif" align="left"><a href="http://www.eecis.udel.edu/~mills/pictures.html">from <i>Pogo</i>, Walt Kelly</a> + <p>We have three, now looking for more.</p> + <p>Last update: +- <!-- #BeginDate format:En2m -->16-Jan-2016 13:08<!-- #EndDate --> ++ <!-- #BeginDate format:En2m -->17-May-2016 06:26<!-- #EndDate --> + UTC</p> + <br clear="left"> + <h4>Related Links</h4> +@@ -129,7 +129,7 @@ + <dd> + <dl> + <dt><tt>allan <i>allan</i></tt></dt> +- <dd>Specifies the Allan intercept, which is a parameter of the PLL/FLL clock discipline algorithm, in seconds with default 1500 s.</dd> ++ <dd>Specifies the Allan intercept, which is a parameter of the PLL/FLL clock discipline algorithm, in log2 seconds with default 11 (2048 s).</dd> + <dt><tt>dispersion <i>dispersion</i></tt></dt> + <dd>Specifies the dispersion increase rate in parts-per-million (PPM) with default 15 PPM.</dd> + <dt><tt>freq <i>freq</i></tt></dt> +--- contrib/ntp/include/ntp.h.orig ++++ contrib/ntp/include/ntp.h +@@ -723,6 +723,7 @@ + #define PROTO_UECRYPTO 29 + #define PROTO_UECRYPTONAK 30 + #define PROTO_UEDIGEST 31 ++#define PROTO_PCEDIGEST 32 + + /* + * Configuration items for the loop filter +--- contrib/ntp/ntpd/complete.conf.in.orig ++++ contrib/ntp/ntpd/complete.conf.in +@@ -25,7 +25,7 @@ + controlkey 12 + requestkey 12 + enable auth ntp monitor stats +-disable bclient calibrate kernel mode7 ++disable bclient calibrate kernel mode7 peer_clear_digest_early unpeer_crypto_early unpeer_crypto_nak_early unpeer_digest_early + tos beacon 3600 ceiling 16 cohort 0 floor 1 maxclock 10 maxdist 1.5 minclock 3 mindist 0.001 minsane 1 orphan 16 orphanwait 300 + rlimit@HAVE_RLIMIT_MEMLOCK@@HAVE_RLIMIT_STACK@ + tinker allan 1500 dispersion 15 freq 0 huffpuff 7200 panic 1000 step 0.128 stepout 900 tick 0.01 +--- contrib/ntp/ntpd/invoke-ntp.conf.texi.orig ++++ contrib/ntp/ntpd/invoke-ntp.conf.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntp.conf.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:28:27 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:36:07 AM by AutoGen 5.18.5 + # From the definitions ntp.conf.def + # and the template file agtexi-file.tpl + @end ignore +@@ -2335,8 +2335,8 @@ + This option specifies the Differentiated Services Control Point (DSCP) value, + a 6-bit code. + The default value is 46, signifying Expedited Forwarding. +-@item @code{enable} @code{[@code{auth} | @code{bclient} | @code{calibrate} | @code{kernel} | @code{mode7} | @code{monitor} | @code{ntp} | @code{stats} | @code{unpeer_crypto_early} | @code{unpeer_crypto_nak_early} | @code{unpeer_digest_early}]} +-@item @code{disable} @code{[@code{auth} | @code{bclient} | @code{calibrate} | @code{kernel} | @code{mode7} | @code{monitor} | @code{ntp} | @code{stats} | @code{unpeer_crypto_early} | @code{unpeer_crypto_nak_early} | @code{unpeer_digest_early}]} ++@item @code{enable} @code{[@code{auth} | @code{bclient} | @code{calibrate} | @code{kernel} | @code{mode7} | @code{monitor} | @code{ntp} | @code{stats} | @code{peer_clear_digest_early} | @code{unpeer_crypto_early} | @code{unpeer_crypto_nak_early} | @code{unpeer_digest_early}]} ++@item @code{disable} @code{[@code{auth} | @code{bclient} | @code{calibrate} | @code{kernel} | @code{mode7} | @code{monitor} | @code{ntp} | @code{stats} | @code{peer_clear_digest_early} | @code{unpeer_crypto_early} | @code{unpeer_crypto_nak_early} | @code{unpeer_digest_early}]} + Provides a way to enable or disable various server options. + Flags not mentioned are unaffected. + Note that all of these flags +@@ -2401,6 +2401,26 @@ + The default for + this flag is + @code{enable}. ++@item @code{peer_clear_digest_early} ++By default, if ++@code{ntpd(1ntpdmdoc)} ++is using autokey and it ++receives a crypto-NAK packet that ++passes the duplicate packet and origin timestamp checks ++the peer variables are immediately cleared. ++While this is generally a feature ++as it allows for quick recovery if a server key has changed, ++a properly forged and appropriately delivered crypto-NAK packet ++can be used in a DoS attack. ++If you have active noticable problems with this type of DoS attack ++then you should consider ++disabling this option. ++You can check your ++@code{peerstats} ++file for evidence of any of these attacks. ++The ++default for this flag is ++@code{enable}. + @item @code{stats} + Enables the statistics facility. + See the +--- contrib/ntp/ntpd/invoke-ntp.keys.texi.orig ++++ contrib/ntp/ntpd/invoke-ntp.keys.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntp.keys.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:28:30 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:36:10 AM by AutoGen 5.18.5 + # From the definitions ntp.keys.def + # and the template file agtexi-file.tpl + @end ignore +--- contrib/ntp/ntpd/invoke-ntpd.texi.orig ++++ contrib/ntp/ntpd/invoke-ntpd.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntpd.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:28:32 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:36:12 AM by AutoGen 5.18.5 + # From the definitions ntpd-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -142,7 +142,7 @@ + + @exampleindent 0 + @example +-ntpd - NTP daemon program - Ver. 4.2.8p7 ++ntpd - NTP daemon program - Ver. 4.2.8p8 + Usage: ntpd [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... \ + [ <server1> ... <serverN> ] + Flg Arg Option-Name Description +--- contrib/ntp/ntpd/keyword-gen-utd.orig ++++ contrib/ntp/ntpd/keyword-gen-utd +@@ -1 +1 @@ +- * Generated 2016-01-16 08:33:03 UTC diff_ignore_line ++ * Generated 2016-05-19 06:35:34 UTC diff_ignore_line +--- contrib/ntp/ntpd/keyword-gen.c.orig ++++ contrib/ntp/ntpd/keyword-gen.c +@@ -199,8 +199,9 @@ + { "bclient", T_Bclient, FOLLBY_TOKEN }, + { "calibrate", T_Calibrate, FOLLBY_TOKEN }, + { "kernel", T_Kernel, FOLLBY_TOKEN }, ++{ "mode7", T_Mode7, FOLLBY_TOKEN }, + { "ntp", T_Ntp, FOLLBY_TOKEN }, +-{ "mode7", T_Mode7, FOLLBY_TOKEN }, ++{ "peer_clear_digest_early", T_PCEdigest, FOLLBY_TOKEN }, + { "stats", T_Stats, FOLLBY_TOKEN }, + { "unpeer_crypto_early", T_UEcrypto, FOLLBY_TOKEN }, + { "unpeer_crypto_nak_early", T_UEcryptonak, FOLLBY_TOKEN }, +--- contrib/ntp/ntpd/ntp.conf.5man.orig ++++ contrib/ntp/ntpd/ntp.conf.5man +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntp.conf 5man "26 Apr 2016" "4.2.8p7" "File Formats" ++.TH ntp.conf 5man "02 Jun 2016" "4.2.8p8" "File Formats" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-ana4jE/ag-QnaWiE) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-OzaOIT/ag-3zaGHT) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:14 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:35:50 AM by AutoGen 5.18.5 + .\" From the definitions ntp.conf.def + .\" and the template file agman-cmd.tpl + .SH NAME +@@ -2618,9 +2618,9 @@ + a 6-bit code. + The default value is 46, signifying Expedited Forwarding. + .TP 7 +-.NOP \f\*[B-Font]enable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]] ++.NOP \f\*[B-Font]enable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]peer_clear_digest_early\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]] + .TP 7 +-.NOP \f\*[B-Font]disable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]] ++.NOP \f\*[B-Font]disable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]peer_clear_digest_early\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]] + Provides a way to enable or disable various server options. + Flags not mentioned are unaffected. + Note that all of these flags +@@ -2693,6 +2693,27 @@ + this flag is + \f\*[B-Font]enable\f[]. + .TP 7 ++.NOP \f\*[B-Font]peer_clear_digest_early\f[] ++By default, if ++\fCntpd\f[]\fR(1ntpdmdoc)\f[] ++is using autokey and it ++receives a crypto-NAK packet that ++passes the duplicate packet and origin timestamp checks ++the peer variables are immediately cleared. ++While this is generally a feature ++as it allows for quick recovery if a server key has changed, ++a properly forged and appropriately delivered crypto-NAK packet ++can be used in a DoS attack. ++If you have active noticable problems with this type of DoS attack ++then you should consider ++disabling this option. ++You can check your ++\f\*[B-Font]peerstats\f[] ++file for evidence of any of these attacks. ++The ++default for this flag is ++\f\*[B-Font]enable\f[]. ++.TP 7 + .NOP \f\*[B-Font]stats\f[] + Enables the statistics facility. + See the +--- contrib/ntp/ntpd/ntp.conf.5mdoc.orig ++++ contrib/ntp/ntpd/ntp.conf.5mdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_CONF 5mdoc File Formats + .Os + .\" EDIT THIS FILE WITH CAUTION (ntp.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:36 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:16 AM by AutoGen 5.18.5 + .\" From the definitions ntp.conf.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +@@ -2440,6 +2440,7 @@ + .Cm calibrate | Cm kernel | + .Cm mode7 | Cm monitor | + .Cm ntp | Cm stats | ++.Cm peer_clear_digest_early | + .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early + .Oc + .Xc +@@ -2449,6 +2450,7 @@ + .Cm calibrate | Cm kernel | + .Cm mode7 | Cm monitor | + .Cm ntp | Cm stats | ++.Cm peer_clear_digest_early | + .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early + .Oc + .Xc +@@ -2516,6 +2518,26 @@ + The default for + this flag is + .Ic enable . ++.It Cm peer_clear_digest_early ++By default, if ++.Xr ntpd 1ntpdmdoc ++is using autokey and it ++receives a crypto\-NAK packet that ++passes the duplicate packet and origin timestamp checks ++the peer variables are immediately cleared. ++While this is generally a feature ++as it allows for quick recovery if a server key has changed, ++a properly forged and appropriately delivered crypto\-NAK packet ++can be used in a DoS attack. ++If you have active noticable problems with this type of DoS attack ++then you should consider ++disabling this option. ++You can check your ++.Cm peerstats ++file for evidence of any of these attacks. ++The ++default for this flag is ++.Ic enable . + .It Cm stats + Enables the statistics facility. + See the +--- contrib/ntp/ntpd/ntp.conf.def.orig ++++ contrib/ntp/ntpd/ntp.conf.def +@@ -2442,6 +2442,7 @@ + .Cm calibrate | Cm kernel | + .Cm mode7 | Cm monitor | + .Cm ntp | Cm stats | ++.Cm peer_clear_digest_early | + .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early + .Oc + .Xc +@@ -2451,6 +2452,7 @@ + .Cm calibrate | Cm kernel | + .Cm mode7 | Cm monitor | + .Cm ntp | Cm stats | ++.Cm peer_clear_digest_early | + .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early + .Oc + .Xc +@@ -2518,6 +2520,26 @@ + The default for + this flag is + .Ic enable . ++.It Cm peer_clear_digest_early ++By default, if ++.Xr ntpd 1ntpdmdoc ++is using autokey and it ++receives a crypto-NAK packet that ++passes the duplicate packet and origin timestamp checks ++the peer variables are immediately cleared. ++While this is generally a feature ++as it allows for quick recovery if a server key has changed, ++a properly forged and appropriately delivered crypto-NAK packet ++can be used in a DoS attack. ++If you have active noticable problems with this type of DoS attack ++then you should consider ++disabling this option. ++You can check your ++.Cm peerstats ++file for evidence of any of these attacks. ++The ++default for this flag is ++.Ic enable . + .It Cm stats + Enables the statistics facility. + See the +--- contrib/ntp/ntpd/ntp.conf.html.orig ++++ contrib/ntp/ntpd/ntp.conf.html +@@ -33,7 +33,7 @@ + <p>This document describes the configuration file for the NTP Project's + <code>ntpd</code> program. + +- <p>This document applies to version 4.2.8p7 of <code>ntp.conf</code>. ++ <p>This document applies to version 4.2.8p8 of <code>ntp.conf</code>. + + <div class="shortcontents"> + <h2>Short Contents</h2> +@@ -167,8 +167,14 @@ + <p>If the Basic Socket Interface Extensions for IPv6 (RFC-2553) + is detected, support for the IPv6 address family is generated + in addition to the default support of the IPv4 address family. +-In a few cases, including the reslist billboard generated +-by ntpdc, IPv6 addresses are automatically generated. ++In a few cases, including the ++<code>reslist</code> ++billboard generated ++by ++<code>ntpq(1ntpqmdoc)</code> ++or ++<code>ntpdc(1ntpdcmdoc)</code>, ++IPv6 addresses are automatically generated. + IPv6 addresses can be identified by the presence of colons + : + in the address field. +@@ -187,7 +193,7 @@ + See IPv6 references for the + equivalent classes for that address family. + <dl> +-<dt><code>pool</code> <kbd>address</kbd> <code>[burst]</code> <code>[iburst]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[maxpoll </code><kbd>maxpoll</kbd><code>]</code><br><dt><code>server</code> <kbd>address</kbd> <code>[key </code><kbd>key</kbd> <kbd>|</kbd><code> autokey]</code> <code>[burst]</code> <code>[iburst]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[maxpoll </code><kbd>maxpoll</kbd><code>]</code><br><dt><code>peer</code> <kbd>address</kbd> <code>[key </code><kbd>key</kbd> <kbd>|</kbd><code> autokey]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[maxpoll </code><kbd>maxpoll</kbd><code>]</code><br><dt><code>broadcast</code> <kbd>address</kbd> <code>[key </code><kbd>key</kbd> <kbd>|</kbd><code> autokey]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[ttl </code><kbd>ttl</kbd><code>]</code><br><dt><code>manycastclient</code> <kbd>address</kbd> <code>[key </code><kbd>key</kbd> <kbd>|</kbd><code> autokey]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[maxpoll </code><kbd>maxpoll</kbd><code>]</code> <code>[ttl </code><kbd>ttl</kbd><code>]</code><dd></dl> ++<dt><code>pool</code> <kbd>address</kbd> <code>[burst]</code> <code>[iburst]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[maxpoll </code><kbd>maxpoll</kbd><code>]</code><br><dt><code>server</code> <kbd>address</kbd> <code>[key </code><kbd>key</kbd> <kbd>|</kbd><code> autokey]</code> <code>[burst]</code> <code>[iburst]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[maxpoll </code><kbd>maxpoll</kbd><code>]</code> <code>[true]</code><br><dt><code>peer</code> <kbd>address</kbd> <code>[key </code><kbd>key</kbd> <kbd>|</kbd><code> autokey]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[maxpoll </code><kbd>maxpoll</kbd><code>]</code> <code>[true]</code> <code>[xleave]</code><br><dt><code>broadcast</code> <kbd>address</kbd> <code>[key </code><kbd>key</kbd> <kbd>|</kbd><code> autokey]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[ttl </code><kbd>ttl</kbd><code>]</code> <code>[xleave]</code><br><dt><code>manycastclient</code> <kbd>address</kbd> <code>[key </code><kbd>key</kbd> <kbd>|</kbd><code> autokey]</code> <code>[version </code><kbd>version</kbd><code>]</code> <code>[prefer]</code> <code>[minpoll </code><kbd>minpoll</kbd><code>]</code> <code>[maxpoll </code><kbd>maxpoll</kbd><code>]</code> <code>[ttl </code><kbd>ttl</kbd><code>]</code><dd></dl> + + <p>These five commands specify the time server name or address to + be used and the mode in which to operate. +@@ -341,6 +347,7 @@ + The server is discarded by the selection algroithm. + <br><dt><code>preempt</code><dd>Says the association can be preempted. + <br><dt><code>true</code><dd>Marks the server as a truechimer. ++Use this option only for testing. + <br><dt><code>prefer</code><dd>Marks the server as preferred. + All other things being equal, + this host will be chosen for synchronization among a set of +@@ -352,6 +359,10 @@ + provided in + <span class="file">/usr/share/doc/ntp</span>) + for further information. ++<br><dt><code>true</code><dd>Forces the association to always survive the selection and clustering algorithms. ++This option should almost certainly ++<em>only</em> ++be used while testing an association. + <br><dt><code>ttl</code> <kbd>ttl</kbd><dd>This option is used only with broadcast server and manycast + client modes. + It specifies the time-to-live +@@ -523,7 +534,7 @@ + commands and also by remote + configuration commands sent by a + <code>ntpdc(1ntpdcmdoc)</code> +-program running in ++program running on + another machine. + If this flag is enabled, which is the default + case, new broadcast client and symmetric passive associations and +@@ -709,7 +720,7 @@ + all of which are bound together by the protocol specifically + to deflect masquerade attacks. + For this reason Autokey +-includes the source and destinatino IP addresses in message digest ++includes the source and destination IP addresses in message digest + computations and so the same addresses must be available + at both the server and client. + For this reason operation +@@ -895,8 +906,8 @@ + the link + <span class="file">ntpkey_key_</span><kbd>hostname</kbd> + in the keys directory. +-<br><dt><code>iffpar</code> <kbd>file</kbd><dd>Specifies the location of the optional IFF parameters file.This +-overrides the link ++<br><dt><code>iffpar</code> <kbd>file</kbd><dd>Specifies the location of the optional IFF parameters file. ++This overrides the link + <span class="file">ntpkey_iff_</span><kbd>hostname</kbd> + in the keys directory. + <br><dt><code>leap</code> <kbd>file</kbd><dd>Specifies the location of the optional leapsecond file. +@@ -904,8 +915,7 @@ + <span class="file">ntpkey_leap</span> + in the keys directory. + <br><dt><code>mvpar</code> <kbd>file</kbd><dd>Specifies the location of the optional MV parameters file. +-This +-overrides the link ++This overrides the link + <span class="file">ntpkey_mv_</span><kbd>hostname</kbd> + in the keys directory. + <br><dt><code>pw</code> <kbd>password</kbd><dd>Specifies the password to decrypt files containing private keys and +@@ -1033,7 +1043,7 @@ + Statistic files are managed using file generation sets + and scripts in the + <span class="file">./scripts</span> +-directory of this distribution. ++directory of the source code distribution. + Using + these facilities and + <span class="sc">unix</span> +@@ -1331,7 +1341,9 @@ + the number of links of this file is one, it is renamed appending a + dot, the letter + <code>C</code>, +-and the pid of the ntpd server process. ++and the pid of the ++<code>ntpd(1ntpdmdoc)</code> ++server process. + When the + number of links is greater than one, the file is unlinked. + This +@@ -1392,9 +1404,9 @@ + Some violations cause denied service + only for the offending packet, others cause denied service + for a timed period and others cause the denied service for +-an indefinate period. ++an indefinite period. + When a client or network is denied access +-for an indefinate period, the only way at present to remove ++for an indefinite period, the only way at present to remove + the restrictions is by restarting the server. + + <h5 class="subsubsection">The Kiss-of-Death Packet</h5> +@@ -1560,7 +1572,9 @@ + queries. + <br><dt><code>notrap</code><dd>Decline to provide mode 6 control message trap service to matching + hosts. +-The trap service is a subsystem of the ntpdq control message ++The trap service is a subsystem of the ++<code>ntpq(1ntpqmdoc)</code> ++control message + protocol which is intended for use by remote event logging programs. + <br><dt><code>notrust</code><dd>Deny service unless the packet is cryptographically authenticated. + <br><dt><code>ntpport</code><dd>This is actually a match algorithm modifier, rather than a +@@ -2309,8 +2323,9 @@ + drift file is located in, and that file system links, symbolic or + otherwise, should be avoided. + <br><dt><code>dscp</code> <kbd>value</kbd><dd>This option specifies the Differentiated Services Control Point (DSCP) value, +-a 6-bit code. The default value is 46, signifying Expedited Forwarding. +-<br><dt><code>enable</code> <code>[auth | bclient | calibrate | kernel | mode7 | monitor | ntp | stats | unpeer_crypto_early | unpeer_crypto_nak_early | unpeer_digest_early]</code><br><dt><code>disable</code> <code>[auth | bclient | calibrate | kernel | mode7 | monitor | ntp | stats | unpeer_crypto_early | unpeer_crypto_nak_early | unpeer_digest_early]</code><dd>Provides a way to enable or disable various server options. ++a 6-bit code. ++The default value is 46, signifying Expedited Forwarding. ++<br><dt><code>enable</code> <code>[auth | bclient | calibrate | kernel | mode7 | monitor | ntp | stats | peer_clear_digest_early | unpeer_crypto_early | unpeer_crypto_nak_early | unpeer_digest_early]</code><br><dt><code>disable</code> <code>[auth | bclient | calibrate | kernel | mode7 | monitor | ntp | stats | peer_clear_digest_early | unpeer_crypto_early | unpeer_crypto_nak_early | unpeer_digest_early]</code><dd>Provides a way to enable or disable various server options. + Flags not mentioned are unaffected. + Note that all of these flags + can be controlled remotely using the +@@ -2367,6 +2382,25 @@ + The default for + this flag is + <code>enable</code>. ++<br><dt><code>peer_clear_digest_early</code><dd>By default, if ++<code>ntpd(1ntpdmdoc)</code> ++is using autokey and it ++receives a crypto-NAK packet that ++passes the duplicate packet and origin timestamp checks ++the peer variables are immediately cleared. ++While this is generally a feature ++as it allows for quick recovery if a server key has changed, ++a properly forged and appropriately delivered crypto-NAK packet ++can be used in a DoS attack. ++If you have active noticable problems with this type of DoS attack ++then you should consider ++disabling this option. ++You can check your ++<code>peerstats</code> ++file for evidence of any of these attacks. ++The ++default for this flag is ++<code>enable</code>. + <br><dt><code>stats</code><dd>Enables the statistics facility. + See the + <a href="#Monitoring-Options">Monitoring Options</a> +@@ -2502,7 +2536,8 @@ + message class may also be followed by the + <code>all</code> + keyword to enable/disable all +-messages of the respective message class.Thus, a minimal log configuration ++messages of the respective message class. ++Thus, a minimal log configuration + could look like this: + <pre class="verbatim"> + logconfig =syncstatus +sysevents +@@ -2641,7 +2676,8 @@ + <code>mlockall()</code> + function. + Defaults to 50 4k pages (200 4k pages in OpenBSD). +-<br><dt><code>filenum</code> <kbd>Nfiledescriptors</kbd><dd>Specifies the maximum number of file descriptors ntpd may have open at once. Defaults to the system default. ++<br><dt><code>filenum</code> <kbd>Nfiledescriptors</kbd><dd>Specifies the maximum number of file descriptors ntpd may have open at once. ++Defaults to the system default. + </dl> + <br><dt><code>trap</code> <kbd>host_address</kbd> <code>[port </code><kbd>port_number</kbd><code>]</code> <code>[interface </code><kbd>interface_address</kbd><code>]</code><dd>This command configures a trap receiver at the given host + address and port number for sending messages with the specified +--- contrib/ntp/ntpd/ntp.conf.man.in.orig ++++ contrib/ntp/ntpd/ntp.conf.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntp.conf 5 "26 Apr 2016" "4.2.8p7" "File Formats" ++.TH ntp.conf 5 "02 Jun 2016" "4.2.8p8" "File Formats" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-ana4jE/ag-QnaWiE) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-OzaOIT/ag-3zaGHT) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:14 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:35:50 AM by AutoGen 5.18.5 + .\" From the definitions ntp.conf.def + .\" and the template file agman-cmd.tpl + .SH NAME +@@ -2618,9 +2618,9 @@ + a 6-bit code. + The default value is 46, signifying Expedited Forwarding. + .TP 7 +-.NOP \f\*[B-Font]enable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]] ++.NOP \f\*[B-Font]enable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]peer_clear_digest_early\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]] + .TP 7 +-.NOP \f\*[B-Font]disable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]] ++.NOP \f\*[B-Font]disable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[] | \f\*[B-Font]peer_clear_digest_early\f[] | \f\*[B-Font]unpeer_crypto_early\f[] | \f\*[B-Font]unpeer_crypto_nak_early\f[] | \f\*[B-Font]unpeer_digest_early\f[]] + Provides a way to enable or disable various server options. + Flags not mentioned are unaffected. + Note that all of these flags +@@ -2693,6 +2693,27 @@ + this flag is + \f\*[B-Font]enable\f[]. + .TP 7 ++.NOP \f\*[B-Font]peer_clear_digest_early\f[] ++By default, if ++\fCntpd\f[]\fR(@NTPD_MS@)\f[] ++is using autokey and it ++receives a crypto-NAK packet that ++passes the duplicate packet and origin timestamp checks ++the peer variables are immediately cleared. ++While this is generally a feature ++as it allows for quick recovery if a server key has changed, ++a properly forged and appropriately delivered crypto-NAK packet ++can be used in a DoS attack. ++If you have active noticable problems with this type of DoS attack ++then you should consider ++disabling this option. ++You can check your ++\f\*[B-Font]peerstats\f[] ++file for evidence of any of these attacks. ++The ++default for this flag is ++\f\*[B-Font]enable\f[]. ++.TP 7 + .NOP \f\*[B-Font]stats\f[] + Enables the statistics facility. + See the +--- contrib/ntp/ntpd/ntp.conf.mdoc.in.orig ++++ contrib/ntp/ntpd/ntp.conf.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_CONF 5 File Formats + .Os + .\" EDIT THIS FILE WITH CAUTION (ntp.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:36 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:16 AM by AutoGen 5.18.5 + .\" From the definitions ntp.conf.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +@@ -2440,6 +2440,7 @@ + .Cm calibrate | Cm kernel | + .Cm mode7 | Cm monitor | + .Cm ntp | Cm stats | ++.Cm peer_clear_digest_early | + .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early + .Oc + .Xc +@@ -2449,6 +2450,7 @@ + .Cm calibrate | Cm kernel | + .Cm mode7 | Cm monitor | + .Cm ntp | Cm stats | ++.Cm peer_clear_digest_early | + .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early + .Oc + .Xc +@@ -2516,6 +2518,26 @@ + The default for + this flag is + .Ic enable . ++.It Cm peer_clear_digest_early ++By default, if ++.Xr ntpd @NTPD_MS@ ++is using autokey and it ++receives a crypto\-NAK packet that ++passes the duplicate packet and origin timestamp checks ++the peer variables are immediately cleared. ++While this is generally a feature ++as it allows for quick recovery if a server key has changed, ++a properly forged and appropriately delivered crypto\-NAK packet ++can be used in a DoS attack. ++If you have active noticable problems with this type of DoS attack ++then you should consider ++disabling this option. ++You can check your ++.Cm peerstats ++file for evidence of any of these attacks. ++The ++default for this flag is ++.Ic enable . + .It Cm stats + Enables the statistics facility. + See the +--- contrib/ntp/ntpd/ntp.keys.5man.orig ++++ contrib/ntp/ntpd/ntp.keys.5man +@@ -1,8 +1,8 @@ +-.TH ntp.keys 5man "26 Apr 2016" "4.2.8p7" "File Formats" ++.TH ntp.keys 5man "02 Jun 2016" "4.2.8p8" "File Formats" + .\" + .\" EDIT THIS FILE WITH CAUTION (ntp.man) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:19 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:35:57 AM by AutoGen 5.18.5 + .\" From the definitions ntp.keys.def + .\" and the template file agman-file.tpl + .Sh NAME +--- contrib/ntp/ntpd/ntp.keys.5mdoc.orig ++++ contrib/ntp/ntpd/ntp.keys.5mdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_KEYS 5mdoc File Formats + .Os SunOS 5.10 + .\" EDIT THIS FILE WITH CAUTION (ntp.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:39 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:20 AM by AutoGen 5.18.5 + .\" From the definitions ntp.keys.def + .\" and the template file agmdoc-file.tpl + .Sh NAME +--- contrib/ntp/ntpd/ntp.keys.html.orig ++++ contrib/ntp/ntpd/ntp.keys.html +@@ -33,7 +33,7 @@ + <p>This document describes the symmetric key file for the NTP Project's + <code>ntpd</code> program. + +- <p>This document applies to version 4.2.8p7 of <code>ntp.keys</code>. ++ <p>This document applies to version 4.2.8p8 of <code>ntp.keys</code>. + + <div class="shortcontents"> + <h2>Short Contents</h2> +--- contrib/ntp/ntpd/ntp.keys.man.in.orig ++++ contrib/ntp/ntpd/ntp.keys.man.in +@@ -1,8 +1,8 @@ +-.TH ntp.keys 5 "26 Apr 2016" "4.2.8p7" "File Formats" ++.TH ntp.keys 5 "02 Jun 2016" "4.2.8p8" "File Formats" + .\" + .\" EDIT THIS FILE WITH CAUTION (ntp.man) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:19 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:35:57 AM by AutoGen 5.18.5 + .\" From the definitions ntp.keys.def + .\" and the template file agman-file.tpl + .Sh NAME +--- contrib/ntp/ntpd/ntp.keys.mdoc.in.orig ++++ contrib/ntp/ntpd/ntp.keys.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_KEYS 5 File Formats + .Os SunOS 5.10 + .\" EDIT THIS FILE WITH CAUTION (ntp.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:39 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:20 AM by AutoGen 5.18.5 + .\" From the definitions ntp.keys.def + .\" and the template file agmdoc-file.tpl + .Sh NAME +--- contrib/ntp/ntpd/ntp_config.c.orig ++++ contrib/ntp/ntpd/ntp_config.c +@@ -2971,12 +2971,16 @@ + proto_config(PROTO_MONITOR, enable, 0., NULL); + break; + ++ case T_Mode7: ++ proto_config(PROTO_MODE7, enable, 0., NULL); ++ break; ++ + case T_Ntp: + proto_config(PROTO_NTP, enable, 0., NULL); + break; + +- case T_Mode7: +- proto_config(PROTO_MODE7, enable, 0., NULL); ++ case T_PCEdigest: ++ proto_config(PROTO_PCEDIGEST, enable, 0., NULL); + break; + + case T_Stats: +--- contrib/ntp/ntpd/ntp_io.c.orig ++++ contrib/ntp/ntpd/ntp_io.c +@@ -3285,15 +3285,6 @@ + ) + { + struct cmsghdr * cmsghdr; +-#ifdef HAVE_BINTIME +- struct bintime * btp; +-#endif +-#ifdef HAVE_TIMESTAMPNS +- struct timespec * tsp; +-#endif +-#ifdef HAVE_TIMESTAMP +- struct timeval * tvp; +-#endif + unsigned long ticks; + double fuzz; + l_fp lfpfuzz; +@@ -3320,49 +3311,58 @@ + { + #ifdef HAVE_BINTIME + case SCM_BINTIME: +- btp = (struct bintime *)CMSG_DATA(cmsghdr); +- /* +- * bintime documentation is at http://phk.freebsd.dk/pubs/timecounter.pdf +- */ +- nts.l_i = btp->sec + JAN_1970; +- nts.l_uf = (u_int32)(btp->frac >> 32); +- if (sys_tick > measured_tick && +- sys_tick > 1e-9) { +- ticks = (unsigned long)(nts.l_uf / (unsigned long)(sys_tick * FRAC)); +- nts.l_uf = (unsigned long)(ticks * (unsigned long)(sys_tick * FRAC)); ++ { ++ struct bintime pbt; ++ memcpy(&pbt, CMSG_DATA(cmsghdr), sizeof(pbt)); ++ /* ++ * bintime documentation is at http://phk.freebsd.dk/pubs/timecounter.pdf ++ */ ++ nts.l_i = pbt.sec + JAN_1970; ++ nts.l_uf = (u_int32)(pbt.frac >> 32); ++ if (sys_tick > measured_tick && ++ sys_tick > 1e-9) { ++ ticks = (unsigned long)(nts.l_uf / (unsigned long)(sys_tick * FRAC)); ++ nts.l_uf = (unsigned long)(ticks * (unsigned long)(sys_tick * FRAC)); ++ } ++ DPRINTF(4, ("fetch_timestamp: system bintime network time stamp: %ld.%09lu\n", ++ pbt.sec, (unsigned long)((nts.l_uf / FRAC) * 1e9))); + } +- DPRINTF(4, ("fetch_timestamp: system bintime network time stamp: %ld.%09lu\n", +- btp->sec, (unsigned long)((nts.l_uf / FRAC) * 1e9))); + break; + #endif /* HAVE_BINTIME */ + #ifdef HAVE_TIMESTAMPNS + case SCM_TIMESTAMPNS: +- tsp = UA_PTR(struct timespec, CMSG_DATA(cmsghdr)); +- if (sys_tick > measured_tick && +- sys_tick > 1e-9) { +- ticks = (unsigned long)((tsp->tv_nsec * 1e-9) / +- sys_tick); +- tsp->tv_nsec = (long)(ticks * 1e9 * +- sys_tick); ++ { ++ struct timespec pts; ++ memcpy(&pts, CMSG_DATA(cmsghdr), sizeof(pts)); ++ if (sys_tick > measured_tick && ++ sys_tick > 1e-9) { ++ ticks = (unsigned long)((pts.tv_nsec * 1e-9) / ++ sys_tick); ++ pts.tv_nsec = (long)(ticks * 1e9 * ++ sys_tick); ++ } ++ DPRINTF(4, ("fetch_timestamp: system nsec network time stamp: %ld.%09ld\n", ++ pts.tv_sec, pts.tv_nsec)); ++ nts = tspec_stamp_to_lfp(pts); + } +- DPRINTF(4, ("fetch_timestamp: system nsec network time stamp: %ld.%09ld\n", +- tsp->tv_sec, tsp->tv_nsec)); +- nts = tspec_stamp_to_lfp(*tsp); + break; + #endif /* HAVE_TIMESTAMPNS */ + #ifdef HAVE_TIMESTAMP + case SCM_TIMESTAMP: +- tvp = (struct timeval *)CMSG_DATA(cmsghdr); +- if (sys_tick > measured_tick && +- sys_tick > 1e-6) { +- ticks = (unsigned long)((tvp->tv_usec * 1e-6) / +- sys_tick); +- tvp->tv_usec = (long)(ticks * 1e6 * +- sys_tick); ++ { ++ struct timeval ptv; ++ memcpy(&ptv, CMSG_DATA(cmsghdr), sizeof(ptv)); ++ if (sys_tick > measured_tick && ++ sys_tick > 1e-6) { ++ ticks = (unsigned long)((ptv.tv_usec * 1e-6) / ++ sys_tick); ++ ptv.tv_usec = (long)(ticks * 1e6 * ++ sys_tick); ++ } ++ DPRINTF(4, ("fetch_timestamp: system usec network time stamp: %jd.%06ld\n", ++ (intmax_t)ptv.tv_sec, (long)ptv.tv_usec)); ++ nts = tval_stamp_to_lfp(ptv); + } +- DPRINTF(4, ("fetch_timestamp: system usec network time stamp: %jd.%06ld\n", +- (intmax_t)tvp->tv_sec, (long)tvp->tv_usec)); +- nts = tval_stamp_to_lfp(*tvp); + break; + #endif /* HAVE_TIMESTAMP */ + } +--- contrib/ntp/ntpd/ntp_keyword.h.orig ++++ contrib/ntp/ntpd/ntp_keyword.h +@@ -2,7 +2,7 @@ + * ntp_keyword.h + * + * NOTE: edit this file with caution, it is generated by keyword-gen.c +- * Generated 2016-01-16 08:33:03 UTC diff_ignore_line ++ * Generated 2016-05-19 06:35:34 UTC diff_ignore_line + * + */ + #include "ntp_scanner.h" +@@ -10,7 +10,7 @@ + + #define LOWEST_KEYWORD_ID 258 + +-const char * const keyword_text[194] = { ++const char * const keyword_text[195] = { + /* 0 258 T_Abbrev */ "abbrev", + /* 1 259 T_Age */ "age", + /* 2 260 T_All */ "all", +@@ -133,83 +133,84 @@ + /* 119 377 T_NtpSignDsocket */ "ntpsigndsocket", + /* 120 378 T_Orphan */ "orphan", + /* 121 379 T_Orphanwait */ "orphanwait", +- /* 122 380 T_Panic */ "panic", +- /* 123 381 T_Peer */ "peer", +- /* 124 382 T_Peerstats */ "peerstats", +- /* 125 383 T_Phone */ "phone", +- /* 126 384 T_Pid */ "pid", +- /* 127 385 T_Pidfile */ "pidfile", +- /* 128 386 T_Pool */ "pool", +- /* 129 387 T_Port */ "port", +- /* 130 388 T_Preempt */ "preempt", +- /* 131 389 T_Prefer */ "prefer", +- /* 132 390 T_Protostats */ "protostats", +- /* 133 391 T_Pw */ "pw", +- /* 134 392 T_Randfile */ "randfile", +- /* 135 393 T_Rawstats */ "rawstats", +- /* 136 394 T_Refid */ "refid", +- /* 137 395 T_Requestkey */ "requestkey", +- /* 138 396 T_Reset */ "reset", +- /* 139 397 T_Restrict */ "restrict", +- /* 140 398 T_Revoke */ "revoke", +- /* 141 399 T_Rlimit */ "rlimit", +- /* 142 400 T_Saveconfigdir */ "saveconfigdir", +- /* 143 401 T_Server */ "server", +- /* 144 402 T_Setvar */ "setvar", +- /* 145 403 T_Source */ "source", +- /* 146 404 T_Stacksize */ "stacksize", +- /* 147 405 T_Statistics */ "statistics", +- /* 148 406 T_Stats */ "stats", +- /* 149 407 T_Statsdir */ "statsdir", +- /* 150 408 T_Step */ "step", +- /* 151 409 T_Stepback */ "stepback", +- /* 152 410 T_Stepfwd */ "stepfwd", +- /* 153 411 T_Stepout */ "stepout", +- /* 154 412 T_Stratum */ "stratum", +- /* 155 413 T_String */ NULL, +- /* 156 414 T_Sys */ "sys", +- /* 157 415 T_Sysstats */ "sysstats", +- /* 158 416 T_Tick */ "tick", +- /* 159 417 T_Time1 */ "time1", +- /* 160 418 T_Time2 */ "time2", +- /* 161 419 T_Timer */ "timer", +- /* 162 420 T_Timingstats */ "timingstats", +- /* 163 421 T_Tinker */ "tinker", +- /* 164 422 T_Tos */ "tos", +- /* 165 423 T_Trap */ "trap", +- /* 166 424 T_True */ "true", +- /* 167 425 T_Trustedkey */ "trustedkey", +- /* 168 426 T_Ttl */ "ttl", +- /* 169 427 T_Type */ "type", +- /* 170 428 T_U_int */ NULL, +- /* 171 429 T_UEcrypto */ "unpeer_crypto_early", +- /* 172 430 T_UEcryptonak */ "unpeer_crypto_nak_early", +- /* 173 431 T_UEdigest */ "unpeer_digest_early", +- /* 174 432 T_Unconfig */ "unconfig", +- /* 175 433 T_Unpeer */ "unpeer", +- /* 176 434 T_Version */ "version", +- /* 177 435 T_WanderThreshold */ NULL, +- /* 178 436 T_Week */ "week", +- /* 179 437 T_Wildcard */ "wildcard", +- /* 180 438 T_Xleave */ "xleave", +- /* 181 439 T_Year */ "year", +- /* 182 440 T_Flag */ NULL, +- /* 183 441 T_EOC */ NULL, +- /* 184 442 T_Simulate */ "simulate", +- /* 185 443 T_Beep_Delay */ "beep_delay", +- /* 186 444 T_Sim_Duration */ "simulation_duration", +- /* 187 445 T_Server_Offset */ "server_offset", +- /* 188 446 T_Duration */ "duration", +- /* 189 447 T_Freq_Offset */ "freq_offset", +- /* 190 448 T_Wander */ "wander", +- /* 191 449 T_Jitter */ "jitter", +- /* 192 450 T_Prop_Delay */ "prop_delay", +- /* 193 451 T_Proc_Delay */ "proc_delay" ++ /* 122 380 T_PCEdigest */ "peer_clear_digest_early", ++ /* 123 381 T_Panic */ "panic", ++ /* 124 382 T_Peer */ "peer", ++ /* 125 383 T_Peerstats */ "peerstats", ++ /* 126 384 T_Phone */ "phone", ++ /* 127 385 T_Pid */ "pid", ++ /* 128 386 T_Pidfile */ "pidfile", ++ /* 129 387 T_Pool */ "pool", ++ /* 130 388 T_Port */ "port", ++ /* 131 389 T_Preempt */ "preempt", ++ /* 132 390 T_Prefer */ "prefer", ++ /* 133 391 T_Protostats */ "protostats", ++ /* 134 392 T_Pw */ "pw", ++ /* 135 393 T_Randfile */ "randfile", ++ /* 136 394 T_Rawstats */ "rawstats", ++ /* 137 395 T_Refid */ "refid", ++ /* 138 396 T_Requestkey */ "requestkey", ++ /* 139 397 T_Reset */ "reset", ++ /* 140 398 T_Restrict */ "restrict", ++ /* 141 399 T_Revoke */ "revoke", ++ /* 142 400 T_Rlimit */ "rlimit", ++ /* 143 401 T_Saveconfigdir */ "saveconfigdir", ++ /* 144 402 T_Server */ "server", ++ /* 145 403 T_Setvar */ "setvar", ++ /* 146 404 T_Source */ "source", ++ /* 147 405 T_Stacksize */ "stacksize", ++ /* 148 406 T_Statistics */ "statistics", ++ /* 149 407 T_Stats */ "stats", ++ /* 150 408 T_Statsdir */ "statsdir", ++ /* 151 409 T_Step */ "step", ++ /* 152 410 T_Stepback */ "stepback", ++ /* 153 411 T_Stepfwd */ "stepfwd", ++ /* 154 412 T_Stepout */ "stepout", ++ /* 155 413 T_Stratum */ "stratum", ++ /* 156 414 T_String */ NULL, ++ /* 157 415 T_Sys */ "sys", ++ /* 158 416 T_Sysstats */ "sysstats", ++ /* 159 417 T_Tick */ "tick", ++ /* 160 418 T_Time1 */ "time1", ++ /* 161 419 T_Time2 */ "time2", ++ /* 162 420 T_Timer */ "timer", ++ /* 163 421 T_Timingstats */ "timingstats", ++ /* 164 422 T_Tinker */ "tinker", ++ /* 165 423 T_Tos */ "tos", ++ /* 166 424 T_Trap */ "trap", ++ /* 167 425 T_True */ "true", ++ /* 168 426 T_Trustedkey */ "trustedkey", ++ /* 169 427 T_Ttl */ "ttl", ++ /* 170 428 T_Type */ "type", ++ /* 171 429 T_U_int */ NULL, ++ /* 172 430 T_UEcrypto */ "unpeer_crypto_early", ++ /* 173 431 T_UEcryptonak */ "unpeer_crypto_nak_early", ++ /* 174 432 T_UEdigest */ "unpeer_digest_early", ++ /* 175 433 T_Unconfig */ "unconfig", ++ /* 176 434 T_Unpeer */ "unpeer", ++ /* 177 435 T_Version */ "version", ++ /* 178 436 T_WanderThreshold */ NULL, ++ /* 179 437 T_Week */ "week", ++ /* 180 438 T_Wildcard */ "wildcard", ++ /* 181 439 T_Xleave */ "xleave", ++ /* 182 440 T_Year */ "year", ++ /* 183 441 T_Flag */ NULL, ++ /* 184 442 T_EOC */ NULL, ++ /* 185 443 T_Simulate */ "simulate", ++ /* 186 444 T_Beep_Delay */ "beep_delay", ++ /* 187 445 T_Sim_Duration */ "simulation_duration", ++ /* 188 446 T_Server_Offset */ "server_offset", ++ /* 189 447 T_Duration */ "duration", ++ /* 190 448 T_Freq_Offset */ "freq_offset", ++ /* 191 449 T_Wander */ "wander", ++ /* 192 450 T_Jitter */ "jitter", ++ /* 193 451 T_Prop_Delay */ "prop_delay", ++ /* 194 452 T_Proc_Delay */ "proc_delay" + }; + +-#define SCANNER_INIT_S 887 ++#define SCANNER_INIT_S 906 + +-const scan_state sst[890] = { ++const scan_state sst[909] = { + /*SS_T( ch, f-by, match, other ), */ + 0, /* 0 */ + S_ST( '-', 3, 323, 0 ), /* 1 */ +@@ -255,7 +256,7 @@ + S_ST( 'd', 3, 42, 0 ), /* 41 beep_ */ + S_ST( 'e', 3, 43, 0 ), /* 42 beep_d */ + S_ST( 'l', 3, 44, 0 ), /* 43 beep_de */ +- S_ST( 'a', 3, 443, 0 ), /* 44 beep_del */ ++ S_ST( 'a', 3, 444, 0 ), /* 44 beep_del */ + S_ST( 'r', 3, 46, 34 ), /* 45 b */ + S_ST( 'o', 3, 47, 0 ), /* 46 br */ + S_ST( 'a', 3, 48, 0 ), /* 47 bro */ +@@ -355,7 +356,7 @@ + S_ST( 'a', 3, 142, 0 ), /* 141 dur */ + S_ST( 't', 3, 143, 0 ), /* 142 dura */ + S_ST( 'i', 3, 144, 0 ), /* 143 durat */ +- S_ST( 'o', 3, 446, 0 ), /* 144 durati */ ++ S_ST( 'o', 3, 447, 0 ), /* 144 durati */ + S_ST( 'e', 3, 146, 105 ), /* 145 */ + S_ST( 'n', 3, 293, 0 ), /* 146 e */ + S_ST( 'a', 3, 148, 0 ), /* 147 en */ +@@ -381,7 +382,7 @@ + S_ST( 'f', 3, 168, 0 ), /* 167 freq_o */ + S_ST( 'f', 3, 169, 0 ), /* 168 freq_of */ + S_ST( 's', 3, 170, 0 ), /* 169 freq_off */ +- S_ST( 'e', 3, 447, 0 ), /* 170 freq_offs */ ++ S_ST( 'e', 3, 448, 0 ), /* 170 freq_offs */ + S_ST( 'u', 3, 172, 163 ), /* 171 f */ + S_ST( 'd', 3, 173, 0 ), /* 172 fu */ + S_ST( 'g', 3, 305, 0 ), /* 173 fud */ +@@ -441,7 +442,7 @@ + S_ST( 'i', 3, 228, 0 ), /* 227 j */ + S_ST( 't', 3, 229, 0 ), /* 228 ji */ + S_ST( 't', 3, 230, 0 ), /* 229 jit */ +- S_ST( 'e', 3, 449, 0 ), /* 230 jitt */ ++ S_ST( 'e', 3, 450, 0 ), /* 230 jitt */ + S_ST( 'k', 3, 238, 226 ), /* 231 */ + S_ST( 'e', 3, 325, 0 ), /* 232 k */ + S_ST( 'r', 3, 234, 0 ), /* 233 ke */ +@@ -450,7 +451,7 @@ + S_ST( 'd', 3, 237, 0 ), /* 236 keys */ + S_ST( 'i', 3, 327, 0 ), /* 237 keysd */ + S_ST( 'o', 3, 328, 232 ), /* 238 k */ +- S_ST( 'l', 3, 452, 231 ), /* 239 */ ++ S_ST( 'l', 3, 453, 231 ), /* 239 */ + S_ST( 'e', 3, 241, 0 ), /* 240 l */ + S_ST( 'a', 3, 242, 0 ), /* 241 le */ + S_ST( 'p', 3, 246, 0 ), /* 242 lea */ +@@ -498,7 +499,7 @@ + S_ST( 'e', 0, 0, 0 ), /* 284 T_Disable */ + S_ST( 'd', 0, 0, 0 ), /* 285 T_Discard */ + S_ST( 'n', 0, 0, 0 ), /* 286 T_Dispersion */ +- S_ST( 'i', 3, 435, 240 ), /* 287 l */ ++ S_ST( 'i', 3, 436, 240 ), /* 287 l */ + S_ST( 'e', 1, 0, 0 ), /* 288 T_Driftfile */ + S_ST( 'p', 0, 0, 0 ), /* 289 T_Drop */ + S_ST( 'p', 0, 0, 0 ), /* 290 T_Dscp */ +@@ -529,7 +530,7 @@ + S_ST( 'e', 1, 0, 0 ), /* 315 T_Includefile */ + S_ST( 'i', 3, 318, 0 ), /* 316 lim */ + S_ST( 'e', 0, 0, 0 ), /* 317 T_Interface */ +- S_ST( 't', 3, 413, 0 ), /* 318 limi */ ++ S_ST( 't', 3, 414, 0 ), /* 318 limi */ + S_ST( 'o', 0, 0, 195 ), /* 319 T_Io */ + S_ST( '4', 0, 0, 0 ), /* 320 T_Ipv4 */ + S_ST( '4', 0, 0, 0 ), /* 321 T_Ipv4_flag */ +@@ -560,7 +561,7 @@ + S_ST( 'm', 0, 0, 0 ), /* 346 T_Maxmem */ + S_ST( 'l', 0, 0, 0 ), /* 347 T_Maxpoll */ + S_ST( 's', 0, 0, 0 ), /* 348 T_Mdnstries */ +- S_ST( 'm', 0, 521, 0 ), /* 349 T_Mem */ ++ S_ST( 'm', 0, 522, 0 ), /* 349 T_Mem */ + S_ST( 'k', 0, 0, 0 ), /* 350 T_Memlock */ + S_ST( 'k', 0, 0, 0 ), /* 351 T_Minclock */ + S_ST( 'h', 0, 0, 0 ), /* 352 T_Mindepth */ +@@ -586,520 +587,539 @@ + S_ST( 'e', 0, 0, 0 ), /* 372 T_Noserve */ + S_ST( 'p', 0, 0, 0 ), /* 373 T_Notrap */ + S_ST( 't', 0, 0, 0 ), /* 374 T_Notrust */ +- S_ST( 'p', 0, 617, 0 ), /* 375 T_Ntp */ ++ S_ST( 'p', 0, 618, 0 ), /* 375 T_Ntp */ + S_ST( 't', 0, 0, 0 ), /* 376 T_Ntpport */ + S_ST( 't', 1, 0, 0 ), /* 377 T_NtpSignDsocket */ +- S_ST( 'n', 0, 632, 0 ), /* 378 T_Orphan */ ++ S_ST( 'n', 0, 633, 0 ), /* 378 T_Orphan */ + S_ST( 't', 0, 0, 0 ), /* 379 T_Orphanwait */ +- S_ST( 'c', 0, 0, 0 ), /* 380 T_Panic */ +- S_ST( 'r', 1, 641, 0 ), /* 381 T_Peer */ +- S_ST( 's', 0, 0, 0 ), /* 382 T_Peerstats */ +- S_ST( 'e', 2, 0, 0 ), /* 383 T_Phone */ +- S_ST( 'd', 0, 649, 0 ), /* 384 T_Pid */ +- S_ST( 'e', 1, 0, 0 ), /* 385 T_Pidfile */ +- S_ST( 'l', 1, 0, 0 ), /* 386 T_Pool */ +- S_ST( 't', 0, 0, 0 ), /* 387 T_Port */ +- S_ST( 't', 0, 0, 0 ), /* 388 T_Preempt */ +- S_ST( 'r', 0, 0, 0 ), /* 389 T_Prefer */ +- S_ST( 's', 0, 0, 0 ), /* 390 T_Protostats */ +- S_ST( 'w', 1, 0, 655 ), /* 391 T_Pw */ +- S_ST( 'e', 1, 0, 0 ), /* 392 T_Randfile */ +- S_ST( 's', 0, 0, 0 ), /* 393 T_Rawstats */ +- S_ST( 'd', 1, 0, 0 ), /* 394 T_Refid */ +- S_ST( 'y', 0, 0, 0 ), /* 395 T_Requestkey */ +- S_ST( 't', 0, 0, 0 ), /* 396 T_Reset */ +- S_ST( 't', 0, 0, 0 ), /* 397 T_Restrict */ +- S_ST( 'e', 0, 0, 0 ), /* 398 T_Revoke */ +- S_ST( 't', 0, 0, 0 ), /* 399 T_Rlimit */ +- S_ST( 'r', 1, 0, 0 ), /* 400 T_Saveconfigdir */ +- S_ST( 'r', 1, 732, 0 ), /* 401 T_Server */ +- S_ST( 'r', 1, 0, 0 ), /* 402 T_Setvar */ +- S_ST( 'e', 0, 0, 0 ), /* 403 T_Source */ +- S_ST( 'e', 0, 0, 0 ), /* 404 T_Stacksize */ +- S_ST( 's', 0, 0, 0 ), /* 405 T_Statistics */ +- S_ST( 's', 0, 775, 770 ), /* 406 T_Stats */ +- S_ST( 'r', 1, 0, 0 ), /* 407 T_Statsdir */ +- S_ST( 'p', 0, 783, 0 ), /* 408 T_Step */ +- S_ST( 'k', 0, 0, 0 ), /* 409 T_Stepback */ +- S_ST( 'd', 0, 0, 0 ), /* 410 T_Stepfwd */ +- S_ST( 't', 0, 0, 0 ), /* 411 T_Stepout */ +- S_ST( 'm', 0, 0, 0 ), /* 412 T_Stratum */ +- S_ST( 'e', 3, 332, 0 ), /* 413 limit */ +- S_ST( 's', 0, 790, 0 ), /* 414 T_Sys */ +- S_ST( 's', 0, 0, 0 ), /* 415 T_Sysstats */ +- S_ST( 'k', 0, 0, 0 ), /* 416 T_Tick */ +- S_ST( '1', 0, 0, 0 ), /* 417 T_Time1 */ +- S_ST( '2', 0, 0, 417 ), /* 418 T_Time2 */ +- S_ST( 'r', 0, 0, 418 ), /* 419 T_Timer */ +- S_ST( 's', 0, 0, 0 ), /* 420 T_Timingstats */ +- S_ST( 'r', 0, 0, 0 ), /* 421 T_Tinker */ +- S_ST( 's', 0, 0, 0 ), /* 422 T_Tos */ +- S_ST( 'p', 1, 0, 0 ), /* 423 T_Trap */ +- S_ST( 'e', 0, 0, 0 ), /* 424 T_True */ +- S_ST( 'y', 0, 0, 0 ), /* 425 T_Trustedkey */ +- S_ST( 'l', 0, 0, 0 ), /* 426 T_Ttl */ +- S_ST( 'e', 0, 0, 0 ), /* 427 T_Type */ +- S_ST( 'n', 3, 333, 294 ), /* 428 li */ +- S_ST( 'y', 0, 0, 0 ), /* 429 T_UEcrypto */ +- S_ST( 'y', 0, 0, 0 ), /* 430 T_UEcryptonak */ +- S_ST( 'y', 0, 0, 0 ), /* 431 T_UEdigest */ +- S_ST( 'g', 1, 0, 0 ), /* 432 T_Unconfig */ +- S_ST( 'r', 1, 832, 0 ), /* 433 T_Unpeer */ +- S_ST( 'n', 0, 0, 0 ), /* 434 T_Version */ +- S_ST( 's', 3, 440, 428 ), /* 435 li */ +- S_ST( 'k', 0, 0, 0 ), /* 436 T_Week */ +- S_ST( 'd', 0, 0, 0 ), /* 437 T_Wildcard */ +- S_ST( 'e', 0, 0, 0 ), /* 438 T_Xleave */ +- S_ST( 'r', 0, 0, 0 ), /* 439 T_Year */ +- S_ST( 't', 3, 441, 0 ), /* 440 lis */ +- S_ST( 'e', 3, 334, 0 ), /* 441 list */ +- S_ST( 'e', 0, 0, 0 ), /* 442 T_Simulate */ +- S_ST( 'y', 0, 0, 0 ), /* 443 T_Beep_Delay */ +- S_ST( 'n', 0, 0, 0 ), /* 444 T_Sim_Duration */ +- S_ST( 't', 0, 0, 0 ), /* 445 T_Server_Offset */ +- S_ST( 'n', 0, 0, 0 ), /* 446 T_Duration */ +- S_ST( 't', 0, 0, 0 ), /* 447 T_Freq_Offset */ +- S_ST( 'r', 0, 0, 0 ), /* 448 T_Wander */ +- S_ST( 'r', 0, 0, 0 ), /* 449 T_Jitter */ +- S_ST( 'y', 0, 0, 0 ), /* 450 T_Prop_Delay */ +- S_ST( 'y', 0, 0, 0 ), /* 451 T_Proc_Delay */ +- S_ST( 'o', 3, 468, 287 ), /* 452 l */ +- S_ST( 'g', 3, 459, 0 ), /* 453 lo */ +- S_ST( 'c', 3, 455, 0 ), /* 454 log */ +- S_ST( 'o', 3, 456, 0 ), /* 455 logc */ +- S_ST( 'n', 3, 457, 0 ), /* 456 logco */ +- S_ST( 'f', 3, 458, 0 ), /* 457 logcon */ +- S_ST( 'i', 3, 335, 0 ), /* 458 logconf */ +- S_ST( 'f', 3, 460, 454 ), /* 459 log */ +- S_ST( 'i', 3, 461, 0 ), /* 460 logf */ +- S_ST( 'l', 3, 336, 0 ), /* 461 logfi */ +- S_ST( 'o', 3, 463, 453 ), /* 462 lo */ +- S_ST( 'p', 3, 464, 0 ), /* 463 loo */ +- S_ST( 's', 3, 465, 0 ), /* 464 loop */ +- S_ST( 't', 3, 466, 0 ), /* 465 loops */ +- S_ST( 'a', 3, 467, 0 ), /* 466 loopst */ +- S_ST( 't', 3, 337, 0 ), /* 467 loopsta */ +- S_ST( 'w', 3, 469, 462 ), /* 468 lo */ +- S_ST( 'p', 3, 470, 0 ), /* 469 low */ +- S_ST( 'r', 3, 471, 0 ), /* 470 lowp */ +- S_ST( 'i', 3, 472, 0 ), /* 471 lowpr */ +- S_ST( 'o', 3, 473, 0 ), /* 472 lowpri */ +- S_ST( 't', 3, 474, 0 ), /* 473 lowprio */ +- S_ST( 'r', 3, 475, 0 ), /* 474 lowpriot */ +- S_ST( 'a', 3, 338, 0 ), /* 475 lowpriotr */ +- S_ST( 'm', 3, 557, 239 ), /* 476 */ +- S_ST( 'a', 3, 495, 0 ), /* 477 m */ +- S_ST( 'n', 3, 479, 0 ), /* 478 ma */ +- S_ST( 'y', 3, 480, 0 ), /* 479 man */ +- S_ST( 'c', 3, 481, 0 ), /* 480 many */ +- S_ST( 'a', 3, 482, 0 ), /* 481 manyc */ +- S_ST( 's', 3, 483, 0 ), /* 482 manyca */ +- S_ST( 't', 3, 489, 0 ), /* 483 manycas */ +- S_ST( 'c', 3, 485, 0 ), /* 484 manycast */ +- S_ST( 'l', 3, 486, 0 ), /* 485 manycastc */ +- S_ST( 'i', 3, 487, 0 ), /* 486 manycastcl */ +- S_ST( 'e', 3, 488, 0 ), /* 487 manycastcli */ +- S_ST( 'n', 3, 339, 0 ), /* 488 manycastclie */ +- S_ST( 's', 3, 490, 484 ), /* 489 manycast */ +- S_ST( 'e', 3, 491, 0 ), /* 490 manycasts */ +- S_ST( 'r', 3, 492, 0 ), /* 491 manycastse */ +- S_ST( 'v', 3, 493, 0 ), /* 492 manycastser */ +- S_ST( 'e', 3, 340, 0 ), /* 493 manycastserv */ +- S_ST( 's', 3, 341, 478 ), /* 494 ma */ +- S_ST( 'x', 3, 510, 494 ), /* 495 ma */ +- S_ST( 'a', 3, 497, 0 ), /* 496 max */ +- S_ST( 'g', 3, 342, 0 ), /* 497 maxa */ +- S_ST( 'c', 3, 499, 496 ), /* 498 max */ +- S_ST( 'l', 3, 500, 0 ), /* 499 maxc */ +- S_ST( 'o', 3, 501, 0 ), /* 500 maxcl */ +- S_ST( 'c', 3, 343, 0 ), /* 501 maxclo */ +- S_ST( 'd', 3, 506, 498 ), /* 502 max */ +- S_ST( 'e', 3, 504, 0 ), /* 503 maxd */ +- S_ST( 'p', 3, 505, 0 ), /* 504 maxde */ +- S_ST( 't', 3, 344, 0 ), /* 505 maxdep */ +- S_ST( 'i', 3, 507, 503 ), /* 506 maxd */ +- S_ST( 's', 3, 345, 0 ), /* 507 maxdi */ +- S_ST( 'm', 3, 509, 502 ), /* 508 max */ +- S_ST( 'e', 3, 346, 0 ), /* 509 maxm */ +- S_ST( 'p', 3, 511, 508 ), /* 510 max */ +- S_ST( 'o', 3, 512, 0 ), /* 511 maxp */ +- S_ST( 'l', 3, 347, 0 ), /* 512 maxpo */ +- S_ST( 'd', 3, 514, 477 ), /* 513 m */ +- S_ST( 'n', 3, 515, 0 ), /* 514 md */ +- S_ST( 's', 3, 516, 0 ), /* 515 mdn */ +- S_ST( 't', 3, 517, 0 ), /* 516 mdns */ +- S_ST( 'r', 3, 518, 0 ), /* 517 mdnst */ +- S_ST( 'i', 3, 519, 0 ), /* 518 mdnstr */ +- S_ST( 'e', 3, 348, 0 ), /* 519 mdnstri */ +- S_ST( 'e', 3, 349, 513 ), /* 520 m */ +- S_ST( 'l', 3, 522, 0 ), /* 521 mem */ +- S_ST( 'o', 3, 523, 0 ), /* 522 meml */ +- S_ST( 'c', 3, 350, 0 ), /* 523 memlo */ +- S_ST( 'i', 3, 525, 520 ), /* 524 m */ +- S_ST( 'n', 3, 542, 0 ), /* 525 mi */ +- S_ST( 'c', 3, 527, 0 ), /* 526 min */ +- S_ST( 'l', 3, 528, 0 ), /* 527 minc */ +- S_ST( 'o', 3, 529, 0 ), /* 528 mincl */ +- S_ST( 'c', 3, 351, 0 ), /* 529 minclo */ +- S_ST( 'd', 3, 534, 526 ), /* 530 min */ +- S_ST( 'e', 3, 532, 0 ), /* 531 mind */ +- S_ST( 'p', 3, 533, 0 ), /* 532 minde */ +- S_ST( 't', 3, 352, 0 ), /* 533 mindep */ +- S_ST( 'i', 3, 535, 531 ), /* 534 mind */ +- S_ST( 's', 3, 353, 0 ), /* 535 mindi */ +- S_ST( 'i', 3, 537, 530 ), /* 536 min */ +- S_ST( 'm', 3, 538, 0 ), /* 537 mini */ +- S_ST( 'u', 3, 354, 0 ), /* 538 minim */ +- S_ST( 'p', 3, 540, 536 ), /* 539 min */ +- S_ST( 'o', 3, 541, 0 ), /* 540 minp */ +- S_ST( 'l', 3, 355, 0 ), /* 541 minpo */ +- S_ST( 's', 3, 543, 539 ), /* 542 min */ +- S_ST( 'a', 3, 544, 0 ), /* 543 mins */ +- S_ST( 'n', 3, 356, 0 ), /* 544 minsa */ +- S_ST( 'o', 3, 547, 524 ), /* 545 m */ +- S_ST( 'd', 3, 357, 0 ), /* 546 mo */ +- S_ST( 'n', 3, 551, 546 ), /* 547 mo */ +- S_ST( 'i', 3, 549, 0 ), /* 548 mon */ +- S_ST( 't', 3, 550, 0 ), /* 549 moni */ +- S_ST( 'o', 3, 359, 0 ), /* 550 monit */ +- S_ST( 't', 3, 360, 548 ), /* 551 mon */ +- S_ST( 'r', 3, 361, 545 ), /* 552 m */ +- S_ST( 's', 3, 554, 552 ), /* 553 m */ +- S_ST( 's', 3, 555, 0 ), /* 554 ms */ +- S_ST( 'n', 3, 556, 0 ), /* 555 mss */ +- S_ST( 't', 3, 329, 0 ), /* 556 mssn */ +- S_ST( 'u', 3, 558, 553 ), /* 557 m */ +- S_ST( 'l', 3, 559, 0 ), /* 558 mu */ +- S_ST( 't', 3, 560, 0 ), /* 559 mul */ +- S_ST( 'i', 3, 561, 0 ), /* 560 mult */ +- S_ST( 'c', 3, 562, 0 ), /* 561 multi */ +- S_ST( 'a', 3, 563, 0 ), /* 562 multic */ +- S_ST( 's', 3, 564, 0 ), /* 563 multica */ +- S_ST( 't', 3, 565, 0 ), /* 564 multicas */ +- S_ST( 'c', 3, 566, 0 ), /* 565 multicast */ +- S_ST( 'l', 3, 567, 0 ), /* 566 multicastc */ +- S_ST( 'i', 3, 568, 0 ), /* 567 multicastcl */ +- S_ST( 'e', 3, 569, 0 ), /* 568 multicastcli */ +- S_ST( 'n', 3, 362, 0 ), /* 569 multicastclie */ +- S_ST( 'n', 3, 613, 476 ), /* 570 */ +- S_ST( 'i', 3, 363, 0 ), /* 571 n */ +- S_ST( 'o', 3, 608, 571 ), /* 572 n */ +- S_ST( 'l', 3, 574, 0 ), /* 573 no */ +- S_ST( 'i', 3, 575, 0 ), /* 574 nol */ +- S_ST( 'n', 3, 364, 0 ), /* 575 noli */ +- S_ST( 'm', 3, 581, 573 ), /* 576 no */ +- S_ST( 'o', 3, 578, 0 ), /* 577 nom */ +- S_ST( 'd', 3, 579, 0 ), /* 578 nomo */ +- S_ST( 'i', 3, 580, 0 ), /* 579 nomod */ +- S_ST( 'f', 3, 365, 0 ), /* 580 nomodi */ +- S_ST( 'r', 3, 582, 577 ), /* 581 nom */ +- S_ST( 'u', 3, 583, 0 ), /* 582 nomr */ +- S_ST( 'l', 3, 584, 0 ), /* 583 nomru */ +- S_ST( 'i', 3, 585, 0 ), /* 584 nomrul */ +- S_ST( 's', 3, 366, 0 ), /* 585 nomruli */ +- S_ST( 'n', 3, 587, 576 ), /* 586 no */ +- S_ST( 'v', 3, 588, 367 ), /* 587 non */ +- S_ST( 'o', 3, 589, 0 ), /* 588 nonv */ +- S_ST( 'l', 3, 590, 0 ), /* 589 nonvo */ +- S_ST( 'a', 3, 591, 0 ), /* 590 nonvol */ +- S_ST( 't', 3, 592, 0 ), /* 591 nonvola */ +- S_ST( 'i', 3, 593, 0 ), /* 592 nonvolat */ +- S_ST( 'l', 3, 368, 0 ), /* 593 nonvolati */ +- S_ST( 'p', 3, 595, 586 ), /* 594 no */ +- S_ST( 'e', 3, 596, 0 ), /* 595 nop */ +- S_ST( 'e', 3, 369, 0 ), /* 596 nope */ +- S_ST( 'q', 3, 598, 594 ), /* 597 no */ +- S_ST( 'u', 3, 599, 0 ), /* 598 noq */ +- S_ST( 'e', 3, 600, 0 ), /* 599 noqu */ +- S_ST( 'r', 3, 370, 0 ), /* 600 noque */ +- S_ST( 's', 3, 602, 597 ), /* 601 no */ +- S_ST( 'e', 3, 606, 0 ), /* 602 nos */ +- S_ST( 'l', 3, 604, 0 ), /* 603 nose */ +- S_ST( 'e', 3, 605, 0 ), /* 604 nosel */ +- S_ST( 'c', 3, 371, 0 ), /* 605 nosele */ +- S_ST( 'r', 3, 607, 603 ), /* 606 nose */ +- S_ST( 'v', 3, 372, 0 ), /* 607 noser */ +- S_ST( 't', 3, 609, 601 ), /* 608 no */ +- S_ST( 'r', 3, 611, 0 ), /* 609 not */ +- S_ST( 'a', 3, 373, 0 ), /* 610 notr */ +- S_ST( 'u', 3, 612, 610 ), /* 611 notr */ +- S_ST( 's', 3, 374, 0 ), /* 612 notru */ +- S_ST( 't', 3, 375, 572 ), /* 613 n */ +- S_ST( 'p', 3, 615, 0 ), /* 614 ntp */ +- S_ST( 'o', 3, 616, 0 ), /* 615 ntpp */ +- S_ST( 'r', 3, 376, 0 ), /* 616 ntppo */ +- S_ST( 's', 3, 618, 614 ), /* 617 ntp */ +- S_ST( 'i', 3, 619, 0 ), /* 618 ntps */ +- S_ST( 'g', 3, 620, 0 ), /* 619 ntpsi */ +- S_ST( 'n', 3, 621, 0 ), /* 620 ntpsig */ +- S_ST( 'd', 3, 622, 0 ), /* 621 ntpsign */ +- S_ST( 's', 3, 623, 0 ), /* 622 ntpsignd */ +- S_ST( 'o', 3, 624, 0 ), /* 623 ntpsignds */ +- S_ST( 'c', 3, 625, 0 ), /* 624 ntpsigndso */ +- S_ST( 'k', 3, 626, 0 ), /* 625 ntpsigndsoc */ +- S_ST( 'e', 3, 377, 0 ), /* 626 ntpsigndsock */ +- S_ST( 'o', 3, 628, 570 ), /* 627 */ +- S_ST( 'r', 3, 629, 0 ), /* 628 o */ +- S_ST( 'p', 3, 630, 0 ), /* 629 or */ +- S_ST( 'h', 3, 631, 0 ), /* 630 orp */ +- S_ST( 'a', 3, 378, 0 ), /* 631 orph */ +- S_ST( 'w', 3, 633, 0 ), /* 632 orphan */ +- S_ST( 'a', 3, 634, 0 ), /* 633 orphanw */ +- S_ST( 'i', 3, 379, 0 ), /* 634 orphanwa */ +- S_ST( 'p', 3, 391, 627 ), /* 635 */ +- S_ST( 'a', 3, 637, 0 ), /* 636 p */ +- S_ST( 'n', 3, 638, 0 ), /* 637 pa */ +- S_ST( 'i', 3, 380, 0 ), /* 638 pan */ +- S_ST( 'e', 3, 640, 636 ), /* 639 p */ +- S_ST( 'e', 3, 381, 0 ), /* 640 pe */ +- S_ST( 's', 3, 642, 0 ), /* 641 peer */ +- S_ST( 't', 3, 643, 0 ), /* 642 peers */ +- S_ST( 'a', 3, 644, 0 ), /* 643 peerst */ +- S_ST( 't', 3, 382, 0 ), /* 644 peersta */ +- S_ST( 'h', 3, 646, 639 ), /* 645 p */ +- S_ST( 'o', 3, 647, 0 ), /* 646 ph */ +- S_ST( 'n', 3, 383, 0 ), /* 647 pho */ +- S_ST( 'i', 3, 384, 645 ), /* 648 p */ +- S_ST( 'f', 3, 650, 0 ), /* 649 pid */ +- S_ST( 'i', 3, 651, 0 ), /* 650 pidf */ +- S_ST( 'l', 3, 385, 0 ), /* 651 pidfi */ +- S_ST( 'o', 3, 654, 648 ), /* 652 p */ +- S_ST( 'o', 3, 386, 0 ), /* 653 po */ +- S_ST( 'r', 3, 387, 653 ), /* 654 po */ +- S_ST( 'r', 3, 662, 652 ), /* 655 p */ +- S_ST( 'e', 3, 660, 0 ), /* 656 pr */ +- S_ST( 'e', 3, 658, 0 ), /* 657 pre */ +- S_ST( 'm', 3, 659, 0 ), /* 658 pree */ +- S_ST( 'p', 3, 388, 0 ), /* 659 preem */ +- S_ST( 'f', 3, 661, 657 ), /* 660 pre */ +- S_ST( 'e', 3, 389, 0 ), /* 661 pref */ +- S_ST( 'o', 3, 675, 656 ), /* 662 pr */ +- S_ST( 'c', 3, 664, 0 ), /* 663 pro */ +- S_ST( '_', 3, 665, 0 ), /* 664 proc */ +- S_ST( 'd', 3, 666, 0 ), /* 665 proc_ */ +- S_ST( 'e', 3, 667, 0 ), /* 666 proc_d */ +- S_ST( 'l', 3, 668, 0 ), /* 667 proc_de */ +- S_ST( 'a', 3, 451, 0 ), /* 668 proc_del */ +- S_ST( 'p', 3, 670, 663 ), /* 669 pro */ +- S_ST( '_', 3, 671, 0 ), /* 670 prop */ +- S_ST( 'd', 3, 672, 0 ), /* 671 prop_ */ +- S_ST( 'e', 3, 673, 0 ), /* 672 prop_d */ +- S_ST( 'l', 3, 674, 0 ), /* 673 prop_de */ +- S_ST( 'a', 3, 450, 0 ), /* 674 prop_del */ +- S_ST( 't', 3, 676, 669 ), /* 675 pro */ +- S_ST( 'o', 3, 677, 0 ), /* 676 prot */ +- S_ST( 's', 3, 678, 0 ), /* 677 proto */ +- S_ST( 't', 3, 679, 0 ), /* 678 protos */ +- S_ST( 'a', 3, 680, 0 ), /* 679 protost */ +- S_ST( 't', 3, 390, 0 ), /* 680 protosta */ +- S_ST( 'r', 3, 712, 635 ), /* 681 */ +- S_ST( 'a', 3, 688, 0 ), /* 682 r */ +- S_ST( 'n', 3, 684, 0 ), /* 683 ra */ +- S_ST( 'd', 3, 685, 0 ), /* 684 ran */ +- S_ST( 'f', 3, 686, 0 ), /* 685 rand */ +- S_ST( 'i', 3, 687, 0 ), /* 686 randf */ +- S_ST( 'l', 3, 392, 0 ), /* 687 randfi */ +- S_ST( 'w', 3, 689, 683 ), /* 688 ra */ +- S_ST( 's', 3, 690, 0 ), /* 689 raw */ +- S_ST( 't', 3, 691, 0 ), /* 690 raws */ +- S_ST( 'a', 3, 692, 0 ), /* 691 rawst */ +- S_ST( 't', 3, 393, 0 ), /* 692 rawsta */ +- S_ST( 'e', 3, 709, 682 ), /* 693 r */ +- S_ST( 'f', 3, 695, 0 ), /* 694 re */ +- S_ST( 'i', 3, 394, 0 ), /* 695 ref */ +- S_ST( 'q', 3, 697, 694 ), /* 696 re */ +- S_ST( 'u', 3, 698, 0 ), /* 697 req */ +- S_ST( 'e', 3, 699, 0 ), /* 698 requ */ +- S_ST( 's', 3, 700, 0 ), /* 699 reque */ +- S_ST( 't', 3, 701, 0 ), /* 700 reques */ +- S_ST( 'k', 3, 702, 0 ), /* 701 request */ +- S_ST( 'e', 3, 395, 0 ), /* 702 requestk */ +- S_ST( 's', 3, 705, 696 ), /* 703 re */ +- S_ST( 'e', 3, 396, 0 ), /* 704 res */ +- S_ST( 't', 3, 706, 704 ), /* 705 res */ +- S_ST( 'r', 3, 707, 0 ), /* 706 rest */ +- S_ST( 'i', 3, 708, 0 ), /* 707 restr */ +- S_ST( 'c', 3, 397, 0 ), /* 708 restri */ +- S_ST( 'v', 3, 710, 703 ), /* 709 re */ +- S_ST( 'o', 3, 711, 0 ), /* 710 rev */ +- S_ST( 'k', 3, 398, 0 ), /* 711 revo */ +- S_ST( 'l', 3, 713, 693 ), /* 712 r */ +- S_ST( 'i', 3, 714, 0 ), /* 713 rl */ +- S_ST( 'm', 3, 715, 0 ), /* 714 rli */ +- S_ST( 'i', 3, 399, 0 ), /* 715 rlim */ +- S_ST( 's', 3, 789, 681 ), /* 716 */ +- S_ST( 'a', 3, 718, 0 ), /* 717 s */ +- S_ST( 'v', 3, 719, 0 ), /* 718 sa */ +- S_ST( 'e', 3, 720, 0 ), /* 719 sav */ +- S_ST( 'c', 3, 721, 0 ), /* 720 save */ +- S_ST( 'o', 3, 722, 0 ), /* 721 savec */ +- S_ST( 'n', 3, 723, 0 ), /* 722 saveco */ +- S_ST( 'f', 3, 724, 0 ), /* 723 savecon */ +- S_ST( 'i', 3, 725, 0 ), /* 724 saveconf */ +- S_ST( 'g', 3, 726, 0 ), /* 725 saveconfi */ +- S_ST( 'd', 3, 727, 0 ), /* 726 saveconfig */ +- S_ST( 'i', 3, 400, 0 ), /* 727 saveconfigd */ +- S_ST( 'e', 3, 738, 717 ), /* 728 s */ +- S_ST( 'r', 3, 730, 0 ), /* 729 se */ +- S_ST( 'v', 3, 731, 0 ), /* 730 ser */ +- S_ST( 'e', 3, 401, 0 ), /* 731 serv */ +- S_ST( '_', 3, 733, 0 ), /* 732 server */ +- S_ST( 'o', 3, 734, 0 ), /* 733 server_ */ +- S_ST( 'f', 3, 735, 0 ), /* 734 server_o */ +- S_ST( 'f', 3, 736, 0 ), /* 735 server_of */ +- S_ST( 's', 3, 737, 0 ), /* 736 server_off */ +- S_ST( 'e', 3, 445, 0 ), /* 737 server_offs */ +- S_ST( 't', 3, 739, 729 ), /* 738 se */ +- S_ST( 'v', 3, 740, 0 ), /* 739 set */ +- S_ST( 'a', 3, 402, 0 ), /* 740 setv */ +- S_ST( 'i', 3, 742, 728 ), /* 741 s */ +- S_ST( 'm', 3, 743, 0 ), /* 742 si */ +- S_ST( 'u', 3, 744, 0 ), /* 743 sim */ +- S_ST( 'l', 3, 745, 0 ), /* 744 simu */ +- S_ST( 'a', 3, 746, 0 ), /* 745 simul */ +- S_ST( 't', 3, 747, 0 ), /* 746 simula */ +- S_ST( 'i', 3, 748, 442 ), /* 747 simulat */ +- S_ST( 'o', 3, 749, 0 ), /* 748 simulati */ +- S_ST( 'n', 3, 750, 0 ), /* 749 simulatio */ +- S_ST( '_', 3, 751, 0 ), /* 750 simulation */ +- S_ST( 'd', 3, 752, 0 ), /* 751 simulation_ */ +- S_ST( 'u', 3, 753, 0 ), /* 752 simulation_d */ +- S_ST( 'r', 3, 754, 0 ), /* 753 simulation_du */ +- S_ST( 'a', 3, 755, 0 ), /* 754 simulation_dur */ +- S_ST( 't', 3, 756, 0 ), /* 755 simulation_dura */ +- S_ST( 'i', 3, 757, 0 ), /* 756 simulation_durat */ +- S_ST( 'o', 3, 444, 0 ), /* 757 simulation_durati */ +- S_ST( 'o', 3, 759, 741 ), /* 758 s */ +- S_ST( 'u', 3, 760, 0 ), /* 759 so */ +- S_ST( 'r', 3, 761, 0 ), /* 760 sou */ +- S_ST( 'c', 3, 403, 0 ), /* 761 sour */ +- S_ST( 't', 3, 785, 758 ), /* 762 s */ +- S_ST( 'a', 3, 769, 0 ), /* 763 st */ +- S_ST( 'c', 3, 765, 0 ), /* 764 sta */ +- S_ST( 'k', 3, 766, 0 ), /* 765 stac */ +- S_ST( 's', 3, 767, 0 ), /* 766 stack */ +- S_ST( 'i', 3, 768, 0 ), /* 767 stacks */ +- S_ST( 'z', 3, 404, 0 ), /* 768 stacksi */ +- S_ST( 't', 3, 406, 764 ), /* 769 sta */ +- S_ST( 'i', 3, 771, 0 ), /* 770 stat */ +- S_ST( 's', 3, 772, 0 ), /* 771 stati */ +- S_ST( 't', 3, 773, 0 ), /* 772 statis */ +- S_ST( 'i', 3, 774, 0 ), /* 773 statist */ +- S_ST( 'c', 3, 405, 0 ), /* 774 statisti */ +- S_ST( 'd', 3, 776, 0 ), /* 775 stats */ +- S_ST( 'i', 3, 407, 0 ), /* 776 statsd */ +- S_ST( 'e', 3, 408, 763 ), /* 777 st */ +- S_ST( 'b', 3, 779, 0 ), /* 778 step */ +- S_ST( 'a', 3, 780, 0 ), /* 779 stepb */ +- S_ST( 'c', 3, 409, 0 ), /* 780 stepba */ +- S_ST( 'f', 3, 782, 778 ), /* 781 step */ +- S_ST( 'w', 3, 410, 0 ), /* 782 stepf */ +- S_ST( 'o', 3, 784, 781 ), /* 783 step */ +- S_ST( 'u', 3, 411, 0 ), /* 784 stepo */ +- S_ST( 'r', 3, 786, 777 ), /* 785 st */ +- S_ST( 'a', 3, 787, 0 ), /* 786 str */ +- S_ST( 't', 3, 788, 0 ), /* 787 stra */ +- S_ST( 'u', 3, 412, 0 ), /* 788 strat */ +- S_ST( 'y', 3, 414, 762 ), /* 789 s */ +- S_ST( 's', 3, 791, 0 ), /* 790 sys */ +- S_ST( 't', 3, 792, 0 ), /* 791 syss */ +- S_ST( 'a', 3, 793, 0 ), /* 792 sysst */ +- S_ST( 't', 3, 415, 0 ), /* 793 syssta */ +- S_ST( 't', 3, 820, 716 ), /* 794 */ +- S_ST( 'i', 3, 806, 0 ), /* 795 t */ +- S_ST( 'c', 3, 416, 0 ), /* 796 ti */ +- S_ST( 'm', 3, 799, 796 ), /* 797 ti */ +- S_ST( 'e', 3, 419, 0 ), /* 798 tim */ +- S_ST( 'i', 3, 800, 798 ), /* 799 tim */ +- S_ST( 'n', 3, 801, 0 ), /* 800 timi */ +- S_ST( 'g', 3, 802, 0 ), /* 801 timin */ +- S_ST( 's', 3, 803, 0 ), /* 802 timing */ +- S_ST( 't', 3, 804, 0 ), /* 803 timings */ +- S_ST( 'a', 3, 805, 0 ), /* 804 timingst */ +- S_ST( 't', 3, 420, 0 ), /* 805 timingsta */ +- S_ST( 'n', 3, 807, 797 ), /* 806 ti */ +- S_ST( 'k', 3, 808, 0 ), /* 807 tin */ +- S_ST( 'e', 3, 421, 0 ), /* 808 tink */ +- S_ST( 'o', 3, 422, 795 ), /* 809 t */ +- S_ST( 'r', 3, 812, 809 ), /* 810 t */ +- S_ST( 'a', 3, 423, 0 ), /* 811 tr */ +- S_ST( 'u', 3, 813, 811 ), /* 812 tr */ +- S_ST( 's', 3, 814, 424 ), /* 813 tru */ +- S_ST( 't', 3, 815, 0 ), /* 814 trus */ +- S_ST( 'e', 3, 816, 0 ), /* 815 trust */ +- S_ST( 'd', 3, 817, 0 ), /* 816 truste */ +- S_ST( 'k', 3, 818, 0 ), /* 817 trusted */ +- S_ST( 'e', 3, 425, 0 ), /* 818 trustedk */ +- S_ST( 't', 3, 426, 810 ), /* 819 t */ +- S_ST( 'y', 3, 821, 819 ), /* 820 t */ +- S_ST( 'p', 3, 427, 0 ), /* 821 ty */ +- S_ST( 'u', 3, 823, 794 ), /* 822 */ +- S_ST( 'n', 3, 829, 0 ), /* 823 u */ +- S_ST( 'c', 3, 825, 0 ), /* 824 un */ +- S_ST( 'o', 3, 826, 0 ), /* 825 unc */ +- S_ST( 'n', 3, 827, 0 ), /* 826 unco */ +- S_ST( 'f', 3, 828, 0 ), /* 827 uncon */ +- S_ST( 'i', 3, 432, 0 ), /* 828 unconf */ +- S_ST( 'p', 3, 830, 824 ), /* 829 un */ +- S_ST( 'e', 3, 831, 0 ), /* 830 unp */ +- S_ST( 'e', 3, 433, 0 ), /* 831 unpe */ +- S_ST( '_', 3, 852, 0 ), /* 832 unpeer */ +- S_ST( 'c', 3, 834, 0 ), /* 833 unpeer_ */ +- S_ST( 'r', 3, 835, 0 ), /* 834 unpeer_c */ +- S_ST( 'y', 3, 836, 0 ), /* 835 unpeer_cr */ +- S_ST( 'p', 3, 837, 0 ), /* 836 unpeer_cry */ +- S_ST( 't', 3, 838, 0 ), /* 837 unpeer_cryp */ +- S_ST( 'o', 3, 839, 0 ), /* 838 unpeer_crypt */ +- S_ST( '_', 3, 844, 0 ), /* 839 unpeer_crypto */ +- S_ST( 'e', 3, 841, 0 ), /* 840 unpeer_crypto_ */ +- S_ST( 'a', 3, 842, 0 ), /* 841 unpeer_crypto_e */ +- S_ST( 'r', 3, 843, 0 ), /* 842 unpeer_crypto_ea */ +- S_ST( 'l', 3, 429, 0 ), /* 843 unpeer_crypto_ear */ +- S_ST( 'n', 3, 845, 840 ), /* 844 unpeer_crypto_ */ +- S_ST( 'a', 3, 846, 0 ), /* 845 unpeer_crypto_n */ +- S_ST( 'k', 3, 847, 0 ), /* 846 unpeer_crypto_na */ +- S_ST( '_', 3, 848, 0 ), /* 847 unpeer_crypto_nak */ +- S_ST( 'e', 3, 849, 0 ), /* 848 unpeer_crypto_nak_ */ +- S_ST( 'a', 3, 850, 0 ), /* 849 unpeer_crypto_nak_e */ +- S_ST( 'r', 3, 851, 0 ), /* 850 unpeer_crypto_nak_ea */ +- S_ST( 'l', 3, 430, 0 ), /* 851 unpeer_crypto_nak_ear */ +- S_ST( 'd', 3, 853, 833 ), /* 852 unpeer_ */ +- S_ST( 'i', 3, 854, 0 ), /* 853 unpeer_d */ +- S_ST( 'g', 3, 855, 0 ), /* 854 unpeer_di */ +- S_ST( 'e', 3, 856, 0 ), /* 855 unpeer_dig */ +- S_ST( 's', 3, 857, 0 ), /* 856 unpeer_dige */ +- S_ST( 't', 3, 858, 0 ), /* 857 unpeer_diges */ +- S_ST( '_', 3, 859, 0 ), /* 858 unpeer_digest */ +- S_ST( 'e', 3, 860, 0 ), /* 859 unpeer_digest_ */ +- S_ST( 'a', 3, 861, 0 ), /* 860 unpeer_digest_e */ +- S_ST( 'r', 3, 862, 0 ), /* 861 unpeer_digest_ea */ +- S_ST( 'l', 3, 431, 0 ), /* 862 unpeer_digest_ear */ +- S_ST( 'v', 3, 864, 822 ), /* 863 */ +- S_ST( 'e', 3, 865, 0 ), /* 864 v */ +- S_ST( 'r', 3, 866, 0 ), /* 865 ve */ +- S_ST( 's', 3, 867, 0 ), /* 866 ver */ +- S_ST( 'i', 3, 868, 0 ), /* 867 vers */ +- S_ST( 'o', 3, 434, 0 ), /* 868 versi */ +- S_ST( 'w', 3, 876, 863 ), /* 869 */ +- S_ST( 'a', 3, 871, 0 ), /* 870 w */ +- S_ST( 'n', 3, 872, 0 ), /* 871 wa */ +- S_ST( 'd', 3, 873, 0 ), /* 872 wan */ +- S_ST( 'e', 3, 448, 0 ), /* 873 wand */ +- S_ST( 'e', 3, 875, 870 ), /* 874 w */ +- S_ST( 'e', 3, 436, 0 ), /* 875 we */ +- S_ST( 'i', 3, 877, 874 ), /* 876 w */ +- S_ST( 'l', 3, 878, 0 ), /* 877 wi */ +- S_ST( 'd', 3, 879, 0 ), /* 878 wil */ +- S_ST( 'c', 3, 880, 0 ), /* 879 wild */ +- S_ST( 'a', 3, 881, 0 ), /* 880 wildc */ +- S_ST( 'r', 3, 437, 0 ), /* 881 wildca */ +- S_ST( 'x', 3, 883, 869 ), /* 882 */ +- S_ST( 'l', 3, 884, 0 ), /* 883 x */ +- S_ST( 'e', 3, 885, 0 ), /* 884 xl */ +- S_ST( 'a', 3, 886, 0 ), /* 885 xle */ +- S_ST( 'v', 3, 438, 0 ), /* 886 xlea */ +- S_ST( 'y', 3, 888, 882 ), /* 887 [initial state] */ +- S_ST( 'e', 3, 889, 0 ), /* 888 y */ +- S_ST( 'a', 3, 439, 0 ) /* 889 ye */ ++ S_ST( 'y', 0, 0, 0 ), /* 380 T_PCEdigest */ ++ S_ST( 'c', 0, 0, 0 ), /* 381 T_Panic */ ++ S_ST( 'r', 1, 660, 0 ), /* 382 T_Peer */ ++ S_ST( 's', 0, 0, 0 ), /* 383 T_Peerstats */ ++ S_ST( 'e', 2, 0, 0 ), /* 384 T_Phone */ ++ S_ST( 'd', 0, 668, 0 ), /* 385 T_Pid */ ++ S_ST( 'e', 1, 0, 0 ), /* 386 T_Pidfile */ ++ S_ST( 'l', 1, 0, 0 ), /* 387 T_Pool */ ++ S_ST( 't', 0, 0, 0 ), /* 388 T_Port */ ++ S_ST( 't', 0, 0, 0 ), /* 389 T_Preempt */ ++ S_ST( 'r', 0, 0, 0 ), /* 390 T_Prefer */ ++ S_ST( 's', 0, 0, 0 ), /* 391 T_Protostats */ ++ S_ST( 'w', 1, 0, 674 ), /* 392 T_Pw */ ++ S_ST( 'e', 1, 0, 0 ), /* 393 T_Randfile */ ++ S_ST( 's', 0, 0, 0 ), /* 394 T_Rawstats */ ++ S_ST( 'd', 1, 0, 0 ), /* 395 T_Refid */ ++ S_ST( 'y', 0, 0, 0 ), /* 396 T_Requestkey */ ++ S_ST( 't', 0, 0, 0 ), /* 397 T_Reset */ ++ S_ST( 't', 0, 0, 0 ), /* 398 T_Restrict */ ++ S_ST( 'e', 0, 0, 0 ), /* 399 T_Revoke */ ++ S_ST( 't', 0, 0, 0 ), /* 400 T_Rlimit */ ++ S_ST( 'r', 1, 0, 0 ), /* 401 T_Saveconfigdir */ ++ S_ST( 'r', 1, 751, 0 ), /* 402 T_Server */ ++ S_ST( 'r', 1, 0, 0 ), /* 403 T_Setvar */ ++ S_ST( 'e', 0, 0, 0 ), /* 404 T_Source */ ++ S_ST( 'e', 0, 0, 0 ), /* 405 T_Stacksize */ ++ S_ST( 's', 0, 0, 0 ), /* 406 T_Statistics */ ++ S_ST( 's', 0, 794, 789 ), /* 407 T_Stats */ ++ S_ST( 'r', 1, 0, 0 ), /* 408 T_Statsdir */ ++ S_ST( 'p', 0, 802, 0 ), /* 409 T_Step */ ++ S_ST( 'k', 0, 0, 0 ), /* 410 T_Stepback */ ++ S_ST( 'd', 0, 0, 0 ), /* 411 T_Stepfwd */ ++ S_ST( 't', 0, 0, 0 ), /* 412 T_Stepout */ ++ S_ST( 'm', 0, 0, 0 ), /* 413 T_Stratum */ ++ S_ST( 'e', 3, 332, 0 ), /* 414 limit */ ++ S_ST( 's', 0, 809, 0 ), /* 415 T_Sys */ ++ S_ST( 's', 0, 0, 0 ), /* 416 T_Sysstats */ ++ S_ST( 'k', 0, 0, 0 ), /* 417 T_Tick */ ++ S_ST( '1', 0, 0, 0 ), /* 418 T_Time1 */ ++ S_ST( '2', 0, 0, 418 ), /* 419 T_Time2 */ ++ S_ST( 'r', 0, 0, 419 ), /* 420 T_Timer */ ++ S_ST( 's', 0, 0, 0 ), /* 421 T_Timingstats */ ++ S_ST( 'r', 0, 0, 0 ), /* 422 T_Tinker */ ++ S_ST( 's', 0, 0, 0 ), /* 423 T_Tos */ ++ S_ST( 'p', 1, 0, 0 ), /* 424 T_Trap */ ++ S_ST( 'e', 0, 0, 0 ), /* 425 T_True */ ++ S_ST( 'y', 0, 0, 0 ), /* 426 T_Trustedkey */ ++ S_ST( 'l', 0, 0, 0 ), /* 427 T_Ttl */ ++ S_ST( 'e', 0, 0, 0 ), /* 428 T_Type */ ++ S_ST( 'n', 3, 333, 294 ), /* 429 li */ ++ S_ST( 'y', 0, 0, 0 ), /* 430 T_UEcrypto */ ++ S_ST( 'y', 0, 0, 0 ), /* 431 T_UEcryptonak */ ++ S_ST( 'y', 0, 0, 0 ), /* 432 T_UEdigest */ ++ S_ST( 'g', 1, 0, 0 ), /* 433 T_Unconfig */ ++ S_ST( 'r', 1, 851, 0 ), /* 434 T_Unpeer */ ++ S_ST( 'n', 0, 0, 0 ), /* 435 T_Version */ ++ S_ST( 's', 3, 441, 429 ), /* 436 li */ ++ S_ST( 'k', 0, 0, 0 ), /* 437 T_Week */ ++ S_ST( 'd', 0, 0, 0 ), /* 438 T_Wildcard */ ++ S_ST( 'e', 0, 0, 0 ), /* 439 T_Xleave */ ++ S_ST( 'r', 0, 0, 0 ), /* 440 T_Year */ ++ S_ST( 't', 3, 442, 0 ), /* 441 lis */ ++ S_ST( 'e', 3, 334, 0 ), /* 442 list */ ++ S_ST( 'e', 0, 0, 0 ), /* 443 T_Simulate */ ++ S_ST( 'y', 0, 0, 0 ), /* 444 T_Beep_Delay */ ++ S_ST( 'n', 0, 0, 0 ), /* 445 T_Sim_Duration */ ++ S_ST( 't', 0, 0, 0 ), /* 446 T_Server_Offset */ ++ S_ST( 'n', 0, 0, 0 ), /* 447 T_Duration */ ++ S_ST( 't', 0, 0, 0 ), /* 448 T_Freq_Offset */ ++ S_ST( 'r', 0, 0, 0 ), /* 449 T_Wander */ ++ S_ST( 'r', 0, 0, 0 ), /* 450 T_Jitter */ ++ S_ST( 'y', 0, 0, 0 ), /* 451 T_Prop_Delay */ ++ S_ST( 'y', 0, 0, 0 ), /* 452 T_Proc_Delay */ ++ S_ST( 'o', 3, 469, 287 ), /* 453 l */ ++ S_ST( 'g', 3, 460, 0 ), /* 454 lo */ ++ S_ST( 'c', 3, 456, 0 ), /* 455 log */ ++ S_ST( 'o', 3, 457, 0 ), /* 456 logc */ ++ S_ST( 'n', 3, 458, 0 ), /* 457 logco */ ++ S_ST( 'f', 3, 459, 0 ), /* 458 logcon */ ++ S_ST( 'i', 3, 335, 0 ), /* 459 logconf */ ++ S_ST( 'f', 3, 461, 455 ), /* 460 log */ ++ S_ST( 'i', 3, 462, 0 ), /* 461 logf */ ++ S_ST( 'l', 3, 336, 0 ), /* 462 logfi */ ++ S_ST( 'o', 3, 464, 454 ), /* 463 lo */ ++ S_ST( 'p', 3, 465, 0 ), /* 464 loo */ ++ S_ST( 's', 3, 466, 0 ), /* 465 loop */ ++ S_ST( 't', 3, 467, 0 ), /* 466 loops */ ++ S_ST( 'a', 3, 468, 0 ), /* 467 loopst */ ++ S_ST( 't', 3, 337, 0 ), /* 468 loopsta */ ++ S_ST( 'w', 3, 470, 463 ), /* 469 lo */ ++ S_ST( 'p', 3, 471, 0 ), /* 470 low */ ++ S_ST( 'r', 3, 472, 0 ), /* 471 lowp */ ++ S_ST( 'i', 3, 473, 0 ), /* 472 lowpr */ ++ S_ST( 'o', 3, 474, 0 ), /* 473 lowpri */ ++ S_ST( 't', 3, 475, 0 ), /* 474 lowprio */ ++ S_ST( 'r', 3, 476, 0 ), /* 475 lowpriot */ ++ S_ST( 'a', 3, 338, 0 ), /* 476 lowpriotr */ ++ S_ST( 'm', 3, 558, 239 ), /* 477 */ ++ S_ST( 'a', 3, 496, 0 ), /* 478 m */ ++ S_ST( 'n', 3, 480, 0 ), /* 479 ma */ ++ S_ST( 'y', 3, 481, 0 ), /* 480 man */ ++ S_ST( 'c', 3, 482, 0 ), /* 481 many */ ++ S_ST( 'a', 3, 483, 0 ), /* 482 manyc */ ++ S_ST( 's', 3, 484, 0 ), /* 483 manyca */ ++ S_ST( 't', 3, 490, 0 ), /* 484 manycas */ ++ S_ST( 'c', 3, 486, 0 ), /* 485 manycast */ ++ S_ST( 'l', 3, 487, 0 ), /* 486 manycastc */ ++ S_ST( 'i', 3, 488, 0 ), /* 487 manycastcl */ ++ S_ST( 'e', 3, 489, 0 ), /* 488 manycastcli */ ++ S_ST( 'n', 3, 339, 0 ), /* 489 manycastclie */ ++ S_ST( 's', 3, 491, 485 ), /* 490 manycast */ ++ S_ST( 'e', 3, 492, 0 ), /* 491 manycasts */ ++ S_ST( 'r', 3, 493, 0 ), /* 492 manycastse */ ++ S_ST( 'v', 3, 494, 0 ), /* 493 manycastser */ ++ S_ST( 'e', 3, 340, 0 ), /* 494 manycastserv */ ++ S_ST( 's', 3, 341, 479 ), /* 495 ma */ ++ S_ST( 'x', 3, 511, 495 ), /* 496 ma */ ++ S_ST( 'a', 3, 498, 0 ), /* 497 max */ ++ S_ST( 'g', 3, 342, 0 ), /* 498 maxa */ ++ S_ST( 'c', 3, 500, 497 ), /* 499 max */ ++ S_ST( 'l', 3, 501, 0 ), /* 500 maxc */ ++ S_ST( 'o', 3, 502, 0 ), /* 501 maxcl */ ++ S_ST( 'c', 3, 343, 0 ), /* 502 maxclo */ ++ S_ST( 'd', 3, 507, 499 ), /* 503 max */ ++ S_ST( 'e', 3, 505, 0 ), /* 504 maxd */ ++ S_ST( 'p', 3, 506, 0 ), /* 505 maxde */ ++ S_ST( 't', 3, 344, 0 ), /* 506 maxdep */ ++ S_ST( 'i', 3, 508, 504 ), /* 507 maxd */ ++ S_ST( 's', 3, 345, 0 ), /* 508 maxdi */ ++ S_ST( 'm', 3, 510, 503 ), /* 509 max */ ++ S_ST( 'e', 3, 346, 0 ), /* 510 maxm */ ++ S_ST( 'p', 3, 512, 509 ), /* 511 max */ ++ S_ST( 'o', 3, 513, 0 ), /* 512 maxp */ ++ S_ST( 'l', 3, 347, 0 ), /* 513 maxpo */ ++ S_ST( 'd', 3, 515, 478 ), /* 514 m */ ++ S_ST( 'n', 3, 516, 0 ), /* 515 md */ ++ S_ST( 's', 3, 517, 0 ), /* 516 mdn */ ++ S_ST( 't', 3, 518, 0 ), /* 517 mdns */ ++ S_ST( 'r', 3, 519, 0 ), /* 518 mdnst */ ++ S_ST( 'i', 3, 520, 0 ), /* 519 mdnstr */ ++ S_ST( 'e', 3, 348, 0 ), /* 520 mdnstri */ ++ S_ST( 'e', 3, 349, 514 ), /* 521 m */ ++ S_ST( 'l', 3, 523, 0 ), /* 522 mem */ ++ S_ST( 'o', 3, 524, 0 ), /* 523 meml */ ++ S_ST( 'c', 3, 350, 0 ), /* 524 memlo */ ++ S_ST( 'i', 3, 526, 521 ), /* 525 m */ ++ S_ST( 'n', 3, 543, 0 ), /* 526 mi */ ++ S_ST( 'c', 3, 528, 0 ), /* 527 min */ ++ S_ST( 'l', 3, 529, 0 ), /* 528 minc */ ++ S_ST( 'o', 3, 530, 0 ), /* 529 mincl */ ++ S_ST( 'c', 3, 351, 0 ), /* 530 minclo */ ++ S_ST( 'd', 3, 535, 527 ), /* 531 min */ ++ S_ST( 'e', 3, 533, 0 ), /* 532 mind */ ++ S_ST( 'p', 3, 534, 0 ), /* 533 minde */ ++ S_ST( 't', 3, 352, 0 ), /* 534 mindep */ ++ S_ST( 'i', 3, 536, 532 ), /* 535 mind */ ++ S_ST( 's', 3, 353, 0 ), /* 536 mindi */ ++ S_ST( 'i', 3, 538, 531 ), /* 537 min */ ++ S_ST( 'm', 3, 539, 0 ), /* 538 mini */ ++ S_ST( 'u', 3, 354, 0 ), /* 539 minim */ ++ S_ST( 'p', 3, 541, 537 ), /* 540 min */ ++ S_ST( 'o', 3, 542, 0 ), /* 541 minp */ ++ S_ST( 'l', 3, 355, 0 ), /* 542 minpo */ ++ S_ST( 's', 3, 544, 540 ), /* 543 min */ ++ S_ST( 'a', 3, 545, 0 ), /* 544 mins */ ++ S_ST( 'n', 3, 356, 0 ), /* 545 minsa */ ++ S_ST( 'o', 3, 548, 525 ), /* 546 m */ ++ S_ST( 'd', 3, 357, 0 ), /* 547 mo */ ++ S_ST( 'n', 3, 552, 547 ), /* 548 mo */ ++ S_ST( 'i', 3, 550, 0 ), /* 549 mon */ ++ S_ST( 't', 3, 551, 0 ), /* 550 moni */ ++ S_ST( 'o', 3, 359, 0 ), /* 551 monit */ ++ S_ST( 't', 3, 360, 549 ), /* 552 mon */ ++ S_ST( 'r', 3, 361, 546 ), /* 553 m */ ++ S_ST( 's', 3, 555, 553 ), /* 554 m */ ++ S_ST( 's', 3, 556, 0 ), /* 555 ms */ ++ S_ST( 'n', 3, 557, 0 ), /* 556 mss */ ++ S_ST( 't', 3, 329, 0 ), /* 557 mssn */ ++ S_ST( 'u', 3, 559, 554 ), /* 558 m */ ++ S_ST( 'l', 3, 560, 0 ), /* 559 mu */ ++ S_ST( 't', 3, 561, 0 ), /* 560 mul */ ++ S_ST( 'i', 3, 562, 0 ), /* 561 mult */ ++ S_ST( 'c', 3, 563, 0 ), /* 562 multi */ ++ S_ST( 'a', 3, 564, 0 ), /* 563 multic */ ++ S_ST( 's', 3, 565, 0 ), /* 564 multica */ ++ S_ST( 't', 3, 566, 0 ), /* 565 multicas */ ++ S_ST( 'c', 3, 567, 0 ), /* 566 multicast */ ++ S_ST( 'l', 3, 568, 0 ), /* 567 multicastc */ ++ S_ST( 'i', 3, 569, 0 ), /* 568 multicastcl */ ++ S_ST( 'e', 3, 570, 0 ), /* 569 multicastcli */ ++ S_ST( 'n', 3, 362, 0 ), /* 570 multicastclie */ ++ S_ST( 'n', 3, 614, 477 ), /* 571 */ ++ S_ST( 'i', 3, 363, 0 ), /* 572 n */ ++ S_ST( 'o', 3, 609, 572 ), /* 573 n */ ++ S_ST( 'l', 3, 575, 0 ), /* 574 no */ ++ S_ST( 'i', 3, 576, 0 ), /* 575 nol */ ++ S_ST( 'n', 3, 364, 0 ), /* 576 noli */ ++ S_ST( 'm', 3, 582, 574 ), /* 577 no */ ++ S_ST( 'o', 3, 579, 0 ), /* 578 nom */ ++ S_ST( 'd', 3, 580, 0 ), /* 579 nomo */ ++ S_ST( 'i', 3, 581, 0 ), /* 580 nomod */ ++ S_ST( 'f', 3, 365, 0 ), /* 581 nomodi */ ++ S_ST( 'r', 3, 583, 578 ), /* 582 nom */ ++ S_ST( 'u', 3, 584, 0 ), /* 583 nomr */ ++ S_ST( 'l', 3, 585, 0 ), /* 584 nomru */ ++ S_ST( 'i', 3, 586, 0 ), /* 585 nomrul */ ++ S_ST( 's', 3, 366, 0 ), /* 586 nomruli */ ++ S_ST( 'n', 3, 588, 577 ), /* 587 no */ ++ S_ST( 'v', 3, 589, 367 ), /* 588 non */ ++ S_ST( 'o', 3, 590, 0 ), /* 589 nonv */ ++ S_ST( 'l', 3, 591, 0 ), /* 590 nonvo */ ++ S_ST( 'a', 3, 592, 0 ), /* 591 nonvol */ ++ S_ST( 't', 3, 593, 0 ), /* 592 nonvola */ ++ S_ST( 'i', 3, 594, 0 ), /* 593 nonvolat */ ++ S_ST( 'l', 3, 368, 0 ), /* 594 nonvolati */ ++ S_ST( 'p', 3, 596, 587 ), /* 595 no */ ++ S_ST( 'e', 3, 597, 0 ), /* 596 nop */ ++ S_ST( 'e', 3, 369, 0 ), /* 597 nope */ ++ S_ST( 'q', 3, 599, 595 ), /* 598 no */ ++ S_ST( 'u', 3, 600, 0 ), /* 599 noq */ ++ S_ST( 'e', 3, 601, 0 ), /* 600 noqu */ ++ S_ST( 'r', 3, 370, 0 ), /* 601 noque */ ++ S_ST( 's', 3, 603, 598 ), /* 602 no */ ++ S_ST( 'e', 3, 607, 0 ), /* 603 nos */ ++ S_ST( 'l', 3, 605, 0 ), /* 604 nose */ ++ S_ST( 'e', 3, 606, 0 ), /* 605 nosel */ ++ S_ST( 'c', 3, 371, 0 ), /* 606 nosele */ ++ S_ST( 'r', 3, 608, 604 ), /* 607 nose */ ++ S_ST( 'v', 3, 372, 0 ), /* 608 noser */ ++ S_ST( 't', 3, 610, 602 ), /* 609 no */ ++ S_ST( 'r', 3, 612, 0 ), /* 610 not */ ++ S_ST( 'a', 3, 373, 0 ), /* 611 notr */ ++ S_ST( 'u', 3, 613, 611 ), /* 612 notr */ ++ S_ST( 's', 3, 374, 0 ), /* 613 notru */ ++ S_ST( 't', 3, 375, 573 ), /* 614 n */ ++ S_ST( 'p', 3, 616, 0 ), /* 615 ntp */ ++ S_ST( 'o', 3, 617, 0 ), /* 616 ntpp */ ++ S_ST( 'r', 3, 376, 0 ), /* 617 ntppo */ ++ S_ST( 's', 3, 619, 615 ), /* 618 ntp */ ++ S_ST( 'i', 3, 620, 0 ), /* 619 ntps */ ++ S_ST( 'g', 3, 621, 0 ), /* 620 ntpsi */ ++ S_ST( 'n', 3, 622, 0 ), /* 621 ntpsig */ ++ S_ST( 'd', 3, 623, 0 ), /* 622 ntpsign */ ++ S_ST( 's', 3, 624, 0 ), /* 623 ntpsignd */ ++ S_ST( 'o', 3, 625, 0 ), /* 624 ntpsignds */ ++ S_ST( 'c', 3, 626, 0 ), /* 625 ntpsigndso */ ++ S_ST( 'k', 3, 627, 0 ), /* 626 ntpsigndsoc */ ++ S_ST( 'e', 3, 377, 0 ), /* 627 ntpsigndsock */ ++ S_ST( 'o', 3, 629, 571 ), /* 628 */ ++ S_ST( 'r', 3, 630, 0 ), /* 629 o */ ++ S_ST( 'p', 3, 631, 0 ), /* 630 or */ ++ S_ST( 'h', 3, 632, 0 ), /* 631 orp */ ++ S_ST( 'a', 3, 378, 0 ), /* 632 orph */ ++ S_ST( 'w', 3, 634, 0 ), /* 633 orphan */ ++ S_ST( 'a', 3, 635, 0 ), /* 634 orphanw */ ++ S_ST( 'i', 3, 379, 0 ), /* 635 orphanwa */ ++ S_ST( 'p', 3, 392, 628 ), /* 636 */ ++ S_ST( 'a', 3, 638, 0 ), /* 637 p */ ++ S_ST( 'n', 3, 639, 0 ), /* 638 pa */ ++ S_ST( 'i', 3, 381, 0 ), /* 639 pan */ ++ S_ST( 'e', 3, 641, 637 ), /* 640 p */ ++ S_ST( 'e', 3, 382, 0 ), /* 641 pe */ ++ S_ST( '_', 3, 643, 0 ), /* 642 peer */ ++ S_ST( 'c', 3, 644, 0 ), /* 643 peer_ */ ++ S_ST( 'l', 3, 645, 0 ), /* 644 peer_c */ ++ S_ST( 'e', 3, 646, 0 ), /* 645 peer_cl */ ++ S_ST( 'a', 3, 647, 0 ), /* 646 peer_cle */ ++ S_ST( 'r', 3, 648, 0 ), /* 647 peer_clea */ ++ S_ST( '_', 3, 649, 0 ), /* 648 peer_clear */ ++ S_ST( 'd', 3, 650, 0 ), /* 649 peer_clear_ */ ++ S_ST( 'i', 3, 651, 0 ), /* 650 peer_clear_d */ ++ S_ST( 'g', 3, 652, 0 ), /* 651 peer_clear_di */ ++ S_ST( 'e', 3, 653, 0 ), /* 652 peer_clear_dig */ ++ S_ST( 's', 3, 654, 0 ), /* 653 peer_clear_dige */ ++ S_ST( 't', 3, 655, 0 ), /* 654 peer_clear_diges */ ++ S_ST( '_', 3, 656, 0 ), /* 655 peer_clear_digest */ ++ S_ST( 'e', 3, 657, 0 ), /* 656 peer_clear_digest_ */ ++ S_ST( 'a', 3, 658, 0 ), /* 657 peer_clear_digest_e */ ++ S_ST( 'r', 3, 659, 0 ), /* 658 peer_clear_digest_ea */ ++ S_ST( 'l', 3, 380, 0 ), /* 659 peer_clear_digest_ear */ ++ S_ST( 's', 3, 661, 642 ), /* 660 peer */ ++ S_ST( 't', 3, 662, 0 ), /* 661 peers */ ++ S_ST( 'a', 3, 663, 0 ), /* 662 peerst */ ++ S_ST( 't', 3, 383, 0 ), /* 663 peersta */ ++ S_ST( 'h', 3, 665, 640 ), /* 664 p */ ++ S_ST( 'o', 3, 666, 0 ), /* 665 ph */ ++ S_ST( 'n', 3, 384, 0 ), /* 666 pho */ ++ S_ST( 'i', 3, 385, 664 ), /* 667 p */ ++ S_ST( 'f', 3, 669, 0 ), /* 668 pid */ ++ S_ST( 'i', 3, 670, 0 ), /* 669 pidf */ ++ S_ST( 'l', 3, 386, 0 ), /* 670 pidfi */ ++ S_ST( 'o', 3, 673, 667 ), /* 671 p */ ++ S_ST( 'o', 3, 387, 0 ), /* 672 po */ ++ S_ST( 'r', 3, 388, 672 ), /* 673 po */ ++ S_ST( 'r', 3, 681, 671 ), /* 674 p */ ++ S_ST( 'e', 3, 679, 0 ), /* 675 pr */ ++ S_ST( 'e', 3, 677, 0 ), /* 676 pre */ ++ S_ST( 'm', 3, 678, 0 ), /* 677 pree */ ++ S_ST( 'p', 3, 389, 0 ), /* 678 preem */ ++ S_ST( 'f', 3, 680, 676 ), /* 679 pre */ ++ S_ST( 'e', 3, 390, 0 ), /* 680 pref */ ++ S_ST( 'o', 3, 694, 675 ), /* 681 pr */ ++ S_ST( 'c', 3, 683, 0 ), /* 682 pro */ ++ S_ST( '_', 3, 684, 0 ), /* 683 proc */ ++ S_ST( 'd', 3, 685, 0 ), /* 684 proc_ */ ++ S_ST( 'e', 3, 686, 0 ), /* 685 proc_d */ ++ S_ST( 'l', 3, 687, 0 ), /* 686 proc_de */ ++ S_ST( 'a', 3, 452, 0 ), /* 687 proc_del */ ++ S_ST( 'p', 3, 689, 682 ), /* 688 pro */ ++ S_ST( '_', 3, 690, 0 ), /* 689 prop */ ++ S_ST( 'd', 3, 691, 0 ), /* 690 prop_ */ ++ S_ST( 'e', 3, 692, 0 ), /* 691 prop_d */ ++ S_ST( 'l', 3, 693, 0 ), /* 692 prop_de */ ++ S_ST( 'a', 3, 451, 0 ), /* 693 prop_del */ ++ S_ST( 't', 3, 695, 688 ), /* 694 pro */ ++ S_ST( 'o', 3, 696, 0 ), /* 695 prot */ ++ S_ST( 's', 3, 697, 0 ), /* 696 proto */ ++ S_ST( 't', 3, 698, 0 ), /* 697 protos */ ++ S_ST( 'a', 3, 699, 0 ), /* 698 protost */ ++ S_ST( 't', 3, 391, 0 ), /* 699 protosta */ ++ S_ST( 'r', 3, 731, 636 ), /* 700 */ ++ S_ST( 'a', 3, 707, 0 ), /* 701 r */ ++ S_ST( 'n', 3, 703, 0 ), /* 702 ra */ ++ S_ST( 'd', 3, 704, 0 ), /* 703 ran */ ++ S_ST( 'f', 3, 705, 0 ), /* 704 rand */ ++ S_ST( 'i', 3, 706, 0 ), /* 705 randf */ ++ S_ST( 'l', 3, 393, 0 ), /* 706 randfi */ ++ S_ST( 'w', 3, 708, 702 ), /* 707 ra */ ++ S_ST( 's', 3, 709, 0 ), /* 708 raw */ ++ S_ST( 't', 3, 710, 0 ), /* 709 raws */ ++ S_ST( 'a', 3, 711, 0 ), /* 710 rawst */ ++ S_ST( 't', 3, 394, 0 ), /* 711 rawsta */ ++ S_ST( 'e', 3, 728, 701 ), /* 712 r */ ++ S_ST( 'f', 3, 714, 0 ), /* 713 re */ ++ S_ST( 'i', 3, 395, 0 ), /* 714 ref */ ++ S_ST( 'q', 3, 716, 713 ), /* 715 re */ ++ S_ST( 'u', 3, 717, 0 ), /* 716 req */ ++ S_ST( 'e', 3, 718, 0 ), /* 717 requ */ ++ S_ST( 's', 3, 719, 0 ), /* 718 reque */ ++ S_ST( 't', 3, 720, 0 ), /* 719 reques */ ++ S_ST( 'k', 3, 721, 0 ), /* 720 request */ ++ S_ST( 'e', 3, 396, 0 ), /* 721 requestk */ ++ S_ST( 's', 3, 724, 715 ), /* 722 re */ ++ S_ST( 'e', 3, 397, 0 ), /* 723 res */ ++ S_ST( 't', 3, 725, 723 ), /* 724 res */ ++ S_ST( 'r', 3, 726, 0 ), /* 725 rest */ ++ S_ST( 'i', 3, 727, 0 ), /* 726 restr */ ++ S_ST( 'c', 3, 398, 0 ), /* 727 restri */ ++ S_ST( 'v', 3, 729, 722 ), /* 728 re */ ++ S_ST( 'o', 3, 730, 0 ), /* 729 rev */ ++ S_ST( 'k', 3, 399, 0 ), /* 730 revo */ ++ S_ST( 'l', 3, 732, 712 ), /* 731 r */ ++ S_ST( 'i', 3, 733, 0 ), /* 732 rl */ ++ S_ST( 'm', 3, 734, 0 ), /* 733 rli */ ++ S_ST( 'i', 3, 400, 0 ), /* 734 rlim */ ++ S_ST( 's', 3, 808, 700 ), /* 735 */ ++ S_ST( 'a', 3, 737, 0 ), /* 736 s */ ++ S_ST( 'v', 3, 738, 0 ), /* 737 sa */ ++ S_ST( 'e', 3, 739, 0 ), /* 738 sav */ ++ S_ST( 'c', 3, 740, 0 ), /* 739 save */ ++ S_ST( 'o', 3, 741, 0 ), /* 740 savec */ ++ S_ST( 'n', 3, 742, 0 ), /* 741 saveco */ ++ S_ST( 'f', 3, 743, 0 ), /* 742 savecon */ ++ S_ST( 'i', 3, 744, 0 ), /* 743 saveconf */ ++ S_ST( 'g', 3, 745, 0 ), /* 744 saveconfi */ ++ S_ST( 'd', 3, 746, 0 ), /* 745 saveconfig */ ++ S_ST( 'i', 3, 401, 0 ), /* 746 saveconfigd */ ++ S_ST( 'e', 3, 757, 736 ), /* 747 s */ ++ S_ST( 'r', 3, 749, 0 ), /* 748 se */ ++ S_ST( 'v', 3, 750, 0 ), /* 749 ser */ ++ S_ST( 'e', 3, 402, 0 ), /* 750 serv */ ++ S_ST( '_', 3, 752, 0 ), /* 751 server */ ++ S_ST( 'o', 3, 753, 0 ), /* 752 server_ */ ++ S_ST( 'f', 3, 754, 0 ), /* 753 server_o */ ++ S_ST( 'f', 3, 755, 0 ), /* 754 server_of */ ++ S_ST( 's', 3, 756, 0 ), /* 755 server_off */ ++ S_ST( 'e', 3, 446, 0 ), /* 756 server_offs */ ++ S_ST( 't', 3, 758, 748 ), /* 757 se */ ++ S_ST( 'v', 3, 759, 0 ), /* 758 set */ ++ S_ST( 'a', 3, 403, 0 ), /* 759 setv */ ++ S_ST( 'i', 3, 761, 747 ), /* 760 s */ ++ S_ST( 'm', 3, 762, 0 ), /* 761 si */ ++ S_ST( 'u', 3, 763, 0 ), /* 762 sim */ ++ S_ST( 'l', 3, 764, 0 ), /* 763 simu */ ++ S_ST( 'a', 3, 765, 0 ), /* 764 simul */ ++ S_ST( 't', 3, 766, 0 ), /* 765 simula */ ++ S_ST( 'i', 3, 767, 443 ), /* 766 simulat */ ++ S_ST( 'o', 3, 768, 0 ), /* 767 simulati */ ++ S_ST( 'n', 3, 769, 0 ), /* 768 simulatio */ ++ S_ST( '_', 3, 770, 0 ), /* 769 simulation */ ++ S_ST( 'd', 3, 771, 0 ), /* 770 simulation_ */ ++ S_ST( 'u', 3, 772, 0 ), /* 771 simulation_d */ ++ S_ST( 'r', 3, 773, 0 ), /* 772 simulation_du */ ++ S_ST( 'a', 3, 774, 0 ), /* 773 simulation_dur */ ++ S_ST( 't', 3, 775, 0 ), /* 774 simulation_dura */ ++ S_ST( 'i', 3, 776, 0 ), /* 775 simulation_durat */ ++ S_ST( 'o', 3, 445, 0 ), /* 776 simulation_durati */ ++ S_ST( 'o', 3, 778, 760 ), /* 777 s */ ++ S_ST( 'u', 3, 779, 0 ), /* 778 so */ ++ S_ST( 'r', 3, 780, 0 ), /* 779 sou */ ++ S_ST( 'c', 3, 404, 0 ), /* 780 sour */ ++ S_ST( 't', 3, 804, 777 ), /* 781 s */ ++ S_ST( 'a', 3, 788, 0 ), /* 782 st */ ++ S_ST( 'c', 3, 784, 0 ), /* 783 sta */ ++ S_ST( 'k', 3, 785, 0 ), /* 784 stac */ ++ S_ST( 's', 3, 786, 0 ), /* 785 stack */ ++ S_ST( 'i', 3, 787, 0 ), /* 786 stacks */ ++ S_ST( 'z', 3, 405, 0 ), /* 787 stacksi */ ++ S_ST( 't', 3, 407, 783 ), /* 788 sta */ ++ S_ST( 'i', 3, 790, 0 ), /* 789 stat */ ++ S_ST( 's', 3, 791, 0 ), /* 790 stati */ ++ S_ST( 't', 3, 792, 0 ), /* 791 statis */ ++ S_ST( 'i', 3, 793, 0 ), /* 792 statist */ ++ S_ST( 'c', 3, 406, 0 ), /* 793 statisti */ ++ S_ST( 'd', 3, 795, 0 ), /* 794 stats */ ++ S_ST( 'i', 3, 408, 0 ), /* 795 statsd */ ++ S_ST( 'e', 3, 409, 782 ), /* 796 st */ ++ S_ST( 'b', 3, 798, 0 ), /* 797 step */ ++ S_ST( 'a', 3, 799, 0 ), /* 798 stepb */ ++ S_ST( 'c', 3, 410, 0 ), /* 799 stepba */ ++ S_ST( 'f', 3, 801, 797 ), /* 800 step */ ++ S_ST( 'w', 3, 411, 0 ), /* 801 stepf */ ++ S_ST( 'o', 3, 803, 800 ), /* 802 step */ ++ S_ST( 'u', 3, 412, 0 ), /* 803 stepo */ ++ S_ST( 'r', 3, 805, 796 ), /* 804 st */ ++ S_ST( 'a', 3, 806, 0 ), /* 805 str */ ++ S_ST( 't', 3, 807, 0 ), /* 806 stra */ ++ S_ST( 'u', 3, 413, 0 ), /* 807 strat */ ++ S_ST( 'y', 3, 415, 781 ), /* 808 s */ ++ S_ST( 's', 3, 810, 0 ), /* 809 sys */ ++ S_ST( 't', 3, 811, 0 ), /* 810 syss */ ++ S_ST( 'a', 3, 812, 0 ), /* 811 sysst */ ++ S_ST( 't', 3, 416, 0 ), /* 812 syssta */ ++ S_ST( 't', 3, 839, 735 ), /* 813 */ ++ S_ST( 'i', 3, 825, 0 ), /* 814 t */ ++ S_ST( 'c', 3, 417, 0 ), /* 815 ti */ ++ S_ST( 'm', 3, 818, 815 ), /* 816 ti */ ++ S_ST( 'e', 3, 420, 0 ), /* 817 tim */ ++ S_ST( 'i', 3, 819, 817 ), /* 818 tim */ ++ S_ST( 'n', 3, 820, 0 ), /* 819 timi */ ++ S_ST( 'g', 3, 821, 0 ), /* 820 timin */ ++ S_ST( 's', 3, 822, 0 ), /* 821 timing */ ++ S_ST( 't', 3, 823, 0 ), /* 822 timings */ ++ S_ST( 'a', 3, 824, 0 ), /* 823 timingst */ ++ S_ST( 't', 3, 421, 0 ), /* 824 timingsta */ ++ S_ST( 'n', 3, 826, 816 ), /* 825 ti */ ++ S_ST( 'k', 3, 827, 0 ), /* 826 tin */ ++ S_ST( 'e', 3, 422, 0 ), /* 827 tink */ ++ S_ST( 'o', 3, 423, 814 ), /* 828 t */ ++ S_ST( 'r', 3, 831, 828 ), /* 829 t */ ++ S_ST( 'a', 3, 424, 0 ), /* 830 tr */ ++ S_ST( 'u', 3, 832, 830 ), /* 831 tr */ ++ S_ST( 's', 3, 833, 425 ), /* 832 tru */ ++ S_ST( 't', 3, 834, 0 ), /* 833 trus */ ++ S_ST( 'e', 3, 835, 0 ), /* 834 trust */ ++ S_ST( 'd', 3, 836, 0 ), /* 835 truste */ ++ S_ST( 'k', 3, 837, 0 ), /* 836 trusted */ ++ S_ST( 'e', 3, 426, 0 ), /* 837 trustedk */ ++ S_ST( 't', 3, 427, 829 ), /* 838 t */ ++ S_ST( 'y', 3, 840, 838 ), /* 839 t */ ++ S_ST( 'p', 3, 428, 0 ), /* 840 ty */ ++ S_ST( 'u', 3, 842, 813 ), /* 841 */ ++ S_ST( 'n', 3, 848, 0 ), /* 842 u */ ++ S_ST( 'c', 3, 844, 0 ), /* 843 un */ ++ S_ST( 'o', 3, 845, 0 ), /* 844 unc */ ++ S_ST( 'n', 3, 846, 0 ), /* 845 unco */ ++ S_ST( 'f', 3, 847, 0 ), /* 846 uncon */ ++ S_ST( 'i', 3, 433, 0 ), /* 847 unconf */ ++ S_ST( 'p', 3, 849, 843 ), /* 848 un */ ++ S_ST( 'e', 3, 850, 0 ), /* 849 unp */ ++ S_ST( 'e', 3, 434, 0 ), /* 850 unpe */ ++ S_ST( '_', 3, 871, 0 ), /* 851 unpeer */ ++ S_ST( 'c', 3, 853, 0 ), /* 852 unpeer_ */ ++ S_ST( 'r', 3, 854, 0 ), /* 853 unpeer_c */ ++ S_ST( 'y', 3, 855, 0 ), /* 854 unpeer_cr */ ++ S_ST( 'p', 3, 856, 0 ), /* 855 unpeer_cry */ ++ S_ST( 't', 3, 857, 0 ), /* 856 unpeer_cryp */ ++ S_ST( 'o', 3, 858, 0 ), /* 857 unpeer_crypt */ ++ S_ST( '_', 3, 863, 0 ), /* 858 unpeer_crypto */ ++ S_ST( 'e', 3, 860, 0 ), /* 859 unpeer_crypto_ */ ++ S_ST( 'a', 3, 861, 0 ), /* 860 unpeer_crypto_e */ ++ S_ST( 'r', 3, 862, 0 ), /* 861 unpeer_crypto_ea */ ++ S_ST( 'l', 3, 430, 0 ), /* 862 unpeer_crypto_ear */ ++ S_ST( 'n', 3, 864, 859 ), /* 863 unpeer_crypto_ */ ++ S_ST( 'a', 3, 865, 0 ), /* 864 unpeer_crypto_n */ ++ S_ST( 'k', 3, 866, 0 ), /* 865 unpeer_crypto_na */ ++ S_ST( '_', 3, 867, 0 ), /* 866 unpeer_crypto_nak */ ++ S_ST( 'e', 3, 868, 0 ), /* 867 unpeer_crypto_nak_ */ ++ S_ST( 'a', 3, 869, 0 ), /* 868 unpeer_crypto_nak_e */ ++ S_ST( 'r', 3, 870, 0 ), /* 869 unpeer_crypto_nak_ea */ ++ S_ST( 'l', 3, 431, 0 ), /* 870 unpeer_crypto_nak_ear */ ++ S_ST( 'd', 3, 872, 852 ), /* 871 unpeer_ */ ++ S_ST( 'i', 3, 873, 0 ), /* 872 unpeer_d */ ++ S_ST( 'g', 3, 874, 0 ), /* 873 unpeer_di */ ++ S_ST( 'e', 3, 875, 0 ), /* 874 unpeer_dig */ ++ S_ST( 's', 3, 876, 0 ), /* 875 unpeer_dige */ ++ S_ST( 't', 3, 877, 0 ), /* 876 unpeer_diges */ ++ S_ST( '_', 3, 878, 0 ), /* 877 unpeer_digest */ ++ S_ST( 'e', 3, 879, 0 ), /* 878 unpeer_digest_ */ ++ S_ST( 'a', 3, 880, 0 ), /* 879 unpeer_digest_e */ ++ S_ST( 'r', 3, 881, 0 ), /* 880 unpeer_digest_ea */ ++ S_ST( 'l', 3, 432, 0 ), /* 881 unpeer_digest_ear */ ++ S_ST( 'v', 3, 883, 841 ), /* 882 */ ++ S_ST( 'e', 3, 884, 0 ), /* 883 v */ ++ S_ST( 'r', 3, 885, 0 ), /* 884 ve */ ++ S_ST( 's', 3, 886, 0 ), /* 885 ver */ ++ S_ST( 'i', 3, 887, 0 ), /* 886 vers */ ++ S_ST( 'o', 3, 435, 0 ), /* 887 versi */ ++ S_ST( 'w', 3, 895, 882 ), /* 888 */ ++ S_ST( 'a', 3, 890, 0 ), /* 889 w */ ++ S_ST( 'n', 3, 891, 0 ), /* 890 wa */ ++ S_ST( 'd', 3, 892, 0 ), /* 891 wan */ ++ S_ST( 'e', 3, 449, 0 ), /* 892 wand */ ++ S_ST( 'e', 3, 894, 889 ), /* 893 w */ ++ S_ST( 'e', 3, 437, 0 ), /* 894 we */ ++ S_ST( 'i', 3, 896, 893 ), /* 895 w */ ++ S_ST( 'l', 3, 897, 0 ), /* 896 wi */ ++ S_ST( 'd', 3, 898, 0 ), /* 897 wil */ ++ S_ST( 'c', 3, 899, 0 ), /* 898 wild */ ++ S_ST( 'a', 3, 900, 0 ), /* 899 wildc */ ++ S_ST( 'r', 3, 438, 0 ), /* 900 wildca */ ++ S_ST( 'x', 3, 902, 888 ), /* 901 */ ++ S_ST( 'l', 3, 903, 0 ), /* 902 x */ ++ S_ST( 'e', 3, 904, 0 ), /* 903 xl */ ++ S_ST( 'a', 3, 905, 0 ), /* 904 xle */ ++ S_ST( 'v', 3, 439, 0 ), /* 905 xlea */ ++ S_ST( 'y', 3, 907, 901 ), /* 906 [initial state] */ ++ S_ST( 'e', 3, 908, 0 ), /* 907 y */ ++ S_ST( 'a', 3, 440, 0 ) /* 908 ye */ + }; + +--- contrib/ntp/ntpd/ntp_parser.c.orig ++++ contrib/ntp/ntpd/ntp_parser.c +@@ -1,19 +1,19 @@ +-/* A Bison parser, made by GNU Bison 2.7.12-4996. */ ++/* A Bison parser, made by GNU Bison 3.0.4. */ + + /* Bison implementation for Yacc-like parsers in C +- +- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. +- ++ ++ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. ++ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. +- ++ + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. +- ++ + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +@@ -26,7 +26,7 @@ + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. +- ++ + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +@@ -44,7 +44,7 @@ + #define YYBISON 1 + + /* Bison version. */ +-#define YYBISON_VERSION "2.7.12-4996" ++#define YYBISON_VERSION "3.0.4" + + /* Skeleton name. */ + #define YYSKELETON_NAME "yacc.c" +@@ -62,8 +62,7 @@ + + + /* Copy the first part of user declarations. */ +-/* Line 371 of yacc.c */ +-#line 11 "../../ntpd/ntp_parser.y" ++#line 11 "../../ntpd/ntp_parser.y" /* yacc.c:339 */ + + #ifdef HAVE_CONFIG_H + # include <config.h> +@@ -97,14 +96,13 @@ + # define ONLY_SIM(a) NULL + #endif + +-/* Line 371 of yacc.c */ +-#line 102 "ntp_parser.c" ++#line 100 "../../ntpd/ntp_parser.c" /* yacc.c:339 */ + +-# ifndef YY_NULL ++# ifndef YY_NULLPTR + # if defined __cplusplus && 201103L <= __cplusplus +-# define YY_NULL nullptr ++# define YY_NULLPTR nullptr + # else +-# define YY_NULL 0 ++# define YY_NULLPTR 0 + # endif + # endif + +@@ -118,9 +116,9 @@ + + /* In a future release of Bison, this section will be replaced + by #include "y.tab.h". */ +-#ifndef YY_YY_NTP_PARSER_H_INCLUDED +-# define YY_YY_NTP_PARSER_H_INCLUDED +-/* Enabling traces. */ ++#ifndef YY_YY_Y_TAB_H_INCLUDED ++# define YY_YY_Y_TAB_H_INCLUDED ++/* Debug traces. */ + #ifndef YYDEBUG + # define YYDEBUG 1 + #endif +@@ -128,207 +126,207 @@ + extern int yydebug; + #endif + +-/* Tokens. */ ++/* Token type. */ + #ifndef YYTOKENTYPE + # define YYTOKENTYPE +- /* Put the tokens into the symbol table, so that GDB and other debuggers +- know about them. */ +- enum yytokentype { +- T_Abbrev = 258, +- T_Age = 259, +- T_All = 260, +- T_Allan = 261, +- T_Allpeers = 262, +- T_Auth = 263, +- T_Autokey = 264, +- T_Automax = 265, +- T_Average = 266, +- T_Bclient = 267, +- T_Beacon = 268, +- T_Broadcast = 269, +- T_Broadcastclient = 270, +- T_Broadcastdelay = 271, +- T_Burst = 272, +- T_Calibrate = 273, +- T_Ceiling = 274, +- T_Clockstats = 275, +- T_Cohort = 276, +- T_ControlKey = 277, +- T_Crypto = 278, +- T_Cryptostats = 279, +- T_Ctl = 280, +- T_Day = 281, +- T_Default = 282, +- T_Digest = 283, +- T_Disable = 284, +- T_Discard = 285, +- T_Dispersion = 286, +- T_Double = 287, +- T_Driftfile = 288, +- T_Drop = 289, +- T_Dscp = 290, +- T_Ellipsis = 291, +- T_Enable = 292, +- T_End = 293, +- T_False = 294, +- T_File = 295, +- T_Filegen = 296, +- T_Filenum = 297, +- T_Flag1 = 298, +- T_Flag2 = 299, +- T_Flag3 = 300, +- T_Flag4 = 301, +- T_Flake = 302, +- T_Floor = 303, +- T_Freq = 304, +- T_Fudge = 305, +- T_Host = 306, +- T_Huffpuff = 307, +- T_Iburst = 308, +- T_Ident = 309, +- T_Ignore = 310, +- T_Incalloc = 311, +- T_Incmem = 312, +- T_Initalloc = 313, +- T_Initmem = 314, +- T_Includefile = 315, +- T_Integer = 316, +- T_Interface = 317, +- T_Intrange = 318, +- T_Io = 319, +- T_Ipv4 = 320, +- T_Ipv4_flag = 321, +- T_Ipv6 = 322, +- T_Ipv6_flag = 323, +- T_Kernel = 324, +- T_Key = 325, +- T_Keys = 326, +- T_Keysdir = 327, +- T_Kod = 328, +- T_Mssntp = 329, +- T_Leapfile = 330, +- T_Leapsmearinterval = 331, +- T_Limited = 332, +- T_Link = 333, +- T_Listen = 334, +- T_Logconfig = 335, +- T_Logfile = 336, +- T_Loopstats = 337, +- T_Lowpriotrap = 338, +- T_Manycastclient = 339, +- T_Manycastserver = 340, +- T_Mask = 341, +- T_Maxage = 342, +- T_Maxclock = 343, +- T_Maxdepth = 344, +- T_Maxdist = 345, +- T_Maxmem = 346, +- T_Maxpoll = 347, +- T_Mdnstries = 348, +- T_Mem = 349, +- T_Memlock = 350, +- T_Minclock = 351, +- T_Mindepth = 352, +- T_Mindist = 353, +- T_Minimum = 354, +- T_Minpoll = 355, +- T_Minsane = 356, +- T_Mode = 357, +- T_Mode7 = 358, +- T_Monitor = 359, +- T_Month = 360, +- T_Mru = 361, +- T_Multicastclient = 362, +- T_Nic = 363, +- T_Nolink = 364, +- T_Nomodify = 365, +- T_Nomrulist = 366, +- T_None = 367, +- T_Nonvolatile = 368, +- T_Nopeer = 369, +- T_Noquery = 370, +- T_Noselect = 371, +- T_Noserve = 372, +- T_Notrap = 373, +- T_Notrust = 374, +- T_Ntp = 375, +- T_Ntpport = 376, +- T_NtpSignDsocket = 377, +- T_Orphan = 378, +- T_Orphanwait = 379, +- T_Panic = 380, +- T_Peer = 381, +- T_Peerstats = 382, +- T_Phone = 383, +- T_Pid = 384, +- T_Pidfile = 385, +- T_Pool = 386, +- T_Port = 387, +- T_Preempt = 388, +- T_Prefer = 389, +- T_Protostats = 390, +- T_Pw = 391, +- T_Randfile = 392, +- T_Rawstats = 393, +- T_Refid = 394, +- T_Requestkey = 395, +- T_Reset = 396, +- T_Restrict = 397, +- T_Revoke = 398, +- T_Rlimit = 399, +- T_Saveconfigdir = 400, +- T_Server = 401, +- T_Setvar = 402, +- T_Source = 403, +- T_Stacksize = 404, +- T_Statistics = 405, +- T_Stats = 406, +- T_Statsdir = 407, +- T_Step = 408, +- T_Stepback = 409, +- T_Stepfwd = 410, +- T_Stepout = 411, +- T_Stratum = 412, +- T_String = 413, +- T_Sys = 414, +- T_Sysstats = 415, +- T_Tick = 416, +- T_Time1 = 417, +- T_Time2 = 418, +- T_Timer = 419, +- T_Timingstats = 420, +- T_Tinker = 421, +- T_Tos = 422, +- T_Trap = 423, +- T_True = 424, +- T_Trustedkey = 425, +- T_Ttl = 426, +- T_Type = 427, +- T_U_int = 428, +- T_UEcrypto = 429, +- T_UEcryptonak = 430, +- T_UEdigest = 431, +- T_Unconfig = 432, +- T_Unpeer = 433, +- T_Version = 434, +- T_WanderThreshold = 435, +- T_Week = 436, +- T_Wildcard = 437, +- T_Xleave = 438, +- T_Year = 439, +- T_Flag = 440, +- T_EOC = 441, +- T_Simulate = 442, +- T_Beep_Delay = 443, +- T_Sim_Duration = 444, +- T_Server_Offset = 445, +- T_Duration = 446, +- T_Freq_Offset = 447, +- T_Wander = 448, +- T_Jitter = 449, +- T_Prop_Delay = 450, +- T_Proc_Delay = 451 +- }; ++ enum yytokentype ++ { ++ T_Abbrev = 258, ++ T_Age = 259, ++ T_All = 260, ++ T_Allan = 261, ++ T_Allpeers = 262, ++ T_Auth = 263, ++ T_Autokey = 264, ++ T_Automax = 265, ++ T_Average = 266, ++ T_Bclient = 267, ++ T_Beacon = 268, ++ T_Broadcast = 269, ++ T_Broadcastclient = 270, ++ T_Broadcastdelay = 271, ++ T_Burst = 272, ++ T_Calibrate = 273, ++ T_Ceiling = 274, ++ T_Clockstats = 275, ++ T_Cohort = 276, ++ T_ControlKey = 277, ++ T_Crypto = 278, ++ T_Cryptostats = 279, ++ T_Ctl = 280, ++ T_Day = 281, ++ T_Default = 282, ++ T_Digest = 283, ++ T_Disable = 284, ++ T_Discard = 285, ++ T_Dispersion = 286, ++ T_Double = 287, ++ T_Driftfile = 288, ++ T_Drop = 289, ++ T_Dscp = 290, ++ T_Ellipsis = 291, ++ T_Enable = 292, ++ T_End = 293, ++ T_False = 294, ++ T_File = 295, ++ T_Filegen = 296, ++ T_Filenum = 297, ++ T_Flag1 = 298, ++ T_Flag2 = 299, ++ T_Flag3 = 300, ++ T_Flag4 = 301, ++ T_Flake = 302, ++ T_Floor = 303, ++ T_Freq = 304, ++ T_Fudge = 305, ++ T_Host = 306, ++ T_Huffpuff = 307, ++ T_Iburst = 308, ++ T_Ident = 309, ++ T_Ignore = 310, ++ T_Incalloc = 311, ++ T_Incmem = 312, ++ T_Initalloc = 313, ++ T_Initmem = 314, ++ T_Includefile = 315, ++ T_Integer = 316, ++ T_Interface = 317, ++ T_Intrange = 318, ++ T_Io = 319, ++ T_Ipv4 = 320, ++ T_Ipv4_flag = 321, ++ T_Ipv6 = 322, ++ T_Ipv6_flag = 323, ++ T_Kernel = 324, ++ T_Key = 325, ++ T_Keys = 326, ++ T_Keysdir = 327, ++ T_Kod = 328, ++ T_Mssntp = 329, ++ T_Leapfile = 330, ++ T_Leapsmearinterval = 331, ++ T_Limited = 332, ++ T_Link = 333, ++ T_Listen = 334, ++ T_Logconfig = 335, ++ T_Logfile = 336, ++ T_Loopstats = 337, ++ T_Lowpriotrap = 338, ++ T_Manycastclient = 339, ++ T_Manycastserver = 340, ++ T_Mask = 341, ++ T_Maxage = 342, ++ T_Maxclock = 343, ++ T_Maxdepth = 344, ++ T_Maxdist = 345, ++ T_Maxmem = 346, ++ T_Maxpoll = 347, ++ T_Mdnstries = 348, ++ T_Mem = 349, ++ T_Memlock = 350, ++ T_Minclock = 351, ++ T_Mindepth = 352, ++ T_Mindist = 353, ++ T_Minimum = 354, ++ T_Minpoll = 355, ++ T_Minsane = 356, ++ T_Mode = 357, ++ T_Mode7 = 358, ++ T_Monitor = 359, ++ T_Month = 360, ++ T_Mru = 361, ++ T_Multicastclient = 362, ++ T_Nic = 363, ++ T_Nolink = 364, ++ T_Nomodify = 365, ++ T_Nomrulist = 366, ++ T_None = 367, ++ T_Nonvolatile = 368, ++ T_Nopeer = 369, ++ T_Noquery = 370, ++ T_Noselect = 371, ++ T_Noserve = 372, ++ T_Notrap = 373, ++ T_Notrust = 374, ++ T_Ntp = 375, ++ T_Ntpport = 376, ++ T_NtpSignDsocket = 377, ++ T_Orphan = 378, ++ T_Orphanwait = 379, ++ T_PCEdigest = 380, ++ T_Panic = 381, ++ T_Peer = 382, ++ T_Peerstats = 383, ++ T_Phone = 384, ++ T_Pid = 385, ++ T_Pidfile = 386, ++ T_Pool = 387, ++ T_Port = 388, ++ T_Preempt = 389, ++ T_Prefer = 390, ++ T_Protostats = 391, ++ T_Pw = 392, ++ T_Randfile = 393, ++ T_Rawstats = 394, ++ T_Refid = 395, ++ T_Requestkey = 396, ++ T_Reset = 397, ++ T_Restrict = 398, ++ T_Revoke = 399, ++ T_Rlimit = 400, ++ T_Saveconfigdir = 401, ++ T_Server = 402, ++ T_Setvar = 403, ++ T_Source = 404, ++ T_Stacksize = 405, ++ T_Statistics = 406, ++ T_Stats = 407, ++ T_Statsdir = 408, ++ T_Step = 409, ++ T_Stepback = 410, ++ T_Stepfwd = 411, ++ T_Stepout = 412, ++ T_Stratum = 413, ++ T_String = 414, ++ T_Sys = 415, ++ T_Sysstats = 416, ++ T_Tick = 417, ++ T_Time1 = 418, ++ T_Time2 = 419, ++ T_Timer = 420, ++ T_Timingstats = 421, ++ T_Tinker = 422, ++ T_Tos = 423, ++ T_Trap = 424, ++ T_True = 425, ++ T_Trustedkey = 426, ++ T_Ttl = 427, ++ T_Type = 428, ++ T_U_int = 429, ++ T_UEcrypto = 430, ++ T_UEcryptonak = 431, ++ T_UEdigest = 432, ++ T_Unconfig = 433, ++ T_Unpeer = 434, ++ T_Version = 435, ++ T_WanderThreshold = 436, ++ T_Week = 437, ++ T_Wildcard = 438, ++ T_Xleave = 439, ++ T_Year = 440, ++ T_Flag = 441, ++ T_EOC = 442, ++ T_Simulate = 443, ++ T_Beep_Delay = 444, ++ T_Sim_Duration = 445, ++ T_Server_Offset = 446, ++ T_Duration = 447, ++ T_Freq_Offset = 448, ++ T_Wander = 449, ++ T_Jitter = 450, ++ T_Prop_Delay = 451, ++ T_Proc_Delay = 452 ++ }; + #endif + /* Tokens. */ + #define T_Abbrev 258 +@@ -453,86 +451,86 @@ + #define T_NtpSignDsocket 377 + #define T_Orphan 378 + #define T_Orphanwait 379 +-#define T_Panic 380 +-#define T_Peer 381 +-#define T_Peerstats 382 +-#define T_Phone 383 +-#define T_Pid 384 +-#define T_Pidfile 385 +-#define T_Pool 386 +-#define T_Port 387 +-#define T_Preempt 388 +-#define T_Prefer 389 +-#define T_Protostats 390 +-#define T_Pw 391 +-#define T_Randfile 392 +-#define T_Rawstats 393 +-#define T_Refid 394 +-#define T_Requestkey 395 +-#define T_Reset 396 +-#define T_Restrict 397 +-#define T_Revoke 398 +-#define T_Rlimit 399 +-#define T_Saveconfigdir 400 +-#define T_Server 401 +-#define T_Setvar 402 +-#define T_Source 403 +-#define T_Stacksize 404 +-#define T_Statistics 405 +-#define T_Stats 406 +-#define T_Statsdir 407 +-#define T_Step 408 +-#define T_Stepback 409 +-#define T_Stepfwd 410 +-#define T_Stepout 411 +-#define T_Stratum 412 +-#define T_String 413 +-#define T_Sys 414 +-#define T_Sysstats 415 +-#define T_Tick 416 +-#define T_Time1 417 +-#define T_Time2 418 +-#define T_Timer 419 +-#define T_Timingstats 420 +-#define T_Tinker 421 +-#define T_Tos 422 +-#define T_Trap 423 +-#define T_True 424 +-#define T_Trustedkey 425 +-#define T_Ttl 426 +-#define T_Type 427 +-#define T_U_int 428 +-#define T_UEcrypto 429 +-#define T_UEcryptonak 430 +-#define T_UEdigest 431 +-#define T_Unconfig 432 +-#define T_Unpeer 433 +-#define T_Version 434 +-#define T_WanderThreshold 435 +-#define T_Week 436 +-#define T_Wildcard 437 +-#define T_Xleave 438 +-#define T_Year 439 +-#define T_Flag 440 +-#define T_EOC 441 +-#define T_Simulate 442 +-#define T_Beep_Delay 443 +-#define T_Sim_Duration 444 +-#define T_Server_Offset 445 +-#define T_Duration 446 +-#define T_Freq_Offset 447 +-#define T_Wander 448 +-#define T_Jitter 449 +-#define T_Prop_Delay 450 +-#define T_Proc_Delay 451 ++#define T_PCEdigest 380 ++#define T_Panic 381 ++#define T_Peer 382 ++#define T_Peerstats 383 ++#define T_Phone 384 ++#define T_Pid 385 ++#define T_Pidfile 386 ++#define T_Pool 387 ++#define T_Port 388 ++#define T_Preempt 389 ++#define T_Prefer 390 ++#define T_Protostats 391 ++#define T_Pw 392 ++#define T_Randfile 393 ++#define T_Rawstats 394 ++#define T_Refid 395 ++#define T_Requestkey 396 ++#define T_Reset 397 ++#define T_Restrict 398 ++#define T_Revoke 399 ++#define T_Rlimit 400 ++#define T_Saveconfigdir 401 ++#define T_Server 402 ++#define T_Setvar 403 ++#define T_Source 404 ++#define T_Stacksize 405 ++#define T_Statistics 406 ++#define T_Stats 407 ++#define T_Statsdir 408 ++#define T_Step 409 ++#define T_Stepback 410 ++#define T_Stepfwd 411 ++#define T_Stepout 412 ++#define T_Stratum 413 ++#define T_String 414 ++#define T_Sys 415 ++#define T_Sysstats 416 ++#define T_Tick 417 ++#define T_Time1 418 ++#define T_Time2 419 ++#define T_Timer 420 ++#define T_Timingstats 421 ++#define T_Tinker 422 ++#define T_Tos 423 ++#define T_Trap 424 ++#define T_True 425 ++#define T_Trustedkey 426 ++#define T_Ttl 427 ++#define T_Type 428 ++#define T_U_int 429 ++#define T_UEcrypto 430 ++#define T_UEcryptonak 431 ++#define T_UEdigest 432 ++#define T_Unconfig 433 ++#define T_Unpeer 434 ++#define T_Version 435 ++#define T_WanderThreshold 436 ++#define T_Week 437 ++#define T_Wildcard 438 ++#define T_Xleave 439 ++#define T_Year 440 ++#define T_Flag 441 ++#define T_EOC 442 ++#define T_Simulate 443 ++#define T_Beep_Delay 444 ++#define T_Sim_Duration 445 ++#define T_Server_Offset 446 ++#define T_Duration 447 ++#define T_Freq_Offset 448 ++#define T_Wander 449 ++#define T_Jitter 450 ++#define T_Prop_Delay 451 ++#define T_Proc_Delay 452 + ++/* Value type. */ ++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + +- +-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +-typedef union YYSTYPE ++union YYSTYPE + { +-/* Line 387 of yacc.c */ +-#line 51 "../../ntpd/ntp_parser.y" ++#line 51 "../../ntpd/ntp_parser.y" /* yacc.c:355 */ + + char * String; + double Double; +@@ -551,37 +549,24 @@ + script_info * Sim_script; + script_info_fifo * Sim_script_fifo; + ++#line 553 "../../ntpd/ntp_parser.c" /* yacc.c:355 */ ++}; + +-/* Line 387 of yacc.c */ +-#line 557 "ntp_parser.c" +-} YYSTYPE; ++typedef union YYSTYPE YYSTYPE; + # define YYSTYPE_IS_TRIVIAL 1 +-# define yystype YYSTYPE /* obsolescent; will be withdrawn */ + # define YYSTYPE_IS_DECLARED 1 + #endif + ++ + extern YYSTYPE yylval; + +-#ifdef YYPARSE_PARAM +-#if defined __STDC__ || defined __cplusplus +-int yyparse (void *YYPARSE_PARAM); +-#else +-int yyparse (); +-#endif +-#else /* ! YYPARSE_PARAM */ +-#if defined __STDC__ || defined __cplusplus + int yyparse (void); +-#else +-int yyparse (); +-#endif +-#endif /* ! YYPARSE_PARAM */ + +-#endif /* !YY_YY_NTP_PARSER_H_INCLUDED */ ++#endif /* !YY_YY_Y_TAB_H_INCLUDED */ + + /* Copy the second part of user declarations. */ + +-/* Line 390 of yacc.c */ +-#line 585 "ntp_parser.c" ++#line 570 "../../ntpd/ntp_parser.c" /* yacc.c:358 */ + + #ifdef short + # undef short +@@ -595,11 +580,8 @@ + + #ifdef YYTYPE_INT8 + typedef YYTYPE_INT8 yytype_int8; +-#elif (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) ++#else + typedef signed char yytype_int8; +-#else +-typedef short int yytype_int8; + #endif + + #ifdef YYTYPE_UINT16 +@@ -619,8 +601,7 @@ + # define YYSIZE_T __SIZE_TYPE__ + # elif defined size_t + # define YYSIZE_T size_t +-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) ++# elif ! defined YYSIZE_T + # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ + # define YYSIZE_T size_t + # else +@@ -642,14 +623,33 @@ + # endif + #endif + +-#ifndef __attribute__ +-/* This feature is available in gcc versions 2.5 and later. */ +-# if (! defined __GNUC__ || __GNUC__ < 2 \ +- || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) +-# define __attribute__(Spec) /* empty */ ++#ifndef YY_ATTRIBUTE ++# if (defined __GNUC__ \ ++ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ ++ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C ++# define YY_ATTRIBUTE(Spec) __attribute__(Spec) ++# else ++# define YY_ATTRIBUTE(Spec) /* empty */ + # endif + #endif + ++#ifndef YY_ATTRIBUTE_PURE ++# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) ++#endif ++ ++#ifndef YY_ATTRIBUTE_UNUSED ++# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) ++#endif ++ ++#if !defined _Noreturn \ ++ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) ++# if defined _MSC_VER && 1200 <= _MSC_VER ++# define _Noreturn __declspec (noreturn) ++# else ++# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) ++# endif ++#endif ++ + /* Suppress unused-variable warnings by "using" E. */ + #if ! defined lint || defined __GNUC__ + # define YYUSE(E) ((void) (E)) +@@ -657,25 +657,26 @@ + # define YYUSE(E) /* empty */ + #endif + +- +-/* Identity function, used to suppress warnings about constant conditions. */ +-#ifndef lint +-# define YYID(N) (N) ++#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ ++/* Suppress an incorrect diagnostic about yylval being uninitialized. */ ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ ++ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ ++ _Pragma ("GCC diagnostic pop") + #else +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-static int +-YYID (int yyi) +-#else +-static int +-YYID (yyi) +- int yyi; ++# define YY_INITIAL_VALUE(Value) Value + #endif +-{ +- return yyi; +-} ++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END + #endif ++#ifndef YY_INITIAL_VALUE ++# define YY_INITIAL_VALUE(Value) /* Nothing. */ ++#endif + ++ + #if ! defined yyoverflow || YYERROR_VERBOSE + + /* The parser invokes alloca or malloc; define the necessary symbols. */ +@@ -693,8 +694,7 @@ + # define alloca _alloca + # else + # define YYSTACK_ALLOC alloca +-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) ++# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS + # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ + # ifndef EXIT_SUCCESS +@@ -706,8 +706,8 @@ + # endif + + # ifdef YYSTACK_ALLOC +- /* Pacify GCC's `empty if-body' warning. */ +-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) ++ /* Pacify GCC's 'empty if-body' warning. */ ++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) + # ifndef YYSTACK_ALLOC_MAXIMUM + /* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely +@@ -723,7 +723,7 @@ + # endif + # if (defined __cplusplus && ! defined EXIT_SUCCESS \ + && ! ((defined YYMALLOC || defined malloc) \ +- && (defined YYFREE || defined free))) ++ && (defined YYFREE || defined free))) + # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ + # ifndef EXIT_SUCCESS + # define EXIT_SUCCESS 0 +@@ -731,15 +731,13 @@ + # endif + # ifndef YYMALLOC + # define YYMALLOC malloc +-# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) ++# if ! defined malloc && ! defined EXIT_SUCCESS + void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ + # endif + # endif + # ifndef YYFREE + # define YYFREE free +-# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) ++# if ! defined free && ! defined EXIT_SUCCESS + void free (void *); /* INFRINGES ON USER NAME SPACE */ + # endif + # endif +@@ -749,7 +747,7 @@ + + #if (! defined yyoverflow \ + && (! defined __cplusplus \ +- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) ++ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + + /* A type that is properly aligned for any stack member. */ + union yyalloc +@@ -774,16 +772,16 @@ + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ +- do \ +- { \ +- YYSIZE_T yynewbytes; \ +- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ +- Stack = &yyptr->Stack_alloc; \ +- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ +- yyptr += yynewbytes / sizeof (*yyptr); \ +- } \ +- while (YYID (0)) ++# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ ++ do \ ++ { \ ++ YYSIZE_T yynewbytes; \ ++ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ ++ Stack = &yyptr->Stack_alloc; \ ++ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ ++ yyptr += yynewbytes / sizeof (*yyptr); \ ++ } \ ++ while (0) + + #endif + +@@ -802,33 +800,35 @@ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ +- while (YYID (0)) ++ while (0) + # endif + # endif + #endif /* !YYCOPY_NEEDED */ + + /* YYFINAL -- State number of the termination state. */ +-#define YYFINAL 213 ++#define YYFINAL 214 + /* YYLAST -- Last index in YYTABLE. */ +-#define YYLAST 624 ++#define YYLAST 655 + + /* YYNTOKENS -- Number of terminals. */ +-#define YYNTOKENS 202 ++#define YYNTOKENS 203 + /* YYNNTS -- Number of nonterminals. */ + #define YYNNTS 105 + /* YYNRULES -- Number of rules. */ +-#define YYNRULES 316 +-/* YYNRULES -- Number of states. */ +-#define YYNSTATES 422 ++#define YYNRULES 317 ++/* YYNSTATES -- Number of states. */ ++#define YYNSTATES 423 + +-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ ++/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned ++ by yylex, with out-of-bounds checking. */ + #define YYUNDEFTOK 2 +-#define YYMAXUTOK 451 ++#define YYMAXUTOK 452 + +-#define YYTRANSLATE(YYX) \ ++#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ ++/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM ++ as returned by yylex, without out-of-bounds checking. */ + static const yytype_uint8 yytranslate[] = + { + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, +@@ -835,15 +835,15 @@ + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 198, 199, 2, 2, 2, 2, 2, 2, 2, 2, ++ 199, 200, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 197, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 198, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 200, 2, 201, 2, 2, 2, 2, ++ 2, 2, 2, 201, 2, 202, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +@@ -876,165 +876,45 @@ + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, +- 195, 196 ++ 195, 196, 197 + }; + + #if YYDEBUG +-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in +- YYRHS. */ +-static const yytype_uint16 yyprhs[] = +-{ +- 0, 0, 3, 5, 9, 12, 15, 16, 18, 20, +- 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, +- 42, 46, 48, 50, 52, 54, 56, 58, 61, 63, +- 65, 67, 68, 71, 73, 75, 77, 79, 81, 83, +- 85, 87, 89, 91, 93, 95, 98, 101, 103, 105, +- 107, 109, 111, 113, 116, 118, 121, 123, 125, 127, +- 130, 133, 136, 139, 142, 145, 148, 151, 154, 157, +- 160, 163, 164, 167, 170, 173, 175, 177, 179, 181, +- 183, 186, 189, 191, 194, 197, 200, 202, 204, 206, +- 208, 210, 212, 214, 216, 218, 220, 223, 226, 230, +- 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, +- 252, 255, 258, 261, 263, 265, 267, 269, 271, 273, +- 275, 277, 279, 281, 283, 285, 287, 290, 293, 297, +- 303, 307, 312, 317, 321, 322, 325, 327, 329, 331, +- 333, 335, 337, 339, 341, 343, 345, 347, 349, 351, +- 353, 355, 358, 360, 363, 365, 367, 369, 372, 374, +- 377, 379, 381, 383, 385, 387, 389, 391, 393, 397, +- 400, 402, 405, 408, 411, 414, 417, 419, 421, 423, +- 425, 427, 429, 432, 435, 437, 440, 442, 444, 446, +- 449, 452, 455, 457, 459, 461, 463, 465, 467, 469, +- 471, 473, 475, 477, 479, 481, 483, 486, 489, 491, +- 494, 496, 498, 500, 502, 504, 506, 508, 510, 512, +- 514, 516, 518, 521, 524, 527, 530, 534, 536, 539, +- 542, 545, 548, 552, 555, 557, 559, 561, 563, 565, +- 567, 569, 571, 573, 575, 577, 580, 581, 586, 588, +- 589, 590, 593, 596, 599, 602, 604, 606, 610, 614, +- 616, 618, 620, 622, 624, 626, 628, 630, 632, 635, +- 638, 640, 642, 644, 646, 648, 650, 652, 654, 657, +- 659, 662, 664, 666, 668, 674, 677, 679, 682, 684, +- 686, 688, 690, 692, 694, 700, 702, 706, 709, 713, +- 715, 717, 720, 722, 728, 733, 737, 740, 742, 749, +- 753, 756, 760, 762, 764, 766, 768 +-}; +- +-/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +-static const yytype_int16 yyrhs[] = +-{ +- 203, 0, -1, 204, -1, 204, 205, 186, -1, 205, +- 186, -1, 1, 186, -1, -1, 206, -1, 219, -1, +- 221, -1, 222, -1, 231, -1, 239, -1, 226, -1, +- 248, -1, 253, -1, 257, -1, 262, -1, 266, -1, +- 293, -1, 207, 208, 211, -1, 146, -1, 131, -1, +- 126, -1, 14, -1, 84, -1, 209, -1, 210, 158, +- -1, 158, -1, 66, -1, 68, -1, -1, 211, 212, +- -1, 213, -1, 215, -1, 217, -1, 214, -1, 9, +- -1, 17, -1, 53, -1, 116, -1, 133, -1, 134, +- -1, 169, -1, 183, -1, 216, 61, -1, 216, 173, +- -1, 70, -1, 100, -1, 92, -1, 171, -1, 102, +- -1, 179, -1, 218, 158, -1, 54, -1, 220, 208, +- -1, 177, -1, 178, -1, 15, -1, 85, 290, -1, +- 107, 290, -1, 93, 61, -1, 10, 61, -1, 22, +- 61, -1, 23, 223, -1, 71, 158, -1, 72, 158, +- -1, 140, 61, -1, 143, 61, -1, 170, 286, -1, +- 122, 158, -1, -1, 223, 224, -1, 225, 158, -1, +- 143, 61, -1, 51, -1, 54, -1, 136, -1, 137, +- -1, 28, -1, 167, 227, -1, 227, 228, -1, 228, +- -1, 229, 61, -1, 230, 292, -1, 21, 291, -1, +- 19, -1, 48, -1, 123, -1, 124, -1, 101, -1, +- 13, -1, 98, -1, 90, -1, 96, -1, 88, -1, +- 150, 232, -1, 152, 158, -1, 41, 233, 234, -1, +- 232, 233, -1, 233, -1, 20, -1, 24, -1, 82, +- -1, 127, -1, 138, -1, 160, -1, 165, -1, 135, +- -1, -1, 234, 235, -1, 40, 158, -1, 172, 238, +- -1, 236, -1, 237, -1, 78, -1, 109, -1, 37, +- -1, 29, -1, 112, -1, 129, -1, 26, -1, 181, +- -1, 105, -1, 184, -1, 4, -1, 30, 242, -1, +- 106, 245, -1, 142, 208, 240, -1, 142, 209, 86, +- 209, 240, -1, 142, 27, 240, -1, 142, 66, 27, +- 240, -1, 142, 68, 27, 240, -1, 142, 148, 240, +- -1, -1, 240, 241, -1, 47, -1, 55, -1, 73, +- -1, 74, -1, 77, -1, 83, -1, 110, -1, 111, +- -1, 114, -1, 115, -1, 117, -1, 118, -1, 119, +- -1, 121, -1, 179, -1, 242, 243, -1, 243, -1, +- 244, 61, -1, 11, -1, 99, -1, 104, -1, 245, +- 246, -1, 246, -1, 247, 61, -1, 56, -1, 57, +- -1, 58, -1, 59, -1, 87, -1, 89, -1, 91, +- -1, 97, -1, 50, 208, 249, -1, 249, 250, -1, +- 250, -1, 251, 292, -1, 252, 291, -1, 157, 61, +- -1, 3, 158, -1, 139, 158, -1, 162, -1, 163, +- -1, 43, -1, 44, -1, 45, -1, 46, -1, 144, +- 254, -1, 254, 255, -1, 255, -1, 256, 61, -1, +- 95, -1, 149, -1, 42, -1, 37, 258, -1, 29, +- 258, -1, 258, 259, -1, 259, -1, 260, -1, 261, +- -1, 8, -1, 12, -1, 18, -1, 69, -1, 104, +- -1, 120, -1, 103, -1, 151, -1, 174, -1, 175, +- -1, 176, -1, 166, 263, -1, 263, 264, -1, 264, +- -1, 265, 292, -1, 6, -1, 31, -1, 49, -1, +- 52, -1, 125, -1, 153, -1, 154, -1, 155, -1, +- 156, -1, 161, -1, 278, -1, 282, -1, 267, 292, +- -1, 268, 61, -1, 269, 158, -1, 270, 158, -1, +- 60, 158, 205, -1, 38, -1, 33, 271, -1, 80, +- 276, -1, 128, 289, -1, 147, 272, -1, 168, 209, +- 274, -1, 171, 285, -1, 16, -1, 113, -1, 161, +- -1, 35, -1, 76, -1, 54, -1, 75, -1, 81, +- -1, 130, -1, 145, -1, 158, -1, 158, 32, -1, +- -1, 158, 197, 158, 273, -1, 27, -1, -1, -1, +- 274, 275, -1, 132, 61, -1, 62, 209, -1, 276, +- 277, -1, 277, -1, 158, -1, 279, 281, 280, -1, +- 279, 281, 158, -1, 62, -1, 108, -1, 5, -1, +- 65, -1, 67, -1, 182, -1, 79, -1, 55, -1, +- 34, -1, 141, 283, -1, 283, 284, -1, 284, -1, +- 7, -1, 8, -1, 25, -1, 64, -1, 94, -1, +- 159, -1, 164, -1, 285, 61, -1, 61, -1, 286, +- 287, -1, 287, -1, 61, -1, 288, -1, 198, 61, +- 36, 61, 199, -1, 289, 158, -1, 158, -1, 290, +- 208, -1, 208, -1, 61, -1, 169, -1, 39, -1, +- 61, -1, 32, -1, 294, 200, 295, 298, 201, -1, +- 187, -1, 295, 296, 186, -1, 296, 186, -1, 297, +- 197, 292, -1, 188, -1, 189, -1, 298, 299, -1, +- 299, -1, 301, 200, 300, 302, 201, -1, 190, 197, +- 292, 186, -1, 146, 197, 208, -1, 302, 303, -1, +- 303, -1, 191, 197, 292, 200, 304, 201, -1, 304, +- 305, 186, -1, 305, 186, -1, 306, 197, 292, -1, +- 192, -1, 193, -1, 194, -1, 195, -1, 196, -1 +-}; +- +-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ++ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ + static const yytype_uint16 yyrline[] = + { +- 0, 369, 369, 373, 374, 375, 390, 391, 392, 393, +- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, +- 411, 421, 422, 423, 424, 425, 429, 430, 435, 440, +- 442, 448, 449, 457, 458, 459, 463, 468, 469, 470, +- 471, 472, 473, 474, 475, 479, 481, 486, 487, 488, +- 489, 490, 491, 495, 500, 509, 519, 520, 530, 532, +- 534, 536, 547, 554, 556, 561, 563, 565, 567, 569, +- 578, 584, 585, 593, 595, 607, 608, 609, 610, 611, +- 620, 625, 630, 638, 640, 642, 647, 648, 649, 650, +- 651, 652, 656, 657, 658, 659, 668, 670, 679, 689, +- 694, 702, 703, 704, 705, 706, 707, 708, 709, 714, +- 715, 723, 733, 742, 757, 762, 763, 767, 768, 772, +- 773, 774, 775, 776, 777, 778, 787, 791, 795, 803, +- 811, 819, 834, 849, 862, 863, 871, 872, 873, 874, +- 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, +- 885, 889, 894, 902, 907, 908, 909, 913, 918, 926, +- 931, 932, 933, 934, 935, 936, 937, 938, 946, 956, +- 961, 969, 971, 973, 982, 984, 989, 990, 994, 995, +- 996, 997, 1005, 1010, 1015, 1023, 1028, 1029, 1030, 1039, +- 1041, 1046, 1051, 1059, 1061, 1078, 1079, 1080, 1081, 1082, +- 1083, 1087, 1088, 1089, 1090, 1091, 1099, 1104, 1109, 1117, +- 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, +- 1140, 1141, 1142, 1149, 1156, 1163, 1179, 1198, 1200, 1202, +- 1204, 1206, 1208, 1215, 1220, 1221, 1222, 1226, 1230, 1239, +- 1240, 1244, 1245, 1246, 1250, 1261, 1275, 1287, 1292, 1294, +- 1299, 1300, 1308, 1310, 1318, 1323, 1331, 1356, 1363, 1373, +- 1374, 1378, 1379, 1380, 1381, 1385, 1386, 1387, 1391, 1396, +- 1401, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1425, 1430, +- 1438, 1443, 1451, 1453, 1457, 1462, 1467, 1475, 1480, 1488, +- 1497, 1498, 1502, 1503, 1512, 1530, 1534, 1539, 1547, 1552, +- 1553, 1557, 1562, 1570, 1575, 1580, 1585, 1590, 1598, 1603, +- 1608, 1616, 1621, 1622, 1623, 1624, 1625 ++ 0, 370, 370, 374, 375, 376, 391, 392, 393, 394, ++ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, ++ 412, 422, 423, 424, 425, 426, 430, 431, 436, 441, ++ 443, 449, 450, 458, 459, 460, 464, 469, 470, 471, ++ 472, 473, 474, 475, 476, 480, 482, 487, 488, 489, ++ 490, 491, 492, 496, 501, 510, 520, 521, 531, 533, ++ 535, 537, 548, 555, 557, 562, 564, 566, 568, 570, ++ 579, 585, 586, 594, 596, 608, 609, 610, 611, 612, ++ 621, 626, 631, 639, 641, 643, 648, 649, 650, 651, ++ 652, 653, 657, 658, 659, 660, 669, 671, 680, 690, ++ 695, 703, 704, 705, 706, 707, 708, 709, 710, 715, ++ 716, 724, 734, 743, 758, 763, 764, 768, 769, 773, ++ 774, 775, 776, 777, 778, 779, 788, 792, 796, 804, ++ 812, 820, 835, 850, 863, 864, 872, 873, 874, 875, ++ 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, ++ 886, 890, 895, 903, 908, 909, 910, 914, 919, 927, ++ 932, 933, 934, 935, 936, 937, 938, 939, 947, 957, ++ 962, 970, 972, 974, 983, 985, 990, 991, 995, 996, ++ 997, 998, 1006, 1011, 1016, 1024, 1029, 1030, 1031, 1040, ++ 1042, 1047, 1052, 1060, 1062, 1079, 1080, 1081, 1082, 1083, ++ 1084, 1088, 1089, 1090, 1091, 1092, 1093, 1101, 1106, 1111, ++ 1119, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, ++ 1133, 1142, 1143, 1144, 1151, 1158, 1165, 1181, 1200, 1202, ++ 1204, 1206, 1208, 1210, 1217, 1222, 1223, 1224, 1228, 1232, ++ 1241, 1242, 1246, 1247, 1248, 1252, 1263, 1277, 1289, 1294, ++ 1296, 1301, 1302, 1310, 1312, 1320, 1325, 1333, 1358, 1365, ++ 1375, 1376, 1380, 1381, 1382, 1383, 1387, 1388, 1389, 1393, ++ 1398, 1403, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1427, ++ 1432, 1440, 1445, 1453, 1455, 1459, 1464, 1469, 1477, 1482, ++ 1490, 1499, 1500, 1504, 1505, 1514, 1532, 1536, 1541, 1549, ++ 1554, 1555, 1559, 1564, 1572, 1577, 1582, 1587, 1592, 1600, ++ 1605, 1610, 1618, 1623, 1624, 1625, 1626, 1627 + }; + #endif + +@@ -1066,9 +946,9 @@ + "T_Mru", "T_Multicastclient", "T_Nic", "T_Nolink", "T_Nomodify", + "T_Nomrulist", "T_None", "T_Nonvolatile", "T_Nopeer", "T_Noquery", + "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport", +- "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_Panic", "T_Peer", +- "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", "T_Port", +- "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile", ++ "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_PCEdigest", "T_Panic", ++ "T_Peer", "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", ++ "T_Port", "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile", + "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict", + "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar", + "T_Source", "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir", +@@ -1112,13 +992,13 @@ + "sim_init_statement_list", "sim_init_statement", "sim_init_keyword", + "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name", + "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt", +- "sim_act_keyword", YY_NULL ++ "sim_act_keyword", YY_NULLPTR + }; + #endif + + # ifdef YYPRINT +-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to +- token YYLEX-NUM. */ ++/* YYTOKNUM[NUM] -- (External) token number corresponding to the ++ (internal) symbol number NUM (which must be that of a token). */ + static const yytype_uint16 yytoknum[] = + { + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, +@@ -1140,435 +1020,429 @@ + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, +- 445, 446, 447, 448, 449, 450, 451, 61, 40, 41, +- 123, 125 ++ 445, 446, 447, 448, 449, 450, 451, 452, 61, 40, ++ 41, 123, 125 + }; + # endif + +-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +-static const yytype_uint16 yyr1[] = +-{ +- 0, 202, 203, 204, 204, 204, 205, 205, 205, 205, +- 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, +- 206, 207, 207, 207, 207, 207, 208, 208, 209, 210, +- 210, 211, 211, 212, 212, 212, 213, 214, 214, 214, +- 214, 214, 214, 214, 214, 215, 215, 216, 216, 216, +- 216, 216, 216, 217, 218, 219, 220, 220, 221, 221, +- 221, 221, 222, 222, 222, 222, 222, 222, 222, 222, +- 222, 223, 223, 224, 224, 225, 225, 225, 225, 225, +- 226, 227, 227, 228, 228, 228, 229, 229, 229, 229, +- 229, 229, 230, 230, 230, 230, 231, 231, 231, 232, +- 232, 233, 233, 233, 233, 233, 233, 233, 233, 234, +- 234, 235, 235, 235, 235, 236, 236, 237, 237, 238, +- 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, +- 239, 239, 239, 239, 240, 240, 241, 241, 241, 241, +- 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, +- 241, 242, 242, 243, 244, 244, 244, 245, 245, 246, +- 247, 247, 247, 247, 247, 247, 247, 247, 248, 249, +- 249, 250, 250, 250, 250, 250, 251, 251, 252, 252, +- 252, 252, 253, 254, 254, 255, 256, 256, 256, 257, +- 257, 258, 258, 259, 259, 260, 260, 260, 260, 260, +- 260, 261, 261, 261, 261, 261, 262, 263, 263, 264, +- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, +- 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, +- 266, 266, 266, 266, 267, 267, 267, 268, 268, 269, +- 269, 270, 270, 270, 271, 271, 271, 272, 273, 273, +- 274, 274, 275, 275, 276, 276, 277, 278, 278, 279, +- 279, 280, 280, 280, 280, 281, 281, 281, 282, 283, +- 283, 284, 284, 284, 284, 284, 284, 284, 285, 285, +- 286, 286, 287, 287, 288, 289, 289, 290, 290, 291, +- 291, 291, 292, 292, 293, 294, 295, 295, 296, 297, +- 297, 298, 298, 299, 300, 301, 302, 302, 303, 304, +- 304, 305, 306, 306, 306, 306, 306 +-}; ++#define YYPACT_NINF -189 + +-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +-static const yytype_uint8 yyr2[] = ++#define yypact_value_is_default(Yystate) \ ++ (!!((Yystate) == (-189))) ++ ++#define YYTABLE_NINF -7 ++ ++#define yytable_value_is_error(Yytable_value) \ ++ 0 ++ ++ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing ++ STATE-NUM. */ ++static const yytype_int16 yypact[] = + { +- 0, 2, 1, 3, 2, 2, 0, 1, 1, 1, +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +- 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, +- 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, +- 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, +- 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 0, 2, 2, 2, 1, 1, 1, 1, 1, +- 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, +- 1, 1, 1, 1, 1, 1, 2, 2, 3, 2, +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, +- 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, +- 1, 1, 1, 1, 1, 1, 2, 2, 3, 5, +- 3, 4, 4, 3, 0, 2, 1, 1, 1, 1, +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +- 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, +- 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, +- 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, +- 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, +- 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, +- 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +- 1, 1, 2, 2, 2, 2, 3, 1, 2, 2, +- 2, 2, 3, 2, 1, 1, 1, 1, 1, 1, +- 1, 1, 1, 1, 1, 2, 0, 4, 1, 0, +- 0, 2, 2, 2, 2, 1, 1, 3, 3, 1, +- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +- 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, +- 2, 1, 1, 1, 5, 2, 1, 2, 1, 1, +- 1, 1, 1, 1, 5, 1, 3, 2, 3, 1, +- 1, 2, 1, 5, 4, 3, 2, 1, 6, 3, +- 2, 3, 1, 1, 1, 1, 1 ++ 20, -174, -32, -189, -189, -189, -29, -189, 315, 3, ++ -133, -189, 315, -189, 119, -48, -189, -126, -189, -118, ++ -115, -189, -189, -113, -189, -189, -48, -5, 374, -48, ++ -189, -189, -105, -189, -100, -189, -189, 1, 81, 46, ++ 2, -31, -189, -189, -90, 119, -88, -189, 148, 380, ++ -81, -53, 23, -189, -189, -189, 87, 207, -106, -189, ++ -48, -189, -48, -189, -189, -189, -189, -189, -189, -189, ++ -189, -189, -189, -9, 29, -62, -61, -189, -7, -189, ++ -189, -102, -189, -189, -189, 32, -189, -189, -189, -189, ++ -189, -189, -189, -189, -189, -189, -189, -189, 315, -189, ++ -189, -189, -189, -189, -189, 3, -189, 42, 78, -189, ++ 315, -189, -189, -189, -189, -189, -189, -189, -189, -189, ++ -189, -189, -189, 112, -189, -39, 367, -189, -189, -189, ++ -113, -189, -189, -48, -189, -189, -189, -189, -189, -189, ++ -189, -189, -189, 374, -189, 60, -48, -189, -189, -34, ++ -189, -189, -189, -189, -189, -189, -189, -189, 81, -189, ++ -189, 97, 102, -189, -189, 44, -189, -189, -189, -189, ++ -31, -189, 71, -63, -189, 119, -189, -189, -189, -189, ++ -189, -189, -189, -189, -189, -189, -189, -189, 148, -189, ++ -9, -189, -189, -36, -189, -189, -189, -189, -189, -189, ++ -189, -189, 380, -189, 75, -9, -189, -189, 76, -53, ++ -189, -189, -189, 77, -189, -43, -189, -189, -189, -189, ++ -189, -189, -189, -189, -189, -189, -189, -189, 0, -150, ++ -189, -189, -189, -189, -189, 89, -189, -6, -189, -189, ++ -189, -189, 39, 13, -189, -189, -189, -189, 15, 99, ++ -189, -189, 112, -189, -9, -36, -189, -189, -189, -189, ++ -189, -189, -189, -189, 475, -189, -189, 475, 475, -81, ++ -189, -189, 18, -189, -189, -189, -189, -189, -189, -189, ++ -189, -189, -189, -58, 144, -189, -189, -189, 353, -189, ++ -189, -189, -189, -189, -189, -189, -189, -96, -3, -13, ++ -189, -189, -189, -189, 27, -189, -189, 11, -189, -189, ++ -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, ++ -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, ++ -189, -189, -189, 475, 475, -189, 163, -81, 133, -189, ++ 141, -189, -189, -189, -189, -189, -189, -189, -189, -189, ++ -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, ++ -52, -189, 45, 5, 19, -125, -189, 8, -189, -9, ++ -189, -189, -189, -189, -189, -189, -189, -189, -189, 475, ++ -189, -189, -189, -189, 14, -189, -189, -189, -48, -189, ++ -189, -189, 22, -189, -189, -189, 21, 24, -9, 36, ++ -164, -189, 33, -9, -189, -189, -189, 10, 69, -189, ++ -189, -189, -189, -189, 31, 48, 40, -189, 52, -189, ++ -9, -189, -189 + }; + +-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. +- Performed when YYTABLE doesn't specify something else to do. Zero +- means the default is an error. */ ++ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. ++ Performed when YYTABLE does not specify something else to do. Zero ++ means the default is an error. */ + static const yytype_uint16 yydefact[] = + { +- 0, 0, 0, 24, 58, 234, 0, 71, 0, 0, +- 246, 237, 0, 227, 0, 0, 239, 0, 259, 0, +- 0, 240, 238, 0, 241, 25, 0, 0, 0, 0, +- 260, 235, 0, 23, 0, 242, 22, 0, 0, 0, +- 0, 0, 243, 21, 0, 0, 0, 236, 0, 0, +- 0, 0, 0, 56, 57, 295, 0, 2, 0, 7, ++ 0, 0, 0, 24, 58, 235, 0, 71, 0, 0, ++ 247, 238, 0, 228, 0, 0, 240, 0, 260, 0, ++ 0, 241, 239, 0, 242, 25, 0, 0, 0, 0, ++ 261, 236, 0, 23, 0, 243, 22, 0, 0, 0, ++ 0, 0, 244, 21, 0, 0, 0, 237, 0, 0, ++ 0, 0, 0, 56, 57, 296, 0, 2, 0, 7, + 0, 8, 0, 9, 10, 13, 11, 12, 14, 15, +- 16, 17, 18, 0, 0, 0, 0, 220, 0, 221, ++ 16, 17, 18, 0, 0, 0, 0, 221, 0, 222, + 19, 0, 5, 62, 63, 64, 195, 196, 197, 198, +- 201, 199, 200, 202, 203, 204, 205, 190, 192, 193, +- 194, 154, 155, 156, 126, 152, 0, 244, 228, 189, +- 101, 102, 103, 104, 108, 105, 106, 107, 109, 29, +- 30, 28, 0, 26, 0, 6, 65, 66, 256, 229, +- 255, 288, 59, 61, 160, 161, 162, 163, 164, 165, +- 166, 167, 127, 158, 0, 60, 70, 286, 230, 67, +- 271, 272, 273, 274, 275, 276, 277, 268, 270, 134, +- 29, 30, 134, 134, 26, 68, 188, 186, 187, 182, +- 184, 0, 0, 231, 96, 100, 97, 210, 211, 212, +- 213, 214, 215, 216, 217, 218, 219, 206, 208, 0, +- 91, 86, 0, 87, 95, 93, 94, 92, 90, 88, +- 89, 80, 82, 0, 0, 250, 282, 0, 69, 281, +- 283, 279, 233, 1, 0, 4, 31, 55, 293, 292, +- 222, 223, 224, 225, 267, 266, 265, 0, 0, 79, +- 75, 76, 77, 78, 0, 72, 0, 191, 151, 153, +- 245, 98, 0, 178, 179, 180, 181, 0, 0, 176, +- 177, 168, 170, 0, 0, 27, 226, 254, 287, 157, +- 159, 285, 269, 130, 134, 134, 133, 128, 0, 183, +- 185, 0, 99, 207, 209, 291, 289, 290, 85, 81, +- 83, 84, 232, 0, 280, 278, 3, 20, 261, 262, +- 263, 258, 264, 257, 299, 300, 0, 0, 0, 74, +- 73, 118, 117, 0, 115, 116, 0, 110, 113, 114, +- 174, 175, 173, 169, 171, 172, 136, 137, 138, 139, +- 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, +- 150, 135, 131, 132, 134, 249, 0, 0, 251, 0, +- 37, 38, 39, 54, 47, 49, 48, 51, 40, 41, +- 42, 43, 50, 52, 44, 32, 33, 36, 34, 0, +- 35, 0, 0, 0, 0, 302, 0, 297, 0, 111, +- 125, 121, 123, 119, 120, 122, 124, 112, 129, 248, +- 247, 253, 252, 0, 45, 46, 53, 0, 296, 294, +- 301, 0, 298, 284, 305, 0, 0, 0, 0, 0, +- 307, 0, 0, 303, 306, 304, 0, 0, 312, 313, +- 314, 315, 316, 0, 0, 0, 308, 0, 310, 0, +- 309, 311 ++ 201, 199, 200, 202, 203, 204, 205, 206, 190, 192, ++ 193, 194, 154, 155, 156, 126, 152, 0, 245, 229, ++ 189, 101, 102, 103, 104, 108, 105, 106, 107, 109, ++ 29, 30, 28, 0, 26, 0, 6, 65, 66, 257, ++ 230, 256, 289, 59, 61, 160, 161, 162, 163, 164, ++ 165, 166, 167, 127, 158, 0, 60, 70, 287, 231, ++ 67, 272, 273, 274, 275, 276, 277, 278, 269, 271, ++ 134, 29, 30, 134, 134, 26, 68, 188, 186, 187, ++ 182, 184, 0, 0, 232, 96, 100, 97, 211, 212, ++ 213, 214, 215, 216, 217, 218, 219, 220, 207, 209, ++ 0, 91, 86, 0, 87, 95, 93, 94, 92, 90, ++ 88, 89, 80, 82, 0, 0, 251, 283, 0, 69, ++ 282, 284, 280, 234, 1, 0, 4, 31, 55, 294, ++ 293, 223, 224, 225, 226, 268, 267, 266, 0, 0, ++ 79, 75, 76, 77, 78, 0, 72, 0, 191, 151, ++ 153, 246, 98, 0, 178, 179, 180, 181, 0, 0, ++ 176, 177, 168, 170, 0, 0, 27, 227, 255, 288, ++ 157, 159, 286, 270, 130, 134, 134, 133, 128, 0, ++ 183, 185, 0, 99, 208, 210, 292, 290, 291, 85, ++ 81, 83, 84, 233, 0, 281, 279, 3, 20, 262, ++ 263, 264, 259, 265, 258, 300, 301, 0, 0, 0, ++ 74, 73, 118, 117, 0, 115, 116, 0, 110, 113, ++ 114, 174, 175, 173, 169, 171, 172, 136, 137, 138, ++ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, ++ 149, 150, 135, 131, 132, 134, 250, 0, 0, 252, ++ 0, 37, 38, 39, 54, 47, 49, 48, 51, 40, ++ 41, 42, 43, 50, 52, 44, 32, 33, 36, 34, ++ 0, 35, 0, 0, 0, 0, 303, 0, 298, 0, ++ 111, 125, 121, 123, 119, 120, 122, 124, 112, 129, ++ 249, 248, 254, 253, 0, 45, 46, 53, 0, 297, ++ 295, 302, 0, 299, 285, 306, 0, 0, 0, 0, ++ 0, 308, 0, 0, 304, 307, 305, 0, 0, 313, ++ 314, 315, 316, 317, 0, 0, 0, 309, 0, 311, ++ 0, 310, 312 + }; + +-/* YYDEFGOTO[NTERM-NUM]. */ +-static const yytype_int16 yydefgoto[] = ++ /* YYPGOTO[NTERM-NUM]. */ ++static const yytype_int16 yypgoto[] = + { +- -1, 56, 57, 58, 59, 60, 131, 123, 124, 287, +- 355, 356, 357, 358, 359, 360, 361, 61, 62, 63, +- 64, 85, 235, 236, 65, 201, 202, 203, 204, 66, +- 174, 118, 241, 307, 308, 309, 377, 67, 263, 331, +- 104, 105, 106, 142, 143, 144, 68, 251, 252, 253, +- 254, 69, 169, 170, 171, 70, 97, 98, 99, 100, +- 71, 187, 188, 189, 72, 73, 74, 75, 76, 108, +- 173, 380, 282, 338, 129, 130, 77, 78, 293, 227, +- 79, 157, 158, 212, 208, 209, 210, 148, 132, 278, +- 220, 80, 81, 296, 297, 298, 364, 365, 396, 366, +- 399, 400, 413, 414, 415 ++ -189, -189, -189, -41, -189, -189, -15, -38, -189, -189, ++ -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, ++ -189, -189, -189, -189, -189, -189, 16, -189, -189, -189, ++ -189, -35, -189, -189, -189, -189, -189, -189, -157, -189, ++ -189, 138, -189, -189, 106, -189, -189, -189, -2, -189, ++ -189, -189, -189, 83, -189, -189, 239, -79, -189, -189, ++ -189, -189, 66, -189, -189, -189, -189, -189, -189, -189, ++ -189, -189, -189, -189, -189, 126, -189, -189, -189, -189, ++ -189, -189, 101, -189, -189, 51, -189, -189, 242, 17, ++ -188, -189, -189, -189, -24, -189, -189, -97, -189, -189, ++ -189, -123, -189, -130, -189 + }; + +-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing +- STATE-NUM. */ +-#define YYPACT_NINF -188 +-static const yytype_int16 yypact[] = ++ /* YYDEFGOTO[NTERM-NUM]. */ ++static const yytype_int16 yydefgoto[] = + { +- 5, -160, -28, -188, -188, -188, -24, -188, 60, 0, +- -119, -188, 60, -188, 118, 7, -188, -117, -188, -110, +- -108, -188, -188, -101, -188, -188, 7, -1, 345, 7, +- -188, -188, -96, -188, -95, -188, -188, 21, -3, 73, +- 33, 11, -188, -188, -94, 118, -61, -188, 43, 446, +- -57, -58, 41, -188, -188, -188, 105, 179, -79, -188, +- 7, -188, 7, -188, -188, -188, -188, -188, -188, -188, +- -188, -188, -188, -7, 48, -48, -39, -188, 24, -188, +- -188, -86, -188, -188, -188, 42, -188, -188, -188, -188, +- -188, -188, -188, -188, -188, -188, -188, 60, -188, -188, +- -188, -188, -188, -188, 0, -188, 59, 89, -188, 60, +- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, +- -188, -188, 80, -188, 9, 338, -188, -188, -188, -101, +- -188, -188, 7, -188, -188, -188, -188, -188, -188, -188, +- -188, -188, 345, -188, 67, 7, -188, -188, 12, -188, +- -188, -188, -188, -188, -188, -188, -188, -3, -188, -188, +- 107, 116, -188, -188, 83, -188, -188, -188, -188, 11, +- -188, 113, -20, -188, 118, -188, -188, -188, -188, -188, +- -188, -188, -188, -188, -188, -188, -188, 43, -188, -7, +- -188, -188, -25, -188, -188, -188, -188, -188, -188, -188, +- -188, 446, -188, 127, -7, -188, -188, 129, -58, -188, +- -188, -188, 142, -188, 19, -188, -188, -188, -188, -188, +- -188, -188, -188, -188, -188, -188, -188, 4, -158, -188, +- -188, -188, -188, -188, 145, -188, 49, -188, -188, -188, +- -188, 233, 55, -188, -188, -188, -188, 64, 157, -188, +- -188, 80, -188, -7, -25, -188, -188, -188, -188, -188, +- -188, -188, -188, 445, -188, -188, 445, 445, -57, -188, +- -188, 82, -188, -188, -188, -188, -188, -188, -188, -188, +- -188, -188, -44, 202, -188, -188, -188, 324, -188, -188, +- -188, -188, -188, -188, -188, -188, -30, 58, 50, -188, +- -188, -188, -188, 88, -188, -188, 3, -188, -188, -188, +- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, +- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, +- -188, -188, 445, 445, -188, 221, -57, 188, -188, 191, +- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, +- -188, -188, -188, -188, -188, -188, -188, -188, -188, -51, +- -188, 99, 61, 75, -114, -188, 65, -188, -7, -188, +- -188, -188, -188, -188, -188, -188, -188, -188, 445, -188, +- -188, -188, -188, 68, -188, -188, -188, 7, -188, -188, +- -188, 76, -188, -188, -188, 71, 78, -7, 74, -178, +- -188, 90, -7, -188, -188, -188, 77, 32, -188, -188, +- -188, -188, -188, 101, 93, 84, -188, 94, -188, -7, +- -188, -188 ++ -1, 56, 57, 58, 59, 60, 132, 124, 125, 288, ++ 356, 357, 358, 359, 360, 361, 362, 61, 62, 63, ++ 64, 85, 236, 237, 65, 202, 203, 204, 205, 66, ++ 175, 119, 242, 308, 309, 310, 378, 67, 264, 332, ++ 105, 106, 107, 143, 144, 145, 68, 252, 253, 254, ++ 255, 69, 170, 171, 172, 70, 98, 99, 100, 101, ++ 71, 188, 189, 190, 72, 73, 74, 75, 76, 109, ++ 174, 381, 283, 339, 130, 131, 77, 78, 294, 228, ++ 79, 158, 159, 213, 209, 210, 211, 149, 133, 279, ++ 221, 80, 81, 297, 298, 299, 365, 366, 397, 367, ++ 400, 401, 414, 415, 416 + }; + +-/* YYPGOTO[NTERM-NUM]. */ +-static const yytype_int16 yypgoto[] = +-{ +- -188, -188, -188, -41, -188, -188, -15, -38, -188, -188, +- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, +- -188, -188, -188, -188, -188, -188, 81, -188, -188, -188, +- -188, -37, -188, -188, -188, -188, -188, -188, -111, -188, +- -188, 170, -188, -188, 133, -188, -188, -188, 37, -188, +- -188, -188, -188, 115, -188, -188, 277, -53, -188, -188, +- -188, -188, 103, -188, -188, -188, -188, -188, -188, -188, +- -188, -188, -188, -188, -188, 162, -188, -188, -188, -188, +- -188, -188, 143, -188, -188, 91, -188, -188, 274, 52, +- -187, -188, -188, -188, 8, -188, -188, -56, -188, -188, +- -188, -87, -188, -100, -188 +-}; +- +-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If +- positive, shift that token. If negative, reduce the rule which +- number is the opposite. If YYTABLE_NINF, syntax error. */ +-#define YYTABLE_NINF -7 ++ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If ++ positive, shift that token. If negative, reduce the rule whose ++ number is the opposite. If YYTABLE_NINF, syntax error. */ + static const yytype_int16 yytable[] = + { +- 122, 164, 274, 206, 150, 151, 1, 370, 175, 288, +- 384, 101, 205, 398, 275, 2, 214, 281, 336, 3, +- 4, 5, 152, 403, 163, 218, 82, 6, 7, 371, +- 294, 295, 362, 83, 8, 9, 276, 84, 10, 107, +- 11, 125, 12, 13, 237, 216, 14, 217, 126, 177, +- 127, 266, 267, 166, 219, 15, 237, 128, 224, 16, +- 133, 153, 146, 147, 172, 17, 314, 18, 86, 289, +- 229, 290, 87, 119, 178, 120, 19, 20, 88, 225, +- 21, 22, 149, 242, 256, 23, 24, 389, 337, 25, +- 26, 154, 179, 230, 165, 180, 231, 176, 27, 102, +- 159, 121, 211, 226, 103, 213, 167, 215, 372, 221, +- 222, 28, 29, 30, 228, 373, 362, 258, 31, 223, +- 239, 240, 385, 243, 244, 245, 246, 32, 260, 89, +- 258, 33, 374, 34, 264, 35, 36, 272, 110, 160, +- 207, 161, 111, 265, 277, 37, 38, 39, 40, 41, +- 42, 43, 44, 332, 333, 45, 155, 46, 294, 295, +- 168, 156, 291, 90, 91, 121, 47, 255, 181, 268, +- 261, 48, 49, 50, 270, 51, 52, 271, 232, 233, +- 92, 392, 53, 54, 375, 234, 292, 376, 280, 2, +- 283, -6, 55, 3, 4, 5, 182, 183, 184, 185, +- 112, 6, 7, 285, 186, 286, 299, 300, 8, 9, +- 401, 93, 10, 310, 11, 406, 12, 13, 312, 247, +- 14, 162, 311, 378, 408, 409, 410, 411, 412, 15, +- 334, 121, 421, 16, 94, 95, 96, 248, 339, 17, +- 335, 18, 249, 250, 367, 113, 369, 368, 379, 382, +- 19, 20, 383, 114, 21, 22, 115, 386, 387, 23, +- 24, 388, 301, 25, 26, 391, 395, 393, 397, 398, +- 302, 402, 27, 303, 238, 259, 405, 407, 116, 418, +- 420, 419, 279, 117, 269, 28, 29, 30, 313, 109, +- 273, 257, 31, 408, 409, 410, 411, 412, 381, 284, +- 262, 32, 416, 145, 363, 33, 315, 34, 390, 35, +- 36, 304, 404, 417, 0, 0, 0, 0, 0, 37, +- 38, 39, 40, 41, 42, 43, 44, 0, 0, 45, +- 0, 46, 0, 340, 0, 0, 0, 0, 0, 0, +- 47, 341, 305, 0, 0, 48, 49, 50, 2, 51, +- 52, 0, 3, 4, 5, 0, 53, 54, 0, 0, +- 6, 7, 0, 0, 0, -6, 55, 8, 9, 0, +- 0, 10, 394, 11, 0, 12, 13, 342, 343, 14, +- 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, +- 0, 0, 16, 0, 344, 0, 0, 0, 17, 0, +- 18, 134, 135, 136, 137, 306, 0, 0, 0, 19, +- 20, 0, 0, 21, 22, 0, 345, 0, 23, 24, +- 0, 0, 25, 26, 346, 0, 347, 0, 0, 0, +- 0, 27, 138, 0, 139, 0, 140, 0, 0, 0, +- 348, 0, 141, 0, 28, 29, 30, 0, 0, 0, +- 0, 31, 0, 0, 0, 0, 0, 349, 350, 190, +- 32, 0, 0, 0, 33, 191, 34, 192, 35, 36, ++ 123, 165, 275, 276, 337, 289, 267, 268, 207, 385, ++ 176, 167, 206, 82, 102, 371, 215, 282, 120, 238, ++ 121, 1, 363, 219, 164, 277, 108, 225, 399, 83, ++ 2, 238, 84, 126, 3, 4, 5, 372, 404, 295, ++ 296, 127, 6, 7, 128, 217, 129, 218, 226, 8, ++ 9, 363, 220, 10, 147, 11, 134, 12, 13, 148, ++ 230, 14, 150, 166, 168, 290, 315, 291, 302, 173, ++ 15, 177, 227, 160, 16, 338, 303, 390, 122, 304, ++ 17, 216, 18, 231, 212, 257, 232, 214, 151, 152, ++ 222, 19, 20, 295, 296, 21, 22, 223, 224, 229, ++ 23, 24, 103, 240, 25, 26, 153, 104, 333, 334, ++ 241, 122, 161, 27, 162, 243, 373, 305, 259, 169, ++ 256, 261, 386, 374, 265, 262, 28, 29, 30, 266, ++ 269, 259, 271, 31, 278, 272, 281, 284, 286, 111, ++ 273, 375, 32, 112, 287, 154, 208, 33, 306, 34, ++ 300, 35, 36, 301, 178, 244, 245, 246, 247, 292, ++ 313, 37, 38, 39, 40, 41, 42, 43, 44, 233, ++ 234, 45, 311, 46, 312, 155, 235, 336, 379, 179, ++ 340, 393, 47, 293, 368, 369, 370, 48, 49, 50, ++ 380, 51, 52, 376, 383, 163, 377, 180, 53, 54, ++ 181, 113, 384, 388, 387, 122, 389, -6, 55, 392, ++ 402, 408, 307, 396, 394, 407, 399, 2, 280, 398, ++ 406, 3, 4, 5, 409, 410, 411, 412, 413, 6, ++ 7, 335, 422, 417, 403, 419, 8, 9, 420, 421, ++ 10, 156, 11, 239, 12, 13, 157, 114, 14, 260, ++ 314, 110, 248, 270, 274, 115, 258, 15, 116, 263, ++ 285, 16, 409, 410, 411, 412, 413, 17, 391, 18, ++ 249, 146, 316, 364, 182, 250, 251, 405, 19, 20, ++ 117, 0, 21, 22, 418, 118, 0, 23, 24, 0, ++ 0, 25, 26, 0, 0, 0, 0, 0, 0, 382, ++ 27, 0, 183, 184, 185, 186, 0, 0, 0, 0, ++ 187, 0, 0, 28, 29, 30, 0, 0, 0, 0, ++ 31, 0, 0, 86, 0, 0, 0, 87, 0, 32, ++ 0, 0, 0, 88, 33, 0, 34, 0, 35, 36, + 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, + 39, 40, 41, 42, 43, 44, 0, 0, 45, 0, +- 46, 0, 316, 351, 193, 352, 0, 0, 0, 47, +- 317, 0, 0, 353, 48, 49, 50, 354, 51, 52, +- 0, 0, 0, 0, 0, 53, 54, 0, 318, 319, +- 0, 0, 320, 0, 0, 55, 0, 0, 321, 0, +- 0, 0, 0, 0, 194, 0, 195, 0, 0, 0, +- 0, 0, 196, 0, 197, 0, 0, 198, 0, 0, +- 0, 0, 0, 0, 0, 322, 323, 0, 0, 324, +- 325, 0, 326, 327, 328, 0, 329, 0, 0, 199, +- 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 46, 0, 341, 0, 0, 0, 0, 0, 0, 47, ++ 342, 0, 0, 395, 48, 49, 50, 2, 51, 52, ++ 0, 3, 4, 5, 89, 53, 54, 0, 0, 6, ++ 7, 0, 0, 191, -6, 55, 8, 9, 0, 192, ++ 10, 193, 11, 0, 12, 13, 343, 344, 14, 0, ++ 0, 0, 0, 0, 0, 0, 0, 15, 90, 91, ++ 0, 16, 0, 345, 0, 0, 0, 17, 194, 18, ++ 135, 136, 137, 138, 0, 92, 0, 0, 19, 20, ++ 93, 0, 21, 22, 0, 346, 0, 23, 24, 0, ++ 0, 25, 26, 347, 0, 348, 0, 0, 0, 0, ++ 27, 139, 0, 140, 0, 141, 0, 94, 195, 349, ++ 196, 142, 0, 28, 29, 30, 197, 0, 198, 0, ++ 31, 199, 0, 0, 0, 0, 0, 350, 351, 32, ++ 95, 96, 97, 0, 33, 0, 34, 0, 35, 36, ++ 0, 0, 0, 200, 201, 0, 0, 0, 37, 38, ++ 39, 40, 41, 42, 43, 44, 0, 0, 45, 0, ++ 46, 0, 317, 352, 0, 353, 0, 0, 0, 47, ++ 318, 0, 0, 354, 48, 49, 50, 355, 51, 52, ++ 0, 0, 0, 0, 0, 53, 54, 0, 319, 320, ++ 0, 0, 321, 0, 0, 55, 0, 0, 322, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 323, 324, 0, 0, 325, ++ 326, 0, 327, 328, 329, 0, 330, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 330 ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 331 + }; + +-#define yypact_value_is_default(Yystate) \ +- (!!((Yystate) == (-188))) +- +-#define yytable_value_is_error(Yytable_value) \ +- YYID (0) +- + static const yytype_int16 yycheck[] = + { +- 15, 39, 189, 61, 7, 8, 1, 4, 45, 5, +- 61, 11, 50, 191, 39, 10, 57, 204, 62, 14, +- 15, 16, 25, 201, 39, 32, 186, 22, 23, 26, +- 188, 189, 146, 61, 29, 30, 61, 61, 33, 158, +- 35, 158, 37, 38, 97, 60, 41, 62, 158, 6, +- 158, 162, 163, 42, 61, 50, 109, 158, 34, 54, +- 61, 64, 158, 158, 158, 60, 253, 62, 8, 65, +- 28, 67, 12, 66, 31, 68, 71, 72, 18, 55, +- 75, 76, 61, 3, 125, 80, 81, 201, 132, 84, +- 85, 94, 49, 51, 61, 52, 54, 158, 93, 99, +- 27, 158, 61, 79, 104, 0, 95, 186, 105, 61, +- 158, 106, 107, 108, 200, 112, 146, 132, 113, 158, +- 61, 32, 173, 43, 44, 45, 46, 122, 61, 69, +- 145, 126, 129, 128, 27, 130, 131, 174, 20, 66, +- 198, 68, 24, 27, 169, 140, 141, 142, 143, 144, +- 145, 146, 147, 264, 265, 150, 159, 152, 188, 189, +- 149, 164, 158, 103, 104, 158, 161, 158, 125, 86, +- 158, 166, 167, 168, 61, 170, 171, 197, 136, 137, +- 120, 368, 177, 178, 181, 143, 182, 184, 61, 10, +- 61, 186, 187, 14, 15, 16, 153, 154, 155, 156, +- 82, 22, 23, 61, 161, 186, 61, 158, 29, 30, +- 397, 151, 33, 158, 35, 402, 37, 38, 61, 139, +- 41, 148, 158, 334, 192, 193, 194, 195, 196, 50, +- 268, 158, 419, 54, 174, 175, 176, 157, 36, 60, +- 158, 62, 162, 163, 186, 127, 158, 197, 27, 61, +- 71, 72, 61, 135, 75, 76, 138, 158, 197, 80, +- 81, 186, 29, 84, 85, 200, 190, 199, 197, 191, +- 37, 197, 93, 40, 104, 142, 186, 200, 160, 186, +- 186, 197, 201, 165, 169, 106, 107, 108, 251, 12, +- 187, 129, 113, 192, 193, 194, 195, 196, 336, 208, +- 157, 122, 201, 29, 296, 126, 254, 128, 364, 130, +- 131, 78, 399, 413, -1, -1, -1, -1, -1, 140, +- 141, 142, 143, 144, 145, 146, 147, -1, -1, 150, +- -1, 152, -1, 9, -1, -1, -1, -1, -1, -1, +- 161, 17, 109, -1, -1, 166, 167, 168, 10, 170, +- 171, -1, 14, 15, 16, -1, 177, 178, -1, -1, +- 22, 23, -1, -1, -1, 186, 187, 29, 30, -1, +- -1, 33, 387, 35, -1, 37, 38, 53, 54, 41, +- -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, +- -1, -1, 54, -1, 70, -1, -1, -1, 60, -1, +- 62, 56, 57, 58, 59, 172, -1, -1, -1, 71, +- 72, -1, -1, 75, 76, -1, 92, -1, 80, 81, +- -1, -1, 84, 85, 100, -1, 102, -1, -1, -1, +- -1, 93, 87, -1, 89, -1, 91, -1, -1, -1, +- 116, -1, 97, -1, 106, 107, 108, -1, -1, -1, +- -1, 113, -1, -1, -1, -1, -1, 133, 134, 13, +- 122, -1, -1, -1, 126, 19, 128, 21, 130, 131, +- -1, -1, -1, -1, -1, -1, -1, -1, 140, 141, +- 142, 143, 144, 145, 146, 147, -1, -1, 150, -1, +- 152, -1, 47, 169, 48, 171, -1, -1, -1, 161, +- 55, -1, -1, 179, 166, 167, 168, 183, 170, 171, +- -1, -1, -1, -1, -1, 177, 178, -1, 73, 74, +- -1, -1, 77, -1, -1, 187, -1, -1, 83, -1, +- -1, -1, -1, -1, 88, -1, 90, -1, -1, -1, +- -1, -1, 96, -1, 98, -1, -1, 101, -1, -1, ++ 15, 39, 190, 39, 62, 5, 163, 164, 61, 61, ++ 45, 42, 50, 187, 11, 4, 57, 205, 66, 98, ++ 68, 1, 147, 32, 39, 61, 159, 34, 192, 61, ++ 10, 110, 61, 159, 14, 15, 16, 26, 202, 189, ++ 190, 159, 22, 23, 159, 60, 159, 62, 55, 29, ++ 30, 147, 61, 33, 159, 35, 61, 37, 38, 159, ++ 28, 41, 61, 61, 95, 65, 254, 67, 29, 159, ++ 50, 159, 79, 27, 54, 133, 37, 202, 159, 40, ++ 60, 187, 62, 51, 61, 126, 54, 0, 7, 8, ++ 61, 71, 72, 189, 190, 75, 76, 159, 159, 201, ++ 80, 81, 99, 61, 84, 85, 25, 104, 265, 266, ++ 32, 159, 66, 93, 68, 3, 105, 78, 133, 150, ++ 159, 61, 174, 112, 27, 159, 106, 107, 108, 27, ++ 86, 146, 61, 113, 170, 198, 61, 61, 61, 20, ++ 175, 130, 122, 24, 187, 64, 199, 127, 109, 129, ++ 61, 131, 132, 159, 6, 43, 44, 45, 46, 159, ++ 61, 141, 142, 143, 144, 145, 146, 147, 148, 137, ++ 138, 151, 159, 153, 159, 94, 144, 159, 335, 31, ++ 36, 369, 162, 183, 187, 198, 159, 167, 168, 169, ++ 27, 171, 172, 182, 61, 149, 185, 49, 178, 179, ++ 52, 82, 61, 198, 159, 159, 187, 187, 188, 201, ++ 398, 201, 173, 191, 200, 403, 192, 10, 202, 198, ++ 187, 14, 15, 16, 193, 194, 195, 196, 197, 22, ++ 23, 269, 420, 202, 198, 187, 29, 30, 198, 187, ++ 33, 160, 35, 105, 37, 38, 165, 128, 41, 143, ++ 252, 12, 140, 170, 188, 136, 130, 50, 139, 158, ++ 209, 54, 193, 194, 195, 196, 197, 60, 365, 62, ++ 158, 29, 255, 297, 126, 163, 164, 400, 71, 72, ++ 161, -1, 75, 76, 414, 166, -1, 80, 81, -1, ++ -1, 84, 85, -1, -1, -1, -1, -1, -1, 337, ++ 93, -1, 154, 155, 156, 157, -1, -1, -1, -1, ++ 162, -1, -1, 106, 107, 108, -1, -1, -1, -1, ++ 113, -1, -1, 8, -1, -1, -1, 12, -1, 122, ++ -1, -1, -1, 18, 127, -1, 129, -1, 131, 132, ++ -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, ++ 143, 144, 145, 146, 147, 148, -1, -1, 151, -1, ++ 153, -1, 9, -1, -1, -1, -1, -1, -1, 162, ++ 17, -1, -1, 388, 167, 168, 169, 10, 171, 172, ++ -1, 14, 15, 16, 69, 178, 179, -1, -1, 22, ++ 23, -1, -1, 13, 187, 188, 29, 30, -1, 19, ++ 33, 21, 35, -1, 37, 38, 53, 54, 41, -1, ++ -1, -1, -1, -1, -1, -1, -1, 50, 103, 104, ++ -1, 54, -1, 70, -1, -1, -1, 60, 48, 62, ++ 56, 57, 58, 59, -1, 120, -1, -1, 71, 72, ++ 125, -1, 75, 76, -1, 92, -1, 80, 81, -1, ++ -1, 84, 85, 100, -1, 102, -1, -1, -1, -1, ++ 93, 87, -1, 89, -1, 91, -1, 152, 88, 116, ++ 90, 97, -1, 106, 107, 108, 96, -1, 98, -1, ++ 113, 101, -1, -1, -1, -1, -1, 134, 135, 122, ++ 175, 176, 177, -1, 127, -1, 129, -1, 131, 132, ++ -1, -1, -1, 123, 124, -1, -1, -1, 141, 142, ++ 143, 144, 145, 146, 147, 148, -1, -1, 151, -1, ++ 153, -1, 47, 170, -1, 172, -1, -1, -1, 162, ++ 55, -1, -1, 180, 167, 168, 169, 184, 171, 172, ++ -1, -1, -1, -1, -1, 178, 179, -1, 73, 74, ++ -1, -1, 77, -1, -1, 188, -1, -1, 83, -1, ++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 110, 111, -1, -1, 114, +- 115, -1, 117, 118, 119, -1, 121, -1, -1, 123, +- 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, ++ 115, -1, 117, 118, 119, -1, 121, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, +- -1, -1, -1, -1, 179 ++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ++ -1, -1, -1, -1, -1, 180 + }; + +-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing +- symbol of state STATE-NUM. */ ++ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing ++ symbol of state STATE-NUM. */ + static const yytype_uint16 yystos[] = + { + 0, 1, 10, 14, 15, 16, 22, 23, 29, 30, + 33, 35, 37, 38, 41, 50, 54, 60, 62, 71, + 72, 75, 76, 80, 81, 84, 85, 93, 106, 107, +- 108, 113, 122, 126, 128, 130, 131, 140, 141, 142, +- 143, 144, 145, 146, 147, 150, 152, 161, 166, 167, +- 168, 170, 171, 177, 178, 187, 203, 204, 205, 206, +- 207, 219, 220, 221, 222, 226, 231, 239, 248, 253, +- 257, 262, 266, 267, 268, 269, 270, 278, 279, 282, +- 293, 294, 186, 61, 61, 223, 8, 12, 18, 69, +- 103, 104, 120, 151, 174, 175, 176, 258, 259, 260, +- 261, 11, 99, 104, 242, 243, 244, 158, 271, 258, +- 20, 24, 82, 127, 135, 138, 160, 165, 233, 66, +- 68, 158, 208, 209, 210, 158, 158, 158, 158, 276, +- 277, 208, 290, 61, 56, 57, 58, 59, 87, 89, +- 91, 97, 245, 246, 247, 290, 158, 158, 289, 61, +- 7, 8, 25, 64, 94, 159, 164, 283, 284, 27, +- 66, 68, 148, 208, 209, 61, 42, 95, 149, 254, +- 255, 256, 158, 272, 232, 233, 158, 6, 31, 49, +- 52, 125, 153, 154, 155, 156, 161, 263, 264, 265, +- 13, 19, 21, 48, 88, 90, 96, 98, 101, 123, +- 124, 227, 228, 229, 230, 209, 61, 198, 286, 287, +- 288, 61, 285, 0, 205, 186, 208, 208, 32, 61, +- 292, 61, 158, 158, 34, 55, 79, 281, 200, 28, +- 51, 54, 136, 137, 143, 224, 225, 259, 243, 61, +- 32, 234, 3, 43, 44, 45, 46, 139, 157, 162, +- 163, 249, 250, 251, 252, 158, 205, 277, 208, 246, +- 61, 158, 284, 240, 27, 27, 240, 240, 86, 255, +- 61, 197, 233, 264, 292, 39, 61, 169, 291, 228, +- 61, 292, 274, 61, 287, 61, 186, 211, 5, 65, +- 67, 158, 182, 280, 188, 189, 295, 296, 297, 61, +- 158, 29, 37, 40, 78, 109, 172, 235, 236, 237, +- 158, 158, 61, 250, 292, 291, 47, 55, 73, 74, +- 77, 83, 110, 111, 114, 115, 117, 118, 119, 121, +- 179, 241, 240, 240, 209, 158, 62, 132, 275, 36, +- 9, 17, 53, 54, 70, 92, 100, 102, 116, 133, +- 134, 169, 171, 179, 183, 212, 213, 214, 215, 216, +- 217, 218, 146, 296, 298, 299, 301, 186, 197, 158, +- 4, 26, 105, 112, 129, 181, 184, 238, 240, 27, +- 273, 209, 61, 61, 61, 173, 158, 197, 186, 201, +- 299, 200, 292, 199, 208, 190, 300, 197, 191, 302, +- 303, 292, 197, 201, 303, 186, 292, 200, 192, 193, +- 194, 195, 196, 304, 305, 306, 201, 305, 186, 197, +- 186, 292 ++ 108, 113, 122, 127, 129, 131, 132, 141, 142, 143, ++ 144, 145, 146, 147, 148, 151, 153, 162, 167, 168, ++ 169, 171, 172, 178, 179, 188, 204, 205, 206, 207, ++ 208, 220, 221, 222, 223, 227, 232, 240, 249, 254, ++ 258, 263, 267, 268, 269, 270, 271, 279, 280, 283, ++ 294, 295, 187, 61, 61, 224, 8, 12, 18, 69, ++ 103, 104, 120, 125, 152, 175, 176, 177, 259, 260, ++ 261, 262, 11, 99, 104, 243, 244, 245, 159, 272, ++ 259, 20, 24, 82, 128, 136, 139, 161, 166, 234, ++ 66, 68, 159, 209, 210, 211, 159, 159, 159, 159, ++ 277, 278, 209, 291, 61, 56, 57, 58, 59, 87, ++ 89, 91, 97, 246, 247, 248, 291, 159, 159, 290, ++ 61, 7, 8, 25, 64, 94, 160, 165, 284, 285, ++ 27, 66, 68, 149, 209, 210, 61, 42, 95, 150, ++ 255, 256, 257, 159, 273, 233, 234, 159, 6, 31, ++ 49, 52, 126, 154, 155, 156, 157, 162, 264, 265, ++ 266, 13, 19, 21, 48, 88, 90, 96, 98, 101, ++ 123, 124, 228, 229, 230, 231, 210, 61, 199, 287, ++ 288, 289, 61, 286, 0, 206, 187, 209, 209, 32, ++ 61, 293, 61, 159, 159, 34, 55, 79, 282, 201, ++ 28, 51, 54, 137, 138, 144, 225, 226, 260, 244, ++ 61, 32, 235, 3, 43, 44, 45, 46, 140, 158, ++ 163, 164, 250, 251, 252, 253, 159, 206, 278, 209, ++ 247, 61, 159, 285, 241, 27, 27, 241, 241, 86, ++ 256, 61, 198, 234, 265, 293, 39, 61, 170, 292, ++ 229, 61, 293, 275, 61, 288, 61, 187, 212, 5, ++ 65, 67, 159, 183, 281, 189, 190, 296, 297, 298, ++ 61, 159, 29, 37, 40, 78, 109, 173, 236, 237, ++ 238, 159, 159, 61, 251, 293, 292, 47, 55, 73, ++ 74, 77, 83, 110, 111, 114, 115, 117, 118, 119, ++ 121, 180, 242, 241, 241, 210, 159, 62, 133, 276, ++ 36, 9, 17, 53, 54, 70, 92, 100, 102, 116, ++ 134, 135, 170, 172, 180, 184, 213, 214, 215, 216, ++ 217, 218, 219, 147, 297, 299, 300, 302, 187, 198, ++ 159, 4, 26, 105, 112, 130, 182, 185, 239, 241, ++ 27, 274, 210, 61, 61, 61, 174, 159, 198, 187, ++ 202, 300, 201, 293, 200, 209, 191, 301, 198, 192, ++ 303, 304, 293, 198, 202, 304, 187, 293, 201, 193, ++ 194, 195, 196, 197, 305, 306, 307, 202, 306, 187, ++ 198, 187, 293 + }; + +-#define yyerrok (yyerrstatus = 0) +-#define yyclearin (yychar = YYEMPTY) +-#define YYEMPTY (-2) +-#define YYEOF 0 ++ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ++static const yytype_uint16 yyr1[] = ++{ ++ 0, 203, 204, 205, 205, 205, 206, 206, 206, 206, ++ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, ++ 207, 208, 208, 208, 208, 208, 209, 209, 210, 211, ++ 211, 212, 212, 213, 213, 213, 214, 215, 215, 215, ++ 215, 215, 215, 215, 215, 216, 216, 217, 217, 217, ++ 217, 217, 217, 218, 219, 220, 221, 221, 222, 222, ++ 222, 222, 223, 223, 223, 223, 223, 223, 223, 223, ++ 223, 224, 224, 225, 225, 226, 226, 226, 226, 226, ++ 227, 228, 228, 229, 229, 229, 230, 230, 230, 230, ++ 230, 230, 231, 231, 231, 231, 232, 232, 232, 233, ++ 233, 234, 234, 234, 234, 234, 234, 234, 234, 235, ++ 235, 236, 236, 236, 236, 237, 237, 238, 238, 239, ++ 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, ++ 240, 240, 240, 240, 241, 241, 242, 242, 242, 242, ++ 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, ++ 242, 243, 243, 244, 245, 245, 245, 246, 246, 247, ++ 248, 248, 248, 248, 248, 248, 248, 248, 249, 250, ++ 250, 251, 251, 251, 251, 251, 252, 252, 253, 253, ++ 253, 253, 254, 255, 255, 256, 257, 257, 257, 258, ++ 258, 259, 259, 260, 260, 261, 261, 261, 261, 261, ++ 261, 262, 262, 262, 262, 262, 262, 263, 264, 264, ++ 265, 266, 266, 266, 266, 266, 266, 266, 266, 266, ++ 266, 267, 267, 267, 267, 267, 267, 267, 267, 267, ++ 267, 267, 267, 267, 267, 268, 268, 268, 269, 269, ++ 270, 270, 271, 271, 271, 272, 272, 272, 273, 274, ++ 274, 275, 275, 276, 276, 277, 277, 278, 279, 279, ++ 280, 280, 281, 281, 281, 281, 282, 282, 282, 283, ++ 284, 284, 285, 285, 285, 285, 285, 285, 285, 286, ++ 286, 287, 287, 288, 288, 289, 290, 290, 291, 291, ++ 292, 292, 292, 293, 293, 294, 295, 296, 296, 297, ++ 298, 298, 299, 299, 300, 301, 302, 303, 303, 304, ++ 305, 305, 306, 307, 307, 307, 307, 307 ++}; + +-#define YYACCEPT goto yyacceptlab +-#define YYABORT goto yyabortlab +-#define YYERROR goto yyerrorlab ++ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ ++static const yytype_uint8 yyr2[] = ++{ ++ 0, 2, 1, 3, 2, 2, 0, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, ++ 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, ++ 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ++ 2, 0, 2, 2, 2, 1, 1, 1, 1, 1, ++ 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 2, 2, 3, 2, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, ++ 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 2, 2, 3, 5, ++ 3, 4, 4, 3, 0, 2, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, ++ 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, ++ 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, ++ 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, ++ 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, ++ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, ++ 1, 1, 1, 2, 2, 2, 2, 3, 1, 2, ++ 2, 2, 2, 3, 2, 1, 1, 1, 1, 1, ++ 1, 1, 1, 1, 1, 1, 2, 0, 4, 1, ++ 0, 0, 2, 2, 2, 2, 1, 1, 3, 3, ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, ++ 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, ++ 1, 2, 1, 1, 1, 5, 2, 1, 2, 1, ++ 1, 1, 1, 1, 1, 5, 1, 3, 2, 3, ++ 1, 1, 2, 1, 5, 4, 3, 2, 1, 6, ++ 3, 2, 3, 1, 1, 1, 1, 1 ++}; + + +-/* Like YYERROR except do call yyerror. This remains here temporarily +- to ease the transition to the new meaning of YYERROR, for GCC. +- Once GCC version 2 has supplanted version 1, this can go. However, +- YYFAIL appears to be in use. Nevertheless, it is formally deprecated +- in Bison 2.4.2's NEWS entry, where a plan to phase it out is +- discussed. */ ++#define yyerrok (yyerrstatus = 0) ++#define yyclearin (yychar = YYEMPTY) ++#define YYEMPTY (-2) ++#define YYEOF 0 + +-#define YYFAIL goto yyerrlab +-#if defined YYFAIL +- /* This is here to suppress warnings from the GCC cpp's +- -Wunused-macros. Normally we don't worry about that warning, but +- some users do, and we want to make it easy for users to remove +- YYFAIL uses, which will produce warnings from Bison 2.5. */ +-#endif ++#define YYACCEPT goto yyacceptlab ++#define YYABORT goto yyabortlab ++#define YYERROR goto yyerrorlab + ++ + #define YYRECOVERING() (!!yyerrstatus) + + #define YYBACKUP(Token, Value) \ +@@ -1584,28 +1458,16 @@ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ +- YYERROR; \ +- } \ +-while (YYID (0)) ++ YYERROR; \ ++ } \ ++while (0) + + /* Error token number */ +-#define YYTERROR 1 +-#define YYERRCODE 256 ++#define YYTERROR 1 ++#define YYERRCODE 256 + + +-/* This macro is provided for backward compatibility. */ +-#ifndef YY_LOCATION_PRINT +-# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +-#endif + +- +-/* YYLEX -- calling `yylex' with the right arguments. */ +-#ifdef YYLEX_PARAM +-# define YYLEX yylex (YYLEX_PARAM) +-#else +-# define YYLEX yylex () +-#endif +- + /* Enable debugging if requested. */ + #if YYDEBUG + +@@ -1614,40 +1476,36 @@ + # define YYFPRINTF fprintf + # endif + +-# define YYDPRINTF(Args) \ +-do { \ +- if (yydebug) \ +- YYFPRINTF Args; \ +-} while (YYID (0)) ++# define YYDPRINTF(Args) \ ++do { \ ++ if (yydebug) \ ++ YYFPRINTF Args; \ ++} while (0) + +-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +-do { \ +- if (yydebug) \ +- { \ +- YYFPRINTF (stderr, "%s ", Title); \ +- yy_symbol_print (stderr, \ +- Type, Value); \ +- YYFPRINTF (stderr, "\n"); \ +- } \ +-} while (YYID (0)) ++/* This macro is provided for backward compatibility. */ ++#ifndef YY_LOCATION_PRINT ++# define YY_LOCATION_PRINT(File, Loc) ((void) 0) ++#endif + + +-/*--------------------------------. +-| Print this symbol on YYOUTPUT. | +-`--------------------------------*/ ++# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ ++do { \ ++ if (yydebug) \ ++ { \ ++ YYFPRINTF (stderr, "%s ", Title); \ ++ yy_symbol_print (stderr, \ ++ Type, Value); \ ++ YYFPRINTF (stderr, "\n"); \ ++ } \ ++} while (0) + +-/*ARGSUSED*/ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) ++ ++/*----------------------------------------. ++| Print this symbol's value on YYOUTPUT. | ++`----------------------------------------*/ ++ + static void + yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +-#else +-static void +-yy_symbol_value_print (yyoutput, yytype, yyvaluep) +- FILE *yyoutput; +- int yytype; +- YYSTYPE const * const yyvaluep; +-#endif + { + FILE *yyo = yyoutput; + YYUSE (yyo); +@@ -1656,8 +1514,6 @@ + # ifdef YYPRINT + if (yytype < YYNTOKENS) + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +-# else +- YYUSE (yyoutput); + # endif + YYUSE (yytype); + } +@@ -1667,22 +1523,11 @@ + | Print this symbol on YYOUTPUT. | + `--------------------------------*/ + +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) + static void + yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +-#else +-static void +-yy_symbol_print (yyoutput, yytype, yyvaluep) +- FILE *yyoutput; +- int yytype; +- YYSTYPE const * const yyvaluep; +-#endif + { +- if (yytype < YYNTOKENS) +- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); +- else +- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); ++ YYFPRINTF (yyoutput, "%s %s (", ++ yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); + + yy_symbol_value_print (yyoutput, yytype, yyvaluep); + YYFPRINTF (yyoutput, ")"); +@@ -1693,16 +1538,8 @@ + | TOP (included). | + `------------------------------------------------------------------*/ + +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) + static void + yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +-#else +-static void +-yy_stack_print (yybottom, yytop) +- yytype_int16 *yybottom; +- yytype_int16 *yytop; +-#endif + { + YYFPRINTF (stderr, "Stack now"); + for (; yybottom <= yytop; yybottom++) +@@ -1713,11 +1550,11 @@ + YYFPRINTF (stderr, "\n"); + } + +-# define YY_STACK_PRINT(Bottom, Top) \ +-do { \ +- if (yydebug) \ +- yy_stack_print ((Bottom), (Top)); \ +-} while (YYID (0)) ++# define YY_STACK_PRINT(Bottom, Top) \ ++do { \ ++ if (yydebug) \ ++ yy_stack_print ((Bottom), (Top)); \ ++} while (0) + + + /*------------------------------------------------. +@@ -1724,38 +1561,31 @@ + | Report that the YYRULE is going to be reduced. | + `------------------------------------------------*/ + +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) + static void +-yy_reduce_print (YYSTYPE *yyvsp, int yyrule) +-#else +-static void +-yy_reduce_print (yyvsp, yyrule) +- YYSTYPE *yyvsp; +- int yyrule; +-#endif ++yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) + { ++ unsigned long int yylno = yyrline[yyrule]; + int yynrhs = yyr2[yyrule]; + int yyi; +- unsigned long int yylno = yyrline[yyrule]; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", +- yyrule - 1, yylno); ++ yyrule - 1, yylno); + /* The symbols being reduced. */ + for (yyi = 0; yyi < yynrhs; yyi++) + { + YYFPRINTF (stderr, " $%d = ", yyi + 1); +- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], +- &(yyvsp[(yyi + 1) - (yynrhs)]) +- ); ++ yy_symbol_print (stderr, ++ yystos[yyssp[yyi + 1 - yynrhs]], ++ &(yyvsp[(yyi + 1) - (yynrhs)]) ++ ); + YYFPRINTF (stderr, "\n"); + } + } + +-# define YY_REDUCE_PRINT(Rule) \ +-do { \ +- if (yydebug) \ +- yy_reduce_print (yyvsp, Rule); \ +-} while (YYID (0)) ++# define YY_REDUCE_PRINT(Rule) \ ++do { \ ++ if (yydebug) \ ++ yy_reduce_print (yyssp, yyvsp, Rule); \ ++} while (0) + + /* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +@@ -1769,7 +1599,7 @@ + + + /* YYINITDEPTH -- initial size of the parser's stacks. */ +-#ifndef YYINITDEPTH ++#ifndef YYINITDEPTH + # define YYINITDEPTH 200 + #endif + +@@ -1792,15 +1622,8 @@ + # define yystrlen strlen + # else + /* Return the length of YYSTR. */ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) + static YYSIZE_T + yystrlen (const char *yystr) +-#else +-static YYSIZE_T +-yystrlen (yystr) +- const char *yystr; +-#endif + { + YYSIZE_T yylen; + for (yylen = 0; yystr[yylen]; yylen++) +@@ -1816,16 +1639,8 @@ + # else + /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) + static char * + yystpcpy (char *yydest, const char *yysrc) +-#else +-static char * +-yystpcpy (yydest, yysrc) +- char *yydest; +- const char *yysrc; +-#endif + { + char *yyd = yydest; + const char *yys = yysrc; +@@ -1855,27 +1670,27 @@ + char const *yyp = yystr; + + for (;;) +- switch (*++yyp) +- { +- case '\'': +- case ',': +- goto do_not_strip_quotes; ++ switch (*++yyp) ++ { ++ case '\'': ++ case ',': ++ goto do_not_strip_quotes; + +- case '\\': +- if (*++yyp != '\\') +- goto do_not_strip_quotes; +- /* Fall through. */ +- default: +- if (yyres) +- yyres[yyn] = *yyp; +- yyn++; +- break; ++ case '\\': ++ if (*++yyp != '\\') ++ goto do_not_strip_quotes; ++ /* Fall through. */ ++ default: ++ if (yyres) ++ yyres[yyn] = *yyp; ++ yyn++; ++ break; + +- case '"': +- if (yyres) +- yyres[yyn] = '\0'; +- return yyn; +- } ++ case '"': ++ if (yyres) ++ yyres[yyn] = '\0'; ++ return yyn; ++ } + do_not_strip_quotes: ; + } + +@@ -1898,11 +1713,11 @@ + yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + yytype_int16 *yyssp, int yytoken) + { +- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); ++ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); + YYSIZE_T yysize = yysize0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ +- const char *yyformat = YY_NULL; ++ const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat. */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + /* Number of reported tokens (one for the "unexpected", one per +@@ -1910,10 +1725,6 @@ + int yycount = 0; + + /* There are many possibilities here to consider: +- - Assume YYFAIL is not used. It's too flawed to consider. See +- <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> +- for details. YYERROR is fine as it does not invoke this +- function. + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected +@@ -1963,7 +1774,7 @@ + } + yyarg[yycount++] = yytname[yyx]; + { +- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); ++ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; +@@ -2030,26 +1841,17 @@ + | Release the memory associated to this symbol. | + `-----------------------------------------------*/ + +-/*ARGSUSED*/ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) + static void + yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +-#else +-static void +-yydestruct (yymsg, yytype, yyvaluep) +- const char *yymsg; +- int yytype; +- YYSTYPE *yyvaluep; +-#endif + { + YYUSE (yyvaluep); +- + if (!yymsg) + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yytype); ++ YY_IGNORE_MAYBE_UNINITIALIZED_END + } + + +@@ -2058,18 +1860,8 @@ + /* The lookahead symbol. */ + int yychar; + +- +-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +-# define YY_IGNORE_MAYBE_UNINITIALIZED_END +-#endif +-#ifndef YY_INITIAL_VALUE +-# define YY_INITIAL_VALUE(Value) /* Nothing. */ +-#endif +- + /* The semantic value of the lookahead symbol. */ +-YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); +- ++YYSTYPE yylval; + /* Number of syntax errors so far. */ + int yynerrs; + +@@ -2078,27 +1870,8 @@ + | yyparse. | + `----------*/ + +-#ifdef YYPARSE_PARAM +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) + int +-yyparse (void *YYPARSE_PARAM) +-#else +-int +-yyparse (YYPARSE_PARAM) +- void *YYPARSE_PARAM; +-#endif +-#else /* ! YYPARSE_PARAM */ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-int + yyparse (void) +-#else +-int +-yyparse () +- +-#endif +-#endif + { + int yystate; + /* Number of tokens to shift before error messages enabled. */ +@@ -2105,8 +1878,8 @@ + int yyerrstatus; + + /* The stacks and their tools: +- `yyss': related to states. +- `yyvs': related to semantic values. ++ 'yyss': related to states. ++ 'yyvs': related to semantic values. + + Refer to the stacks through separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ +@@ -2174,23 +1947,23 @@ + + #ifdef yyoverflow + { +- /* Give user a chance to reallocate the stack. Use copies of +- these so that the &'s don't force the real ones into +- memory. */ +- YYSTYPE *yyvs1 = yyvs; +- yytype_int16 *yyss1 = yyss; ++ /* Give user a chance to reallocate the stack. Use copies of ++ these so that the &'s don't force the real ones into ++ memory. */ ++ YYSTYPE *yyvs1 = yyvs; ++ yytype_int16 *yyss1 = yyss; + +- /* Each stack pointer address is followed by the size of the +- data in use in that stack, in bytes. This used to be a +- conditional around just the two extra args, but that might +- be undefined if yyoverflow is a macro. */ +- yyoverflow (YY_("memory exhausted"), +- &yyss1, yysize * sizeof (*yyssp), +- &yyvs1, yysize * sizeof (*yyvsp), +- &yystacksize); ++ /* Each stack pointer address is followed by the size of the ++ data in use in that stack, in bytes. This used to be a ++ conditional around just the two extra args, but that might ++ be undefined if yyoverflow is a macro. */ ++ yyoverflow (YY_("memory exhausted"), ++ &yyss1, yysize * sizeof (*yyssp), ++ &yyvs1, yysize * sizeof (*yyvsp), ++ &yystacksize); + +- yyss = yyss1; +- yyvs = yyvs1; ++ yyss = yyss1; ++ yyvs = yyvs1; + } + #else /* no yyoverflow */ + # ifndef YYSTACK_RELOCATE +@@ -2198,22 +1971,22 @@ + # else + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) +- goto yyexhaustedlab; ++ goto yyexhaustedlab; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) +- yystacksize = YYMAXDEPTH; ++ yystacksize = YYMAXDEPTH; + + { +- yytype_int16 *yyss1 = yyss; +- union yyalloc *yyptr = +- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); +- if (! yyptr) +- goto yyexhaustedlab; +- YYSTACK_RELOCATE (yyss_alloc, yyss); +- YYSTACK_RELOCATE (yyvs_alloc, yyvs); ++ yytype_int16 *yyss1 = yyss; ++ union yyalloc *yyptr = ++ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); ++ if (! yyptr) ++ goto yyexhaustedlab; ++ YYSTACK_RELOCATE (yyss_alloc, yyss); ++ YYSTACK_RELOCATE (yyvs_alloc, yyvs); + # undef YYSTACK_RELOCATE +- if (yyss1 != yyssa) +- YYSTACK_FREE (yyss1); ++ if (yyss1 != yyssa) ++ YYSTACK_FREE (yyss1); + } + # endif + #endif /* no yyoverflow */ +@@ -2222,10 +1995,10 @@ + yyvsp = yyvs + yysize - 1; + + YYDPRINTF ((stderr, "Stack size increased to %lu\n", +- (unsigned long int) yystacksize)); ++ (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) +- YYABORT; ++ YYABORT; + } + + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); +@@ -2254,7 +2027,7 @@ + if (yychar == YYEMPTY) + { + YYDPRINTF ((stderr, "Reading a token: ")); +- yychar = YYLEX; ++ yychar = yylex (); + } + + if (yychar <= YYEOF) +@@ -2319,7 +2092,7 @@ + yylen = yyr2[yyn]; + + /* If YYLEN is nonzero, implement the default value of the action: +- `$$ = $1'. ++ '$$ = $1'. + + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison +@@ -2333,8 +2106,7 @@ + switch (yyn) + { + case 5: +-/* Line 1787 of yacc.c */ +-#line 376 "../../ntpd/ntp_parser.y" ++#line 377 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + /* I will need to incorporate much more fine grained + * error messages. The following should suffice for +@@ -2347,173 +2119,173 @@ + ip_ctx->errpos.nline, + ip_ctx->errpos.ncol); + } ++#line 2123 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 20: +-/* Line 1787 of yacc.c */ +-#line 412 "../../ntpd/ntp_parser.y" ++#line 413 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + peer_node *my_node; + +- my_node = create_peer_node((yyvsp[(1) - (3)].Integer), (yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo)); ++ my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); + APPEND_G_FIFO(cfgt.peers, my_node); + } ++#line 2134 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 27: +-/* Line 1787 of yacc.c */ +-#line 431 "../../ntpd/ntp_parser.y" +- { (yyval.Address_node) = create_address_node((yyvsp[(2) - (2)].String), (yyvsp[(1) - (2)].Integer)); } ++#line 432 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); } ++#line 2140 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 28: +-/* Line 1787 of yacc.c */ +-#line 436 "../../ntpd/ntp_parser.y" +- { (yyval.Address_node) = create_address_node((yyvsp[(1) - (1)].String), AF_UNSPEC); } ++#line 437 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); } ++#line 2146 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 29: +-/* Line 1787 of yacc.c */ +-#line 441 "../../ntpd/ntp_parser.y" ++#line 442 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Integer) = AF_INET; } ++#line 2152 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 30: +-/* Line 1787 of yacc.c */ +-#line 443 "../../ntpd/ntp_parser.y" ++#line 444 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Integer) = AF_INET6; } ++#line 2158 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 31: +-/* Line 1787 of yacc.c */ +-#line 448 "../../ntpd/ntp_parser.y" ++#line 449 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Attr_val_fifo) = NULL; } ++#line 2164 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 32: +-/* Line 1787 of yacc.c */ +-#line 450 "../../ntpd/ntp_parser.y" ++#line 451 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2173 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 36: +-/* Line 1787 of yacc.c */ +-#line 464 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } ++#line 465 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } ++#line 2179 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 45: +-/* Line 1787 of yacc.c */ +-#line 480 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } ++#line 481 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } ++#line 2185 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 46: +-/* Line 1787 of yacc.c */ +-#line 482 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_uval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } ++#line 483 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); } ++#line 2191 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 53: +-/* Line 1787 of yacc.c */ +-#line 496 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } ++#line 497 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } ++#line 2197 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 55: +-/* Line 1787 of yacc.c */ +-#line 510 "../../ntpd/ntp_parser.y" ++#line 511 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + unpeer_node *my_node; + +- my_node = create_unpeer_node((yyvsp[(2) - (2)].Address_node)); ++ my_node = create_unpeer_node((yyvsp[0].Address_node)); + if (my_node) + APPEND_G_FIFO(cfgt.unpeers, my_node); + } ++#line 2209 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 58: +-/* Line 1787 of yacc.c */ +-#line 531 "../../ntpd/ntp_parser.y" ++#line 532 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { cfgt.broadcastclient = 1; } ++#line 2215 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 59: +-/* Line 1787 of yacc.c */ +-#line 533 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[(2) - (2)].Address_fifo)); } ++#line 534 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); } ++#line 2221 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 60: +-/* Line 1787 of yacc.c */ +-#line 535 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[(2) - (2)].Address_fifo)); } ++#line 536 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); } ++#line 2227 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 61: +-/* Line 1787 of yacc.c */ +-#line 537 "../../ntpd/ntp_parser.y" +- { cfgt.mdnstries = (yyvsp[(2) - (2)].Integer); } ++#line 538 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { cfgt.mdnstries = (yyvsp[0].Integer); } ++#line 2233 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 62: +-/* Line 1787 of yacc.c */ +-#line 548 "../../ntpd/ntp_parser.y" ++#line 549 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + attr_val *atrv; + +- atrv = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); ++ atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); + APPEND_G_FIFO(cfgt.vars, atrv); + } ++#line 2244 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 63: +-/* Line 1787 of yacc.c */ +-#line 555 "../../ntpd/ntp_parser.y" +- { cfgt.auth.control_key = (yyvsp[(2) - (2)].Integer); } ++#line 556 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { cfgt.auth.control_key = (yyvsp[0].Integer); } ++#line 2250 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 64: +-/* Line 1787 of yacc.c */ +-#line 557 "../../ntpd/ntp_parser.y" ++#line 558 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + cfgt.auth.cryptosw++; +- CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[(2) - (2)].Attr_val_fifo)); ++ CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo)); + } ++#line 2259 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 65: +-/* Line 1787 of yacc.c */ +-#line 562 "../../ntpd/ntp_parser.y" +- { cfgt.auth.keys = (yyvsp[(2) - (2)].String); } ++#line 563 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { cfgt.auth.keys = (yyvsp[0].String); } ++#line 2265 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 66: +-/* Line 1787 of yacc.c */ +-#line 564 "../../ntpd/ntp_parser.y" +- { cfgt.auth.keysdir = (yyvsp[(2) - (2)].String); } ++#line 565 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { cfgt.auth.keysdir = (yyvsp[0].String); } ++#line 2271 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 67: +-/* Line 1787 of yacc.c */ +-#line 566 "../../ntpd/ntp_parser.y" +- { cfgt.auth.request_key = (yyvsp[(2) - (2)].Integer); } ++#line 567 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { cfgt.auth.request_key = (yyvsp[0].Integer); } ++#line 2277 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 68: +-/* Line 1787 of yacc.c */ +-#line 568 "../../ntpd/ntp_parser.y" +- { cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); } ++#line 569 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { cfgt.auth.revoke = (yyvsp[0].Integer); } ++#line 2283 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 69: +-/* Line 1787 of yacc.c */ +-#line 570 "../../ntpd/ntp_parser.y" ++#line 571 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- cfgt.auth.trusted_key_list = (yyvsp[(2) - (2)].Attr_val_fifo); ++ cfgt.auth.trusted_key_list = (yyvsp[0].Attr_val_fifo); + + // if (!cfgt.auth.trusted_key_list) + // cfgt.auth.trusted_key_list = $2; +@@ -2520,191 +2292,191 @@ + // else + // LINK_SLIST(cfgt.auth.trusted_key_list, $2, link); + } ++#line 2296 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 70: +-/* Line 1787 of yacc.c */ +-#line 579 "../../ntpd/ntp_parser.y" +- { cfgt.auth.ntp_signd_socket = (yyvsp[(2) - (2)].String); } ++#line 580 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); } ++#line 2302 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 71: +-/* Line 1787 of yacc.c */ +-#line 584 "../../ntpd/ntp_parser.y" ++#line 585 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Attr_val_fifo) = NULL; } ++#line 2308 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 72: +-/* Line 1787 of yacc.c */ +-#line 586 "../../ntpd/ntp_parser.y" ++#line 587 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2317 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 73: +-/* Line 1787 of yacc.c */ +-#line 594 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } ++#line 595 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } ++#line 2323 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 74: +-/* Line 1787 of yacc.c */ +-#line 596 "../../ntpd/ntp_parser.y" ++#line 597 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val) = NULL; +- cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); ++ cfgt.auth.revoke = (yyvsp[0].Integer); + msyslog(LOG_WARNING, + "'crypto revoke %d' is deprecated, " + "please use 'revoke %d' instead.", + cfgt.auth.revoke, cfgt.auth.revoke); + } ++#line 2336 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 80: +-/* Line 1787 of yacc.c */ +-#line 621 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[(2) - (2)].Attr_val_fifo)); } ++#line 622 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); } ++#line 2342 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 81: +-/* Line 1787 of yacc.c */ +-#line 626 "../../ntpd/ntp_parser.y" ++#line 627 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2351 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 82: +-/* Line 1787 of yacc.c */ +-#line 631 "../../ntpd/ntp_parser.y" ++#line 632 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2360 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 83: +-/* Line 1787 of yacc.c */ +-#line 639 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); } ++#line 640 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } ++#line 2366 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 84: +-/* Line 1787 of yacc.c */ +-#line 641 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } ++#line 642 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } ++#line 2372 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 85: +-/* Line 1787 of yacc.c */ +-#line 643 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); } ++#line 644 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } ++#line 2378 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 96: +-/* Line 1787 of yacc.c */ +-#line 669 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[(2) - (2)].Int_fifo)); } ++#line 670 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); } ++#line 2384 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 97: +-/* Line 1787 of yacc.c */ +-#line 671 "../../ntpd/ntp_parser.y" ++#line 672 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + if (lex_from_file()) { +- cfgt.stats_dir = (yyvsp[(2) - (2)].String); ++ cfgt.stats_dir = (yyvsp[0].String); + } else { +- YYFREE((yyvsp[(2) - (2)].String)); ++ YYFREE((yyvsp[0].String)); + yyerror("statsdir remote configuration ignored"); + } + } ++#line 2397 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 98: +-/* Line 1787 of yacc.c */ +-#line 680 "../../ntpd/ntp_parser.y" ++#line 681 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + filegen_node *fgn; + +- fgn = create_filegen_node((yyvsp[(2) - (3)].Integer), (yyvsp[(3) - (3)].Attr_val_fifo)); ++ fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo)); + APPEND_G_FIFO(cfgt.filegen_opts, fgn); + } ++#line 2408 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 99: +-/* Line 1787 of yacc.c */ +-#line 690 "../../ntpd/ntp_parser.y" ++#line 691 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo); +- APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); ++ (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); ++ APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); + } ++#line 2417 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 100: +-/* Line 1787 of yacc.c */ +-#line 695 "../../ntpd/ntp_parser.y" ++#line 696 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Int_fifo) = NULL; +- APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); ++ APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); + } ++#line 2426 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 109: +-/* Line 1787 of yacc.c */ +-#line 714 "../../ntpd/ntp_parser.y" ++#line 715 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Attr_val_fifo) = NULL; } ++#line 2432 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 110: +-/* Line 1787 of yacc.c */ +-#line 716 "../../ntpd/ntp_parser.y" ++#line 717 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2441 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 111: +-/* Line 1787 of yacc.c */ +-#line 724 "../../ntpd/ntp_parser.y" ++#line 725 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + if (lex_from_file()) { +- (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); ++ (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); + } else { + (yyval.Attr_val) = NULL; +- YYFREE((yyvsp[(2) - (2)].String)); ++ YYFREE((yyvsp[0].String)); + yyerror("filegen file remote config ignored"); + } + } ++#line 2455 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 112: +-/* Line 1787 of yacc.c */ +-#line 734 "../../ntpd/ntp_parser.y" ++#line 735 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + if (lex_from_file()) { +- (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); ++ (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); + } else { + (yyval.Attr_val) = NULL; + yyerror("filegen type remote config ignored"); + } + } ++#line 2468 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 113: +-/* Line 1787 of yacc.c */ +-#line 743 "../../ntpd/ntp_parser.y" ++#line 744 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + const char *err; + + if (lex_from_file()) { +- (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); ++ (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); + } else { + (yyval.Attr_val) = NULL; +- if (T_Link == (yyvsp[(1) - (1)].Integer)) ++ if (T_Link == (yyvsp[0].Integer)) + err = "filegen link remote config ignored"; + else + err = "filegen nolink remote config ignored"; +@@ -2711,69 +2483,69 @@ + yyerror(err); + } + } ++#line 2487 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 114: +-/* Line 1787 of yacc.c */ +-#line 758 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } ++#line 759 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } ++#line 2493 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 126: +-/* Line 1787 of yacc.c */ +-#line 788 "../../ntpd/ntp_parser.y" ++#line 789 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); ++ CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo)); + } ++#line 2501 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 127: +-/* Line 1787 of yacc.c */ +-#line 792 "../../ntpd/ntp_parser.y" ++#line 793 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); ++ CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo)); + } ++#line 2509 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 128: +-/* Line 1787 of yacc.c */ +-#line 796 "../../ntpd/ntp_parser.y" ++#line 797 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + restrict_node *rn; + +- rn = create_restrict_node((yyvsp[(2) - (3)].Address_node), NULL, (yyvsp[(3) - (3)].Int_fifo), ++ rn = create_restrict_node((yyvsp[-1].Address_node), NULL, (yyvsp[0].Int_fifo), + lex_current()->curpos.nline); + APPEND_G_FIFO(cfgt.restrict_opts, rn); + } ++#line 2521 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 129: +-/* Line 1787 of yacc.c */ +-#line 804 "../../ntpd/ntp_parser.y" ++#line 805 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + restrict_node *rn; + +- rn = create_restrict_node((yyvsp[(2) - (5)].Address_node), (yyvsp[(4) - (5)].Address_node), (yyvsp[(5) - (5)].Int_fifo), ++ rn = create_restrict_node((yyvsp[-3].Address_node), (yyvsp[-1].Address_node), (yyvsp[0].Int_fifo), + lex_current()->curpos.nline); + APPEND_G_FIFO(cfgt.restrict_opts, rn); + } ++#line 2533 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 130: +-/* Line 1787 of yacc.c */ +-#line 812 "../../ntpd/ntp_parser.y" ++#line 813 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + restrict_node *rn; + +- rn = create_restrict_node(NULL, NULL, (yyvsp[(3) - (3)].Int_fifo), ++ rn = create_restrict_node(NULL, NULL, (yyvsp[0].Int_fifo), + lex_current()->curpos.nline); + APPEND_G_FIFO(cfgt.restrict_opts, rn); + } ++#line 2545 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 131: +-/* Line 1787 of yacc.c */ +-#line 820 "../../ntpd/ntp_parser.y" ++#line 821 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + restrict_node *rn; + +@@ -2784,15 +2556,15 @@ + create_address_node( + estrdup("0.0.0.0"), + AF_INET), +- (yyvsp[(4) - (4)].Int_fifo), ++ (yyvsp[0].Int_fifo), + lex_current()->curpos.nline); + APPEND_G_FIFO(cfgt.restrict_opts, rn); + } ++#line 2564 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 132: +-/* Line 1787 of yacc.c */ +-#line 835 "../../ntpd/ntp_parser.y" ++#line 836 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + restrict_node *rn; + +@@ -2803,226 +2575,226 @@ + create_address_node( + estrdup("::"), + AF_INET6), +- (yyvsp[(4) - (4)].Int_fifo), ++ (yyvsp[0].Int_fifo), + lex_current()->curpos.nline); + APPEND_G_FIFO(cfgt.restrict_opts, rn); + } ++#line 2583 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 133: +-/* Line 1787 of yacc.c */ +-#line 850 "../../ntpd/ntp_parser.y" ++#line 851 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + restrict_node * rn; + +- APPEND_G_FIFO((yyvsp[(3) - (3)].Int_fifo), create_int_node((yyvsp[(2) - (3)].Integer))); ++ APPEND_G_FIFO((yyvsp[0].Int_fifo), create_int_node((yyvsp[-1].Integer))); + rn = create_restrict_node( +- NULL, NULL, (yyvsp[(3) - (3)].Int_fifo), lex_current()->curpos.nline); ++ NULL, NULL, (yyvsp[0].Int_fifo), lex_current()->curpos.nline); + APPEND_G_FIFO(cfgt.restrict_opts, rn); + } ++#line 2596 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 134: +-/* Line 1787 of yacc.c */ +-#line 862 "../../ntpd/ntp_parser.y" ++#line 863 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Int_fifo) = NULL; } ++#line 2602 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 135: +-/* Line 1787 of yacc.c */ +-#line 864 "../../ntpd/ntp_parser.y" ++#line 865 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo); +- APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); ++ (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); ++ APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); + } ++#line 2611 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 151: +-/* Line 1787 of yacc.c */ +-#line 890 "../../ntpd/ntp_parser.y" ++#line 891 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2620 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 152: +-/* Line 1787 of yacc.c */ +-#line 895 "../../ntpd/ntp_parser.y" ++#line 896 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2629 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 153: +-/* Line 1787 of yacc.c */ +-#line 903 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } ++#line 904 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } ++#line 2635 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 157: +-/* Line 1787 of yacc.c */ +-#line 914 "../../ntpd/ntp_parser.y" ++#line 915 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2644 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 158: +-/* Line 1787 of yacc.c */ +-#line 919 "../../ntpd/ntp_parser.y" ++#line 920 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2653 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 159: +-/* Line 1787 of yacc.c */ +-#line 927 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } ++#line 928 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } ++#line 2659 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 168: +-/* Line 1787 of yacc.c */ +-#line 947 "../../ntpd/ntp_parser.y" ++#line 948 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + addr_opts_node *aon; + +- aon = create_addr_opts_node((yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo)); ++ aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); + APPEND_G_FIFO(cfgt.fudge, aon); + } ++#line 2670 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 169: +-/* Line 1787 of yacc.c */ +-#line 957 "../../ntpd/ntp_parser.y" ++#line 958 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2679 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 170: +-/* Line 1787 of yacc.c */ +-#line 962 "../../ntpd/ntp_parser.y" ++#line 963 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2688 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 171: +-/* Line 1787 of yacc.c */ +-#line 970 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } ++#line 971 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } ++#line 2694 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 172: +-/* Line 1787 of yacc.c */ +-#line 972 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } ++#line 973 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } ++#line 2700 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 173: +-/* Line 1787 of yacc.c */ +-#line 974 "../../ntpd/ntp_parser.y" ++#line 975 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- if ((yyvsp[(2) - (2)].Integer) >= 0 && (yyvsp[(2) - (2)].Integer) <= 16) { +- (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); ++ if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) { ++ (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); + } else { + (yyval.Attr_val) = NULL; + yyerror("fudge factor: stratum value not in [0..16], ignored"); + } + } ++#line 2713 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 174: +-/* Line 1787 of yacc.c */ +-#line 983 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } ++#line 984 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } ++#line 2719 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 175: +-/* Line 1787 of yacc.c */ +-#line 985 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } ++#line 986 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } ++#line 2725 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 182: +-/* Line 1787 of yacc.c */ +-#line 1006 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[(2) - (2)].Attr_val_fifo)); } ++#line 1007 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); } ++#line 2731 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 183: +-/* Line 1787 of yacc.c */ +-#line 1011 "../../ntpd/ntp_parser.y" ++#line 1012 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2740 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 184: +-/* Line 1787 of yacc.c */ +-#line 1016 "../../ntpd/ntp_parser.y" ++#line 1017 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2749 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 185: +-/* Line 1787 of yacc.c */ +-#line 1024 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } ++#line 1025 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } ++#line 2755 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 189: +-/* Line 1787 of yacc.c */ +-#line 1040 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } ++#line 1041 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); } ++#line 2761 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 190: +-/* Line 1787 of yacc.c */ +-#line 1042 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } ++#line 1043 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); } ++#line 2767 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 191: +-/* Line 1787 of yacc.c */ +-#line 1047 "../../ntpd/ntp_parser.y" ++#line 1048 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2776 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 192: +-/* Line 1787 of yacc.c */ +-#line 1052 "../../ntpd/ntp_parser.y" ++#line 1053 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2785 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 193: +-/* Line 1787 of yacc.c */ +-#line 1060 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } ++#line 1061 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } ++#line 2791 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 194: +-/* Line 1787 of yacc.c */ +-#line 1062 "../../ntpd/ntp_parser.y" ++#line 1063 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + if (lex_from_file()) { +- (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); ++ (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); + } else { + char err_str[128]; + +@@ -3029,101 +2801,101 @@ + (yyval.Attr_val) = NULL; + snprintf(err_str, sizeof(err_str), + "enable/disable %s remote configuration ignored", +- keyword((yyvsp[(1) - (1)].Integer))); ++ keyword((yyvsp[0].Integer))); + yyerror(err_str); + } + } ++#line 2809 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 206: +-/* Line 1787 of yacc.c */ +-#line 1100 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[(2) - (2)].Attr_val_fifo)); } ++ case 207: ++#line 1102 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); } ++#line 2815 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 207: +-/* Line 1787 of yacc.c */ +-#line 1105 "../../ntpd/ntp_parser.y" ++ case 208: ++#line 1107 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2824 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 208: +-/* Line 1787 of yacc.c */ +-#line 1110 "../../ntpd/ntp_parser.y" ++ case 209: ++#line 1112 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 2833 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 209: +-/* Line 1787 of yacc.c */ +-#line 1118 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } ++ case 210: ++#line 1120 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } ++#line 2839 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 222: +-/* Line 1787 of yacc.c */ +-#line 1143 "../../ntpd/ntp_parser.y" ++ case 223: ++#line 1145 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + attr_val *av; + +- av = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); ++ av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); + APPEND_G_FIFO(cfgt.vars, av); + } ++#line 2850 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 223: +-/* Line 1787 of yacc.c */ +-#line 1150 "../../ntpd/ntp_parser.y" ++ case 224: ++#line 1152 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + attr_val *av; + +- av = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); ++ av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); + APPEND_G_FIFO(cfgt.vars, av); + } ++#line 2861 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 224: +-/* Line 1787 of yacc.c */ +-#line 1157 "../../ntpd/ntp_parser.y" ++ case 225: ++#line 1159 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + attr_val *av; + +- av = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); ++ av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); + APPEND_G_FIFO(cfgt.vars, av); + } ++#line 2872 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 225: +-/* Line 1787 of yacc.c */ +-#line 1164 "../../ntpd/ntp_parser.y" ++ case 226: ++#line 1166 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + char error_text[64]; + attr_val *av; + + if (lex_from_file()) { +- av = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); ++ av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); + APPEND_G_FIFO(cfgt.vars, av); + } else { +- YYFREE((yyvsp[(2) - (2)].String)); ++ YYFREE((yyvsp[0].String)); + snprintf(error_text, sizeof(error_text), + "%s remote config ignored", +- keyword((yyvsp[(1) - (2)].Integer))); ++ keyword((yyvsp[-1].Integer))); + yyerror(error_text); + } + } ++#line 2892 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 226: +-/* Line 1787 of yacc.c */ +-#line 1180 "../../ntpd/ntp_parser.y" ++ case 227: ++#line 1182 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + if (!lex_from_file()) { +- YYFREE((yyvsp[(2) - (3)].String)); /* avoid leak */ ++ YYFREE((yyvsp[-1].String)); /* avoid leak */ + yyerror("remote includefile ignored"); + break; + } +@@ -3131,108 +2903,108 @@ + fprintf(stderr, "getconfig: Maximum include file level exceeded.\n"); + msyslog(LOG_ERR, "getconfig: Maximum include file level exceeded."); + } else { +- const char * path = FindConfig((yyvsp[(2) - (3)].String)); /* might return $2! */ ++ const char * path = FindConfig((yyvsp[-1].String)); /* might return $2! */ + if (!lex_push_file(path, "r")) { + fprintf(stderr, "getconfig: Couldn't open <%s>\n", path); + msyslog(LOG_ERR, "getconfig: Couldn't open <%s>", path); + } + } +- YYFREE((yyvsp[(2) - (3)].String)); /* avoid leak */ ++ YYFREE((yyvsp[-1].String)); /* avoid leak */ + } ++#line 2915 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 227: +-/* Line 1787 of yacc.c */ +-#line 1199 "../../ntpd/ntp_parser.y" ++ case 228: ++#line 1201 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { lex_flush_stack(); } ++#line 2921 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 228: +-/* Line 1787 of yacc.c */ +-#line 1201 "../../ntpd/ntp_parser.y" ++ case 229: ++#line 1203 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { /* see drift_parm below for actions */ } ++#line 2927 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 229: +-/* Line 1787 of yacc.c */ +-#line 1203 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[(2) - (2)].Attr_val_fifo)); } +- break; +- + case 230: +-/* Line 1787 of yacc.c */ +-#line 1205 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[(2) - (2)].String_fifo)); } ++#line 1205 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); } ++#line 2933 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 231: +-/* Line 1787 of yacc.c */ +-#line 1207 "../../ntpd/ntp_parser.y" +- { APPEND_G_FIFO(cfgt.setvar, (yyvsp[(2) - (2)].Set_var)); } ++#line 1207 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); } ++#line 2939 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 232: +-/* Line 1787 of yacc.c */ +-#line 1209 "../../ntpd/ntp_parser.y" ++#line 1209 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); } ++#line 2945 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 233: ++#line 1211 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + addr_opts_node *aon; + +- aon = create_addr_opts_node((yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo)); ++ aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); + APPEND_G_FIFO(cfgt.trap, aon); + } ++#line 2956 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 233: +-/* Line 1787 of yacc.c */ +-#line 1216 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[(2) - (2)].Attr_val_fifo)); } ++ case 234: ++#line 1218 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); } ++#line 2962 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 238: +-/* Line 1787 of yacc.c */ +-#line 1231 "../../ntpd/ntp_parser.y" ++ case 239: ++#line 1233 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + #ifndef LEAP_SMEAR + yyerror("Built without LEAP_SMEAR support."); + #endif + } ++#line 2972 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 244: +-/* Line 1787 of yacc.c */ +-#line 1251 "../../ntpd/ntp_parser.y" ++ case 245: ++#line 1253 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + if (lex_from_file()) { + attr_val *av; +- av = create_attr_sval(T_Driftfile, (yyvsp[(1) - (1)].String)); ++ av = create_attr_sval(T_Driftfile, (yyvsp[0].String)); + APPEND_G_FIFO(cfgt.vars, av); + } else { +- YYFREE((yyvsp[(1) - (1)].String)); ++ YYFREE((yyvsp[0].String)); + yyerror("driftfile remote configuration ignored"); + } + } ++#line 2987 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 245: +-/* Line 1787 of yacc.c */ +-#line 1262 "../../ntpd/ntp_parser.y" ++ case 246: ++#line 1264 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + if (lex_from_file()) { + attr_val *av; +- av = create_attr_sval(T_Driftfile, (yyvsp[(1) - (2)].String)); ++ av = create_attr_sval(T_Driftfile, (yyvsp[-1].String)); + APPEND_G_FIFO(cfgt.vars, av); +- av = create_attr_dval(T_WanderThreshold, (yyvsp[(2) - (2)].Double)); ++ av = create_attr_dval(T_WanderThreshold, (yyvsp[0].Double)); + APPEND_G_FIFO(cfgt.vars, av); + } else { +- YYFREE((yyvsp[(1) - (2)].String)); ++ YYFREE((yyvsp[-1].String)); + yyerror("driftfile remote configuration ignored"); + } + } ++#line 3004 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 246: +-/* Line 1787 of yacc.c */ +-#line 1275 "../../ntpd/ntp_parser.y" ++ case 247: ++#line 1277 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + if (lex_from_file()) { + attr_val *av; +@@ -3242,386 +3014,386 @@ + yyerror("driftfile remote configuration ignored"); + } + } ++#line 3018 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 247: +-/* Line 1787 of yacc.c */ +-#line 1288 "../../ntpd/ntp_parser.y" +- { (yyval.Set_var) = create_setvar_node((yyvsp[(1) - (4)].String), (yyvsp[(3) - (4)].String), (yyvsp[(4) - (4)].Integer)); } ++ case 248: ++#line 1290 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); } ++#line 3024 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 249: +-/* Line 1787 of yacc.c */ +-#line 1294 "../../ntpd/ntp_parser.y" ++ case 250: ++#line 1296 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Integer) = 0; } ++#line 3030 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 250: +-/* Line 1787 of yacc.c */ +-#line 1299 "../../ntpd/ntp_parser.y" ++ case 251: ++#line 1301 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Attr_val_fifo) = NULL; } ++#line 3036 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 251: +-/* Line 1787 of yacc.c */ +-#line 1301 "../../ntpd/ntp_parser.y" ++ case 252: ++#line 1303 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 3045 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 252: +-/* Line 1787 of yacc.c */ +-#line 1309 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } ++ case 253: ++#line 1311 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } ++#line 3051 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 253: +-/* Line 1787 of yacc.c */ +-#line 1311 "../../ntpd/ntp_parser.y" ++ case 254: ++#line 1313 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), estrdup((yyvsp[(2) - (2)].Address_node)->address)); +- destroy_address_node((yyvsp[(2) - (2)].Address_node)); ++ (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address)); ++ destroy_address_node((yyvsp[0].Address_node)); + } ++#line 3060 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 254: +-/* Line 1787 of yacc.c */ +-#line 1319 "../../ntpd/ntp_parser.y" ++ case 255: ++#line 1321 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 3069 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 255: +-/* Line 1787 of yacc.c */ +-#line 1324 "../../ntpd/ntp_parser.y" ++ case 256: ++#line 1326 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 3078 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 256: +-/* Line 1787 of yacc.c */ +-#line 1332 "../../ntpd/ntp_parser.y" ++ case 257: ++#line 1334 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + char prefix; + char * type; + +- switch ((yyvsp[(1) - (1)].String)[0]) { ++ switch ((yyvsp[0].String)[0]) { + + case '+': + case '-': + case '=': +- prefix = (yyvsp[(1) - (1)].String)[0]; +- type = (yyvsp[(1) - (1)].String) + 1; ++ prefix = (yyvsp[0].String)[0]; ++ type = (yyvsp[0].String) + 1; + break; + + default: + prefix = '='; +- type = (yyvsp[(1) - (1)].String); ++ type = (yyvsp[0].String); + } + + (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type)); +- YYFREE((yyvsp[(1) - (1)].String)); ++ YYFREE((yyvsp[0].String)); + } ++#line 3104 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 257: +-/* Line 1787 of yacc.c */ +-#line 1357 "../../ntpd/ntp_parser.y" ++ case 258: ++#line 1359 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + nic_rule_node *nrn; + +- nrn = create_nic_rule_node((yyvsp[(3) - (3)].Integer), NULL, (yyvsp[(2) - (3)].Integer)); ++ nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer)); + APPEND_G_FIFO(cfgt.nic_rules, nrn); + } ++#line 3115 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 258: +-/* Line 1787 of yacc.c */ +-#line 1364 "../../ntpd/ntp_parser.y" ++ case 259: ++#line 1366 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + nic_rule_node *nrn; + +- nrn = create_nic_rule_node(0, (yyvsp[(3) - (3)].String), (yyvsp[(2) - (3)].Integer)); ++ nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer)); + APPEND_G_FIFO(cfgt.nic_rules, nrn); + } ++#line 3126 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 268: +-/* Line 1787 of yacc.c */ +-#line 1392 "../../ntpd/ntp_parser.y" +- { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[(2) - (2)].Int_fifo)); } +- break; +- + case 269: +-/* Line 1787 of yacc.c */ +-#line 1397 "../../ntpd/ntp_parser.y" +- { +- (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo); +- APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); +- } ++#line 1394 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); } ++#line 3132 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 270: +-/* Line 1787 of yacc.c */ +-#line 1402 "../../ntpd/ntp_parser.y" ++#line 1399 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Int_fifo) = NULL; +- APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); ++ (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); ++ APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); + } ++#line 3141 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 278: +-/* Line 1787 of yacc.c */ +-#line 1426 "../../ntpd/ntp_parser.y" ++ case 271: ++#line 1404 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); ++ (yyval.Int_fifo) = NULL; ++ APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); + } ++#line 3150 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 279: +-/* Line 1787 of yacc.c */ +-#line 1431 "../../ntpd/ntp_parser.y" ++#line 1428 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); + } ++#line 3159 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 280: +-/* Line 1787 of yacc.c */ +-#line 1439 "../../ntpd/ntp_parser.y" ++#line 1433 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); ++ (yyval.Attr_val_fifo) = NULL; ++ APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); + } ++#line 3168 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 281: +-/* Line 1787 of yacc.c */ +-#line 1444 "../../ntpd/ntp_parser.y" ++#line 1441 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); + } ++#line 3177 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 282: +-/* Line 1787 of yacc.c */ +-#line 1452 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[(1) - (1)].Integer)); } ++#line 1446 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { ++ (yyval.Attr_val_fifo) = NULL; ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); ++ } ++#line 3186 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 284: +-/* Line 1787 of yacc.c */ +-#line 1458 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[(2) - (5)].Integer), (yyvsp[(4) - (5)].Integer)); } ++ case 283: ++#line 1454 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); } ++#line 3192 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 285: +-/* Line 1787 of yacc.c */ +-#line 1463 "../../ntpd/ntp_parser.y" +- { +- (yyval.String_fifo) = (yyvsp[(1) - (2)].String_fifo); +- APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(2) - (2)].String))); +- } ++#line 1460 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); } ++#line 3198 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 286: +-/* Line 1787 of yacc.c */ +-#line 1468 "../../ntpd/ntp_parser.y" ++#line 1465 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.String_fifo) = NULL; +- APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(1) - (1)].String))); ++ (yyval.String_fifo) = (yyvsp[-1].String_fifo); ++ APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); + } ++#line 3207 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 287: +-/* Line 1787 of yacc.c */ +-#line 1476 "../../ntpd/ntp_parser.y" ++#line 1470 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Address_fifo) = (yyvsp[(1) - (2)].Address_fifo); +- APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(2) - (2)].Address_node)); ++ (yyval.String_fifo) = NULL; ++ APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); + } ++#line 3216 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 288: +-/* Line 1787 of yacc.c */ +-#line 1481 "../../ntpd/ntp_parser.y" ++#line 1478 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Address_fifo) = NULL; +- APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(1) - (1)].Address_node)); ++ (yyval.Address_fifo) = (yyvsp[-1].Address_fifo); ++ APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); + } ++#line 3225 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 289: +-/* Line 1787 of yacc.c */ +-#line 1489 "../../ntpd/ntp_parser.y" ++#line 1483 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- if ((yyvsp[(1) - (1)].Integer) != 0 && (yyvsp[(1) - (1)].Integer) != 1) { ++ (yyval.Address_fifo) = NULL; ++ APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); ++ } ++#line 3234 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 290: ++#line 1491 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { ++ if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) { + yyerror("Integer value is not boolean (0 or 1). Assuming 1"); + (yyval.Integer) = 1; + } else { +- (yyval.Integer) = (yyvsp[(1) - (1)].Integer); ++ (yyval.Integer) = (yyvsp[0].Integer); + } + } ++#line 3247 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 290: +-/* Line 1787 of yacc.c */ +-#line 1497 "../../ntpd/ntp_parser.y" ++ case 291: ++#line 1499 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Integer) = 1; } ++#line 3253 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 291: +-/* Line 1787 of yacc.c */ +-#line 1498 "../../ntpd/ntp_parser.y" ++ case 292: ++#line 1500 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Integer) = 0; } ++#line 3259 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 292: +-/* Line 1787 of yacc.c */ +-#line 1502 "../../ntpd/ntp_parser.y" +- { (yyval.Double) = (double)(yyvsp[(1) - (1)].Integer); } ++ case 293: ++#line 1504 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Double) = (double)(yyvsp[0].Integer); } ++#line 3265 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 294: +-/* Line 1787 of yacc.c */ +-#line 1513 "../../ntpd/ntp_parser.y" ++ case 295: ++#line 1515 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + sim_node *sn; + +- sn = create_sim_node((yyvsp[(3) - (5)].Attr_val_fifo), (yyvsp[(4) - (5)].Sim_server_fifo)); ++ sn = create_sim_node((yyvsp[-2].Attr_val_fifo), (yyvsp[-1].Sim_server_fifo)); + APPEND_G_FIFO(cfgt.sim_details, sn); + + /* Revert from ; to \n for end-of-command */ + old_config_style = 1; + } ++#line 3279 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 295: +-/* Line 1787 of yacc.c */ +-#line 1530 "../../ntpd/ntp_parser.y" ++ case 296: ++#line 1532 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { old_config_style = 0; } ++#line 3285 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 296: +-/* Line 1787 of yacc.c */ +-#line 1535 "../../ntpd/ntp_parser.y" ++ case 297: ++#line 1537 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); + } ++#line 3294 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 297: +-/* Line 1787 of yacc.c */ +-#line 1540 "../../ntpd/ntp_parser.y" ++ case 298: ++#line 1542 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); + } ++#line 3303 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 298: +-/* Line 1787 of yacc.c */ +-#line 1548 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); } ++ case 299: ++#line 1550 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } ++#line 3309 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 301: +-/* Line 1787 of yacc.c */ +-#line 1558 "../../ntpd/ntp_parser.y" ++ case 302: ++#line 1560 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Sim_server_fifo) = (yyvsp[(1) - (2)].Sim_server_fifo); +- APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(2) - (2)].Sim_server)); ++ (yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo); ++ APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); + } ++#line 3318 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 302: +-/* Line 1787 of yacc.c */ +-#line 1563 "../../ntpd/ntp_parser.y" ++ case 303: ++#line 1565 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Sim_server_fifo) = NULL; +- APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(1) - (1)].Sim_server)); ++ APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); + } ++#line 3327 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 303: +-/* Line 1787 of yacc.c */ +-#line 1571 "../../ntpd/ntp_parser.y" +- { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[(1) - (5)].Address_node), (yyvsp[(3) - (5)].Double), (yyvsp[(4) - (5)].Sim_script_fifo))); } +- break; +- + case 304: +-/* Line 1787 of yacc.c */ +-#line 1576 "../../ntpd/ntp_parser.y" +- { (yyval.Double) = (yyvsp[(3) - (4)].Double); } ++#line 1573 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); } ++#line 3333 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 305: +-/* Line 1787 of yacc.c */ +-#line 1581 "../../ntpd/ntp_parser.y" +- { (yyval.Address_node) = (yyvsp[(3) - (3)].Address_node); } ++#line 1578 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Double) = (yyvsp[-1].Double); } ++#line 3339 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + case 306: +-/* Line 1787 of yacc.c */ +-#line 1586 "../../ntpd/ntp_parser.y" ++#line 1583 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Address_node) = (yyvsp[0].Address_node); } ++#line 3345 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ ++ break; ++ ++ case 307: ++#line 1588 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Sim_script_fifo) = (yyvsp[(1) - (2)].Sim_script_fifo); +- APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(2) - (2)].Sim_script)); ++ (yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo); ++ APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); + } ++#line 3354 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 307: +-/* Line 1787 of yacc.c */ +-#line 1591 "../../ntpd/ntp_parser.y" ++ case 308: ++#line 1593 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Sim_script_fifo) = NULL; +- APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(1) - (1)].Sim_script)); ++ APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); + } ++#line 3363 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 308: +-/* Line 1787 of yacc.c */ +-#line 1599 "../../ntpd/ntp_parser.y" +- { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[(3) - (6)].Double), (yyvsp[(5) - (6)].Attr_val_fifo))); } ++ case 309: ++#line 1601 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); } ++#line 3369 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 309: +-/* Line 1787 of yacc.c */ +-#line 1604 "../../ntpd/ntp_parser.y" ++ case 310: ++#line 1606 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { +- (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo); +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val)); ++ (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); + } ++#line 3378 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 310: +-/* Line 1787 of yacc.c */ +-#line 1609 "../../ntpd/ntp_parser.y" ++ case 311: ++#line 1611 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + (yyval.Attr_val_fifo) = NULL; +- APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val)); ++ APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); + } ++#line 3387 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + +- case 311: +-/* Line 1787 of yacc.c */ +-#line 1617 "../../ntpd/ntp_parser.y" +- { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); } ++ case 312: ++#line 1619 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ ++ { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } ++#line 3393 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + break; + + +-/* Line 1787 of yacc.c */ +-#line 3625 "ntp_parser.c" ++#line 3397 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ + default: break; + } + /* User semantic actions sometimes alter yychar, and that requires +@@ -3643,7 +3415,7 @@ + + *++yyvsp = yyval; + +- /* Now `shift' the result of the reduction. Determine what state ++ /* Now 'shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ + +@@ -3658,9 +3430,9 @@ + goto yynewstate; + + +-/*------------------------------------. +-| yyerrlab -- here on detecting error | +-`------------------------------------*/ ++/*--------------------------------------. ++| yyerrlab -- here on detecting error. | ++`--------------------------------------*/ + yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ +@@ -3711,20 +3483,20 @@ + if (yyerrstatus == 3) + { + /* If just tried and failed to reuse lookahead token after an +- error, discard it. */ ++ error, discard it. */ + + if (yychar <= YYEOF) +- { +- /* Return failure if at end of input. */ +- if (yychar == YYEOF) +- YYABORT; +- } ++ { ++ /* Return failure if at end of input. */ ++ if (yychar == YYEOF) ++ YYABORT; ++ } + else +- { +- yydestruct ("Error: discarding", +- yytoken, &yylval); +- yychar = YYEMPTY; +- } ++ { ++ yydestruct ("Error: discarding", ++ yytoken, &yylval); ++ yychar = YYEMPTY; ++ } + } + + /* Else will try to reuse lookahead token after shifting the error +@@ -3743,7 +3515,7 @@ + if (/*CONSTCOND*/ 0) + goto yyerrorlab; + +- /* Do not reclaim the symbols of the rule which action triggered ++ /* Do not reclaim the symbols of the rule whose action triggered + this YYERROR. */ + YYPOPSTACK (yylen); + yylen = 0; +@@ -3756,29 +3528,29 @@ + | yyerrlab1 -- common code for both syntax error and YYERROR. | + `-------------------------------------------------------------*/ + yyerrlab1: +- yyerrstatus = 3; /* Each real token shifted decrements this. */ ++ yyerrstatus = 3; /* Each real token shifted decrements this. */ + + for (;;) + { + yyn = yypact[yystate]; + if (!yypact_value_is_default (yyn)) +- { +- yyn += YYTERROR; +- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) +- { +- yyn = yytable[yyn]; +- if (0 < yyn) +- break; +- } +- } ++ { ++ yyn += YYTERROR; ++ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) ++ { ++ yyn = yytable[yyn]; ++ if (0 < yyn) ++ break; ++ } ++ } + + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) +- YYABORT; ++ YYABORT; + + + yydestruct ("Error: popping", +- yystos[yystate], yyvsp); ++ yystos[yystate], yyvsp); + YYPOPSTACK (1); + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); +@@ -3829,7 +3601,7 @@ + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); + } +- /* Do not reclaim the symbols of the rule which action triggered ++ /* Do not reclaim the symbols of the rule whose action triggered + this YYABORT or YYACCEPT. */ + YYPOPSTACK (yylen); + YY_STACK_PRINT (yyss, yyssp); +@@ -3836,7 +3608,7 @@ + while (yyssp != yyss) + { + yydestruct ("Cleanup: popping", +- yystos[*yyssp], yyvsp); ++ yystos[*yyssp], yyvsp); + YYPOPSTACK (1); + } + #ifndef yyoverflow +@@ -3847,15 +3619,11 @@ + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + #endif +- /* Make sure YYID is used. */ +- return YYID (yyresult); ++ return yyresult; + } ++#line 1630 "../../ntpd/ntp_parser.y" /* yacc.c:1906 */ + + +-/* Line 2050 of yacc.c */ +-#line 1628 "../../ntpd/ntp_parser.y" +- +- + void + yyerror( + const char *msg +--- contrib/ntp/ntpd/ntp_parser.h.orig ++++ contrib/ntp/ntpd/ntp_parser.h +@@ -1,19 +1,19 @@ +-/* A Bison parser, made by GNU Bison 2.7.12-4996. */ ++/* A Bison parser, made by GNU Bison 3.0.4. */ + + /* Bison interface for Yacc-like parsers in C +- +- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. +- ++ ++ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. ++ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. +- ++ + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. +- ++ + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +@@ -26,13 +26,13 @@ + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. +- ++ + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +-#ifndef YY_YY_NTP_PARSER_H_INCLUDED +-# define YY_YY_NTP_PARSER_H_INCLUDED +-/* Enabling traces. */ ++#ifndef YY_YY_Y_TAB_H_INCLUDED ++# define YY_YY_Y_TAB_H_INCLUDED ++/* Debug traces. */ + #ifndef YYDEBUG + # define YYDEBUG 1 + #endif +@@ -40,207 +40,207 @@ + extern int yydebug; + #endif + +-/* Tokens. */ ++/* Token type. */ + #ifndef YYTOKENTYPE + # define YYTOKENTYPE +- /* Put the tokens into the symbol table, so that GDB and other debuggers +- know about them. */ +- enum yytokentype { +- T_Abbrev = 258, +- T_Age = 259, +- T_All = 260, +- T_Allan = 261, +- T_Allpeers = 262, +- T_Auth = 263, +- T_Autokey = 264, +- T_Automax = 265, +- T_Average = 266, +- T_Bclient = 267, +- T_Beacon = 268, +- T_Broadcast = 269, +- T_Broadcastclient = 270, +- T_Broadcastdelay = 271, +- T_Burst = 272, +- T_Calibrate = 273, +- T_Ceiling = 274, +- T_Clockstats = 275, +- T_Cohort = 276, +- T_ControlKey = 277, +- T_Crypto = 278, +- T_Cryptostats = 279, +- T_Ctl = 280, +- T_Day = 281, +- T_Default = 282, +- T_Digest = 283, +- T_Disable = 284, +- T_Discard = 285, +- T_Dispersion = 286, +- T_Double = 287, +- T_Driftfile = 288, +- T_Drop = 289, +- T_Dscp = 290, +- T_Ellipsis = 291, +- T_Enable = 292, +- T_End = 293, +- T_False = 294, +- T_File = 295, +- T_Filegen = 296, +- T_Filenum = 297, +- T_Flag1 = 298, +- T_Flag2 = 299, +- T_Flag3 = 300, +- T_Flag4 = 301, +- T_Flake = 302, +- T_Floor = 303, +- T_Freq = 304, +- T_Fudge = 305, +- T_Host = 306, +- T_Huffpuff = 307, +- T_Iburst = 308, +- T_Ident = 309, +- T_Ignore = 310, +- T_Incalloc = 311, +- T_Incmem = 312, +- T_Initalloc = 313, +- T_Initmem = 314, +- T_Includefile = 315, +- T_Integer = 316, +- T_Interface = 317, +- T_Intrange = 318, +- T_Io = 319, +- T_Ipv4 = 320, +- T_Ipv4_flag = 321, +- T_Ipv6 = 322, +- T_Ipv6_flag = 323, +- T_Kernel = 324, +- T_Key = 325, +- T_Keys = 326, +- T_Keysdir = 327, +- T_Kod = 328, +- T_Mssntp = 329, +- T_Leapfile = 330, +- T_Leapsmearinterval = 331, +- T_Limited = 332, +- T_Link = 333, +- T_Listen = 334, +- T_Logconfig = 335, +- T_Logfile = 336, +- T_Loopstats = 337, +- T_Lowpriotrap = 338, +- T_Manycastclient = 339, +- T_Manycastserver = 340, +- T_Mask = 341, +- T_Maxage = 342, +- T_Maxclock = 343, +- T_Maxdepth = 344, +- T_Maxdist = 345, +- T_Maxmem = 346, +- T_Maxpoll = 347, +- T_Mdnstries = 348, +- T_Mem = 349, +- T_Memlock = 350, +- T_Minclock = 351, +- T_Mindepth = 352, +- T_Mindist = 353, +- T_Minimum = 354, +- T_Minpoll = 355, +- T_Minsane = 356, +- T_Mode = 357, +- T_Mode7 = 358, +- T_Monitor = 359, +- T_Month = 360, +- T_Mru = 361, +- T_Multicastclient = 362, +- T_Nic = 363, +- T_Nolink = 364, +- T_Nomodify = 365, +- T_Nomrulist = 366, +- T_None = 367, +- T_Nonvolatile = 368, +- T_Nopeer = 369, +- T_Noquery = 370, +- T_Noselect = 371, +- T_Noserve = 372, +- T_Notrap = 373, +- T_Notrust = 374, +- T_Ntp = 375, +- T_Ntpport = 376, +- T_NtpSignDsocket = 377, +- T_Orphan = 378, +- T_Orphanwait = 379, +- T_Panic = 380, +- T_Peer = 381, +- T_Peerstats = 382, +- T_Phone = 383, +- T_Pid = 384, +- T_Pidfile = 385, +- T_Pool = 386, +- T_Port = 387, +- T_Preempt = 388, +- T_Prefer = 389, +- T_Protostats = 390, +- T_Pw = 391, +- T_Randfile = 392, +- T_Rawstats = 393, +- T_Refid = 394, +- T_Requestkey = 395, +- T_Reset = 396, +- T_Restrict = 397, +- T_Revoke = 398, +- T_Rlimit = 399, +- T_Saveconfigdir = 400, +- T_Server = 401, +- T_Setvar = 402, +- T_Source = 403, +- T_Stacksize = 404, +- T_Statistics = 405, +- T_Stats = 406, +- T_Statsdir = 407, +- T_Step = 408, +- T_Stepback = 409, +- T_Stepfwd = 410, +- T_Stepout = 411, +- T_Stratum = 412, +- T_String = 413, +- T_Sys = 414, +- T_Sysstats = 415, +- T_Tick = 416, +- T_Time1 = 417, +- T_Time2 = 418, +- T_Timer = 419, +- T_Timingstats = 420, +- T_Tinker = 421, +- T_Tos = 422, +- T_Trap = 423, +- T_True = 424, +- T_Trustedkey = 425, +- T_Ttl = 426, +- T_Type = 427, +- T_U_int = 428, +- T_UEcrypto = 429, +- T_UEcryptonak = 430, +- T_UEdigest = 431, +- T_Unconfig = 432, +- T_Unpeer = 433, +- T_Version = 434, +- T_WanderThreshold = 435, +- T_Week = 436, +- T_Wildcard = 437, +- T_Xleave = 438, +- T_Year = 439, +- T_Flag = 440, +- T_EOC = 441, +- T_Simulate = 442, +- T_Beep_Delay = 443, +- T_Sim_Duration = 444, +- T_Server_Offset = 445, +- T_Duration = 446, +- T_Freq_Offset = 447, +- T_Wander = 448, +- T_Jitter = 449, +- T_Prop_Delay = 450, +- T_Proc_Delay = 451 +- }; ++ enum yytokentype ++ { ++ T_Abbrev = 258, ++ T_Age = 259, ++ T_All = 260, ++ T_Allan = 261, ++ T_Allpeers = 262, ++ T_Auth = 263, ++ T_Autokey = 264, ++ T_Automax = 265, ++ T_Average = 266, ++ T_Bclient = 267, ++ T_Beacon = 268, ++ T_Broadcast = 269, ++ T_Broadcastclient = 270, ++ T_Broadcastdelay = 271, ++ T_Burst = 272, ++ T_Calibrate = 273, ++ T_Ceiling = 274, ++ T_Clockstats = 275, ++ T_Cohort = 276, ++ T_ControlKey = 277, ++ T_Crypto = 278, ++ T_Cryptostats = 279, ++ T_Ctl = 280, ++ T_Day = 281, ++ T_Default = 282, ++ T_Digest = 283, ++ T_Disable = 284, ++ T_Discard = 285, ++ T_Dispersion = 286, ++ T_Double = 287, ++ T_Driftfile = 288, ++ T_Drop = 289, ++ T_Dscp = 290, ++ T_Ellipsis = 291, ++ T_Enable = 292, ++ T_End = 293, ++ T_False = 294, ++ T_File = 295, ++ T_Filegen = 296, ++ T_Filenum = 297, ++ T_Flag1 = 298, ++ T_Flag2 = 299, ++ T_Flag3 = 300, ++ T_Flag4 = 301, ++ T_Flake = 302, ++ T_Floor = 303, ++ T_Freq = 304, ++ T_Fudge = 305, ++ T_Host = 306, ++ T_Huffpuff = 307, ++ T_Iburst = 308, ++ T_Ident = 309, ++ T_Ignore = 310, ++ T_Incalloc = 311, ++ T_Incmem = 312, ++ T_Initalloc = 313, ++ T_Initmem = 314, ++ T_Includefile = 315, ++ T_Integer = 316, ++ T_Interface = 317, ++ T_Intrange = 318, ++ T_Io = 319, ++ T_Ipv4 = 320, ++ T_Ipv4_flag = 321, ++ T_Ipv6 = 322, ++ T_Ipv6_flag = 323, ++ T_Kernel = 324, ++ T_Key = 325, ++ T_Keys = 326, ++ T_Keysdir = 327, ++ T_Kod = 328, ++ T_Mssntp = 329, ++ T_Leapfile = 330, ++ T_Leapsmearinterval = 331, ++ T_Limited = 332, ++ T_Link = 333, ++ T_Listen = 334, ++ T_Logconfig = 335, ++ T_Logfile = 336, ++ T_Loopstats = 337, ++ T_Lowpriotrap = 338, ++ T_Manycastclient = 339, ++ T_Manycastserver = 340, ++ T_Mask = 341, ++ T_Maxage = 342, ++ T_Maxclock = 343, ++ T_Maxdepth = 344, ++ T_Maxdist = 345, ++ T_Maxmem = 346, ++ T_Maxpoll = 347, ++ T_Mdnstries = 348, ++ T_Mem = 349, ++ T_Memlock = 350, ++ T_Minclock = 351, ++ T_Mindepth = 352, ++ T_Mindist = 353, ++ T_Minimum = 354, ++ T_Minpoll = 355, ++ T_Minsane = 356, ++ T_Mode = 357, ++ T_Mode7 = 358, ++ T_Monitor = 359, ++ T_Month = 360, ++ T_Mru = 361, ++ T_Multicastclient = 362, ++ T_Nic = 363, ++ T_Nolink = 364, ++ T_Nomodify = 365, ++ T_Nomrulist = 366, ++ T_None = 367, ++ T_Nonvolatile = 368, ++ T_Nopeer = 369, ++ T_Noquery = 370, ++ T_Noselect = 371, ++ T_Noserve = 372, ++ T_Notrap = 373, ++ T_Notrust = 374, ++ T_Ntp = 375, ++ T_Ntpport = 376, ++ T_NtpSignDsocket = 377, ++ T_Orphan = 378, ++ T_Orphanwait = 379, ++ T_PCEdigest = 380, ++ T_Panic = 381, ++ T_Peer = 382, ++ T_Peerstats = 383, ++ T_Phone = 384, ++ T_Pid = 385, ++ T_Pidfile = 386, ++ T_Pool = 387, ++ T_Port = 388, ++ T_Preempt = 389, ++ T_Prefer = 390, ++ T_Protostats = 391, ++ T_Pw = 392, ++ T_Randfile = 393, ++ T_Rawstats = 394, ++ T_Refid = 395, ++ T_Requestkey = 396, ++ T_Reset = 397, ++ T_Restrict = 398, ++ T_Revoke = 399, ++ T_Rlimit = 400, ++ T_Saveconfigdir = 401, ++ T_Server = 402, ++ T_Setvar = 403, ++ T_Source = 404, ++ T_Stacksize = 405, ++ T_Statistics = 406, ++ T_Stats = 407, ++ T_Statsdir = 408, ++ T_Step = 409, ++ T_Stepback = 410, ++ T_Stepfwd = 411, ++ T_Stepout = 412, ++ T_Stratum = 413, ++ T_String = 414, ++ T_Sys = 415, ++ T_Sysstats = 416, ++ T_Tick = 417, ++ T_Time1 = 418, ++ T_Time2 = 419, ++ T_Timer = 420, ++ T_Timingstats = 421, ++ T_Tinker = 422, ++ T_Tos = 423, ++ T_Trap = 424, ++ T_True = 425, ++ T_Trustedkey = 426, ++ T_Ttl = 427, ++ T_Type = 428, ++ T_U_int = 429, ++ T_UEcrypto = 430, ++ T_UEcryptonak = 431, ++ T_UEdigest = 432, ++ T_Unconfig = 433, ++ T_Unpeer = 434, ++ T_Version = 435, ++ T_WanderThreshold = 436, ++ T_Week = 437, ++ T_Wildcard = 438, ++ T_Xleave = 439, ++ T_Year = 440, ++ T_Flag = 441, ++ T_EOC = 442, ++ T_Simulate = 443, ++ T_Beep_Delay = 444, ++ T_Sim_Duration = 445, ++ T_Server_Offset = 446, ++ T_Duration = 447, ++ T_Freq_Offset = 448, ++ T_Wander = 449, ++ T_Jitter = 450, ++ T_Prop_Delay = 451, ++ T_Proc_Delay = 452 ++ }; + #endif + /* Tokens. */ + #define T_Abbrev 258 +@@ -365,86 +365,86 @@ + #define T_NtpSignDsocket 377 + #define T_Orphan 378 + #define T_Orphanwait 379 +-#define T_Panic 380 +-#define T_Peer 381 +-#define T_Peerstats 382 +-#define T_Phone 383 +-#define T_Pid 384 +-#define T_Pidfile 385 +-#define T_Pool 386 +-#define T_Port 387 +-#define T_Preempt 388 +-#define T_Prefer 389 +-#define T_Protostats 390 +-#define T_Pw 391 +-#define T_Randfile 392 +-#define T_Rawstats 393 +-#define T_Refid 394 +-#define T_Requestkey 395 +-#define T_Reset 396 +-#define T_Restrict 397 +-#define T_Revoke 398 +-#define T_Rlimit 399 +-#define T_Saveconfigdir 400 +-#define T_Server 401 +-#define T_Setvar 402 +-#define T_Source 403 +-#define T_Stacksize 404 +-#define T_Statistics 405 +-#define T_Stats 406 +-#define T_Statsdir 407 +-#define T_Step 408 +-#define T_Stepback 409 +-#define T_Stepfwd 410 +-#define T_Stepout 411 +-#define T_Stratum 412 +-#define T_String 413 +-#define T_Sys 414 +-#define T_Sysstats 415 +-#define T_Tick 416 +-#define T_Time1 417 +-#define T_Time2 418 +-#define T_Timer 419 +-#define T_Timingstats 420 +-#define T_Tinker 421 +-#define T_Tos 422 +-#define T_Trap 423 +-#define T_True 424 +-#define T_Trustedkey 425 +-#define T_Ttl 426 +-#define T_Type 427 +-#define T_U_int 428 +-#define T_UEcrypto 429 +-#define T_UEcryptonak 430 +-#define T_UEdigest 431 +-#define T_Unconfig 432 +-#define T_Unpeer 433 +-#define T_Version 434 +-#define T_WanderThreshold 435 +-#define T_Week 436 +-#define T_Wildcard 437 +-#define T_Xleave 438 +-#define T_Year 439 +-#define T_Flag 440 +-#define T_EOC 441 +-#define T_Simulate 442 +-#define T_Beep_Delay 443 +-#define T_Sim_Duration 444 +-#define T_Server_Offset 445 +-#define T_Duration 446 +-#define T_Freq_Offset 447 +-#define T_Wander 448 +-#define T_Jitter 449 +-#define T_Prop_Delay 450 +-#define T_Proc_Delay 451 ++#define T_PCEdigest 380 ++#define T_Panic 381 ++#define T_Peer 382 ++#define T_Peerstats 383 ++#define T_Phone 384 ++#define T_Pid 385 ++#define T_Pidfile 386 ++#define T_Pool 387 ++#define T_Port 388 ++#define T_Preempt 389 ++#define T_Prefer 390 ++#define T_Protostats 391 ++#define T_Pw 392 ++#define T_Randfile 393 ++#define T_Rawstats 394 ++#define T_Refid 395 ++#define T_Requestkey 396 ++#define T_Reset 397 ++#define T_Restrict 398 ++#define T_Revoke 399 ++#define T_Rlimit 400 ++#define T_Saveconfigdir 401 ++#define T_Server 402 ++#define T_Setvar 403 ++#define T_Source 404 ++#define T_Stacksize 405 ++#define T_Statistics 406 ++#define T_Stats 407 ++#define T_Statsdir 408 ++#define T_Step 409 ++#define T_Stepback 410 ++#define T_Stepfwd 411 ++#define T_Stepout 412 ++#define T_Stratum 413 ++#define T_String 414 ++#define T_Sys 415 ++#define T_Sysstats 416 ++#define T_Tick 417 ++#define T_Time1 418 ++#define T_Time2 419 ++#define T_Timer 420 ++#define T_Timingstats 421 ++#define T_Tinker 422 ++#define T_Tos 423 ++#define T_Trap 424 ++#define T_True 425 ++#define T_Trustedkey 426 ++#define T_Ttl 427 ++#define T_Type 428 ++#define T_U_int 429 ++#define T_UEcrypto 430 ++#define T_UEcryptonak 431 ++#define T_UEdigest 432 ++#define T_Unconfig 433 ++#define T_Unpeer 434 ++#define T_Version 435 ++#define T_WanderThreshold 436 ++#define T_Week 437 ++#define T_Wildcard 438 ++#define T_Xleave 439 ++#define T_Year 440 ++#define T_Flag 441 ++#define T_EOC 442 ++#define T_Simulate 443 ++#define T_Beep_Delay 444 ++#define T_Sim_Duration 445 ++#define T_Server_Offset 446 ++#define T_Duration 447 ++#define T_Freq_Offset 448 ++#define T_Wander 449 ++#define T_Jitter 450 ++#define T_Prop_Delay 451 ++#define T_Proc_Delay 452 + ++/* Value type. */ ++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + +- +-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +-typedef union YYSTYPE ++union YYSTYPE + { +-/* Line 2053 of yacc.c */ +-#line 51 "../../ntpd/ntp_parser.y" ++#line 51 "../../ntpd/ntp_parser.y" /* yacc.c:1909 */ + + char * String; + double Double; +@@ -463,29 +463,17 @@ + script_info * Sim_script; + script_info_fifo * Sim_script_fifo; + ++#line 467 "../../ntpd/ntp_parser.h" /* yacc.c:1909 */ ++}; + +-/* Line 2053 of yacc.c */ +-#line 469 "ntp_parser.h" +-} YYSTYPE; ++typedef union YYSTYPE YYSTYPE; + # define YYSTYPE_IS_TRIVIAL 1 +-# define yystype YYSTYPE /* obsolescent; will be withdrawn */ + # define YYSTYPE_IS_DECLARED 1 + #endif + ++ + extern YYSTYPE yylval; + +-#ifdef YYPARSE_PARAM +-#if defined __STDC__ || defined __cplusplus +-int yyparse (void *YYPARSE_PARAM); +-#else +-int yyparse (); +-#endif +-#else /* ! YYPARSE_PARAM */ +-#if defined __STDC__ || defined __cplusplus + int yyparse (void); +-#else +-int yyparse (); +-#endif +-#endif /* ! YYPARSE_PARAM */ + +-#endif /* !YY_YY_NTP_PARSER_H_INCLUDED */ ++#endif /* !YY_YY_Y_TAB_H_INCLUDED */ +--- contrib/ntp/ntpd/ntp_proto.c.orig ++++ contrib/ntp/ntpd/ntp_proto.c +@@ -165,7 +165,7 @@ + u_long sys_kodsent; /* KoD sent */ + + /* +- * Mechanism knobs: how soon do we unpeer()? ++ * Mechanism knobs: how soon do we peer_clear() or unpeer()? + * + * The default way is "on-receipt". If this was a packet from a + * well-behaved source, on-receipt will offer the fastest recovery. +@@ -173,6 +173,7 @@ + * for a bad-guy to DoS us. So look and see what bites you harder + * and choose according to your environment. + */ ++int peer_clear_digest_early = 1; /* bad digest (TEST5) and Autokey */ + int unpeer_crypto_early = 1; /* bad crypto (TEST9) */ + int unpeer_crypto_nak_early = 1; /* crypto_NAK (TEST5) */ + int unpeer_digest_early = 1; /* bad digest (TEST5) */ +@@ -277,10 +278,12 @@ + u_char hismode + ) + { +- int base_packet_length = MIN_V4_PKT_LEN; +- int remainder_size; +- struct pkt *rpkt; +- int keyid; ++ int base_packet_length = MIN_V4_PKT_LEN; ++ int remainder_size; ++ struct pkt * rpkt; ++ int keyid; ++ l_fp p_org; /* origin timestamp */ ++ const l_fp * myorg; /* selected peer origin */ + + /* + * Check to see if there is something beyond the basic packet +@@ -305,7 +308,7 @@ + hismode != MODE_ACTIVE && + hismode != MODE_PASSIVE + ) { +- return (INVALIDNAK); ++ return INVALIDNAK; + } + + /* +@@ -314,18 +317,35 @@ + rpkt = &rbufp->recv_pkt; + keyid = ntohl(((u_int32 *)rpkt)[base_packet_length / 4]); + if (keyid != 0) { +- return (INVALIDNAK); ++ return INVALIDNAK; + } + + /* + * Only valid if peer uses a key + */ +- if (peer->keyid > 0 || peer->flags & FLAG_SKEY) { +- return (VALIDNAK); ++ if (!peer || !peer->keyid || !(peer->flags & FLAG_SKEY)) { ++ return INVALIDNAK; + } +- else { +- return (INVALIDNAK); ++ ++ /* ++ * The ORIGIN must match, or this cannot be a valid NAK, either. ++ */ ++ NTOHL_FP(&rpkt->org, &p_org); ++ if (peer->flip > 0) ++ myorg = &peer->borg; ++ else ++ myorg = &peer->aorg; ++ ++ if (L_ISZERO(&p_org) || ++ L_ISZERO( myorg) || ++ !L_ISEQU(&p_org, myorg)) { ++ return INVALIDNAK; + } ++ ++ /* If we ever passed all that checks, we should be safe. Well, ++ * as safe as we can ever be with an unauthenticated crypto-nak. ++ */ ++ return VALIDNAK; + } + + +@@ -568,7 +588,7 @@ + int kissCode = NOKISS; /* Kiss Code */ + int has_mac; /* length of MAC field */ + int authlen; /* offset of MAC field */ +- int is_authentic = 0; /* cryptosum ok */ ++ int is_authentic = AUTH_NONE; /* cryptosum ok */ + int crypto_nak_test; /* result of crypto-NAK check */ + int retcode = AM_NOMATCH; /* match code */ + keyid_t skeyid = 0; /* key IDs */ +@@ -616,6 +636,8 @@ + hisleap = PKT_LEAP(pkt->li_vn_mode); + hismode = (int)PKT_MODE(pkt->li_vn_mode); + hisstratum = PKT_TO_STRATUM(pkt->stratum); ++ INSIST(0 != hisstratum); ++ + if (restrict_mask & RES_IGNORE) { + sys_restricted++; + return; /* ignore everything */ +@@ -1512,7 +1534,7 @@ + */ + if (L_ISZERO(&p_xmt)) { + peer->flash |= TEST3; /* unsynch */ +- if (0 == hisstratum) { /* KoD packet */ ++ if (STRATUM_UNSPEC == hisstratum) { /* KoD packet */ + peer->bogusorg++; /* for TEST2 or TEST3 */ + msyslog(LOG_INFO, + "receive: Unexpected zero transmit timestamp in KoD from %s", +@@ -1531,17 +1553,22 @@ + return; + + /* +- * If this is a broadcast mode packet, skip further checking. If +- * an initial volley, bail out now and let the client do its +- * stuff. If the origin timestamp is nonzero, this is an +- * interleaved broadcast. so restart the protocol. ++ * If this is a broadcast mode packet, make sure hisstratum ++ * is appropriate. Don't do anything else here - we wait to ++ * see if this is an interleave broadcast packet until after ++ * we've validated the MAC that SHOULD be provided. ++ * ++ * hisstratum should never be 0. ++ * If hisstratum is 15, then we'll advertise as UNSPEC but ++ * at least we'll be able to sync with the broadcast server. + */ + } else if (hismode == MODE_BROADCAST) { +- if (!L_ISZERO(&p_org) && !(peer->flags & FLAG_XB)) { +- peer->flags |= FLAG_XB; +- peer->aorg = p_xmt; +- peer->borg = rbufp->recv_time; +- report_event(PEVNT_XLEAVE, peer, NULL); ++ if ( 0 == hisstratum ++ || STRATUM_UNSPEC <= hisstratum) { ++ /* Is this a ++sys_declined or ??? */ ++ msyslog(LOG_INFO, ++ "receive: Unexpected stratum (%d) in broadcast from %s", ++ hisstratum, ntoa(&peer->srcadr)); + return; + } + +@@ -1558,7 +1585,7 @@ + * (nonzero) org, rec, and xmt timestamps set to the xmt timestamp + * that we have previously sent out. Watch interleave mode. + */ +- } else if (0 == hisstratum) { ++ } else if (STRATUM_UNSPEC == hisstratum) { + DEBUG_INSIST(!L_ISZERO(&p_xmt)); + if ( L_ISZERO(&p_org) /* We checked p_xmt above */ + || L_ISZERO(&p_rec)) { +@@ -1617,6 +1644,7 @@ + */ + } else if (peer->flip == 0) { + INSIST(0 != hisstratum); ++ INSIST(STRATUM_UNSPEC != hisstratum); + if (0) { + } else if (L_ISZERO(&p_org)) { + msyslog(LOG_INFO, +@@ -1654,8 +1682,9 @@ + /* + * Check for valid nonzero timestamp fields. + */ +- } else if (L_ISZERO(&p_org) || L_ISZERO(&p_rec) || +- L_ISZERO(&peer->dst)) { ++ } else if ( L_ISZERO(&p_org) ++ || L_ISZERO(&p_rec) ++ || L_ISZERO(&peer->dst)) { + peer->flash |= TEST3; /* unsynch */ + + /* +@@ -1671,6 +1700,8 @@ + return; /* Bogus packet, we are done */ + } + ++ /**/ ++ + /* + * If this is a crypto_NAK, the server cannot authenticate a + * client packet. The server might have just changed keys. Clear +@@ -1687,8 +1718,9 @@ + return; + } + #ifdef AUTOKEY +- if (peer->crypto) ++ if (peer->crypto) { + peer_clear(peer, "AUTH"); ++ } + #endif /* AUTOKEY */ + return; + +@@ -1702,28 +1734,78 @@ + */ + } else if (!AUTH(peer->keyid || has_mac || + (restrict_mask & RES_DONTTRUST), is_authentic)) { ++ ++ if (peer->flash & PKT_TEST_MASK) { ++ msyslog(LOG_INFO, ++ "receive: Bad auth in packet with bad timestamps from %s denied - spoof?", ++ ntoa(&peer->srcadr)); ++ return; ++ } ++ + report_event(PEVNT_AUTH, peer, "digest"); + peer->flash |= TEST5; /* bad auth */ + peer->badauth++; + if ( has_mac +- && (hismode == MODE_ACTIVE || hismode == MODE_PASSIVE)) ++ && ( hismode == MODE_ACTIVE ++ || hismode == MODE_PASSIVE)) + fast_xmit(rbufp, MODE_ACTIVE, 0, restrict_mask); + if (peer->flags & FLAG_PREEMPT) { + if (unpeer_digest_early) { + unpeer(peer); + } +- return; + } + #ifdef AUTOKEY +- if (peer->crypto) ++ else if (peer_clear_digest_early && peer->crypto) { + peer_clear(peer, "AUTH"); ++ } + #endif /* AUTOKEY */ + return; + } + + /* +- * Update the state variables. ++ * For broadcast packets: ++ * ++ * HMS: This next line never made much sense to me, even ++ * when it was up higher: ++ * If an initial volley, bail out now and let the ++ * client do its stuff. ++ * ++ * If the packet has not failed authentication, then ++ * - if the origin timestamp is nonzero this is an ++ * interleaved broadcast, so restart the protocol. ++ * - else, this is not an interleaved broadcast packet. + */ ++ if (hismode == MODE_BROADCAST) { ++ if ( is_authentic == AUTH_OK ++ || is_authentic == AUTH_NONE) { ++ if (!L_ISZERO(&p_org)) { ++ if (!(peer->flags & FLAG_XB)) { ++ msyslog(LOG_INFO, ++ "receive: Broadcast server at %s is in interleave mode", ++ ntoa(&peer->srcadr)); ++ peer->flags |= FLAG_XB; ++ peer->aorg = p_xmt; ++ peer->borg = rbufp->recv_time; ++ report_event(PEVNT_XLEAVE, peer, NULL); ++ return; ++ } ++ } else if (peer->flags & FLAG_XB) { ++ msyslog(LOG_INFO, ++ "receive: Broadcast server at %s is no longer in interleave mode", ++ ntoa(&peer->srcadr)); ++ peer->flags &= ~FLAG_XB; ++ } ++ } else { ++ msyslog(LOG_INFO, ++ "receive: Bad broadcast auth (%d) from %s", ++ is_authentic, ntoa(&peer->srcadr)); ++ } ++ } ++ ++ ++ /* ++ ** Update the state variables. ++ */ + if (peer->flip == 0) { + if (hismode != MODE_BROADCAST) + peer->rec = p_xmt; +@@ -1766,7 +1848,13 @@ + return; /* Drop any other kiss code packets */ + } + ++ + /* ++ * XXX ++ */ ++ ++ ++ /* + * If: + * - this is a *cast (uni-, broad-, or m-) server packet + * - and it's symmetric-key authenticated +@@ -1963,9 +2051,9 @@ + + + /* +- * process_packet - Packet Procedure, a la Section 3.4.4 of the +- * specification. Or almost, at least. If we're in here we have a +- * reasonable expectation that we will be having a long term ++ * process_packet - Packet Procedure, a la Section 3.4.4 of RFC-1305 ++ * Or almost, at least. If we're in here we have a reasonable ++ * expectation that we will be having a long term + * relationship with this host. + */ + void +@@ -1985,8 +2073,10 @@ + double etemp, ftemp, td; + #endif /* ASSYM */ + ++#if 0 + sys_processed++; + peer->processed++; ++#endif + p_del = FPTOD(NTOHS_FP(pkt->rootdelay)); + p_offset = 0; + p_disp = FPTOD(NTOHS_FP(pkt->rootdisp)); +@@ -1999,7 +2089,40 @@ + pversion = PKT_VERSION(pkt->li_vn_mode); + pstratum = PKT_TO_STRATUM(pkt->stratum); + ++ /**/ ++ ++ /**/ ++ + /* ++ * Verify the server is synchronized; that is, the leap bits, ++ * stratum and root distance are valid. ++ */ ++ if ( pleap == LEAP_NOTINSYNC /* test 6 */ ++ || pstratum < sys_floor || pstratum >= sys_ceiling) ++ peer->flash |= TEST6; /* bad synch or strat */ ++ if (p_del / 2 + p_disp >= MAXDISPERSE) /* test 7 */ ++ peer->flash |= TEST7; /* bad header */ ++ ++ /* ++ * If any tests fail at this point, the packet is discarded. ++ * Note that some flashers may have already been set in the ++ * receive() routine. ++ */ ++ if (peer->flash & PKT_TEST_MASK) { ++ peer->seldisptoolarge++; ++ DPRINTF(1, ("packet: flash header %04x\n", ++ peer->flash)); ++ return; ++ } ++ ++ /**/ ++ ++#if 1 ++ sys_processed++; ++ peer->processed++; ++#endif ++ ++ /* + * Capture the header values in the client/peer association.. + */ + record_raw_stats(&peer->srcadr, peer->dstadr ? +@@ -2033,29 +2156,9 @@ + } + poll_update(peer, peer->hpoll); + +- /* +- * Verify the server is synchronized; that is, the leap bits, +- * stratum and root distance are valid. +- */ +- if ( pleap == LEAP_NOTINSYNC /* test 6 */ +- || pstratum < sys_floor || pstratum >= sys_ceiling) +- peer->flash |= TEST6; /* bad synch or strat */ +- if (p_del / 2 + p_disp >= MAXDISPERSE) /* test 7 */ +- peer->flash |= TEST7; /* bad header */ ++ /**/ + + /* +- * If any tests fail at this point, the packet is discarded. +- * Note that some flashers may have already been set in the +- * receive() routine. +- */ +- if (peer->flash & PKT_TEST_MASK) { +- peer->seldisptoolarge++; +- DPRINTF(1, ("packet: flash header %04x\n", +- peer->flash)); +- return; +- } +- +- /* + * If the peer was previously unreachable, raise a trap. In any + * case, mark it reachable. + */ +@@ -4682,6 +4785,14 @@ + break; + + /* ++ * Peer_clear Early policy choices ++ */ ++ ++ case PROTO_PCEDIGEST: /* Digest */ ++ peer_clear_digest_early = value; ++ break; ++ ++ /* + * Unpeer Early policy choices + */ + +--- contrib/ntp/ntpd/ntpd-opts.c.orig ++++ contrib/ntp/ntpd/ntpd-opts.c +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntpd-opts.c) + * +- * It has been AutoGen-ed April 26, 2016 at 08:26:14 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:32:42 AM by AutoGen 5.18.5 + * From the definitions ntpd-opts.def + * and the template file options + * +@@ -75,7 +75,7 @@ + * static const strings for ntpd options + */ + static char const ntpd_opt_strs[3129] = +-/* 0 */ "ntpd 4.2.8p7\n" ++/* 0 */ "ntpd 4.2.8p8\n" + "Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n" + "This is free software. It is licensed for use, modification and\n" + "redistribution under the terms of the NTP License, copies of which\n" +@@ -205,12 +205,12 @@ + /* 2900 */ "output version information and exit\0" + /* 2936 */ "version\0" + /* 2944 */ "NTPD\0" +-/* 2949 */ "ntpd - NTP daemon program - Ver. 4.2.8p7\n" ++/* 2949 */ "ntpd - NTP daemon program - Ver. 4.2.8p8\n" + "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\\n" + "\t\t[ <server1> ... <serverN> ]\n\0" + /* 3080 */ "http://bugs.ntp.org, bugs@ntp.org\0" + /* 3114 */ "\n\0" +-/* 3116 */ "ntpd 4.2.8p7"; ++/* 3116 */ "ntpd 4.2.8p8"; + + /** + * ipv4 option description with +@@ -1529,7 +1529,7 @@ + translate option names. + */ + /* referenced via ntpdOptions.pzCopyright */ +- puts(_("ntpd 4.2.8p7\n\ ++ puts(_("ntpd 4.2.8p8\n\ + Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n\ + This is free software. It is licensed for use, modification and\n\ + redistribution under the terms of the NTP License, copies of which\n\ +@@ -1670,7 +1670,7 @@ + puts(_("output version information and exit")); + + /* referenced via ntpdOptions.pzUsageTitle */ +- puts(_("ntpd - NTP daemon program - Ver. 4.2.8p7\n\ ++ puts(_("ntpd - NTP daemon program - Ver. 4.2.8p8\n\ + Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\\n\ + \t\t[ <server1> ... <serverN> ]\n")); + +@@ -1678,7 +1678,7 @@ + puts(_("\n")); + + /* referenced via ntpdOptions.pzFullVersion */ +- puts(_("ntpd 4.2.8p7")); ++ puts(_("ntpd 4.2.8p8")); + + /* referenced via ntpdOptions.pzFullUsage */ + puts(_("<<<NOT-FOUND>>>")); +--- contrib/ntp/ntpd/ntpd-opts.h.orig ++++ contrib/ntp/ntpd/ntpd-opts.h +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntpd-opts.h) + * +- * It has been AutoGen-ed April 26, 2016 at 08:26:13 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:32:40 AM by AutoGen 5.18.5 + * From the definitions ntpd-opts.def + * and the template file options + * +@@ -106,9 +106,9 @@ + /** count of all options for ntpd */ + #define OPTION_CT 38 + /** ntpd version */ +-#define NTPD_VERSION "4.2.8p7" ++#define NTPD_VERSION "4.2.8p8" + /** Full ntpd version text */ +-#define NTPD_FULL_VERSION "ntpd 4.2.8p7" ++#define NTPD_FULL_VERSION "ntpd 4.2.8p8" + + /** + * Interface defines for all options. Replace "n" with the UPPER_CASED +--- contrib/ntp/ntpd/ntpd.1ntpdman.orig ++++ contrib/ntp/ntpd/ntpd.1ntpdman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpd 1ntpdman "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH ntpd 1ntpdman "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-0uayDF/ag-avaqCF) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-Jnai2U/ag-Ynaa1U) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:23 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:01 AM by AutoGen 5.18.5 + .\" From the definitions ntpd-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/ntpd/ntpd.1ntpdmdoc.orig ++++ contrib/ntp/ntpd/ntpd.1ntpdmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPD 1ntpdmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpd-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:41 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:22 AM by AutoGen 5.18.5 + .\" From the definitions ntpd-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/ntpd/ntpd.html.orig ++++ contrib/ntp/ntpd/ntpd.html +@@ -39,7 +39,7 @@ + symmetric and broadcast modes, and with both symmetric-key and public-key + cryptography. + +- <p>This document applies to version 4.2.8p7 of <code>ntpd</code>. ++ <p>This document applies to version 4.2.8p8 of <code>ntpd</code>. + + <ul class="menu"> + <li><a accesskey="1" href="#ntpd-Description">ntpd Description</a>: Description +@@ -220,7 +220,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">ntpd - NTP daemon program - Ver. 4.2.8p6 ++<pre class="example">ntpd - NTP daemon program - Ver. 4.2.8p7 + Usage: ntpd [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \ + [ <server1> ... <serverN> ] + Flg Arg Option-Name Description +--- contrib/ntp/ntpd/ntpd.man.in.orig ++++ contrib/ntp/ntpd/ntpd.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpd @NTPD_MS@ "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH ntpd @NTPD_MS@ "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-0uayDF/ag-avaqCF) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-Jnai2U/ag-Ynaa1U) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:23 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:01 AM by AutoGen 5.18.5 + .\" From the definitions ntpd-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/ntpd/ntpd.mdoc.in.orig ++++ contrib/ntp/ntpd/ntpd.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPD @NTPD_MS@ User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpd-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:41 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:22 AM by AutoGen 5.18.5 + .\" From the definitions ntpd-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/ntpd/refclock_parse.c.orig ++++ contrib/ntp/ntpd/refclock_parse.c +@@ -2264,8 +2264,8 @@ + if (debug > 3) + { + printf( +- "parse: local_receive: fd %d PPSAPI seq %ld - PPS %s\n", +- rbufp->fd, ++ "parse: local_receive: fd %ld PPSAPI seq %ld - PPS %s\n", ++ (long)rbufp->fd, + (long)pps_info.assert_sequence + (long)pps_info.clear_sequence, + lfptoa(&parse->parseio.parse_dtime.parse_ptime.fp, 6)); + } +@@ -2277,8 +2277,8 @@ + if (debug > 3) + { + printf( +- "parse: local_receive: fd %d PPSAPI seq assert %ld, seq clear %ld - NO PPS event\n", +- rbufp->fd, ++ "parse: local_receive: fd %ld PPSAPI seq assert %ld, seq clear %ld - NO PPS event\n", ++ (long)rbufp->fd, + (long)pps_info.assert_sequence, (long)pps_info.clear_sequence); + } + } +@@ -2291,8 +2291,8 @@ + if (debug > 3) + { + printf( +- "parse: local_receive: fd %d PPSAPI time_pps_fetch errno = %d\n", +- rbufp->fd, ++ "parse: local_receive: fd %ld PPSAPI time_pps_fetch errno = %d\n", ++ (long)rbufp->fd, + errno); + } + } +--- contrib/ntp/ntpdc/invoke-ntpdc.texi.orig ++++ contrib/ntp/ntpdc/invoke-ntpdc.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntpdc.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:29:05 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:36:54 AM by AutoGen 5.18.5 + # From the definitions ntpdc-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -76,7 +76,7 @@ + + @exampleindent 0 + @example +-ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p7 ++ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p8 + Usage: ntpdc [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... [ host ...] + Flg Arg Option-Name Description + -4 no ipv4 Force IPv4 DNS name resolution +--- contrib/ntp/ntpdc/ntpdc-opts.c.orig ++++ contrib/ntp/ntpdc/ntpdc-opts.c +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntpdc-opts.c) + * +- * It has been AutoGen-ed April 26, 2016 at 08:28:50 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:36:34 AM by AutoGen 5.18.5 + * From the definitions ntpdc-opts.def + * and the template file options + * +@@ -69,7 +69,7 @@ + * static const strings for ntpdc options + */ + static char const ntpdc_opt_strs[1911] = +-/* 0 */ "ntpdc 4.2.8p7\n" ++/* 0 */ "ntpdc 4.2.8p8\n" + "Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n" + "This is free software. It is licensed for use, modification and\n" + "redistribution under the terms of the NTP License, copies of which\n" +@@ -128,7 +128,7 @@ + /* 1694 */ "no-load-opts\0" + /* 1707 */ "no\0" + /* 1710 */ "NTPDC\0" +-/* 1716 */ "ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p7\n" ++/* 1716 */ "ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p8\n" + "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...]\n\0" + /* 1846 */ "$HOME\0" + /* 1852 */ ".\0" +@@ -135,7 +135,7 @@ + /* 1854 */ ".ntprc\0" + /* 1861 */ "http://bugs.ntp.org, bugs@ntp.org\0" + /* 1895 */ "\n\0" +-/* 1897 */ "ntpdc 4.2.8p7"; ++/* 1897 */ "ntpdc 4.2.8p8"; + + /** + * ipv4 option description with +@@ -796,7 +796,7 @@ + translate option names. + */ + /* referenced via ntpdcOptions.pzCopyright */ +- puts(_("ntpdc 4.2.8p7\n\ ++ puts(_("ntpdc 4.2.8p8\n\ + Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n\ + This is free software. It is licensed for use, modification and\n\ + redistribution under the terms of the NTP License, copies of which\n\ +@@ -862,7 +862,7 @@ + puts(_("load options from a config file")); + + /* referenced via ntpdcOptions.pzUsageTitle */ +- puts(_("ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p7\n\ ++ puts(_("ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p8\n\ + Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...]\n")); + + /* referenced via ntpdcOptions.pzExplain */ +@@ -869,7 +869,7 @@ + puts(_("\n")); + + /* referenced via ntpdcOptions.pzFullVersion */ +- puts(_("ntpdc 4.2.8p7")); ++ puts(_("ntpdc 4.2.8p8")); + + /* referenced via ntpdcOptions.pzFullUsage */ + puts(_("<<<NOT-FOUND>>>")); +--- contrib/ntp/ntpdc/ntpdc-opts.h.orig ++++ contrib/ntp/ntpdc/ntpdc-opts.h +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntpdc-opts.h) + * +- * It has been AutoGen-ed April 26, 2016 at 08:28:50 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:36:34 AM by AutoGen 5.18.5 + * From the definitions ntpdc-opts.def + * and the template file options + * +@@ -83,9 +83,9 @@ + /** count of all options for ntpdc */ + #define OPTION_CT 15 + /** ntpdc version */ +-#define NTPDC_VERSION "4.2.8p7" ++#define NTPDC_VERSION "4.2.8p8" + /** Full ntpdc version text */ +-#define NTPDC_FULL_VERSION "ntpdc 4.2.8p7" ++#define NTPDC_FULL_VERSION "ntpdc 4.2.8p8" + + /** + * Interface defines for all options. Replace "n" with the UPPER_CASED +--- contrib/ntp/ntpdc/ntpdc.1ntpdcman.orig ++++ contrib/ntp/ntpdc/ntpdc.1ntpdcman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpdc 1ntpdcman "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH ntpdc 1ntpdcman "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-bTaatH/ag-nTa4rH) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-seaORW/ag-FeaGQW) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:01 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:50 AM by AutoGen 5.18.5 + .\" From the definitions ntpdc-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc.orig ++++ contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPDC 1ntpdcmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpdc-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:08 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:58 AM by AutoGen 5.18.5 + .\" From the definitions ntpdc-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/ntpdc/ntpdc.c.orig ++++ contrib/ntp/ntpdc/ntpdc.c +@@ -669,7 +669,7 @@ + printf("Received sequence numbers"); + for (n = 0; n <= MAXSEQ; n++) + if (haveseq[n]) +- printf(" %zd,", n); ++ printf(" %zd,", (size_t)n); + if (lastseq != 999) + printf(" last frame received\n"); + else +@@ -691,7 +691,7 @@ + */ + if (n < (ssize_t)RESP_HEADER_SIZE) { + if (debug) +- printf("Short (%zd byte) packet received\n", n); ++ printf("Short (%zd byte) packet received\n", (size_t)n); + goto again; + } + if (INFO_VERSION(rpkt.rm_vn_mode) > NTP_VERSION || +--- contrib/ntp/ntpdc/ntpdc.html.orig ++++ contrib/ntp/ntpdc/ntpdc.html +@@ -36,7 +36,7 @@ + clock. Run as root, it can correct the system clock to this offset as + well. It can be run as an interactive command or from a cron job. + +- <p>This document applies to version 4.2.8p7 of <code>ntpdc</code>. ++ <p>This document applies to version 4.2.8p8 of <code>ntpdc</code>. + + <p>The program implements the SNTP protocol as defined by RFC 5905, the NTPv4 + IETF specification. +@@ -152,7 +152,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p7 ++<pre class="example">ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p8 + Usage: ntpdc [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...] + Flg Arg Option-Name Description + -4 no ipv4 Force IPv4 DNS name resolution +--- contrib/ntp/ntpdc/ntpdc.man.in.orig ++++ contrib/ntp/ntpdc/ntpdc.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpdc @NTPDC_MS@ "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH ntpdc @NTPDC_MS@ "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-bTaatH/ag-nTa4rH) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-seaORW/ag-FeaGQW) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:01 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:50 AM by AutoGen 5.18.5 + .\" From the definitions ntpdc-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/ntpdc/ntpdc.mdoc.in.orig ++++ contrib/ntp/ntpdc/ntpdc.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPDC @NTPDC_MS@ User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpdc-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:08 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:58 AM by AutoGen 5.18.5 + .\" From the definitions ntpdc-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/ntpq/invoke-ntpq.texi.orig ++++ contrib/ntp/ntpq/invoke-ntpq.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntpq.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:29:39 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:37:46 AM by AutoGen 5.18.5 + # From the definitions ntpq-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -848,7 +848,7 @@ + + @exampleindent 0 + @example +-ntpq - standard NTP query program - Ver. 4.2.8p7 ++ntpq - standard NTP query program - Ver. 4.2.8p8 + Usage: ntpq [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... [ host ...] + Flg Arg Option-Name Description + -4 no ipv4 Force IPv4 DNS name resolution +--- contrib/ntp/ntpq/ntpq-opts.c.orig ++++ contrib/ntp/ntpq/ntpq-opts.c +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntpq-opts.c) + * +- * It has been AutoGen-ed April 26, 2016 at 08:29:11 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:37:05 AM by AutoGen 5.18.5 + * From the definitions ntpq-opts.def + * and the template file options + * +@@ -69,7 +69,7 @@ + * static const strings for ntpq options + */ + static char const ntpq_opt_strs[1982] = +-/* 0 */ "ntpq 4.2.8p7\n" ++/* 0 */ "ntpq 4.2.8p8\n" + "Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n" + "This is free software. It is licensed for use, modification and\n" + "redistribution under the terms of the NTP License, copies of which\n" +@@ -132,13 +132,13 @@ + /* 1775 */ "no-load-opts\0" + /* 1788 */ "no\0" + /* 1791 */ "NTPQ\0" +-/* 1796 */ "ntpq - standard NTP query program - Ver. 4.2.8p7\n" ++/* 1796 */ "ntpq - standard NTP query program - Ver. 4.2.8p8\n" + "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...]\n\0" + /* 1915 */ "$HOME\0" + /* 1921 */ ".\0" + /* 1923 */ ".ntprc\0" + /* 1930 */ "http://bugs.ntp.org, bugs@ntp.org\0" +-/* 1964 */ "ntpq 4.2.8p7\0" ++/* 1964 */ "ntpq 4.2.8p8\0" + /* 1977 */ "hash"; + + /** +@@ -841,7 +841,7 @@ + translate option names. + */ + /* referenced via ntpqOptions.pzCopyright */ +- puts(_("ntpq 4.2.8p7\n\ ++ puts(_("ntpq 4.2.8p8\n\ + Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n\ + This is free software. It is licensed for use, modification and\n\ + redistribution under the terms of the NTP License, copies of which\n\ +@@ -910,11 +910,11 @@ + puts(_("load options from a config file")); + + /* referenced via ntpqOptions.pzUsageTitle */ +- puts(_("ntpq - standard NTP query program - Ver. 4.2.8p7\n\ ++ puts(_("ntpq - standard NTP query program - Ver. 4.2.8p8\n\ + Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...]\n")); + + /* referenced via ntpqOptions.pzFullVersion */ +- puts(_("ntpq 4.2.8p7")); ++ puts(_("ntpq 4.2.8p8")); + + /* referenced via ntpqOptions.pzFullUsage */ + puts(_("<<<NOT-FOUND>>>")); +--- contrib/ntp/ntpq/ntpq-opts.h.orig ++++ contrib/ntp/ntpq/ntpq-opts.h +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntpq-opts.h) + * +- * It has been AutoGen-ed April 26, 2016 at 08:29:10 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:37:04 AM by AutoGen 5.18.5 + * From the definitions ntpq-opts.def + * and the template file options + * +@@ -84,9 +84,9 @@ + /** count of all options for ntpq */ + #define OPTION_CT 16 + /** ntpq version */ +-#define NTPQ_VERSION "4.2.8p7" ++#define NTPQ_VERSION "4.2.8p8" + /** Full ntpq version text */ +-#define NTPQ_FULL_VERSION "ntpq 4.2.8p7" ++#define NTPQ_FULL_VERSION "ntpq 4.2.8p8" + + /** + * Interface defines for all options. Replace "n" with the UPPER_CASED +--- contrib/ntp/ntpq/ntpq.1ntpqman.orig ++++ contrib/ntp/ntpq/ntpq.1ntpqman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpq 1ntpqman "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH ntpq 1ntpqman "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-11aqEI/ag-c2aiDI) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-pGa42X/ag-CGaW1X) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:35 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:37:41 AM by AutoGen 5.18.5 + .\" From the definitions ntpq-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/ntpq/ntpq.1ntpqmdoc.orig ++++ contrib/ntp/ntpq/ntpq.1ntpqmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPQ 1ntpqmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpq-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:41 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:37:48 AM by AutoGen 5.18.5 + .\" From the definitions ntpq-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/ntpq/ntpq.c.orig ++++ contrib/ntp/ntpq/ntpq.c +@@ -1063,7 +1063,7 @@ + + if (n < shouldbesize) { + printf("Response packet claims %u octets payload, above %ld received\n", +- count, (long)n - CTL_HEADER_LEN); ++ count, (long)(n - CTL_HEADER_LEN)); + return ERR_INCOMPLETE; + } + +@@ -1196,7 +1196,10 @@ + * If we've seen the last fragment, look for holes in the sequence. + * If there aren't any, we're done. + */ +- maybe_final: ++#if !defined(SYS_WINNT) && defined(EINTR) ++ maybe_final: ++#endif ++ + if (seenlastfrag && offsets[0] == 0) { + for (f = 1; f < numfrags; f++) + if (offsets[f-1] + counts[f-1] != +--- contrib/ntp/ntpq/ntpq.html.orig ++++ contrib/ntp/ntpq/ntpq.html +@@ -44,7 +44,7 @@ + and determine the performance of + <code>ntpd</code>, the NTP daemon. + +- <p>This document applies to version 4.2.8p7 of <code>ntpq</code>. ++ <p>This document applies to version 4.2.8p8 of <code>ntpq</code>. + + <ul class="menu"> + <li><a accesskey="1" href="#ntpq-Description">ntpq Description</a> +@@ -770,7 +770,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">ntpq - standard NTP query program - Ver. 4.2.8p6 ++<pre class="example">ntpq - standard NTP query program - Ver. 4.2.8p7 + Usage: ntpq [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...] + Flg Arg Option-Name Description + -4 no ipv4 Force IPv4 DNS name resolution +--- contrib/ntp/ntpq/ntpq.man.in.orig ++++ contrib/ntp/ntpq/ntpq.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpq @NTPQ_MS@ "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH ntpq @NTPQ_MS@ "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-11aqEI/ag-c2aiDI) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-pGa42X/ag-CGaW1X) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:35 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:37:41 AM by AutoGen 5.18.5 + .\" From the definitions ntpq-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/ntpq/ntpq.mdoc.in.orig ++++ contrib/ntp/ntpq/ntpq.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPQ @NTPQ_MS@ User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpq-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:41 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:37:48 AM by AutoGen 5.18.5 + .\" From the definitions ntpq-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi.orig ++++ contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntpsnmpd.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:29:54 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:39:15 AM by AutoGen 5.18.5 + # From the definitions ntpsnmpd-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -47,7 +47,7 @@ + + @exampleindent 0 + @example +-ntpsnmpd - NTP SNMP MIB agent - Ver. 4.2.8p7 ++ntpsnmpd - NTP SNMP MIB agent - Ver. 4.2.8p8 + Usage: ntpsnmpd [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... + Flg Arg Option-Name Description + -n no nofork Do not fork +--- contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c.orig ++++ contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntpsnmpd-opts.c) + * +- * It has been AutoGen-ed April 26, 2016 at 08:29:44 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:37:55 AM by AutoGen 5.18.5 + * From the definitions ntpsnmpd-opts.def + * and the template file options + * +@@ -61,7 +61,7 @@ + * static const strings for ntpsnmpd options + */ + static char const ntpsnmpd_opt_strs[1610] = +-/* 0 */ "ntpsnmpd 4.2.8p7\n" ++/* 0 */ "ntpsnmpd 4.2.8p8\n" + "Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n" + "This is free software. It is licensed for use, modification and\n" + "redistribution under the terms of the NTP License, copies of which\n" +@@ -101,7 +101,7 @@ + /* 1414 */ "no-load-opts\0" + /* 1427 */ "no\0" + /* 1430 */ "NTPSNMPD\0" +-/* 1439 */ "ntpsnmpd - NTP SNMP MIB agent - Ver. 4.2.8p7\n" ++/* 1439 */ "ntpsnmpd - NTP SNMP MIB agent - Ver. 4.2.8p8\n" + "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n\0" + /* 1542 */ "$HOME\0" + /* 1548 */ ".\0" +@@ -108,7 +108,7 @@ + /* 1550 */ ".ntprc\0" + /* 1557 */ "http://bugs.ntp.org, bugs@ntp.org\0" + /* 1591 */ "\n\0" +-/* 1593 */ "ntpsnmpd 4.2.8p7"; ++/* 1593 */ "ntpsnmpd 4.2.8p8"; + + /** + * nofork option description: +@@ -554,7 +554,7 @@ + translate option names. + */ + /* referenced via ntpsnmpdOptions.pzCopyright */ +- puts(_("ntpsnmpd 4.2.8p7\n\ ++ puts(_("ntpsnmpd 4.2.8p8\n\ + Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n\ + This is free software. It is licensed for use, modification and\n\ + redistribution under the terms of the NTP License, copies of which\n\ +@@ -599,7 +599,7 @@ + puts(_("load options from a config file")); + + /* referenced via ntpsnmpdOptions.pzUsageTitle */ +- puts(_("ntpsnmpd - NTP SNMP MIB agent - Ver. 4.2.8p7\n\ ++ puts(_("ntpsnmpd - NTP SNMP MIB agent - Ver. 4.2.8p8\n\ + Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n")); + + /* referenced via ntpsnmpdOptions.pzExplain */ +@@ -606,7 +606,7 @@ + puts(_("\n")); + + /* referenced via ntpsnmpdOptions.pzFullVersion */ +- puts(_("ntpsnmpd 4.2.8p7")); ++ puts(_("ntpsnmpd 4.2.8p8")); + + /* referenced via ntpsnmpdOptions.pzFullUsage */ + puts(_("<<<NOT-FOUND>>>")); +--- contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h.orig ++++ contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntpsnmpd-opts.h) + * +- * It has been AutoGen-ed April 26, 2016 at 08:29:43 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:37:55 AM by AutoGen 5.18.5 + * From the definitions ntpsnmpd-opts.def + * and the template file options + * +@@ -76,9 +76,9 @@ + /** count of all options for ntpsnmpd */ + #define OPTION_CT 8 + /** ntpsnmpd version */ +-#define NTPSNMPD_VERSION "4.2.8p7" ++#define NTPSNMPD_VERSION "4.2.8p8" + /** Full ntpsnmpd version text */ +-#define NTPSNMPD_FULL_VERSION "ntpsnmpd 4.2.8p7" ++#define NTPSNMPD_FULL_VERSION "ntpsnmpd 4.2.8p8" + + /** + * Interface defines for all options. Replace "n" with the UPPER_CASED +--- contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman.orig ++++ contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpsnmpd 1ntpsnmpdman "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH ntpsnmpd 1ntpsnmpdman "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-sYaGMJ/ag-EYayLJ) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-IPay_Y/ag-WPaq.Y) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:51 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:39:11 AM by AutoGen 5.18.5 + .\" From the definitions ntpsnmpd-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc.orig ++++ contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPSNMPD 1ntpsnmpdmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpsnmpd-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:57 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:39:18 AM by AutoGen 5.18.5 + .\" From the definitions ntpsnmpd-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/ntpsnmpd/ntpsnmpd.html.orig ++++ contrib/ntp/ntpsnmpd/ntpsnmpd.html +@@ -42,7 +42,7 @@ + <p>The <code>ntpsnmpd</code> utility program is used to monitor NTP daemon <code>ntpd</code> + operations and determine performance. It uses the standard NTP mode 6 control + +- <p>This document applies to version 4.2.8p7 of <code>ntpsnmpd</code>. ++ <p>This document applies to version 4.2.8p8 of <code>ntpsnmpd</code>. + + <ul class="menu"> + <li><a accesskey="1" href="#ntpsnmpd-Description">ntpsnmpd Description</a>: Description +--- contrib/ntp/ntpsnmpd/ntpsnmpd.man.in.orig ++++ contrib/ntp/ntpsnmpd/ntpsnmpd.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpsnmpd @NTPSNMPD_MS@ "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH ntpsnmpd @NTPSNMPD_MS@ "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-sYaGMJ/ag-EYayLJ) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-IPay_Y/ag-WPaq.Y) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:51 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:39:11 AM by AutoGen 5.18.5 + .\" From the definitions ntpsnmpd-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in.orig ++++ contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPSNMPD @NTPSNMPD_MS@ User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpsnmpd-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:57 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:39:18 AM by AutoGen 5.18.5 + .\" From the definitions ntpsnmpd-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/packageinfo.sh.orig ++++ contrib/ntp/packageinfo.sh +@@ -83,7 +83,7 @@ + # - Numeric values increment + # - empty 'increments' to 1 + # - NEW 'increments' to empty +-point=7 ++point=8 + + ### betapoint is normally modified by script. + # ntp-stable Beta number (betapoint) +--- contrib/ntp/scripts/build/Makefile.am.orig ++++ contrib/ntp/scripts/build/Makefile.am +@@ -1,7 +1,7 @@ + run_ag= cd $(srcdir) && env PATH="$(abs_builddir):$(PATH)" AUTOGEN_DNE_DATE=-D \ + autogen -L ../sntp/include -L ../sntp/ag-tpl + +-noinst_SCRIPTS = mkver ++noinst_SCRIPTS = genAuthors mkver + + NULL= + EXTRA_DIST = \ +--- contrib/ntp/scripts/build/Makefile.in.orig ++++ contrib/ntp/scripts/build/Makefile.in +@@ -133,7 +133,7 @@ + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) + mkinstalldirs = $(install_sh) -d + CONFIG_HEADER = $(top_builddir)/config.h +-CONFIG_CLEAN_FILES = mkver ++CONFIG_CLEAN_FILES = genAuthors mkver + CONFIG_CLEAN_VPATH_FILES = + SCRIPTS = $(noinst_SCRIPTS) + AM_V_P = $(am__v_P_@AM_V@) +@@ -156,7 +156,8 @@ + *) (install-info --version) >/dev/null 2>&1;; \ + esac + am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/mkver.in ++am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/genAuthors.in \ ++ $(srcdir)/mkver.in + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + ALLOCA = @ALLOCA@ +@@ -427,7 +428,7 @@ + run_ag = cd $(srcdir) && env PATH="$(abs_builddir):$(PATH)" AUTOGEN_DNE_DATE=-D \ + autogen -L ../sntp/include -L ../sntp/ag-tpl + +-noinst_SCRIPTS = mkver ++noinst_SCRIPTS = genAuthors mkver + NULL = + EXTRA_DIST = \ + check--help \ +@@ -473,6 +474,8 @@ + $(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): ++genAuthors: $(top_builddir)/config.status $(srcdir)/genAuthors.in ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + mkver: $(top_builddir)/config.status $(srcdir)/mkver.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +--- contrib/ntp/scripts/build/genAuthors.in.orig ++++ contrib/ntp/scripts/build/genAuthors.in +@@ -0,0 +1,82 @@ ++#! @PATH_PERL@ ++ ++# DESCRIPTION ++# ++# Make sure we have the list of authors for git imports. ++# Call with the path to the Authors/ subdirectory. ++# ++# AUTHOR ++# ++# Harlan Stenn ++# ++# LICENSE ++# ++# This file is Copyright (c) 2016 Network Time Foundation ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice, ++# author attribution and this notice are preserved. This file is offered ++# as-is, without any warranty. ++ ++use strict; ++use warnings; ++ ++# Read in the list of known authors. ++# run: ++# bk changes -and:USER: | sort -u ++# to get the list of users who have made commits. ++# Make sure that each of these users is in the set of known authors. ++# Make sure the format of that file is 1 or more lines of the form: ++# user = User Name <user@place> ++# ++# If all of the above is true, exit 0. ++# If there are any problems, squawk and exit 1. ++ ++my $bk_u = "bk changes -and:USER: | sort -u |"; ++chomp(my $bk_root = `bk root`); ++my $A_path = "$bk_root/BitKeeper/etc/authors.txt"; ++my %authors; ++my $problem = 0; ++ ++die "bkroot: <$bk_root>, A_path: <$A_path>\n" if (! -r $A_path); ++ ++# Process the authors.txt file ++open(my $FILE, '<', $A_path) or die "Could not open <$A_path>: $!\n"; ++while (<$FILE>) { ++ chomp; ++ if (/^([\S]+) = ([\V]+) <([\w.-]+\@[\w.-]+)>$/) { ++ # print "Got '$1 = $2 <$3>'\n"; ++ $authors{$1} = ""; ++ } else { ++ print "In $A_path: unrecognized line: '$_'\n"; ++ $problem = 1; ++ } ++} ++close($FILE); ++ ++#print "\%authors = ", join(' ', sort keys %authors), "\n"; ++ ++die "Fix the problem(s) noted above!\n" if $problem; ++ ++# Process "bk changes ..." ++ ++open(BKU, $bk_u) || die "$0: <$bk_u> failed: $!\n"; ++while (<BKU>) { ++ chomp; ++ my $Name = $_; ++ my $name = lc; ++ # print "Got Name <$Name>, name <$name>\n"; ++ if (!defined($authors{$Name})) { ++ $problem = 1; ++ print "<$Name> is not a defined author!\n"; ++ open(my $FILE, '>>', "$A_path/$name.txt") || die "Cannot create '$A_path/$name.txt': $!\n"; ++ print $FILE "$Name = \n"; ++ close($FILE); ++ } ++} ++ ++die "Fix the problem(s) noted above!\n" if $problem; ++ ++# Local Variables: ** ++# mode:cperl ** ++# End: ** ++native +\ No newline at end of property ++FreeBSD=%H +\ No newline at end of property ++text/plain +\ No newline at end of property +--- contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman.orig ++++ contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH calc_tickadj 1calc_tickadjman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH calc_tickadj 1calc_tickadjman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-b1aGJu/ag-n1aOIu) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-3laW2J/ag-ema41J) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:11 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:25 AM by AutoGen 5.18.5 + .\" From the definitions calc_tickadj-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc.orig ++++ contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt CALC_TICKADJ 1calc_tickadjmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (calc_tickadj-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:13 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:27 AM by AutoGen 5.18.5 + .\" From the definitions calc_tickadj-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/calc_tickadj/calc_tickadj.html.orig ++++ contrib/ntp/scripts/calc_tickadj/calc_tickadj.html +@@ -31,7 +31,7 @@ + <h2 class="unnumbered">calc_tickadj User's Manual</h2> + + <p>This document describes the use of the NTP Project's <code>calc_tickadj</code> program. +-This document applies to version 4.2.8p7 of <code>calc_tickadj</code>. ++This document applies to version 4.2.8p8 of <code>calc_tickadj</code>. + + <div class="shortcontents"> + <h2>Short Contents</h2> +--- contrib/ntp/scripts/calc_tickadj/calc_tickadj.man.in.orig ++++ contrib/ntp/scripts/calc_tickadj/calc_tickadj.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH calc_tickadj 1calc_tickadjman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH calc_tickadj 1calc_tickadjman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-b1aGJu/ag-n1aOIu) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-3laW2J/ag-ema41J) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:11 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:25 AM by AutoGen 5.18.5 + .\" From the definitions calc_tickadj-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in.orig ++++ contrib/ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt CALC_TICKADJ 1calc_tickadjmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (calc_tickadj-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:13 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:27 AM by AutoGen 5.18.5 + .\" From the definitions calc_tickadj-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/calc_tickadj/invoke-calc_tickadj.texi.orig ++++ contrib/ntp/scripts/calc_tickadj/invoke-calc_tickadj.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-calc_tickadj.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:15 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:24:29 AM by AutoGen 5.18.5 + # From the definitions calc_tickadj-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +--- contrib/ntp/scripts/invoke-plot_summary.texi.orig ++++ contrib/ntp/scripts/invoke-plot_summary.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-plot_summary.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:25:00 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:25:50 AM by AutoGen 5.18.5 + # From the definitions plot_summary-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -41,7 +41,7 @@ + + @exampleindent 0 + @example +-plot_summary - plot statistics generated by summary script - Ver. 4.2.8p7 ++plot_summary - plot statistics generated by summary script - Ver. 4.2.8p8 + USAGE: plot_summary [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... + + --directory=str Where the summary files are +@@ -101,7 +101,7 @@ + This is string is passed directly to the @code{gnuplot set terminal} + command. Default is @code{x11} if @code{DISPLAY} is set and + @code{dumb} is it's not'. See output from @code(gnuplot -e "set +- terminal") for the list of avalaible options. ++ terminal") for the list of available options. + @node plot_summary output-file + @subsection output-file option + @cindex plot_summary-output-file +--- contrib/ntp/scripts/invoke-summary.texi.orig ++++ contrib/ntp/scripts/invoke-summary.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-summary.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:25:06 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:25:58 AM by AutoGen 5.18.5 + # From the definitions summary-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -42,7 +42,7 @@ + + @exampleindent 0 + @example +-summary - compute various stastics from NTP stat files - Ver. 4.2.8p7 ++summary - compute various stastics from NTP stat files - Ver. 4.2.8p8 + USAGE: summary [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... + + --directory=str Directory containing stat files +--- contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi.orig ++++ contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntp-wait.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:23 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:24:39 AM by AutoGen 5.18.5 + # From the definitions ntp-wait-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -61,7 +61,7 @@ + + @exampleindent 0 + @example +-ntp-wait - Wait for ntpd to stabilize the system clock - Ver. 4.2.8p7 ++ntp-wait - Wait for ntpd to stabilize the system clock - Ver. 4.2.8p8 + USAGE: ntp-wait [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... + + -n, --tries=num Number of times to check ntpd +--- contrib/ntp/scripts/ntp-wait/ntp-wait-opts.orig ++++ contrib/ntp/scripts/ntp-wait/ntp-wait-opts +@@ -1,6 +1,6 @@ + # EDIT THIS FILE WITH CAUTION (ntp-wait-opts) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:18 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:24:33 AM by AutoGen 5.18.5 + # From the definitions ntp-wait-opts.def + # and the template file perlopt + +@@ -40,7 +40,7 @@ + 'help|?', 'more-help')); + + $usage = <<'USAGE'; +-ntp-wait - Wait for ntpd to stabilize the system clock - Ver. 4.2.8p7 ++ntp-wait - Wait for ntpd to stabilize the system clock - Ver. 4.2.8p8 + USAGE: ntp-wait [ -<flag> [<val>] | --<name>[{=| }<val>] ]... + + -n, --tries=num Number of times to check ntpd +--- contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman.orig ++++ contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntp-wait 1ntp-waitman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH ntp-wait 1ntp-waitman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-LcaO9v/ag-XcaW8v) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-IZaWqL/ag-WZa4pL) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:20 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:36 AM by AutoGen 5.18.5 + .\" From the definitions ntp-wait-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc.orig ++++ contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_WAIT 1ntp-waitmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntp-wait-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:26 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:44 AM by AutoGen 5.18.5 + .\" From the definitions ntp-wait-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/ntp-wait/ntp-wait.html.orig ++++ contrib/ntp/scripts/ntp-wait/ntp-wait.html +@@ -39,7 +39,7 @@ + and only then start any applicaitons (like database servers) that require + accurate and stable time. + +- <p>This document applies to version 4.2.8p7 of <code>ntp-wait</code>. ++ <p>This document applies to version 4.2.8p8 of <code>ntp-wait</code>. + + <div class="shortcontents"> + <h2>Short Contents</h2> +@@ -114,7 +114,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">ntp-wait - Wait for ntpd to stabilize the system clock - Ver. 4.2.8p7 ++<pre class="example">ntp-wait - Wait for ntpd to stabilize the system clock - Ver. 4.2.8p8 + USAGE: ntp-wait [ -<flag> [<val>] | --<name>[{=| }<val>] ]... + + -n, --tries=num Number of times to check ntpd +--- contrib/ntp/scripts/ntp-wait/ntp-wait.in.orig ++++ contrib/ntp/scripts/ntp-wait/ntp-wait.in +@@ -33,7 +33,7 @@ + } + + if (!exists $info->{status_line}{leap}) { +- print "\bLeap status not avalaible\n"; ++ print "\bLeap status not available\n"; + return 1; + } + +--- contrib/ntp/scripts/ntp-wait/ntp-wait.man.in.orig ++++ contrib/ntp/scripts/ntp-wait/ntp-wait.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntp-wait @NTP_WAIT_MS@ "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH ntp-wait @NTP_WAIT_MS@ "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-LcaO9v/ag-XcaW8v) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-IZaWqL/ag-WZa4pL) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:20 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:36 AM by AutoGen 5.18.5 + .\" From the definitions ntp-wait-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in.orig ++++ contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_WAIT @NTP_WAIT_MS@ User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntp-wait-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:26 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:44 AM by AutoGen 5.18.5 + .\" From the definitions ntp-wait-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi.orig ++++ contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntpsweep.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:29 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:24:48 AM by AutoGen 5.18.5 + # From the definitions ntpsweep-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -45,7 +45,7 @@ + + @exampleindent 0 + @example +-ntpsweep - Print various informations about given ntp servers - Ver. 4.2.8p7 ++ntpsweep - Print various informations about given ntp servers - Ver. 4.2.8p8 + USAGE: ntpsweep [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... [hostfile] + + -l, --host-list=str Host to execute actions on +--- contrib/ntp/scripts/ntpsweep/ntpsweep-opts.orig ++++ contrib/ntp/scripts/ntpsweep/ntpsweep-opts +@@ -1,6 +1,6 @@ + # EDIT THIS FILE WITH CAUTION (ntpsweep-opts) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:28 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:24:46 AM by AutoGen 5.18.5 + # From the definitions ntpsweep-opts.def + # and the template file perlopt + +@@ -43,7 +43,7 @@ + 'help|?', 'more-help')); + + $usage = <<'USAGE'; +-ntpsweep - Print various informations about given ntp servers - Ver. 4.2.8p7 ++ntpsweep - Print various informations about given ntp servers - Ver. 4.2.8p8 + USAGE: ntpsweep [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [hostfile] + + -l, --host-list=str Host to execute actions on +--- contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman.orig ++++ contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpsweep 1ntpsweepman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH ntpsweep 1ntpsweepman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-L6aGzx/ag-Y6aOyx) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-KKaWSM/ag-XKa4RM) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:32 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:51 AM by AutoGen 5.18.5 + .\" From the definitions ntpsweep-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc.orig ++++ contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPSWEEP 1ntpsweepmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpsweep-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:35 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:55 AM by AutoGen 5.18.5 + .\" From the definitions ntpsweep-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/ntpsweep/ntpsweep.html.orig ++++ contrib/ntp/scripts/ntpsweep/ntpsweep.html +@@ -30,7 +30,7 @@ + + <p>This document describes the use of the NTP Project's <code>ntpsweep</code> program. + +- <p>This document applies to version 4.2.8p7 of <code>ntpsweep</code>. ++ <p>This document applies to version 4.2.8p8 of <code>ntpsweep</code>. + + <div class="shortcontents"> + <h2>Short Contents</h2> +@@ -90,7 +90,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">ntpsweep - Print various informations about given ntp servers - Ver. 4.2.8p7 ++<pre class="example">ntpsweep - Print various informations about given ntp servers - Ver. 4.2.8p8 + USAGE: ntpsweep [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [hostfile] + + -l, --host-list=str Host to execute actions on +--- contrib/ntp/scripts/ntpsweep/ntpsweep.man.in.orig ++++ contrib/ntp/scripts/ntpsweep/ntpsweep.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntpsweep 1ntpsweepman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH ntpsweep 1ntpsweepman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-L6aGzx/ag-Y6aOyx) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-KKaWSM/ag-XKa4RM) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:32 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:51 AM by AutoGen 5.18.5 + .\" From the definitions ntpsweep-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in.orig ++++ contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPSWEEP 1ntpsweepmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpsweep-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:35 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:55 AM by AutoGen 5.18.5 + .\" From the definitions ntpsweep-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi.orig ++++ contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntptrace.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:42 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:25:03 AM by AutoGen 5.18.5 + # From the definitions ntptrace-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -62,7 +62,7 @@ + + @exampleindent 0 + @example +-ntptrace - Trace peers of an NTP server - Ver. 4.2.8p7 ++ntptrace - Trace peers of an NTP server - Ver. 4.2.8p8 + USAGE: ntptrace [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... [host] + + -n, --numeric Print IP addresses instead of hostnames +--- contrib/ntp/scripts/ntptrace/ntptrace-opts.orig ++++ contrib/ntp/scripts/ntptrace/ntptrace-opts +@@ -1,6 +1,6 @@ + # EDIT THIS FILE WITH CAUTION (ntptrace-opts) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:37 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:24:57 AM by AutoGen 5.18.5 + # From the definitions ntptrace-opts.def + # and the template file perlopt + +@@ -40,7 +40,7 @@ + 'help|?', 'more-help')); + + $usage = <<'USAGE'; +-ntptrace - Trace peers of an NTP server - Ver. 4.2.8p7 ++ntptrace - Trace peers of an NTP server - Ver. 4.2.8p8 + USAGE: ntptrace [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [host] + + -n, --numeric Print IP addresses instead of hostnames +--- contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman.orig ++++ contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntptrace 1ntptraceman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH ntptrace 1ntptraceman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-1QaORy/ag-bRaWQy) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-GMa4.N/ag-VMaa.N) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:39 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:59 AM by AutoGen 5.18.5 + .\" From the definitions ntptrace-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/ntptrace/ntptrace.1ntptracemdoc.orig ++++ contrib/ntp/scripts/ntptrace/ntptrace.1ntptracemdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPTRACE 1ntptracemdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntptrace-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:44 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:05 AM by AutoGen 5.18.5 + .\" From the definitions ntptrace-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/ntptrace/ntptrace.html.orig ++++ contrib/ntp/scripts/ntptrace/ntptrace.html +@@ -31,7 +31,7 @@ + <h2 class="unnumbered">Simple Network Time Protocol User Manual</h2> + + <p>This document describes the use of the NTP Project's <code>ntptrace</code> program. +-This document applies to version 4.2.8p7 of <code>ntptrace</code>. ++This document applies to version 4.2.8p8 of <code>ntptrace</code>. + + <div class="shortcontents"> + <h2>Short Contents</h2> +@@ -107,7 +107,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">ntptrace - Trace peers of an NTP server - Ver. 4.2.8p7 ++<pre class="example">ntptrace - Trace peers of an NTP server - Ver. 4.2.8p8 + USAGE: ntptrace [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [host] + + -n, --numeric Print IP addresses instead of hostnames +--- contrib/ntp/scripts/ntptrace/ntptrace.man.in.orig ++++ contrib/ntp/scripts/ntptrace/ntptrace.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntptrace @NTPTRACE_MS@ "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH ntptrace @NTPTRACE_MS@ "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-1QaORy/ag-bRaWQy) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-GMa4.N/ag-VMaa.N) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:39 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:24:59 AM by AutoGen 5.18.5 + .\" From the definitions ntptrace-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/ntptrace/ntptrace.mdoc.in.orig ++++ contrib/ntp/scripts/ntptrace/ntptrace.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPTRACE @NTPTRACE_MS@ User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntptrace-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:44 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:05 AM by AutoGen 5.18.5 + .\" From the definitions ntptrace-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/plot_summary-opts.orig ++++ contrib/ntp/scripts/plot_summary-opts +@@ -1,6 +1,6 @@ + # EDIT THIS FILE WITH CAUTION (plot_summary-opts) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:56 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:25:41 AM by AutoGen 5.18.5 + # From the definitions plot_summary-opts.def + # and the template file perlopt + +@@ -46,7 +46,7 @@ + 'help|?', 'more-help')); + + $usage = <<'USAGE'; +-plot_summary - plot statistics generated by summary script - Ver. 4.2.8p7 ++plot_summary - plot statistics generated by summary script - Ver. 4.2.8p8 + USAGE: plot_summary [ -<flag> [<val>] | --<name>[{=| }<val>] ]... + + --directory=str Where the summary files are +--- contrib/ntp/scripts/plot_summary-opts.def.orig ++++ contrib/ntp/scripts/plot_summary-opts.def +@@ -62,7 +62,7 @@ + This is string is passed directly to the @code{gnuplot set terminal} + command. Default is @code{x11} if @code{DISPLAY} is set and + @code{dumb} is it's not'. See output from @code(gnuplot -e "set +- terminal") for the list of avalaible options. ++ terminal") for the list of available options. + _EndOfDoc_; + }; + +--- contrib/ntp/scripts/plot_summary.1plot_summaryman.orig ++++ contrib/ntp/scripts/plot_summary.1plot_summaryman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH plot_summary 1plot_summaryman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH plot_summary 1plot_summaryman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-gsaiHB/ag-ssaqGB) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-4QaG0Q/ag-hRaOZQ) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:25:02 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:53 AM by AutoGen 5.18.5 + .\" From the definitions plot_summary-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +@@ -74,7 +74,7 @@ + This is string is passed directly to the \fBgnuplot set terminal\fP + command. Default is \fBx11\fP if \fBDISPLAY\fP is set and + \fBdumb\fP is it's not'. See output from @code(gnuplot \-e "set +- terminal") for the list of avalaible options. ++ terminal") for the list of available options. + .TP + .NOP \f\*[B-Font]\-\-output\-file\f[]=\f\*[I-Font]str\f[] + Output file. +--- contrib/ntp/scripts/plot_summary.1plot_summarymdoc.orig ++++ contrib/ntp/scripts/plot_summary.1plot_summarymdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt PLOT_SUMMARY 1plot_summarymdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (plot_summary-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:25:04 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:55 AM by AutoGen 5.18.5 + .\" From the definitions plot_summary-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +@@ -55,7 +55,7 @@ + This is string is passed directly to the \fBgnuplot set terminal\fP + command. Default is \fBx11\fP if \fBDISPLAY\fP is set and + \fBdumb\fP is it's not'. See output from @code(gnuplot \-e "set +- terminal") for the list of avalaible options. ++ terminal") for the list of available options. + .It Fl \-output\-file Ns = Ns Ar str + Output file. + .sp +--- contrib/ntp/scripts/plot_summary.html.orig ++++ contrib/ntp/scripts/plot_summary.html +@@ -31,7 +31,7 @@ + <h2 class="unnumbered">Plot_summary User Manual</h2> + + <p>This document describes the use of the NTP Project's <code>plot_summary</code> program. +-This document applies to version 4.2.8p7 of <code>plot_summary</code>. ++This document applies to version 4.2.8p8 of <code>plot_summary</code>. + + <div class="shortcontents"> + <h2>Short Contents</h2> +@@ -89,7 +89,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">plot_summary - plot statistics generated by summary script - Ver. 4.2.8p7 ++<pre class="example">plot_summary - plot statistics generated by summary script - Ver. 4.2.8p8 + USAGE: plot_summary [ -<flag> [<val>] | --<name>[{=| }<val>] ]... + + --directory=str Where the summary files are +@@ -173,7 +173,7 @@ + This is string is passed directly to the <code>gnuplot set terminal</code> + command. Default is <code>x11</code> if <code>DISPLAY</code> is set and + <code>dumb</code> is it's not'. See output from -e "set +- terminal") for the list of avalaible options. ++ terminal") for the list of available options. + <div class="node"> + <p><hr> + <a name="plot_005fsummary-output_002dfile"></a>Next: <a rel="next" accesskey="n" href="#plot_005fsummary-exit-status">plot_summary exit status</a>, +--- contrib/ntp/scripts/plot_summary.man.in.orig ++++ contrib/ntp/scripts/plot_summary.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH plot_summary 1plot_summaryman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH plot_summary 1plot_summaryman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-gsaiHB/ag-ssaqGB) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-4QaG0Q/ag-hRaOZQ) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:25:02 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:53 AM by AutoGen 5.18.5 + .\" From the definitions plot_summary-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +@@ -74,7 +74,7 @@ + This is string is passed directly to the \fBgnuplot set terminal\fP + command. Default is \fBx11\fP if \fBDISPLAY\fP is set and + \fBdumb\fP is it's not'. See output from @code(gnuplot \-e "set +- terminal") for the list of avalaible options. ++ terminal") for the list of available options. + .TP + .NOP \f\*[B-Font]\-\-output\-file\f[]=\f\*[I-Font]str\f[] + Output file. +--- contrib/ntp/scripts/plot_summary.mdoc.in.orig ++++ contrib/ntp/scripts/plot_summary.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt PLOT_SUMMARY 1plot_summarymdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (plot_summary-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:25:04 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:55 AM by AutoGen 5.18.5 + .\" From the definitions plot_summary-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +@@ -55,7 +55,7 @@ + This is string is passed directly to the \fBgnuplot set terminal\fP + command. Default is \fBx11\fP if \fBDISPLAY\fP is set and + \fBdumb\fP is it's not'. See output from @code(gnuplot \-e "set +- terminal") for the list of avalaible options. ++ terminal") for the list of available options. + .It Fl \-output\-file Ns = Ns Ar str + Output file. + .sp +--- contrib/ntp/scripts/summary-opts.orig ++++ contrib/ntp/scripts/summary-opts +@@ -1,6 +1,6 @@ + # EDIT THIS FILE WITH CAUTION (summary-opts) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:58 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:25:48 AM by AutoGen 5.18.5 + # From the definitions summary-opts.def + # and the template file perlopt + +@@ -44,7 +44,7 @@ + 'help|?', 'more-help')); + + $usage = <<'USAGE'; +-summary - compute various stastics from NTP stat files - Ver. 4.2.8p7 ++summary - compute various stastics from NTP stat files - Ver. 4.2.8p8 + USAGE: summary [ -<flag> [<val>] | --<name>[{=| }<val>] ]... + + --directory=str Directory containing stat files +--- contrib/ntp/scripts/summary.1summaryman.orig ++++ contrib/ntp/scripts/summary.1summaryman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH summary 1summaryman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH summary 1summaryman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-gNaWUB/ag-tNa4TB) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-OuaicR/ag-3uaqbR) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:25:07 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:26:00 AM by AutoGen 5.18.5 + .\" From the definitions summary-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/summary.1summarymdoc.orig ++++ contrib/ntp/scripts/summary.1summarymdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt SUMMARY 1summarymdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (summary-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:25:09 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:26:02 AM by AutoGen 5.18.5 + .\" From the definitions summary-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/summary.html.orig ++++ contrib/ntp/scripts/summary.html +@@ -31,7 +31,7 @@ + <h2 class="unnumbered">Summary User Manual</h2> + + <p>This document describes the use of the NTP Project's <code>summary</code> program. +-This document applies to version 4.2.8p7 of <code>summary</code>. ++This document applies to version 4.2.8p8 of <code>summary</code>. + + <div class="shortcontents"> + <h2>Short Contents</h2> +@@ -88,7 +88,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">summary - compute various stastics from NTP stat files - Ver. 4.2.8p7 ++<pre class="example">summary - compute various stastics from NTP stat files - Ver. 4.2.8p8 + USAGE: summary [ -<flag> [<val>] | --<name>[{=| }<val>] ]... + + --directory=str Directory containing stat files +--- contrib/ntp/scripts/summary.man.in.orig ++++ contrib/ntp/scripts/summary.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH summary 1summaryman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH summary 1summaryman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-gNaWUB/ag-tNa4TB) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-OuaicR/ag-3uaqbR) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:25:07 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:26:00 AM by AutoGen 5.18.5 + .\" From the definitions summary-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/summary.mdoc.in.orig ++++ contrib/ntp/scripts/summary.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt SUMMARY 1summarymdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (summary-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:25:09 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:26:02 AM by AutoGen 5.18.5 + .\" From the definitions summary-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/update-leap/invoke-update-leap.texi.orig ++++ contrib/ntp/scripts/update-leap/invoke-update-leap.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-update-leap.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:50 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:25:12 AM by AutoGen 5.18.5 + # From the definitions update-leap-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +--- contrib/ntp/scripts/update-leap/update-leap-opts.orig ++++ contrib/ntp/scripts/update-leap/update-leap-opts +@@ -1,6 +1,6 @@ + # EDIT THIS FILE WITH CAUTION (update-leap-opts) + # +-# It has been AutoGen-ed April 26, 2016 at 08:24:56 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:25:39 AM by AutoGen 5.18.5 + # From the definitions update-leap-opts.def + # and the template file perlopt + +@@ -46,7 +46,7 @@ + 'help|?', 'more-help')); + + $usage = <<'USAGE'; +-update-leap - leap-seconds file manager/updater - Ver. 4.2.8p7 ++update-leap - leap-seconds file manager/updater - Ver. 4.2.8p8 + USAGE: update-leap [ -<flag> [<val>] | --<name>[{=| }<val>] ]... + + -s, --source-url=str The URL of the master copy of the leapseconds file +--- contrib/ntp/scripts/update-leap/update-leap.1update-leapman.orig ++++ contrib/ntp/scripts/update-leap/update-leap.1update-leapman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH update-leap 1update-leapman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH update-leap 1update-leapman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-FCaqHz/ag-RCayGz) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-qJaG0O/ag-DJaOZO) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:46 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:07 AM by AutoGen 5.18.5 + .\" From the definitions update-leap-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/update-leap/update-leap.1update-leapmdoc.orig ++++ contrib/ntp/scripts/update-leap/update-leap.1update-leapmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt UPDATE_LEAP 1update-leapmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (update-leap-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:54 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:37 AM by AutoGen 5.18.5 + .\" From the definitions update-leap-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/scripts/update-leap/update-leap.html.orig ++++ contrib/ntp/scripts/update-leap/update-leap.html +@@ -30,7 +30,7 @@ + + <p>This document describes the use of the NTP Project's <code>update-leap</code> program. + +- <p>This document applies to version 4.2.8p7 of <code>update-leap</code>. ++ <p>This document applies to version 4.2.8p8 of <code>update-leap</code>. + + <div class="shortcontents"> + <h2>Short Contents</h2> +--- contrib/ntp/scripts/update-leap/update-leap.man.in.orig ++++ contrib/ntp/scripts/update-leap/update-leap.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH update-leap 1update-leapman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH update-leap 1update-leapman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-FCaqHz/ag-RCayGz) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-qJaG0O/ag-DJaOZO) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:46 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:07 AM by AutoGen 5.18.5 + .\" From the definitions update-leap-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/scripts/update-leap/update-leap.mdoc.in.orig ++++ contrib/ntp/scripts/update-leap/update-leap.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt UPDATE_LEAP 1update-leapmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (update-leap-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:24:54 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:25:37 AM by AutoGen 5.18.5 + .\" From the definitions update-leap-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/sntp/Makefile.in.orig ++++ contrib/ntp/sntp/Makefile.in +@@ -126,8 +126,9 @@ + $(top_srcdir)/m4/ntp_ver_suffix.m4 \ + $(top_srcdir)/m4/openldap-thread-check.m4 \ + $(top_srcdir)/m4/openldap.m4 $(top_srcdir)/m4/os_cflags.m4 \ +- $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/version.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/m4/snprintf.m4 \ ++ $(top_srcdir)/m4/sntp_problemtests.m4 \ ++ $(top_srcdir)/m4/version.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ +--- contrib/ntp/sntp/aclocal.m4.orig ++++ contrib/ntp/sntp/aclocal.m4 +@@ -1361,3 +1361,4 @@ + m4_include([m4/openldap.m4]) + m4_include([m4/os_cflags.m4]) + m4_include([m4/snprintf.m4]) ++m4_include([m4/sntp_problemtests.m4]) +--- contrib/ntp/sntp/configure.orig ++++ contrib/ntp/sntp/configure +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.69 for sntp 4.2.8p7. ++# Generated by GNU Autoconf 2.69 for sntp 4.2.8p8. + # + # Report bugs to <http://bugs.ntp.org./>. + # +@@ -590,8 +590,8 @@ + # Identity of this package. + PACKAGE_NAME='sntp' + PACKAGE_TARNAME='sntp' +-PACKAGE_VERSION='4.2.8p7' +-PACKAGE_STRING='sntp 4.2.8p7' ++PACKAGE_VERSION='4.2.8p8' ++PACKAGE_STRING='sntp 4.2.8p8' + PACKAGE_BUGREPORT='http://bugs.ntp.org./' + PACKAGE_URL='http://www.ntp.org./' + +@@ -636,6 +636,10 @@ + ac_subst_vars='am__EXEEXT_FALSE + am__EXEEXT_TRUE + LTLIBOBJS ++BUILD_TEST_KODFILE_FALSE ++BUILD_TEST_KODFILE_TRUE ++BUILD_TEST_KODDATABASE_FALSE ++BUILD_TEST_KODDATABASE_TRUE + GTEST_AVAILABLE_FALSE + GTEST_AVAILABLE_TRUE + GTEST_CPPFLAGS +@@ -937,6 +941,7 @@ + with_kame + enable_getifaddrs + with_gtest ++enable_problem_tests + ' + ac_precious_vars='build_alias + host_alias +@@ -1491,7 +1496,7 @@ + # 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 sntp 4.2.8p7 to adapt to many kinds of systems. ++\`configure' configures sntp 4.2.8p8 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1561,7 +1566,7 @@ + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of sntp 4.2.8p7:";; ++ short | recursive ) echo "Configuration of sntp 4.2.8p8:";; + esac + cat <<\_ACEOF + +@@ -1596,6 +1601,7 @@ + --enable-ipv6 s use IPv6? + + --enable-getifaddrs + Enable the use of getifaddrs() [[yes|no]]. ++ --enable-problem-tests + enable tests with undiagnosed problems + + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] +@@ -1706,7 +1712,7 @@ + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-sntp configure 4.2.8p7 ++sntp configure 4.2.8p8 + generated by GNU Autoconf 2.69 + + Copyright (C) 2012 Free Software Foundation, Inc. +@@ -2536,7 +2542,7 @@ + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by sntp $as_me 4.2.8p7, which was ++It was created by sntp $as_me 4.2.8p8, which was + generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ +@@ -3533,7 +3539,7 @@ + + # Define the identity of the package. + PACKAGE='sntp' +- VERSION='4.2.8p7' ++ VERSION='4.2.8p8' + + + cat >>confdefs.h <<_ACEOF +@@ -30508,6 +30514,63 @@ + + + ++ ++case "$build" in ++ $host) cross=0 ;; ++ *) cross=1 ;; ++esac ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we want to enable tests with undiagnosed problems" >&5 ++$as_echo_n "checking if we want to enable tests with undiagnosed problems... " >&6; } ++# Check whether --enable-problem-tests was given. ++if test "${enable_problem_tests+set}" = set; then : ++ enableval=$enable_problem_tests; sntp_ept=$enableval ++else ++ sntp_ept=yes ++ ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sntp_ept" >&5 ++$as_echo "$sntp_ept" >&6; } ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can run test-kodDatabase" >&5 ++$as_echo_n "checking if we can run test-kodDatabase... " >&6; } ++sntp_test_kodDatabase="no" ++case "$sntp_ept:$cross:$host" in ++ no:0:*-apple-darwin12.6.0) ;; ++ *) sntp_test_kodDatabase="yes" ;; ++esac ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sntp_test_kodDatabase" >&5 ++$as_echo "$sntp_test_kodDatabase" >&6; } ++ if test x$sntp_test_kodDatabase = xyes; then ++ BUILD_TEST_KODDATABASE_TRUE= ++ BUILD_TEST_KODDATABASE_FALSE='#' ++else ++ BUILD_TEST_KODDATABASE_TRUE='#' ++ BUILD_TEST_KODDATABASE_FALSE= ++fi ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can run test-kodFile" >&5 ++$as_echo_n "checking if we can run test-kodFile... " >&6; } ++sntp_test_kodFile="no" ++case "$sntp_ept:$cross:$host" in ++ no:0:*-apple-darwin12.6.0) ;; ++ *) sntp_test_kodFile="yes" ;; ++esac ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sntp_test_kodFile" >&5 ++$as_echo "$sntp_test_kodFile" >&6; } ++ if test x$sntp_test_kodFile = xyes; then ++ BUILD_TEST_KODFILE_TRUE= ++ BUILD_TEST_KODFILE_FALSE='#' ++else ++ BUILD_TEST_KODFILE_TRUE='#' ++ BUILD_TEST_KODFILE_FALSE= ++fi ++ ++ ++ ++ + # All libraries should be in various LIB_* variables now. + #LIBS= + # Sadly not. There is a gettext() check somewhere, and on Solaris this pulls +@@ -30716,6 +30779,14 @@ + as_fn_error $? "conditional \"GTEST_AVAILABLE\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${BUILD_TEST_KODDATABASE_TRUE}" && test -z "${BUILD_TEST_KODDATABASE_FALSE}"; then ++ as_fn_error $? "conditional \"BUILD_TEST_KODDATABASE\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${BUILD_TEST_KODFILE_TRUE}" && test -z "${BUILD_TEST_KODFILE_FALSE}"; then ++ as_fn_error $? "conditional \"BUILD_TEST_KODFILE\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + + : "${CONFIG_STATUS=./config.status}" + ac_write_fail=0 +@@ -31113,7 +31184,7 @@ + # report actual input values of CONFIG_FILES etc. instead of their + # values after options handling. + ac_log=" +-This file was extended by sntp $as_me 4.2.8p7, which was ++This file was extended by sntp $as_me 4.2.8p8, which was + generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -31180,7 +31251,7 @@ + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" + ac_cs_version="\\ +-sntp config.status 4.2.8p7 ++sntp config.status 4.2.8p8 + configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +--- contrib/ntp/sntp/configure.ac.orig ++++ contrib/ntp/sntp/configure.ac +@@ -143,6 +143,8 @@ + AC_PROG_CXX + NTP_GOOGLETEST + ++SNTP_PROBLEM_TESTS ++ + # All libraries should be in various LIB_* variables now. + #LIBS= + # Sadly not. There is a gettext() check somewhere, and on Solaris this pulls +--- contrib/ntp/sntp/include/Makefile.in.orig ++++ contrib/ntp/sntp/include/Makefile.in +@@ -114,8 +114,9 @@ + $(top_srcdir)/m4/ntp_ver_suffix.m4 \ + $(top_srcdir)/m4/openldap-thread-check.m4 \ + $(top_srcdir)/m4/openldap.m4 $(top_srcdir)/m4/os_cflags.m4 \ +- $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/version.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/m4/snprintf.m4 \ ++ $(top_srcdir)/m4/sntp_problemtests.m4 \ ++ $(top_srcdir)/m4/version.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ +--- contrib/ntp/sntp/include/version.def.orig ++++ contrib/ntp/sntp/include/version.def +@@ -1 +1 @@ +-version = '4.2.8p7'; ++version = '4.2.8p8'; +--- contrib/ntp/sntp/include/version.texi.orig ++++ contrib/ntp/sntp/include/version.texi +@@ -1,3 +1,3 @@ +-@set UPDATED 26 April 2016 +-@set EDITION 4.2.8p7 +-@set VERSION 4.2.8p7 ++@set UPDATED 02 June 2016 ++@set EDITION 4.2.8p8 ++@set VERSION 4.2.8p8 +--- contrib/ntp/sntp/invoke-sntp.texi.orig ++++ contrib/ntp/sntp/invoke-sntp.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-sntp.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:21:12 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:19:58 AM by AutoGen 5.18.5 + # From the definitions sntp-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -101,7 +101,7 @@ + + @exampleindent 0 + @example +-sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p7 ++sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p8 + Usage: sntp [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... \ + [ hostname-or-IP ...] + Flg Arg Option-Name Description +--- contrib/ntp/sntp/libopts/Makefile.in.orig ++++ contrib/ntp/sntp/libopts/Makefile.in +@@ -114,8 +114,9 @@ + $(top_srcdir)/m4/ntp_ver_suffix.m4 \ + $(top_srcdir)/m4/openldap-thread-check.m4 \ + $(top_srcdir)/m4/openldap.m4 $(top_srcdir)/m4/os_cflags.m4 \ +- $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/version.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/m4/snprintf.m4 \ ++ $(top_srcdir)/m4/sntp_problemtests.m4 \ ++ $(top_srcdir)/m4/version.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +--- contrib/ntp/sntp/m4/ntp_problemtests.m4.orig ++++ contrib/ntp/sntp/m4/ntp_problemtests.m4 +@@ -55,5 +55,6 @@ + esac + AC_MSG_RESULT([$ntp_test_ntp_signd]) + AM_CONDITIONAL([BUILD_TEST_NTP_SIGND], [test x$ntp_test_ntp_signd = xyes]) ++ + ]) + dnl ====================================================================== +--- contrib/ntp/sntp/m4/sntp_problemtests.m4.orig ++++ contrib/ntp/sntp/m4/sntp_problemtests.m4 +@@ -0,0 +1,47 @@ ++dnl ###################################################################### ++dnl SNTP_PROBLEM_TESTS ++dnl ++dnl Some platforms have problems building or running certain tests. ++dnl While we're in the initial phase of the deployment of the test ++dnl framework, sometimes we may need to disable these tests. ++dnl ++dnl This is where we do that. ++dnl ++AC_DEFUN([SNTP_PROBLEM_TESTS], [ ++case "$build" in ++ $host) cross=0 ;; ++ *) cross=1 ;; ++esac ++ ++AC_MSG_CHECKING([if we want to enable tests with undiagnosed problems]) ++AC_ARG_ENABLE( ++ [problem-tests], ++ [AS_HELP_STRING( ++ [--enable-problem-tests], ++ [+ enable tests with undiagnosed problems] ++ )], ++ [sntp_ept=$enableval], ++ [sntp_ept=yes] ++) ++AC_MSG_RESULT([$sntp_ept]) ++ ++AC_MSG_CHECKING([if we can run test-kodDatabase]) ++sntp_test_kodDatabase="no" ++case "$sntp_ept:$cross:$host" in ++ no:0:*-apple-darwin12.6.0) ;; ++ *) sntp_test_kodDatabase="yes" ;; ++esac ++AC_MSG_RESULT([$sntp_test_kodDatabase]) ++AM_CONDITIONAL([BUILD_TEST_KODDATABASE], [test x$sntp_test_kodDatabase = xyes]) ++ ++AC_MSG_CHECKING([if we can run test-kodFile]) ++sntp_test_kodFile="no" ++case "$sntp_ept:$cross:$host" in ++ no:0:*-apple-darwin12.6.0) ;; ++ *) sntp_test_kodFile="yes" ;; ++esac ++AC_MSG_RESULT([$sntp_test_kodFile]) ++AM_CONDITIONAL([BUILD_TEST_KODFILE], [test x$sntp_test_kodFile = xyes]) ++ ++]) ++dnl ====================================================================== +--- contrib/ntp/sntp/m4/version.m4.orig ++++ contrib/ntp/sntp/m4/version.m4 +@@ -1 +1 @@ +-m4_define([VERSION_NUMBER],[4.2.8p7]) ++m4_define([VERSION_NUMBER],[4.2.8p8]) +--- contrib/ntp/sntp/scripts/Makefile.in.orig ++++ contrib/ntp/sntp/scripts/Makefile.in +@@ -113,8 +113,9 @@ + $(top_srcdir)/m4/ntp_ver_suffix.m4 \ + $(top_srcdir)/m4/openldap-thread-check.m4 \ + $(top_srcdir)/m4/openldap.m4 $(top_srcdir)/m4/os_cflags.m4 \ +- $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/version.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/m4/snprintf.m4 \ ++ $(top_srcdir)/m4/sntp_problemtests.m4 \ ++ $(top_srcdir)/m4/version.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +--- contrib/ntp/sntp/sntp-opts.c.orig ++++ contrib/ntp/sntp/sntp-opts.c +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (sntp-opts.c) + * +- * It has been AutoGen-ed April 26, 2016 at 08:20:39 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:18:42 AM by AutoGen 5.18.5 + * From the definitions sntp-opts.def + * and the template file options + * +@@ -70,7 +70,7 @@ + * static const strings for sntp options + */ + static char const sntp_opt_strs[2549] = +-/* 0 */ "sntp 4.2.8p7\n" ++/* 0 */ "sntp 4.2.8p8\n" + "Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n" + "This is free software. It is licensed for use, modification and\n" + "redistribution under the terms of the NTP License, copies of which\n" +@@ -155,7 +155,7 @@ + /* 2298 */ "LOAD_OPTS\0" + /* 2308 */ "no-load-opts\0" + /* 2321 */ "SNTP\0" +-/* 2326 */ "sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p7\n" ++/* 2326 */ "sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p8\n" + "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\\n" + "\t\t[ hostname-or-IP ...]\n\0" + /* 2485 */ "$HOME\0" +@@ -163,7 +163,7 @@ + /* 2493 */ ".ntprc\0" + /* 2500 */ "http://bugs.ntp.org, bugs@ntp.org\0" + /* 2534 */ "\n\0" +-/* 2536 */ "sntp 4.2.8p7"; ++/* 2536 */ "sntp 4.2.8p8"; + + /** + * ipv4 option description with +@@ -1173,7 +1173,7 @@ + translate option names. + */ + /* referenced via sntpOptions.pzCopyright */ +- puts(_("sntp 4.2.8p7\n\ ++ puts(_("sntp 4.2.8p8\n\ + Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n\ + This is free software. It is licensed for use, modification and\n\ + redistribution under the terms of the NTP License, copies of which\n\ +@@ -1263,7 +1263,7 @@ + puts(_("load options from a config file")); + + /* referenced via sntpOptions.pzUsageTitle */ +- puts(_("sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p7\n\ ++ puts(_("sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p8\n\ + Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\\n\ + \t\t[ hostname-or-IP ...]\n")); + +@@ -1271,7 +1271,7 @@ + puts(_("\n")); + + /* referenced via sntpOptions.pzFullVersion */ +- puts(_("sntp 4.2.8p7")); ++ puts(_("sntp 4.2.8p8")); + + /* referenced via sntpOptions.pzFullUsage */ + puts(_("<<<NOT-FOUND>>>")); +--- contrib/ntp/sntp/sntp-opts.h.orig ++++ contrib/ntp/sntp/sntp-opts.h +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (sntp-opts.h) + * +- * It has been AutoGen-ed April 26, 2016 at 08:20:38 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:18:40 AM by AutoGen 5.18.5 + * From the definitions sntp-opts.def + * and the template file options + * +@@ -91,9 +91,9 @@ + /** count of all options for sntp */ + #define OPTION_CT 23 + /** sntp version */ +-#define SNTP_VERSION "4.2.8p7" ++#define SNTP_VERSION "4.2.8p8" + /** Full sntp version text */ +-#define SNTP_FULL_VERSION "sntp 4.2.8p7" ++#define SNTP_FULL_VERSION "sntp 4.2.8p8" + + /** + * Interface defines for all options. Replace "n" with the UPPER_CASED +--- contrib/ntp/sntp/sntp.1sntpman.orig ++++ contrib/ntp/sntp/sntp.1sntpman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH sntp 1sntpman "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH sntp 1sntpman "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-EjaOrb/ag-RjaGqb) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-5CayKq/ag-fDaqJq) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:21:08 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:19:39 AM by AutoGen 5.18.5 + .\" From the definitions sntp-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/sntp/sntp.1sntpmdoc.orig ++++ contrib/ntp/sntp/sntp.1sntpmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt SNTP 1sntpmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (sntp-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:21:15 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:20:03 AM by AutoGen 5.18.5 + .\" From the definitions sntp-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/sntp/sntp.html.orig ++++ contrib/ntp/sntp/sntp.html +@@ -36,7 +36,7 @@ + clock. Run as root, it can correct the system clock to this offset as + well. It can be run as an interactive command or from a cron job. + +- <p>This document applies to version 4.2.8p7 of <code>sntp</code>. ++ <p>This document applies to version 4.2.8p8 of <code>sntp</code>. + + <p>The program implements the SNTP protocol as defined by RFC 5905, the NTPv4 + IETF specification. +@@ -176,7 +176,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p7 ++<pre class="example">sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p8 + Usage: sntp [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \ + [ hostname-or-IP ...] + Flg Arg Option-Name Description +--- contrib/ntp/sntp/sntp.man.in.orig ++++ contrib/ntp/sntp/sntp.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH sntp @SNTP_MS@ "26 Apr 2016" "4.2.8p7" "User Commands" ++.TH sntp @SNTP_MS@ "02 Jun 2016" "4.2.8p8" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-EjaOrb/ag-RjaGqb) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-5CayKq/ag-fDaqJq) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:21:08 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:19:39 AM by AutoGen 5.18.5 + .\" From the definitions sntp-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/sntp/sntp.mdoc.in.orig ++++ contrib/ntp/sntp/sntp.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt SNTP @SNTP_MS@ User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (sntp-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:21:15 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:20:03 AM by AutoGen 5.18.5 + .\" From the definitions sntp-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/sntp/tests/Makefile.am.orig ++++ contrib/ntp/sntp/tests/Makefile.am +@@ -34,8 +34,6 @@ + check_PROGRAMS = \ + test-crypto \ + test-keyFile \ +- test-kodDatabase \ +- test-kodFile \ + test-log \ + test-networking \ + test-packetHandling \ +@@ -43,6 +41,14 @@ + test-utilities \ + $(NULL) + ++if BUILD_TEST_KODDATABASE ++check_PROGRAMS += test-kodDatabase ++endif ++ ++if BUILD_TEST_KODFILE ++check_PROGRAMS += test-kodFile ++endif ++ + noinst_HEADERS = \ + sntptest.h \ + $(NULL) +--- contrib/ntp/sntp/tests/Makefile.in.orig ++++ contrib/ntp/sntp/tests/Makefile.in +@@ -90,11 +90,13 @@ + host_triplet = @host@ + EXTRA_PROGRAMS = + check_PROGRAMS = test-crypto$(EXEEXT) test-keyFile$(EXEEXT) \ +- test-kodDatabase$(EXEEXT) test-kodFile$(EXEEXT) \ + test-log$(EXEEXT) test-networking$(EXEEXT) \ + test-packetHandling$(EXEEXT) test-packetProcessing$(EXEEXT) \ +- test-utilities$(EXEEXT) $(am__EXEEXT_1) +-@NTP_CROSSCOMPILE_FALSE@am__append_1 = $(check_PROGRAMS) ++ test-utilities$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \ ++ $(am__EXEEXT_3) ++@BUILD_TEST_KODDATABASE_TRUE@am__append_1 = test-kodDatabase ++@BUILD_TEST_KODFILE_TRUE@am__append_2 = test-kodFile ++@NTP_CROSSCOMPILE_FALSE@am__append_3 = $(check_PROGRAMS) + subdir = tests + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/libopts/m4/libopts.m4 \ +@@ -121,8 +123,9 @@ + $(top_srcdir)/m4/ntp_ver_suffix.m4 \ + $(top_srcdir)/m4/openldap-thread-check.m4 \ + $(top_srcdir)/m4/openldap.m4 $(top_srcdir)/m4/os_cflags.m4 \ +- $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/version.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/m4/snprintf.m4 \ ++ $(top_srcdir)/m4/sntp_problemtests.m4 \ ++ $(top_srcdir)/m4/version.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ +@@ -132,6 +135,8 @@ + CONFIG_CLEAN_FILES = fileHandlingTest.h + CONFIG_CLEAN_VPATH_FILES = + am__EXEEXT_1 = ++@BUILD_TEST_KODDATABASE_TRUE@am__EXEEXT_2 = test-kodDatabase$(EXEEXT) ++@BUILD_TEST_KODFILE_TRUE@am__EXEEXT_3 = test-kodFile$(EXEEXT) + am__objects_1 = + am_test_crypto_OBJECTS = test_crypto-crypto.$(OBJEXT) \ + test_crypto-run-crypto.$(OBJEXT) test_crypto-version.$(OBJEXT) \ +@@ -863,7 +868,7 @@ + + #$(srcdir)/../version.c: $(srcdir)/../version.c + # gcc -o version.o ../version.c +-TESTS = $(am__append_1) ++TESTS = $(am__append_3) + SNTP_INCS = -I$(top_srcdir)/../include \ + -I$(top_srcdir)/../lib/isc/include \ + -I$(top_srcdir)/../lib/isc/$(LIBISC_PTHREADS_NOTHREADS)/include \ +@@ -1270,20 +1275,6 @@ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +-test-kodDatabase.log: test-kodDatabase$(EXEEXT) +- @p='test-kodDatabase$(EXEEXT)'; \ +- b='test-kodDatabase'; \ +- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ +- --log-file $$b.log --trs-file $$b.trs \ +- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ +- "$$tst" $(AM_TESTS_FD_REDIRECT) +-test-kodFile.log: test-kodFile$(EXEEXT) +- @p='test-kodFile$(EXEEXT)'; \ +- b='test-kodFile'; \ +- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ +- --log-file $$b.log --trs-file $$b.trs \ +- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ +- "$$tst" $(AM_TESTS_FD_REDIRECT) + test-log.log: test-log$(EXEEXT) + @p='test-log$(EXEEXT)'; \ + b='test-log'; \ +@@ -1319,6 +1310,20 @@ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) ++test-kodDatabase.log: test-kodDatabase$(EXEEXT) ++ @p='test-kodDatabase$(EXEEXT)'; \ ++ b='test-kodDatabase'; \ ++ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ ++ --log-file $$b.log --trs-file $$b.trs \ ++ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ ++ "$$tst" $(AM_TESTS_FD_REDIRECT) ++test-kodFile.log: test-kodFile$(EXEEXT) ++ @p='test-kodFile$(EXEEXT)'; \ ++ b='test-kodFile'; \ ++ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ ++ --log-file $$b.log --trs-file $$b.trs \ ++ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ ++ "$$tst" $(AM_TESTS_FD_REDIRECT) + .test.log: + @p='$<'; \ + $(am__set_b); \ +--- contrib/ntp/sntp/unity/Makefile.in.orig ++++ contrib/ntp/sntp/unity/Makefile.in +@@ -114,8 +114,9 @@ + $(top_srcdir)/m4/ntp_ver_suffix.m4 \ + $(top_srcdir)/m4/openldap-thread-check.m4 \ + $(top_srcdir)/m4/openldap.m4 $(top_srcdir)/m4/os_cflags.m4 \ +- $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/version.m4 \ +- $(top_srcdir)/configure.ac ++ $(top_srcdir)/m4/snprintf.m4 \ ++ $(top_srcdir)/m4/sntp_problemtests.m4 \ ++ $(top_srcdir)/m4/version.m4 $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +--- contrib/ntp/sntp/version.c.orig ++++ contrib/ntp/sntp/version.c +@@ -2,4 +2,4 @@ + * version file for sntp + */ + #include <config.h> +-const char * Version = "sntp 4.2.8p6@1.3265-o Wed Apr 27 00:21:06 UTC 2016 (28)"; ++const char * Version = "sntp 4.2.8p7@1.3265-o Thu Jun 2 11:19:34 UTC 2016 (29)"; +--- contrib/ntp/util/invoke-ntp-keygen.texi.orig ++++ contrib/ntp/util/invoke-ntp-keygen.texi +@@ -6,7 +6,7 @@ + # + # EDIT THIS FILE WITH CAUTION (invoke-ntp-keygen.texi) + # +-# It has been AutoGen-ed April 26, 2016 at 08:30:20 PM by AutoGen 5.18.5 ++# It has been AutoGen-ed June 2, 2016 at 07:39:40 AM by AutoGen 5.18.5 + # From the definitions ntp-keygen-opts.def + # and the template file agtexi-cmd.tpl + @end ignore +@@ -886,7 +886,7 @@ + + @exampleindent 0 + @example +-ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p7 ++ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p8 + Usage: ntp-keygen [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... + Flg Arg Option-Name Description + -b Num imbits identity modulus bits +--- contrib/ntp/util/ntp-keygen-opts.c.orig ++++ contrib/ntp/util/ntp-keygen-opts.c +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntp-keygen-opts.c) + * +- * It has been AutoGen-ed April 26, 2016 at 08:30:03 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:39:24 AM by AutoGen 5.18.5 + * From the definitions ntp-keygen-opts.def + * and the template file options + * +@@ -72,7 +72,7 @@ + * static const strings for ntp-keygen options + */ + static char const ntp_keygen_opt_strs[2419] = +-/* 0 */ "ntp-keygen (ntp) 4.2.8p7\n" ++/* 0 */ "ntp-keygen (ntp) 4.2.8p8\n" + "Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n" + "This is free software. It is licensed for use, modification and\n" + "redistribution under the terms of the NTP License, copies of which\n" +@@ -164,7 +164,7 @@ + /* 2202 */ "no-load-opts\0" + /* 2215 */ "no\0" + /* 2218 */ "NTP_KEYGEN\0" +-/* 2229 */ "ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p7\n" ++/* 2229 */ "ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p8\n" + "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n\0" + /* 2343 */ "$HOME\0" + /* 2349 */ ".\0" +@@ -171,7 +171,7 @@ + /* 2351 */ ".ntprc\0" + /* 2358 */ "http://bugs.ntp.org, bugs@ntp.org\0" + /* 2392 */ "\n\0" +-/* 2394 */ "ntp-keygen (ntp) 4.2.8p7"; ++/* 2394 */ "ntp-keygen (ntp) 4.2.8p8"; + + /** + * imbits option description: +@@ -1309,7 +1309,7 @@ + translate option names. + */ + /* referenced via ntp_keygenOptions.pzCopyright */ +- puts(_("ntp-keygen (ntp) 4.2.8p7\n\ ++ puts(_("ntp-keygen (ntp) 4.2.8p8\n\ + Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n\ + This is free software. It is licensed for use, modification and\n\ + redistribution under the terms of the NTP License, copies of which\n\ +@@ -1408,7 +1408,7 @@ + puts(_("load options from a config file")); + + /* referenced via ntp_keygenOptions.pzUsageTitle */ +- puts(_("ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p7\n\ ++ puts(_("ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p8\n\ + Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n")); + + /* referenced via ntp_keygenOptions.pzExplain */ +@@ -1415,7 +1415,7 @@ + puts(_("\n")); + + /* referenced via ntp_keygenOptions.pzFullVersion */ +- puts(_("ntp-keygen (ntp) 4.2.8p7")); ++ puts(_("ntp-keygen (ntp) 4.2.8p8")); + + /* referenced via ntp_keygenOptions.pzFullUsage */ + puts(_("<<<NOT-FOUND>>>")); +--- contrib/ntp/util/ntp-keygen-opts.h.orig ++++ contrib/ntp/util/ntp-keygen-opts.h +@@ -1,7 +1,7 @@ + /* + * EDIT THIS FILE WITH CAUTION (ntp-keygen-opts.h) + * +- * It has been AutoGen-ed April 26, 2016 at 08:30:02 PM by AutoGen 5.18.5 ++ * It has been AutoGen-ed June 2, 2016 at 07:39:23 AM by AutoGen 5.18.5 + * From the definitions ntp-keygen-opts.def + * and the template file options + * +@@ -94,9 +94,9 @@ + /** count of all options for ntp-keygen */ + #define OPTION_CT 26 + /** ntp-keygen version */ +-#define NTP_KEYGEN_VERSION "4.2.8p7" ++#define NTP_KEYGEN_VERSION "4.2.8p8" + /** Full ntp-keygen version text */ +-#define NTP_KEYGEN_FULL_VERSION "ntp-keygen (ntp) 4.2.8p7" ++#define NTP_KEYGEN_FULL_VERSION "ntp-keygen (ntp) 4.2.8p8" + + /** + * Interface defines for all options. Replace "n" with the UPPER_CASED +--- contrib/ntp/util/ntp-keygen.1ntp-keygenman.orig ++++ contrib/ntp/util/ntp-keygen.1ntp-keygenman +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntp-keygen 1ntp-keygenman "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH ntp-keygen 1ntp-keygenman "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-FRa4eL/ag-RRaWdL) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-.JaGB0/ag-lKayA0) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:30:15 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:39:36 AM by AutoGen 5.18.5 + .\" From the definitions ntp-keygen-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc.orig ++++ contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_KEYGEN 1ntp-keygenmdoc User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntp-keygen-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:30:23 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:39:43 AM by AutoGen 5.18.5 + .\" From the definitions ntp-keygen-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- contrib/ntp/util/ntp-keygen.html.orig ++++ contrib/ntp/util/ntp-keygen.html +@@ -70,7 +70,7 @@ + printable ASCII format so they can be embedded as MIME attachments in + mail to other sites. + +- <p>This document applies to version 4.2.8p7 of <code>ntp-keygen</code>. ++ <p>This document applies to version 4.2.8p8 of <code>ntp-keygen</code>. + + <div class="node"> + <p><hr> +@@ -1085,7 +1085,7 @@ + used to select the program, defaulting to <span class="file">more</span>. Both will exit + with a status code of 0. + +-<pre class="example">ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p6 ++<pre class="example">ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p7 + Usage: ntp-keygen [ -<flag> [<val>] | --<name>[{=| }<val>] ]... + Flg Arg Option-Name Description + -b Num imbits identity modulus bits +--- contrib/ntp/util/ntp-keygen.man.in.orig ++++ contrib/ntp/util/ntp-keygen.man.in +@@ -10,11 +10,11 @@ + .ds B-Font B + .ds I-Font I + .ds R-Font R +-.TH ntp-keygen @NTP_KEYGEN_MS@ "26 Apr 2016" "ntp (4.2.8p7)" "User Commands" ++.TH ntp-keygen @NTP_KEYGEN_MS@ "02 Jun 2016" "ntp (4.2.8p8)" "User Commands" + .\" +-.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-FRa4eL/ag-RRaWdL) ++.\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-.JaGB0/ag-lKayA0) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:30:15 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:39:36 AM by AutoGen 5.18.5 + .\" From the definitions ntp-keygen-opts.def + .\" and the template file agman-cmd.tpl + .SH NAME +--- contrib/ntp/util/ntp-keygen.mdoc.in.orig ++++ contrib/ntp/util/ntp-keygen.mdoc.in +@@ -1,9 +1,9 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_KEYGEN @NTP_KEYGEN_MS@ User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntp-keygen-opts.mdoc) + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:30:23 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:39:43 AM by AutoGen 5.18.5 + .\" From the definitions ntp-keygen-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- usr.sbin/ntp/config.h.orig ++++ usr.sbin/ntp/config.h +@@ -1449,7 +1449,7 @@ + #define PACKAGE_NAME "ntp" + + /* Define to the full name and version of this package. */ +-#define PACKAGE_STRING "ntp 4.2.8p7" ++#define PACKAGE_STRING "ntp 4.2.8p8" + + /* Define to the one symbol short name of this package. */ + #define PACKAGE_TARNAME "ntp" +@@ -1458,7 +1458,7 @@ + #define PACKAGE_URL "http://www.ntp.org./" + + /* Define to the version of this package. */ +-#define PACKAGE_VERSION "4.2.8p7" ++#define PACKAGE_VERSION "4.2.8p8" + + /* data dir */ + #define PERLLIBDIR "/usr/local/share/ntp/lib" +@@ -1639,7 +1639,7 @@ + /* #undef USE_UDP_SIGPOLL */ + + /* Version number of package */ +-#define VERSION "4.2.8p7" ++#define VERSION "4.2.8p8" + + /* vsnprintf expands "%m" to strerror(errno) */ + /* #undef VSNPRINTF_PERCENT_M */ +@@ -1816,5 +1816,5 @@ + /* + * FreeBSD specific: Explicitly specify date/time for reproducible build. + */ +-#define MKREPRO_DATE "Apr 27 2016" +-#define MKREPRO_TIME "05:53:49" ++#define MKREPRO_DATE "Jun 03 2016" ++#define MKREPRO_TIME "06:34:37" +--- usr.sbin/ntp/doc/ntp-keygen.8.orig ++++ usr.sbin/ntp/doc/ntp-keygen.8 +@@ -1,4 +1,4 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_KEYGEN 8 User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntp-keygen-opts.mdoc) +@@ -5,7 +5,7 @@ + .\" + .\" $FreeBSD$ + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:30:23 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:39:43 AM by AutoGen 5.18.5 + .\" From the definitions ntp-keygen-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- usr.sbin/ntp/doc/ntp.conf.5.orig ++++ usr.sbin/ntp/doc/ntp.conf.5 +@@ -1,4 +1,4 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_CONF 5 File Formats + .Os + .\" EDIT THIS FILE WITH CAUTION (ntp.mdoc) +@@ -5,7 +5,7 @@ + .\" + .\" $FreeBSD$ + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:36 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:16 AM by AutoGen 5.18.5 + .\" From the definitions ntp.conf.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +@@ -2442,6 +2442,7 @@ + .Cm calibrate | Cm kernel | + .Cm mode7 | Cm monitor | + .Cm ntp | Cm stats | ++.Cm peer_clear_digest_early | + .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early + .Oc + .Xc +@@ -2451,6 +2452,7 @@ + .Cm calibrate | Cm kernel | + .Cm mode7 | Cm monitor | + .Cm ntp | Cm stats | ++.Cm peer_clear_digest_early | + .Cm unpeer_crypto_early | Cm unpeer_crypto_nak_early | Cm unpeer_digest_early + .Oc + .Xc +@@ -2518,6 +2520,26 @@ + The default for + this flag is + .Ic enable . ++.It Cm peer_clear_digest_early ++By default, if ++.Xr ntpd 8 ++is using autokey and it ++receives a crypto\-NAK packet that ++passes the duplicate packet and origin timestamp checks ++the peer variables are immediately cleared. ++While this is generally a feature ++as it allows for quick recovery if a server key has changed, ++a properly forged and appropriately delivered crypto\-NAK packet ++can be used in a DoS attack. ++If you have active noticable problems with this type of DoS attack ++then you should consider ++disabling this option. ++You can check your ++.Cm peerstats ++file for evidence of any of these attacks. ++The ++default for this flag is ++.Ic enable . + .It Cm stats + Enables the statistics facility. + See the +--- usr.sbin/ntp/doc/ntp.keys.5.orig ++++ usr.sbin/ntp/doc/ntp.keys.5 +@@ -1,4 +1,4 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTP_KEYS 5 File Formats + .Os SunOS 5.10 + .\" EDIT THIS FILE WITH CAUTION (ntp.mdoc) +@@ -5,7 +5,7 @@ + .\" + .\" $FreeBSD$ + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:39 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:20 AM by AutoGen 5.18.5 + .\" From the definitions ntp.keys.def + .\" and the template file agmdoc-file.tpl + .Sh NAME +--- usr.sbin/ntp/doc/ntpd.8.orig ++++ usr.sbin/ntp/doc/ntpd.8 +@@ -1,4 +1,4 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPD 8 User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpd-opts.mdoc) +@@ -5,7 +5,7 @@ + .\" + .\" $FreeBSD$ + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:28:41 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:22 AM by AutoGen 5.18.5 + .\" From the definitions ntpd-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- usr.sbin/ntp/doc/ntpdc.8.orig ++++ usr.sbin/ntp/doc/ntpdc.8 +@@ -1,4 +1,4 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPDC 8 User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpdc-opts.mdoc) +@@ -5,7 +5,7 @@ + .\" + .\" $FreeBSD$ + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:08 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:36:58 AM by AutoGen 5.18.5 + .\" From the definitions ntpdc-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- usr.sbin/ntp/doc/ntpq.8.orig ++++ usr.sbin/ntp/doc/ntpq.8 +@@ -1,4 +1,4 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt NTPQ 8 User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (ntpq-opts.mdoc) +@@ -5,7 +5,7 @@ + .\" + .\" $FreeBSD$ + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:29:41 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:37:48 AM by AutoGen 5.18.5 + .\" From the definitions ntpq-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- usr.sbin/ntp/doc/sntp.8.orig ++++ usr.sbin/ntp/doc/sntp.8 +@@ -1,4 +1,4 @@ +-.Dd April 26 2016 ++.Dd June 2 2016 + .Dt SNTP 8 User Commands + .Os + .\" EDIT THIS FILE WITH CAUTION (sntp-opts.mdoc) +@@ -5,7 +5,7 @@ + .\" + .\" $FreeBSD$ + .\" +-.\" It has been AutoGen-ed April 26, 2016 at 08:21:15 PM by AutoGen 5.18.5 ++.\" It has been AutoGen-ed June 2, 2016 at 07:20:03 AM by AutoGen 5.18.5 + .\" From the definitions sntp-opts.def + .\" and the template file agmdoc-cmd.tpl + .Sh NAME +--- usr.sbin/ntp/scripts/mkver.orig ++++ usr.sbin/ntp/scripts/mkver +@@ -6,7 +6,7 @@ + + ConfStr="$PROG" + +-ConfStr="$ConfStr 4.2.8p7" ++ConfStr="$ConfStr 4.2.8p8" + + case "$CSET" in + '') ;; diff --git a/share/security/patches/SA-16:24/ntp.patch.asc b/share/security/patches/SA-16:24/ntp.patch.asc new file mode 100644 index 0000000000..fae77def69 --- /dev/null +++ b/share/security/patches/SA-16:24/ntp.patch.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.1.12 (FreeBSD) + +iQIcBAABCgAGBQJXUnR+AAoJEO1n7NZdz2rnpJQQALCc5yADJD7gnsBv2Nl9H+3V +FGVMJa3lySYZyOrWguc/Gmb+lXcVOYehyoNf/Pya36Jgd+sWCVP+uuLJkcJqrFm7 +x/vUGx8lBzhltgJ3XKhMEz7d0Mw5Q8TC8yu0yuAWslZSXtaUjLCaKA/cGXtQUP2k +0lAmq7VCygj9sw5zDOgatOH0b3H+KgIV6G8SGcKoXkRm6aQk4msGLM3m7Lff3Vlx +g8Emoud8Tf94dPYUYSVJjC8O7v6W5Ha5hNID/wC0cQpUZm2PZTNAXVaEiBR8kZO4 +eYbeQBNTxGFsh9bwd1VbDM16yCWh5Q6vpQ3aJsXqQdFO7QU4I+L4wIUCr3UM+6tJ +EirkjDdm9MnRmf38lJrOrqvDojKkUz3iQRcGcZ4r0pkpKwoFTflz3VYjWIbrrY7I +7Fku4P/8PzEFP2v7BBAqBQZwRkMPucErfuUP5uvyR7usMTCuKb7i3GTKbb2oHKb+ +dzbVShycttvQ1gVFARIFmV4dcqRatEbpGPFOvrZASadIQkKxGuUC3Y9D2fE4WtPx +reqkt9UQ63/l3w+7IqA7bvFEZKLWOnCTaJxsJtfST5amtIgPWj4KnzsBnki4iPcZ +vo25aFqenR+7+L1igASnJNvu1lMFBC76LuII9m6YPszb6xn8gHgsQ+tg3h9XlC7l +PKj7EPnKrec/XlgN0OJA +=iq0r +-----END PGP SIGNATURE----- |