aboutsummaryrefslogtreecommitdiff
path: root/share/security/patches
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2016-06-04 06:51:08 +0000
committerXin LI <delphij@FreeBSD.org>2016-06-04 06:51:08 +0000
commit97d46c0b16b8dffc2903bbe83eb26cb54a8d807d (patch)
tree2059fe82f1f1ef87d433c4ad20e363c24c4bacc7 /share/security/patches
parent2d1a634039ba83c3d83496d3b447016ebd1e52ab (diff)
downloaddoc-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.patch11582
-rw-r--r--share/security/patches/SA-16:24/ntp.patch.asc17
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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]... \
+ [ &lt;server1&gt; ... &lt;serverN&gt; ]
+ 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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]... [ 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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]... [ 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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]...
+
+ -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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]... [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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]... [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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]...
+
+ --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:&nbsp;<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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]...
+
+ --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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]... \
+ [ 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 [ -&lt;flag&gt; [&lt;val&gt;] | --&lt;name&gt;[{=| }&lt;val&gt;] ]...
+ 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-----