[Bug 3868] Cannot restrict a pool peer.
[Bug 3855] ntpq lacks an equivalent to ntpdc's delrestrict.
Correct handling of not-found or unreadable or corrupt driftfile
to match comments by starting protocol engine in FREQ mode.
Add missing printf-style arg in ntp_util.c.
Update ntp.conf documentation to add "delrestrict" and correct
information about KoD rate limiting.
bk: 65179ba2xy6JnBVUxzObJNPiQuYDyQ
---
+* [Bug 3872] Ignore restrict mask for hostname. <hart@ntp.org>
* [Bug 3869] Remove long-gone "calldelay" & "crypto sign" from docs.
Reported by PoolMUC@web.de. <hart@ntp.org>
+* [Bug 3868] Cannot restrict a pool peer. <hart@ntp.org> Thanks to
+ Edward McGuire for tracking down the deficiency.
* [Bug 3859] Use NotifyIpInterfaceChange on Windows ntpd. <hart@ntp.org>
* [Bug 3856] Enable Edit & Continue debugging with Visual Studio.
<hart@ntp.org>
+* [Bug 3855] ntpq lacks an equivalent to ntpdc's delrestrict. <hart@ntp.org>
* [Bug 3854] ntpd 4.2.8p17 corrupts rawstats file with space in refid.
<hart@ntp.org>
* [Bug 3853] Clean up warnings with modern compilers. <hart@ntp.org>
is disabled. <burnicki@ntp.org>
* [Bug 3825] Don't touch HTML files unless building inside a BK repo.
Fix the script checkHtmlFileDates. <burnicki@ntp.org>
+* Update ntp.conf documentation to add "delrestrict" and correct information
+ about KoD rate limiting. <hart@ntp.org>
* html/clockopt.html cleanup. <stenn@ntp.org>
* Add DSA, DSA-SHA, and SHA to tests/libntp/digests.c. <hart@ntp.org>
* Provide ntpd thread names to debugger on Windows. <hart@ntp.org>
struct restrict_u_tag {
restrict_u * link; /* link to next entry */
u_int32 count; /* number of packets matched */
+ u_int32 expire; /* valid until current_time */
u_short rflags; /* restrict (accesslist) flags */
- u_short mflags; /* match flags */
+ u_int32 mflags; /* match flags */
short ippeerlimit; /* limit of associations matching */
- u_long expire; /* valid until time */
union { /* variant starting here */
res_addr4 v4;
res_addr6 v6;
#define RES_NOPEER 0x0010 /* new association denied */
#define RES_NOEPEER 0x0020 /* new ephemeral association denied */
#define RES_LIMITED 0x0040 /* packet rate exceeded */
-#define RES_FLAGS (RES_IGNORE | RES_DONTSERVE |\
- RES_DONTTRUST | RES_VERSION |\
- RES_NOPEER | RES_NOEPEER | RES_LIMITED)
-
#define RES_NOQUERY 0x0080 /* mode 6/7 packet denied */
#define RES_NOMODIFY 0x0100 /* mode 6/7 modify denied */
#define RES_NOTRAP 0x0200 /* mode 6/7 set trap denied */
#define RES_UNUSED 0x0000 /* Unused flag bits (none left) */
-#define RES_ALLFLAGS (RES_FLAGS | RES_NOQUERY | \
+#define RES_ALLFLAGS (RES_IGNORE | RES_DONTSERVE | \
+ RES_DONTTRUST | RES_VERSION | \
+ RES_NOPEER | RES_NOEPEER | \
+ RES_LIMITED | RES_NOQUERY | \
RES_NOMODIFY | RES_NOTRAP | \
RES_LPTRAP | RES_KOD | \
RES_MSSNTP | RES_FLAKE | \
address_node * addr;
address_node * mask;
attr_val_fifo * flag_tok_fifo;
+ int/*BOOL*/ remove;
int line_no;
+ int column;
short ippeerlimit;
short srvfuzrft;
};
filegen_node *create_filegen_node(int filegen_token,
attr_val_fifo *options);
string_node *create_string_node(char *str);
-restrict_node *create_restrict_node(address_node *addr,
- address_node *mask,
- short ippeerlimit,
- attr_val_fifo *flags, int line_no);
+restrict_node *create_restrict_node(address_node * addr,
+ address_node * mask,
+ short ippeerlimit,
+ attr_val_fifo * flag_tok_fifo,
+ int/*BOOL*/ remove,
+ int nline,
+ int ncol);
int_node *create_int_node(int val);
addr_opts_node *create_addr_opts_node(address_node *addr,
attr_val_fifo *options);
/* ntp_restrict.c */
extern void init_restrict (void);
extern void restrictions (sockaddr_u *, r4addr *);
-extern void hack_restrict (restrict_op op, sockaddr_u *resaddr,
- sockaddr_u* resmask, short ippeerlimit,
+extern int/*BOOL*/hack_restrict(restrict_op op, sockaddr_u *resaddr,
+ sockaddr_u *resmask, short ippeerlimit,
u_short mflags, u_short rflags,
- u_long expire);
-extern void restrict_source (sockaddr_u *, int, u_long);
-extern void dump_restricts (void);
+ u_int32 expire);
+extern void restrict_source (sockaddr_u *addr, int/*BOOL*/ remove,
+ u_int32 lifetime);
#ifdef DEBUG
+extern void dump_restricts (void);
extern const char *resop_str (restrict_op op);
extern const char *rflags_str (u_short rflags);
extern const char *mflags_str (u_short mflags);
extern vint64 subv64u32(const vint64 * lhs, uint32_t rhs);
/* parsing. works like strtoul() or strtoull() */
-extern vint64 strtouv64(char const * begp, char const ** const endp, int base);
+extern vint64 strtouv64(char * begp, char ** endp, int base);
#endif /*!defined(VINT64OPS_H)*/
#include "ntp_types.h"
#include "ntp_fp.h"
+#include "ntp_malloc.h"
#include "vint64ops.h"
/* -------------------------------------------------------------------------*/
vint64
strtouv64(
- char const * begp,
- char const ** const endp,
- int base
+ char * begp,
+ char ** endp,
+ int base
)
{
- vint64 res;
- u_char digit;
- int sig, num;
- const u_char *src;
+ vint64 res;
+ u_char digit;
+ int sig, num;
+ u_char *src;
num = sig = 0;
- src = (const u_char*)begp;
+ src = (u_char *)begp;
while (isspace(*src))
src++;
return res;
}
- memset(&res, 0, sizeof(res));
+ ZERO(res);
while (*src) {
if (isdigit(*src))
digit = *src - '0';
if (!num)
errno = EINVAL;
if (endp)
- *endp = (const char *)src;
+ *endp = (char *)src;
if (sig)
M_NEG(res.D_s.hi, res.D_s.lo);
return res;
server 1.north-america.pool.ntp.org. iburst
server -4 2.north-america.pool.ntp.org. minpoll 6 maxpoll 10 iburst
server -6 ntp.davehart.net. minpoll 6 maxpoll 10 version 5 burst iburst
-peer -6 davehart.broker.freenet6.net. ident "autokey-group" xleave autokey
+peer -6 example.com. ident "autokey-group" xleave autokey
peer -4 192.168.192.168 key 1 noselect
server [fe80::123%1] xmtnonce
broadcast 192.168.192.255
-manycastclient 224.0.1.1
-manycastclient ff05::101
+manycastclient 224.0.1.1 key 14 iburst
+manycastclient ff05::101 maxpoll 6 key 1
manycastserver 224.0.1.1 ff05::101
multicastclient 224.0.1.1 ff05::101
mru maxage 64 mindepth 600 initalloc 600 initmem 16 incalloc 99 incmem 4 maxdepth 1024 maxmem 4096
discard minimum 1 average 3 monitor 3000
pollskewlist 3 1|2 4 3|4 default 6|7
-restrict default ippeerlimit -1
-restrict default ippeerlimit 0 nomodify limited kod noserve nomrulist
+restrict default
+restrict default ippeerlimit 0 nomodify limited kod nopeer noserve nomrulist
restrict source ippeerlimit 1
restrict source ippeerlimit 2 nomodify limited kod
-restrict trusted.host.name.example.com. ippeerlimit -1 nomodify
-restrict [fe80::1] mask [ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff] ippeerlimit -1
-restrict 127.0.0.1 mask 255.255.255.255 ippeerlimit -1
-restrict 127.0.0.2 ippeerlimit -1 serverresponse fuzz
-restrict ::1 ippeerlimit -1
+restrict trusted.host.name.example.com. nomodify
+delrestrict trusted.host.name.example.com.
+restrict 192.0.2.66 epeer flake lowpriotrap mssntp noepeer noquery notrap notrust ntpport version
+delrestrict source 192.0.2.123
+delrestrict source [2001:db8::123]
+restrict fe80::1
+restrict 127.0.0.1
+restrict ::1
+restrict 192.0.2.2 serverresponse fuzz
+restrict fec0:: mask [ffff::] ignore
interface drop ipv6
interface ignore ipv4
interface drop wildcard
setvar varnondef = "this variable does not have default after the value"
setvar vanity = "name plate" default
trap 127.0.0.1 interface 127.0.0.1 port 1234
-trap 127.0.0.2
+trap 192.0.2.2
reset allpeers auth ctl io mem sys timer
#
# EDIT THIS FILE WITH CAUTION (invoke-ntp.conf.texi)
#
-# It has been AutoGen-ed September 5, 2023 at 07:46:41 PM by AutoGen 5.18.16
+# It has been AutoGen-ed September 30, 2023 at 03:20:45 AM by AutoGen 5.18.16
# From the definitions ntp.conf.def
# and the template file agtexi-file.tpl
@end ignore
entry representing the client request being processed
now is 10%. Conversely, if the oldest entry is more
than 3000 seconds old, the probability is 100%.
-@item @code{restrict} @code{address} @code{[@code{mask} @kbd{mask}]} @code{[@code{ippeerlimit} @kbd{int}]} @code{[@kbd{flag} @kbd{...}]}
+@item @code{restrict} @kbd{address} @code{[@code{mask} @kbd{mask}]} @code{[@code{ippeerlimit} @kbd{int}]} @code{[@kbd{flag} @kbd{...}]}
The
@kbd{address}
argument expressed in
-dotted-quad form is the address of a host or network.
+numeric form is the address of a host or network.
Alternatively, the
@kbd{address}
-argument can be a valid host DNS name.
+argument can be a valid hostname. When a hostname
+is provided, a restriction entry is created for each
+address the hostname resolves to, and any provided
+@kbd{mask}
+is ignored and an individual host mask is
+used for each entry.
The
@kbd{mask}
-argument expressed in dotted-quad form defaults to
-@code{255.255.255.255},
-meaning that the
+argument expressed in numeric form defaults to
+all bits lit, meaning that the
@kbd{address}
is treated as the address of an individual host.
-A default entry (address
-@code{0.0.0.0},
-mask
-@code{0.0.0.0})
+A default entry with address and mask all zeroes
is always included and is always the first entry in the list.
Note that text string
@code{default},
@code{ntpdc(1ntpdcmdoc)}
queries.
@item @code{kod}
-If this flag is set when an access violation occurs, a kiss-o'-death
-(KoD) packet is sent.
-KoD packets are rate limited to no more than one
-per second.
-If another KoD packet occurs within one second after the
-last one, the packet is dropped.
+If this flag is set when a rate violation occurs, a kiss-o'-death
+(KoD) packet is sometimes sent.
+KoD packets are rate limited to no more than one per minimum
+average interpacket spacing, set by
+@code{discard} @code{average}
+defaulting to 8s. Otherwise, no response is sent.
@item @code{limited}
Deny service if the packet spacing violates the lower limits specified
in the
Its presence causes the restriction entry to be
matched only if the source port in the packet is the standard NTP
UDP port (123).
-Both
+There can be two restriction entries with the same IP address if
+one specifies
@code{ntpport}
-and
-@code{non-ntpport}
-may
-be specified.
+and the other does not.
The
@code{ntpport}
-is considered more specific and
+entry is considered more specific and
is sorted later in the list.
@item @code{serverresponse fuzz}
When reponding to server requests,
Default restriction list entries with the flags ignore, interface,
ntpport, for each of the local host's interface addresses are
-inserted into the table at startup to prevent the server
-from attempting to synchronize to its own time.
+inserted into the table at startup to prevent ntpd
+from attempting to synchronize to itself, such as with
+@code{manycastclient}
+when
+@code{manycast}
+is also specified with the same multicast address.
A default entry is also always present, though if it is
otherwise unconfigured; no flags are associated
with the default entry (i.e., everything besides your own
NTP server is unrestricted).
+@item @code{delrestrict} @code{[source]} @kbd{address}
+Remove a previously-set restriction. This is useful for
+runtime configuration via
+@code{ntpq(1ntpqmdoc)}
+. If
+@code{source}
+is specified, a dynamic restriction created from the
+@code{restrict} @code{source}
+template at the time
+an association was added is removed. Without
+@code{source}
+a static restriction is removed.
@end table
@node Automatic NTP Configuration Options
@subsection Automatic NTP Configuration Options
- * Generated 2022-03-27 14:17:11 UTC diff_ignore_line
+ * Generated 2023-09-25 05:34:02 UTC diff_ignore_line
{ "broadcastdelay", T_Broadcastdelay, FOLLBY_TOKEN },
{ "checkhash", T_Checkhash, FOLLBY_TOKEN },
{ "ctl", T_Ctl, FOLLBY_TOKEN },
+{ "delrestrict", T_Delrestrict, FOLLBY_TOKEN },
{ "device", T_Device, FOLLBY_STRING },
{ "disable", T_Disable, FOLLBY_TOKEN },
{ "driftfile", T_Driftfile, FOLLBY_STRING },
.ds B-Font B
.ds I-Font I
.ds R-Font R
-.TH ntp.conf 5man "05 Sep 2023" "4.2.8p17" "File Formats"
+.TH ntp.conf 5man "30 Sep 2023" "4.2.8p17" "File Formats"
.\"
.\" EDIT THIS FILE WITH CAUTION (in-mem file)
.\"
-.\" It has been AutoGen-ed September 5, 2023 at 07:46:44 PM by AutoGen 5.18.16
+.\" It has been AutoGen-ed September 30, 2023 at 03:20:48 AM by AutoGen 5.18.16
.\" From the definitions ntp.conf.def
.\" and the template file agman-cmd.tpl
.SH NAME
now is 10%. Conversely, if the oldest entry is more
than 3000 seconds old, the probability is 100%.
.TP 7
-.NOP \f\*[B-Font]restrict\f[] \f\*[B-Font]address\f[] [\f\*[B-Font]mask\f[] \f\*[I-Font]mask\f[]] [\f\*[B-Font]ippeerlimit\f[] \f\*[I-Font]int\f[]] [\f\*[I-Font]flag\f[] \f\*[I-Font]...\f[]]
+.NOP \f\*[B-Font]restrict\f[] \f\*[I-Font]address\f[] [\f\*[B-Font]mask\f[] \f\*[I-Font]mask\f[]] [\f\*[B-Font]ippeerlimit\f[] \f\*[I-Font]int\f[]] [\f\*[I-Font]flag\f[] \f\*[I-Font]...\f[]]
The
\f\*[I-Font]address\f[]
argument expressed in
-dotted-quad form is the address of a host or network.
+numeric form is the address of a host or network.
Alternatively, the
\f\*[I-Font]address\f[]
-argument can be a valid host DNS name.
+argument can be a valid hostname. When a hostname
+is provided, a restriction entry is created for each
+address the hostname resolves to, and any provided
+\f\*[I-Font]mask\f[]
+is ignored and an individual host mask is
+used for each entry.
The
\f\*[I-Font]mask\f[]
-argument expressed in dotted-quad form defaults to
-\f\*[B-Font]255.255.255.255\f[],
-meaning that the
+argument expressed in numeric form defaults to
+all bits lit, meaning that the
\f\*[I-Font]address\f[]
is treated as the address of an individual host.
-A default entry (address
-\f\*[B-Font]0.0.0.0\f[],
-mask
-\f\*[B-Font]0.0.0.0\f[])
+A default entry with address and mask all zeroes
is always included and is always the first entry in the list.
Note that text string
\f\*[B-Font]default\f[],
queries.
.TP 7
.NOP \f\*[B-Font]kod\f[]
-If this flag is set when an access violation occurs, a kiss-o'-death
-(KoD) packet is sent.
-KoD packets are rate limited to no more than one
-per second.
-If another KoD packet occurs within one second after the
-last one, the packet is dropped.
+If this flag is set when a rate violation occurs, a kiss-o'-death
+(KoD) packet is sometimes sent.
+KoD packets are rate limited to no more than one per minimum
+average interpacket spacing, set by
+\f\*[B-Font]discard\f[] \f\*[B-Font]average\f[]
+defaulting to 8s. Otherwise, no response is sent.
.TP 7
.NOP \f\*[B-Font]limited\f[]
Deny service if the packet spacing violates the lower limits specified
Its presence causes the restriction entry to be
matched only if the source port in the packet is the standard NTP
UDP port (123).
-Both
+There can be two restriction entries with the same IP address if
+one specifies
\f\*[B-Font]ntpport\f[]
-and
-\f\*[B-Font]non-ntpport\f[]
-may
-be specified.
+and the other does not.
The
\f\*[B-Font]ntpport\f[]
-is considered more specific and
+entry is considered more specific and
is sorted later in the list.
.TP 7
.NOP \f\*[B-Font]serverresponse fuzz\f[]
Default restriction list entries with the flags ignore, interface,
ntpport, for each of the local host's interface addresses are
-inserted into the table at startup to prevent the server
-from attempting to synchronize to its own time.
+inserted into the table at startup to prevent ntpd
+from attempting to synchronize to itself, such as with
+\f\*[B-Font]manycastclient\f[]
+when
+\f\*[B-Font]manycast\f[]
+is also specified with the same multicast address.
A default entry is also always present, though if it is
otherwise unconfigured; no flags are associated
with the default entry (i.e., everything besides your own
NTP server is unrestricted).
+.TP 7
+.NOP \f\*[B-Font]delrestrict\f[] [source] \f\*[I-Font]address\f[]
+Remove a previously-set restriction. This is useful for
+runtime configuration via
+\fCntpq\f[]\fR(1ntpqmdoc)\f[]
+. If
+\f\*[B-Font]source\f[]
+is specified, a dynamic restriction created from the
+\f\*[B-Font]restrict\f[] \f\*[B-Font]source\f[]
+template at the time
+an association was added is removed. Without
+\f\*[B-Font]source\f[]
+a static restriction is removed.
.PP
.SH Automatic NTP Configuration Options
.SS Manycasting
-.Dd September 5 2023
+.Dd September 30 2023
.Dt NTP_CONF 5mdoc File Formats
.Os
.\" EDIT THIS FILE WITH CAUTION (ntp.mdoc)
.\"
-.\" It has been AutoGen-ed September 5, 2023 at 07:46:38 PM by AutoGen 5.18.16
+.\" It has been AutoGen-ed September 30, 2023 at 03:20:43 AM by AutoGen 5.18.16
.\" From the definitions ntp.conf.def
.\" and the template file agmdoc-cmd.tpl
.Sh NAME
entry representing the client request being processed
now is 10%. Conversely, if the oldest entry is more
than 3000 seconds old, the probability is 100%.
-.It Xo Ic restrict address
+.It Xo Ic restrict
+.Ar address
.Op Cm mask Ar mask
.Op Cm ippeerlimit Ar int
.Op Ar flag ...
The
.Ar address
argument expressed in
-dotted\-quad form is the address of a host or network.
+numeric form is the address of a host or network.
Alternatively, the
.Ar address
-argument can be a valid host DNS name.
+argument can be a valid hostname. When a hostname
+is provided, a restriction entry is created for each
+address the hostname resolves to, and any provided
+.Ar mask
+is ignored and an individual host mask is
+used for each entry.
The
.Ar mask
-argument expressed in dotted\-quad form defaults to
-.Cm 255.255.255.255 ,
-meaning that the
+argument expressed in numeric form defaults to
+all bits lit, meaning that the
.Ar address
is treated as the address of an individual host.
-A default entry (address
-.Cm 0.0.0.0 ,
-mask
-.Cm 0.0.0.0 )
+A default entry with address and mask all zeroes
is always included and is always the first entry in the list.
Note that text string
.Cm default ,
.Xr ntpdc 1ntpdcmdoc
queries.
.It Cm kod
-If this flag is set when an access violation occurs, a kiss\-o'\-death
-(KoD) packet is sent.
-KoD packets are rate limited to no more than one
-per second.
-If another KoD packet occurs within one second after the
-last one, the packet is dropped.
+If this flag is set when a rate violation occurs, a kiss\-o'\-death
+(KoD) packet is sometimes sent.
+KoD packets are rate limited to no more than one per minimum
+average interpacket spacing, set by
+.Cm discard average
+defaulting to 8s. Otherwise, no response is sent.
.It Cm limited
Deny service if the packet spacing violates the lower limits specified
in the
Its presence causes the restriction entry to be
matched only if the source port in the packet is the standard NTP
UDP port (123).
-Both
+There can be two restriction entries with the same IP address if
+one specifies
.Cm ntpport
-and
-.Cm non\-ntpport
-may
-be specified.
+and the other does not.
The
.Cm ntpport
-is considered more specific and
+entry is considered more specific and
is sorted later in the list.
.It Ic "serverresponse fuzz"
When reponding to server requests,
.Pp
Default restriction list entries with the flags ignore, interface,
ntpport, for each of the local host's interface addresses are
-inserted into the table at startup to prevent the server
-from attempting to synchronize to its own time.
+inserted into the table at startup to prevent ntpd
+from attempting to synchronize to itself, such as with
+.Cm manycastclient
+when
+.Cm manycast
+is also specified with the same multicast address.
A default entry is also always present, though if it is
otherwise unconfigured; no flags are associated
with the default entry (i.e., everything besides your own
NTP server is unrestricted).
+.It Xo Ic delrestrict
+.Op source
+.Ar address
+.Xc
+Remove a previously\-set restriction. This is useful for
+runtime configuration via
+.Xr ntpq 1ntpqmdoc
+. If
+.Cm source
+is specified, a dynamic restriction created from the
+.Cm restrict source
+template at the time
+an association was added is removed. Without
+.Cm source
+a static restriction is removed.
.El
.Sh Automatic NTP Configuration Options
.Ss Manycasting
entry representing the client request being processed
now is 10%. Conversely, if the oldest entry is more
than 3000 seconds old, the probability is 100%.
-.It Xo Ic restrict address
+.It Xo Ic restrict
+.Ar address
.Op Cm mask Ar mask
.Op Cm ippeerlimit Ar int
.Op Ar flag ...
The
.Ar address
argument expressed in
-dotted-quad form is the address of a host or network.
+numeric form is the address of a host or network.
Alternatively, the
.Ar address
-argument can be a valid host DNS name.
+argument can be a valid hostname. When a hostname
+is provided, a restriction entry is created for each
+address the hostname resolves to, and any provided
+.Ar mask
+is ignored and an individual host mask is
+used for each entry.
The
.Ar mask
-argument expressed in dotted-quad form defaults to
-.Cm 255.255.255.255 ,
-meaning that the
+argument expressed in numeric form defaults to
+all bits lit, meaning that the
.Ar address
is treated as the address of an individual host.
-A default entry (address
-.Cm 0.0.0.0 ,
-mask
-.Cm 0.0.0.0 )
+A default entry with address and mask all zeroes
is always included and is always the first entry in the list.
Note that text string
.Cm default ,
.Xr ntpdc 1ntpdcmdoc
queries.
.It Cm kod
-If this flag is set when an access violation occurs, a kiss-o'-death
-(KoD) packet is sent.
-KoD packets are rate limited to no more than one
-per second.
-If another KoD packet occurs within one second after the
-last one, the packet is dropped.
+If this flag is set when a rate violation occurs, a kiss-o'-death
+(KoD) packet is sometimes sent.
+KoD packets are rate limited to no more than one per minimum
+average interpacket spacing, set by
+.Cm discard average
+defaulting to 8s. Otherwise, no response is sent.
.It Cm limited
Deny service if the packet spacing violates the lower limits specified
in the
Its presence causes the restriction entry to be
matched only if the source port in the packet is the standard NTP
UDP port (123).
-Both
+There can be two restriction entries with the same IP address if
+one specifies
.Cm ntpport
-and
-.Cm non-ntpport
-may
-be specified.
+and the other does not.
The
.Cm ntpport
-is considered more specific and
+entry is considered more specific and
is sorted later in the list.
.It Ic "serverresponse fuzz"
When reponding to server requests,
.Pp
Default restriction list entries with the flags ignore, interface,
ntpport, for each of the local host's interface addresses are
-inserted into the table at startup to prevent the server
-from attempting to synchronize to its own time.
+inserted into the table at startup to prevent ntpd
+from attempting to synchronize to itself, such as with
+.Cm manycastclient
+when
+.Cm manycast
+is also specified with the same multicast address.
A default entry is also always present, though if it is
otherwise unconfigured; no flags are associated
with the default entry (i.e., everything besides your own
NTP server is unrestricted).
+.It Xo Ic delrestrict
+.Op source
+.Ar address
+.Xc
+Remove a previously-set restriction. This is useful for
+runtime configuration via
+.Xr ntpq 1ntpqmdoc
+. If
+.Cm source
+is specified, a dynamic restriction created from the
+.Cm restrict source
+template at the time
+an association was added is removed. Without
+.Cm source
+a static restriction is removed.
.El
.Sh Automatic NTP Configuration Options
.Ss Manycasting
now is 10%. Conversely, if the oldest entry is more
than 3000 seconds old, the probability is 100%.
</p></dd>
-<dt><code>restrict</code> <code>address</code> <code>[<code>mask</code> <kbd>mask</kbd>]</code> <code>[<code>ippeerlimit</code> <kbd>int</kbd>]</code> <code>[<kbd>flag</kbd> <kbd>...</kbd>]</code></dt>
+<dt><code>restrict</code> <kbd>address</kbd> <code>[<code>mask</code> <kbd>mask</kbd>]</code> <code>[<code>ippeerlimit</code> <kbd>int</kbd>]</code> <code>[<kbd>flag</kbd> <kbd>...</kbd>]</code></dt>
<dd><p>The
<kbd>address</kbd>
argument expressed in
-dotted-quad form is the address of a host or network.
+numeric form is the address of a host or network.
Alternatively, the
<kbd>address</kbd>
-argument can be a valid host DNS name.
+argument can be a valid hostname. When a hostname
+is provided, a restriction entry is created for each
+address the hostname resolves to, and any provided
+<kbd>mask</kbd>
+is ignored and an individual host mask is
+used for each entry.
The
<kbd>mask</kbd>
-argument expressed in dotted-quad form defaults to
-<code>255.255.255.255</code>,
-meaning that the
+argument expressed in numeric form defaults to
+all bits lit, meaning that the
<kbd>address</kbd>
is treated as the address of an individual host.
-A default entry (address
-<code>0.0.0.0</code>,
-mask
-<code>0.0.0.0</code>)
+A default entry with address and mask all zeroes
is always included and is always the first entry in the list.
Note that text string
<code>default</code>,
queries.
</p></dd>
<dt><code>kod</code></dt>
-<dd><p>If this flag is set when an access violation occurs, a kiss-o’-death
-(KoD) packet is sent.
-KoD packets are rate limited to no more than one
-per second.
-If another KoD packet occurs within one second after the
-last one, the packet is dropped.
+<dd><p>If this flag is set when a rate violation occurs, a kiss-o’-death
+(KoD) packet is sometimes sent.
+KoD packets are rate limited to no more than one per minimum
+average interpacket spacing, set by
+<code>discard</code> <code>average</code>
+defaulting to 8s. Otherwise, no response is sent.
</p></dd>
<dt><code>limited</code></dt>
<dd><p>Deny service if the packet spacing violates the lower limits specified
Its presence causes the restriction entry to be
matched only if the source port in the packet is the standard NTP
UDP port (123).
-Both
+There can be two restriction entries with the same IP address if
+one specifies
<code>ntpport</code>
-and
-<code>non-ntpport</code>
-may
-be specified.
+and the other does not.
The
<code>ntpport</code>
-is considered more specific and
+entry is considered more specific and
is sorted later in the list.
</p></dd>
<dt><code>serverresponse fuzz</code></dt>
<p>Default restriction list entries with the flags ignore, interface,
ntpport, for each of the local host’s interface addresses are
-inserted into the table at startup to prevent the server
-from attempting to synchronize to its own time.
+inserted into the table at startup to prevent ntpd
+from attempting to synchronize to itself, such as with
+<code>manycastclient</code>
+when
+<code>manycast</code>
+is also specified with the same multicast address.
A default entry is also always present, though if it is
otherwise unconfigured; no flags are associated
with the default entry (i.e., everything besides your own
NTP server is unrestricted).
</p></dd>
+<dt><code>delrestrict</code> <code>[source]</code> <kbd>address</kbd></dt>
+<dd><p>Remove a previously-set restriction. This is useful for
+runtime configuration via
+<code>ntpq(1ntpqmdoc)</code>
+. If
+<code>source</code>
+is specified, a dynamic restriction created from the
+<code>restrict</code> <code>source</code>
+template at the time
+an association was added is removed. Without
+<code>source</code>
+a static restriction is removed.
+</p></dd>
</dl>
<hr>
<span id="Automatic-NTP-Configuration-Options"></span><div class="header">
.ds B-Font B
.ds I-Font I
.ds R-Font R
-.TH ntp.conf 5 "05 Sep 2023" "4.2.8p17" "File Formats"
+.TH ntp.conf 5 "30 Sep 2023" "4.2.8p17" "File Formats"
.\"
.\" EDIT THIS FILE WITH CAUTION (in-mem file)
.\"
-.\" It has been AutoGen-ed September 5, 2023 at 07:46:44 PM by AutoGen 5.18.16
+.\" It has been AutoGen-ed September 30, 2023 at 03:20:48 AM by AutoGen 5.18.16
.\" From the definitions ntp.conf.def
.\" and the template file agman-cmd.tpl
.SH NAME
now is 10%. Conversely, if the oldest entry is more
than 3000 seconds old, the probability is 100%.
.TP 7
-.NOP \f\*[B-Font]restrict\f[] \f\*[B-Font]address\f[] [\f\*[B-Font]mask\f[] \f\*[I-Font]mask\f[]] [\f\*[B-Font]ippeerlimit\f[] \f\*[I-Font]int\f[]] [\f\*[I-Font]flag\f[] \f\*[I-Font]...\f[]]
+.NOP \f\*[B-Font]restrict\f[] \f\*[I-Font]address\f[] [\f\*[B-Font]mask\f[] \f\*[I-Font]mask\f[]] [\f\*[B-Font]ippeerlimit\f[] \f\*[I-Font]int\f[]] [\f\*[I-Font]flag\f[] \f\*[I-Font]...\f[]]
The
\f\*[I-Font]address\f[]
argument expressed in
-dotted-quad form is the address of a host or network.
+numeric form is the address of a host or network.
Alternatively, the
\f\*[I-Font]address\f[]
-argument can be a valid host DNS name.
+argument can be a valid hostname. When a hostname
+is provided, a restriction entry is created for each
+address the hostname resolves to, and any provided
+\f\*[I-Font]mask\f[]
+is ignored and an individual host mask is
+used for each entry.
The
\f\*[I-Font]mask\f[]
-argument expressed in dotted-quad form defaults to
-\f\*[B-Font]255.255.255.255\f[],
-meaning that the
+argument expressed in numeric form defaults to
+all bits lit, meaning that the
\f\*[I-Font]address\f[]
is treated as the address of an individual host.
-A default entry (address
-\f\*[B-Font]0.0.0.0\f[],
-mask
-\f\*[B-Font]0.0.0.0\f[])
+A default entry with address and mask all zeroes
is always included and is always the first entry in the list.
Note that text string
\f\*[B-Font]default\f[],
queries.
.TP 7
.NOP \f\*[B-Font]kod\f[]
-If this flag is set when an access violation occurs, a kiss-o'-death
-(KoD) packet is sent.
-KoD packets are rate limited to no more than one
-per second.
-If another KoD packet occurs within one second after the
-last one, the packet is dropped.
+If this flag is set when a rate violation occurs, a kiss-o'-death
+(KoD) packet is sometimes sent.
+KoD packets are rate limited to no more than one per minimum
+average interpacket spacing, set by
+\f\*[B-Font]discard\f[] \f\*[B-Font]average\f[]
+defaulting to 8s. Otherwise, no response is sent.
.TP 7
.NOP \f\*[B-Font]limited\f[]
Deny service if the packet spacing violates the lower limits specified
Its presence causes the restriction entry to be
matched only if the source port in the packet is the standard NTP
UDP port (123).
-Both
+There can be two restriction entries with the same IP address if
+one specifies
\f\*[B-Font]ntpport\f[]
-and
-\f\*[B-Font]non-ntpport\f[]
-may
-be specified.
+and the other does not.
The
\f\*[B-Font]ntpport\f[]
-is considered more specific and
+entry is considered more specific and
is sorted later in the list.
.TP 7
.NOP \f\*[B-Font]serverresponse fuzz\f[]
Default restriction list entries with the flags ignore, interface,
ntpport, for each of the local host's interface addresses are
-inserted into the table at startup to prevent the server
-from attempting to synchronize to its own time.
+inserted into the table at startup to prevent ntpd
+from attempting to synchronize to itself, such as with
+\f\*[B-Font]manycastclient\f[]
+when
+\f\*[B-Font]manycast\f[]
+is also specified with the same multicast address.
A default entry is also always present, though if it is
otherwise unconfigured; no flags are associated
with the default entry (i.e., everything besides your own
NTP server is unrestricted).
+.TP 7
+.NOP \f\*[B-Font]delrestrict\f[] [source] \f\*[I-Font]address\f[]
+Remove a previously-set restriction. This is useful for
+runtime configuration via
+\fCntpq\f[]\fR(@NTPQ_MS@)\f[]
+. If
+\f\*[B-Font]source\f[]
+is specified, a dynamic restriction created from the
+\f\*[B-Font]restrict\f[] \f\*[B-Font]source\f[]
+template at the time
+an association was added is removed. Without
+\f\*[B-Font]source\f[]
+a static restriction is removed.
.PP
.SH Automatic NTP Configuration Options
.SS Manycasting
-.Dd September 5 2023
+.Dd September 30 2023
.Dt NTP_CONF 5 File Formats
.Os
.\" EDIT THIS FILE WITH CAUTION (ntp.mdoc)
.\"
-.\" It has been AutoGen-ed September 5, 2023 at 07:46:38 PM by AutoGen 5.18.16
+.\" It has been AutoGen-ed September 30, 2023 at 03:20:43 AM by AutoGen 5.18.16
.\" From the definitions ntp.conf.def
.\" and the template file agmdoc-cmd.tpl
.Sh NAME
entry representing the client request being processed
now is 10%. Conversely, if the oldest entry is more
than 3000 seconds old, the probability is 100%.
-.It Xo Ic restrict address
+.It Xo Ic restrict
+.Ar address
.Op Cm mask Ar mask
.Op Cm ippeerlimit Ar int
.Op Ar flag ...
The
.Ar address
argument expressed in
-dotted\-quad form is the address of a host or network.
+numeric form is the address of a host or network.
Alternatively, the
.Ar address
-argument can be a valid host DNS name.
+argument can be a valid hostname. When a hostname
+is provided, a restriction entry is created for each
+address the hostname resolves to, and any provided
+.Ar mask
+is ignored and an individual host mask is
+used for each entry.
The
.Ar mask
-argument expressed in dotted\-quad form defaults to
-.Cm 255.255.255.255 ,
-meaning that the
+argument expressed in numeric form defaults to
+all bits lit, meaning that the
.Ar address
is treated as the address of an individual host.
-A default entry (address
-.Cm 0.0.0.0 ,
-mask
-.Cm 0.0.0.0 )
+A default entry with address and mask all zeroes
is always included and is always the first entry in the list.
Note that text string
.Cm default ,
.Xr ntpdc @NTPDC_MS@
queries.
.It Cm kod
-If this flag is set when an access violation occurs, a kiss\-o'\-death
-(KoD) packet is sent.
-KoD packets are rate limited to no more than one
-per second.
-If another KoD packet occurs within one second after the
-last one, the packet is dropped.
+If this flag is set when a rate violation occurs, a kiss\-o'\-death
+(KoD) packet is sometimes sent.
+KoD packets are rate limited to no more than one per minimum
+average interpacket spacing, set by
+.Cm discard average
+defaulting to 8s. Otherwise, no response is sent.
.It Cm limited
Deny service if the packet spacing violates the lower limits specified
in the
Its presence causes the restriction entry to be
matched only if the source port in the packet is the standard NTP
UDP port (123).
-Both
+There can be two restriction entries with the same IP address if
+one specifies
.Cm ntpport
-and
-.Cm non\-ntpport
-may
-be specified.
+and the other does not.
The
.Cm ntpport
-is considered more specific and
+entry is considered more specific and
is sorted later in the list.
.It Ic "serverresponse fuzz"
When reponding to server requests,
.Pp
Default restriction list entries with the flags ignore, interface,
ntpport, for each of the local host's interface addresses are
-inserted into the table at startup to prevent the server
-from attempting to synchronize to its own time.
+inserted into the table at startup to prevent ntpd
+from attempting to synchronize to itself, such as with
+.Cm manycastclient
+when
+.Cm manycast
+is also specified with the same multicast address.
A default entry is also always present, though if it is
otherwise unconfigured; no flags are associated
with the default entry (i.e., everything besides your own
NTP server is unrestricted).
+.It Xo Ic delrestrict
+.Op source
+.Ar address
+.Xc
+Remove a previously\-set restriction. This is useful for
+runtime configuration via
+.Xr ntpq @NTPQ_MS@
+. If
+.Cm source
+is specified, a dynamic restriction created from the
+.Cm restrict source
+template at the time
+an association was added is removed. Without
+.Cm source
+a static restriction is removed.
.El
.Sh Automatic NTP Configuration Options
.Ss Manycasting
static u_int32 get_logmask(const char *);
static int/*BOOL*/ is_refclk_addr(const address_node * addr);
-#ifndef SIM
static int getnetnum(const char *num, sockaddr_u *addr, int complain,
enum gnn_type a_type);
-#endif
-
#if defined(__GNUC__) /* this covers CLANG, too */
static void __attribute__((__noreturn__,format(printf,1,2))) fatal_error(const char *fmt, ...)
#elif defined(_MSC_VER)
for (rest_node = HEAD_PFIFO(ptree->restrict_opts);
rest_node != NULL;
rest_node = rest_node->link) {
- int is_default = 0;
+ int/*BOOL*/ is_default = FALSE;
+ int/*BOOL*/ omit_mask;
+ sockaddr_u mask;
+ sockaddr_u onesmask;
+ s = NULL;
+ atrv = HEAD_PFIFO(rest_node->flag_tok_fifo);
+ for (; atrv != NULL; atrv = atrv->link) {
+ if ( T_Integer == atrv->type
+ && T_Source == atrv->attr) {
+ s = keyword(T_Source);
+ break;
+ }
+ }
if (NULL == rest_node->addr) {
- s = "default";
- /* Don't need to set is_default=1 here */
- atrv = HEAD_PFIFO(rest_node->flag_tok_fifo);
- for ( ; atrv != NULL; atrv = atrv->link) {
- if ( T_Integer == atrv->type
- && T_Source == atrv->attr) {
- s = "source";
- break;
- }
+ if (NULL == s) {
+ s = keyword(T_Default);
+ /* Don't need to set is_default here */
}
} else {
const char *ap = rest_node->addr->address;
mp = rest_node->mask->address;
if ( rest_node->addr->type == AF_INET
- && !strcmp(ap, "0.0.0.0")
- && !strcmp(mp, "0.0.0.0")) {
- is_default = 1;
+ && !strcmp(mp, "0.0.0.0")
+ && !strcmp(ap, mp)) {
+ is_default = TRUE;
s = "-4 default";
} else if ( rest_node->mask
&& rest_node->mask->type == AF_INET6
- && !strcmp(ap, "::")
- && !strcmp(mp, "::")) {
- is_default = 1;
+ && !strcmp(mp, "::")
+ && !strcmp(ap, mp)) {
+ is_default = TRUE;
s = "-6 default";
} else {
- s = ap;
+ if (NULL == s) {
+ s = ap;
+ } else {
+ LIB_GETBUF(s1);
+ snprintf(s1, LIB_BUFLENGTH,
+ "%s %s",
+ keyword(T_Source), ap);
+ s = s1;
+ }
+ }
+ }
+ fprintf(df, "%s %s",
+ keyword(rest_node->remove
+ ? T_Delrestrict
+ : T_Restrict),
+ s);
+ if (rest_node->mask != NULL && !is_default) {
+ ZERO(mask);
+ AF(&mask) = AF_UNSPEC;
+ omit_mask = (0 != getnetnum(rest_node->mask->address,
+ &mask, 0, t_UNK));
+ if (omit_mask) {
+ SET_HOSTMASK(&onesmask, AF(&mask));
+ omit_mask = SOCK_EQ(&mask, &onesmask);
+ }
+ if (!omit_mask) {
+ fprintf(df, " mask %s",
+ rest_node->mask->address);
}
}
- fprintf(df, "restrict %s", s);
- if (rest_node->mask != NULL && !is_default)
- fprintf(df, " mask %s",
- rest_node->mask->address);
- fprintf(df, " ippeerlimit %d", rest_node->ippeerlimit);
+ if (-1 != rest_node->ippeerlimit) {
+ fprintf(df, " ippeerlimit %d",
+ rest_node->ippeerlimit);
+ }
atrv = HEAD_PFIFO(rest_node->flag_tok_fifo);
for ( ; atrv != NULL; atrv = atrv->link) {
if ( T_Integer == atrv->type
fprintf(df, " %s", keyword(atrv->attr));
}
}
- fprintf(df, "\n");
+ fprintf(df, "\n");
/**/
#if 0
msyslog(LOG_INFO, "Dumping flag_tok_fifo:");
address_node * mask,
short ippeerlimit,
attr_val_fifo * flag_tok_fifo,
- int nline
- )
+ int/*BOOL*/ remove,
+ int nline,
+ int ncol
+)
{
restrict_node *my_node;
my_node->mask = mask;
my_node->ippeerlimit = ippeerlimit;
my_node->flag_tok_fifo = flag_tok_fifo;
+ my_node->remove = remove;
my_node->line_no = nline;
+ my_node->column = ncol;
return my_node;
}
}
#endif /* FREE_CFG_T */
+
#ifndef SIM
/* Configure low-level clock-related parameters. Return TRUE if the
* clock might need adjustment like era-checking after the call, FALSE
*/
static int/*BOOL*/
config_tos_clock(
- config_tree *ptree
- )
+ config_tree* ptree
+)
{
int ret;
- attr_val * tos;
+ attr_val* tos;
ret = FALSE;
tos = HEAD_PFIFO(ptree->orphan_cmds);
for (; tos != NULL; tos = tos->link) {
- switch(tos->attr) {
+ switch (tos->attr) {
default:
break;
}
}
- if (basedate_get_day() <= NTP_TO_UNIX_DAYS)
+ if (basedate_get_day() <= NTP_TO_UNIX_DAYS) {
basedate_set_day(basedate_eval_buildstamp() - 11);
-
+ }
return ret;
}
-#endif /* SIM */
+#endif /* !SIM */
+
static void
config_tos(
struct addrinfo * ai_list;
struct addrinfo * pai;
int rc;
- int restrict_default;
+ int/*BOOL*/ success;
+ int/*BOOL*/ restrict_default;
u_short rflags;
u_short mflags;
short ippeerlimit;
attr_val * dflt_psl_atr;
const char * signd_warning =
#ifdef HAVE_NTP_SIGND
- "MS-SNTP signd operations currently block ntpd degrading service to all clients.";
+ "MS-SNTP signd operations currently block ntpd degrading service to all clients.\n";
#else
- "mssntp restrict bit ignored, this ntpd was configured without --enable-ntp-signd.";
+ "mssntp restrict bit ignored, this ntpd was configured without --enable-ntp-signd.\n";
#endif
/* Configure the mru options */
}
if ((RES_MSSNTP & rflags) && !warned_signd) {
- warned_signd = 1;
- fprintf(stderr, "%s\n", signd_warning);
+ warned_signd = TRUE;
+ fprintf(stderr, "%s", signd_warning);
msyslog(LOG_WARNING, "%s", signd_warning);
}
- /* It would be swell if we could identify the line number */
if ((RES_KOD & rflags) && !(RES_LIMITED & rflags)) {
const char *kod_where = (my_node->addr)
? my_node->addr->address
: (mflags & RESM_SOURCE)
? "source"
: "default";
- const char *kod_warn = "KOD does nothing without LIMITED.";
-
- fprintf(stderr, "restrict %s: %s\n", kod_where, kod_warn);
- msyslog(LOG_WARNING, "restrict %s: %s", kod_where, kod_warn);
+ const char *kod_warn = "'kod' does nothing without 'limited'.\n";
+
+ fprintf(stderr, "line %d col %d restrict %s: %s",
+ my_node->line_no, my_node->column,
+ kod_where, kod_warn);
+ msyslog(LOG_WARNING, "line %d col %d restrict %s: %s",
+ my_node->line_no, my_node->column,
+ kod_where, kod_warn);
}
ZERO_SOCK(&addr);
ai_list = NULL;
pai = NULL;
- restrict_default = 0;
+ restrict_default = FALSE;
if (NULL == my_node->addr) {
ZERO_SOCK(&mask);
* without a -4 / -6 qualifier, add to
* both lists
*/
- restrict_default = 1;
+ restrict_default = TRUE;
} else {
/* apply "restrict source ..." */
- DPRINTF(1, ("restrict source template ippeerlimit %d mflags %x rflags %x\n",
- ippeerlimit, mflags, rflags));
- hack_restrict(RESTRICT_FLAGS, NULL, NULL,
- ippeerlimit, mflags, rflags, 0);
+ success = hack_restrict(RESTRICT_FLAGS,
+ NULL, NULL,
+ ippeerlimit,
+ mflags, rflags,
+ 0);
+ if (!success) {
+ msyslog(LOG_ERR,
+ "unable to save restrict source");
+ }
continue;
}
} else {
&ai_list);
if (rc) {
msyslog(LOG_ERR,
- "restrict: ignoring line %d, address/host '%s' unusable.",
+ "restrict: line %d col %d"
+ " address/host '%s' unusable.",
my_node->line_no,
+ my_node->column,
my_node->addr->address);
continue;
}
INSIST(ai_list != NULL);
pai = ai_list;
INSIST(pai->ai_addr != NULL);
- INSIST(sizeof(addr) >=
- pai->ai_addrlen);
+ INSIST(sizeof(addr) >= pai->ai_addrlen);
memcpy(&addr, pai->ai_addr,
pai->ai_addrlen);
INSIST(AF_INET == AF(&addr) ||
AF_INET6 == AF(&addr));
}
+ /* default to all-ones mask for single address */
SET_HOSTMASK(&mask, AF(&addr));
- /* Resolve the mask */
- if (my_node->mask) {
+ /* Ignore mask if addr from hostname [Bug 3872] */
+ if (NULL == ai_list && my_node->mask) {
ZERO_SOCK(&mask);
AF(&mask) = my_node->mask->type;
if (getnetnum(my_node->mask->address,
&mask, 1, t_MSK) != 1) {
msyslog(LOG_ERR,
- "restrict: ignoring line %d, mask '%s' unusable.",
+ "restrict: line %d col %d"
+ " mask '%s' unusable.",
my_node->line_no,
+ my_node->column,
my_node->mask->address);
continue;
}
if (restrict_default) {
AF(&addr) = AF_INET;
AF(&mask) = AF_INET;
- hack_restrict(RESTRICT_FLAGS, &addr, &mask,
- ippeerlimit, mflags, rflags, 0);
+ success = hack_restrict(
+ RESTRICT_FLAGS,
+ &addr,
+ &mask,
+ ippeerlimit,
+ mflags,
+ rflags,
+ 0
+ );
+ if (!success) {
+ msyslog(LOG_ERR,
+ "unable to save %s %s restriction",
+ stoa(&addr), stoa(&mask));
+ }
AF(&addr) = AF_INET6;
AF(&mask) = AF_INET6;
}
do {
- hack_restrict(RESTRICT_FLAGS, &addr, &mask,
- ippeerlimit, mflags, rflags, 0);
+ success = hack_restrict(
+ my_node->remove
+ ? RESTRICT_REMOVE
+ : RESTRICT_FLAGS,
+ &addr,
+ &mask,
+ ippeerlimit,
+ mflags,
+ rflags,
+ 0);
+ if (!success) {
+ msyslog(LOG_ERR,
+ "unable to %s %s %s restriction",
+ my_node->remove
+ ? "delete"
+ : "save",
+ stoa(&addr), stoa(&mask));
+ }
if (pai != NULL &&
NULL != (pai = pai->ai_next)) {
INSIST(pai->ai_addr != NULL);
}
} while (pai != NULL);
- if (ai_list != NULL)
+ if (ai_list != NULL) {
freeaddrinfo(ai_list);
+ }
}
/*
} else if ( atrv->attr < NTP_MINPOLL
|| atrv->attr > NTP_MAXPOLL) {
msyslog(LOG_ERR,
- "Poll %d out of bounds for pollskewlist, (%d-%d)",
+ "Poll %d out of bounds [%d-%d] for pollskewlist",
atrv->attr, NTP_MINPOLL, NTP_MAXPOLL);
}
}
pch_nz = pch_e;
while ('0' == *pch_nz)
pch_nz++;
- if (pch_nz == pch_e)
- return buf;
- strlcpy(pch_e, pch_nz, LIB_BUFLENGTH - (pch_e - buf));
-
+ if (pch_nz > pch_e) {
+ memmove(pch_e, pch_nz, 1 + strlen(pch_nz));
+ }
return buf;
}
* returns 1 for success, and mysteriously, 0 for most failures, and
* -1 if the address found is IPv6 and we believe IPv6 isn't working.
*/
-#ifndef SIM
static int
getnetnum(
const char *num,
sockaddr_u *addr,
- int complain,
+ int complain, /* ignored */
enum gnn_type a_type /* ignored */
)
{
AF_INET == AF(addr) ||
AF_INET6 == AF(addr));
- if (!is_ip_address(num, AF(addr), addr))
+ if (!is_ip_address(num, AF(addr), addr)) {
return 0;
-
- if (IS_IPV6(addr) && !ipv6_works)
- return -1;
-
+ }
# ifdef ISC_PLATFORM_HAVESALEN
addr->sa.sa_len = SIZEOF_SOCKADDR(AF(addr));
# endif
SET_PORT(addr, NTP_PORT);
- DPRINTF(2, ("getnetnum given %s, got %s\n", num, stoa(addr)));
-
- return 1;
+ if (IS_IPV6(addr) && !ipv6_works) {
+ return -1;
+ } else {
+ return 1;
+ }
}
-#endif /* !SIM */
+
#if defined(HAVE_SETRLIMIT)
void
endpt * unlinked;
endpt ** pmclisthead;
sockaddr_u resmask;
+ int/*BOOL*/ success;
UNLINK_SLIST(unlinked, ep_list, ep, elink, endpt);
if (!ep->ignore_packets && INT_MULTICAST & ep->flags) {
if (ep->fd != INVALID_SOCKET) {
msyslog(LOG_INFO,
- "Deleting interface #%d %s, %s#%d, interface stats: received=%ld, sent=%ld, dropped=%ld, active_time=%ld secs",
+ "Deleting %d %s, [%s]:%hd, stats:"
+ " received=%ld, sent=%ld, dropped=%ld,"
+ " active_time=%ld secs",
ep->ifnum,
ep->name,
stoa(&ep->sin),
/* remove restrict interface entry */
SET_HOSTMASK(&resmask, AF(&ep->sin));
- hack_restrict(RESTRICT_REMOVEIF, &ep->sin, &resmask, 0,
- RESM_NTPONLY | RESM_INTERFACE, 0, 0);
+ success = hack_restrict(RESTRICT_REMOVEIF, &ep->sin, &resmask, 0,
+ RESM_NTPONLY | RESM_INTERFACE, 0, 0);
+ if (!success) {
+ msyslog(LOG_ERR,
+ "unable to remove self-restriction for %s",
+ stoa(&ep->sin));
+ }
+
}
{
sockaddr_u resmask;
endpt * iface;
+ int/*BOOL*/ success;
#if defined(MCAST) && defined(MULTICAST_NONEWSOCKET)
remaddr_t * entry;
remaddr_t * next_entry;
* Blacklist our own addresses, no use talking to ourself
*/
SET_HOSTMASK(&resmask, AF(&iface->sin));
- hack_restrict(RESTRICT_FLAGS, &iface->sin, &resmask,
- -4, RESM_NTPONLY | RESM_INTERFACE, RES_IGNORE, 0);
+ success = hack_restrict(RESTRICT_FLAGS, &iface->sin, &resmask,
+ -4, RESM_NTPONLY | RESM_INTERFACE,
+ RES_IGNORE, 0);
+ if (!success) {
+ msyslog(LOG_ERR,
+ "unable to self-restrict %s", stoa(&iface->sin));
+ }
/*
* set globals with the first found
* ntp_keyword.h
*
* NOTE: edit this file with caution, it is generated by keyword-gen.c
- * Generated 2022-03-27 14:17:11 UTC diff_ignore_line
+ * Generated 2023-09-25 05:34:02 UTC diff_ignore_line
*
*/
#include "ntp_scanner.h"
#define LOWEST_KEYWORD_ID 258
-const char * const keyword_text[212] = {
+const char * const keyword_text[213] = {
/* 0 258 T_Abbrev */ "abbrev",
/* 1 259 T_Age */ "age",
/* 2 260 T_All */ "all",
/* 25 283 T_Ctl */ "ctl",
/* 26 284 T_Day */ "day",
/* 27 285 T_Default */ "default",
- /* 28 286 T_Device */ "device",
- /* 29 287 T_Digest */ "digest",
- /* 30 288 T_Disable */ "disable",
- /* 31 289 T_Discard */ "discard",
- /* 32 290 T_Dispersion */ "dispersion",
- /* 33 291 T_Double */ NULL,
- /* 34 292 T_Driftfile */ "driftfile",
- /* 35 293 T_Drop */ "drop",
- /* 36 294 T_Dscp */ "dscp",
- /* 37 295 T_Ellipsis */ "...",
- /* 38 296 T_Enable */ "enable",
- /* 39 297 T_End */ "end",
- /* 40 298 T_Epeer */ "epeer",
- /* 41 299 T_False */ NULL,
- /* 42 300 T_File */ "file",
- /* 43 301 T_Filegen */ "filegen",
- /* 44 302 T_Filenum */ "filenum",
- /* 45 303 T_Flag1 */ "flag1",
- /* 46 304 T_Flag2 */ "flag2",
- /* 47 305 T_Flag3 */ "flag3",
- /* 48 306 T_Flag4 */ "flag4",
- /* 49 307 T_Flake */ "flake",
- /* 50 308 T_Floor */ "floor",
- /* 51 309 T_Freq */ "freq",
- /* 52 310 T_Fudge */ "fudge",
- /* 53 311 T_Fuzz */ "fuzz",
- /* 54 312 T_Host */ "host",
- /* 55 313 T_Huffpuff */ "huffpuff",
- /* 56 314 T_Iburst */ "iburst",
- /* 57 315 T_Ident */ "ident",
- /* 58 316 T_Ignore */ "ignore",
- /* 59 317 T_Ignorehash */ "ignorehash",
- /* 60 318 T_Incalloc */ "incalloc",
- /* 61 319 T_Incmem */ "incmem",
- /* 62 320 T_Initalloc */ "initalloc",
- /* 63 321 T_Initmem */ "initmem",
- /* 64 322 T_Includefile */ "includefile",
- /* 65 323 T_Integer */ NULL,
- /* 66 324 T_Interface */ "interface",
- /* 67 325 T_Intrange */ NULL,
- /* 68 326 T_Io */ "io",
- /* 69 327 T_Ippeerlimit */ "ippeerlimit",
- /* 70 328 T_Ipv4 */ "ipv4",
- /* 71 329 T_Ipv4_flag */ "-4",
- /* 72 330 T_Ipv6 */ "ipv6",
- /* 73 331 T_Ipv6_flag */ "-6",
- /* 74 332 T_Kernel */ "kernel",
- /* 75 333 T_Key */ "key",
- /* 76 334 T_Keys */ "keys",
- /* 77 335 T_Keysdir */ "keysdir",
- /* 78 336 T_Kod */ "kod",
- /* 79 337 T_Leapfile */ "leapfile",
- /* 80 338 T_Leapsmearinterval */ "leapsmearinterval",
- /* 81 339 T_Limited */ "limited",
- /* 82 340 T_Link */ "link",
- /* 83 341 T_Listen */ "listen",
- /* 84 342 T_Logconfig */ "logconfig",
- /* 85 343 T_Logfile */ "logfile",
- /* 86 344 T_Loopstats */ "loopstats",
- /* 87 345 T_Lowpriotrap */ "lowpriotrap",
- /* 88 346 T_Manycastclient */ "manycastclient",
- /* 89 347 T_Manycastserver */ "manycastserver",
- /* 90 348 T_Mask */ "mask",
- /* 91 349 T_Maxage */ "maxage",
- /* 92 350 T_Maxclock */ "maxclock",
- /* 93 351 T_Maxdepth */ "maxdepth",
- /* 94 352 T_Maxdist */ "maxdist",
- /* 95 353 T_Maxmem */ "maxmem",
- /* 96 354 T_Maxpoll */ "maxpoll",
- /* 97 355 T_Mdnstries */ "mdnstries",
- /* 98 356 T_Mem */ "mem",
- /* 99 357 T_Memlock */ "memlock",
- /* 100 358 T_Minclock */ "minclock",
- /* 101 359 T_Mindepth */ "mindepth",
- /* 102 360 T_Mindist */ "mindist",
- /* 103 361 T_Minimum */ "minimum",
- /* 104 362 T_Minjitter */ "minjitter",
- /* 105 363 T_Minpoll */ "minpoll",
- /* 106 364 T_Minsane */ "minsane",
- /* 107 365 T_Mode */ "mode",
- /* 108 366 T_Mode7 */ "mode7",
- /* 109 367 T_Monitor */ "monitor",
- /* 110 368 T_Month */ "month",
- /* 111 369 T_Mru */ "mru",
- /* 112 370 T_Mssntp */ "mssntp",
- /* 113 371 T_Multicastclient */ "multicastclient",
- /* 114 372 T_Nic */ "nic",
- /* 115 373 T_Nolink */ "nolink",
- /* 116 374 T_Nomodify */ "nomodify",
- /* 117 375 T_Nomrulist */ "nomrulist",
- /* 118 376 T_None */ "none",
- /* 119 377 T_Nonvolatile */ "nonvolatile",
- /* 120 378 T_Noepeer */ "noepeer",
- /* 121 379 T_Nopeer */ "nopeer",
- /* 122 380 T_Noquery */ "noquery",
- /* 123 381 T_Noselect */ "noselect",
- /* 124 382 T_Noserve */ "noserve",
- /* 125 383 T_Notrap */ "notrap",
- /* 126 384 T_Notrust */ "notrust",
- /* 127 385 T_Ntp */ "ntp",
- /* 128 386 T_Ntpport */ "ntpport",
- /* 129 387 T_NtpSignDsocket */ "ntpsigndsocket",
- /* 130 388 T_Orphan */ "orphan",
- /* 131 389 T_Orphanwait */ "orphanwait",
- /* 132 390 T_PCEdigest */ "peer_clear_digest_early",
- /* 133 391 T_Panic */ "panic",
- /* 134 392 T_Peer */ "peer",
- /* 135 393 T_Peerstats */ "peerstats",
- /* 136 394 T_Phone */ "phone",
- /* 137 395 T_Pid */ "pid",
- /* 138 396 T_Pidfile */ "pidfile",
- /* 139 397 T_Poll */ "poll",
- /* 140 398 T_PollSkewList */ "pollskewlist",
- /* 141 399 T_Pool */ "pool",
- /* 142 400 T_Port */ "port",
- /* 143 401 T_PpsData */ "ppsdata",
- /* 144 402 T_Preempt */ "preempt",
- /* 145 403 T_Prefer */ "prefer",
- /* 146 404 T_Protostats */ "protostats",
- /* 147 405 T_Pw */ "pw",
- /* 148 406 T_Randfile */ "randfile",
- /* 149 407 T_Rawstats */ "rawstats",
- /* 150 408 T_Refid */ "refid",
- /* 151 409 T_Requestkey */ "requestkey",
- /* 152 410 T_Reset */ "reset",
- /* 153 411 T_Restrict */ "restrict",
- /* 154 412 T_Revoke */ "revoke",
- /* 155 413 T_Rlimit */ "rlimit",
- /* 156 414 T_Saveconfigdir */ "saveconfigdir",
- /* 157 415 T_Server */ "server",
- /* 158 416 T_Serverresponse */ "serverresponse",
- /* 159 417 T_ServerresponseFuzz */ NULL,
- /* 160 418 T_Setvar */ "setvar",
- /* 161 419 T_Source */ "source",
- /* 162 420 T_Stacksize */ "stacksize",
- /* 163 421 T_Statistics */ "statistics",
- /* 164 422 T_Stats */ "stats",
- /* 165 423 T_Statsdir */ "statsdir",
- /* 166 424 T_Step */ "step",
- /* 167 425 T_Stepback */ "stepback",
- /* 168 426 T_Stepfwd */ "stepfwd",
- /* 169 427 T_Stepout */ "stepout",
- /* 170 428 T_Stratum */ "stratum",
- /* 171 429 T_String */ NULL,
- /* 172 430 T_Sys */ "sys",
- /* 173 431 T_Sysstats */ "sysstats",
- /* 174 432 T_Tick */ "tick",
- /* 175 433 T_Time1 */ "time1",
- /* 176 434 T_Time2 */ "time2",
- /* 177 435 T_TimeData */ "timedata",
- /* 178 436 T_Timer */ "timer",
- /* 179 437 T_Timingstats */ "timingstats",
- /* 180 438 T_Tinker */ "tinker",
- /* 181 439 T_Tos */ "tos",
- /* 182 440 T_Trap */ "trap",
- /* 183 441 T_True */ "true",
- /* 184 442 T_Trustedkey */ "trustedkey",
- /* 185 443 T_Ttl */ "ttl",
- /* 186 444 T_Type */ "type",
- /* 187 445 T_U_int */ NULL,
- /* 188 446 T_UEcrypto */ "unpeer_crypto_early",
- /* 189 447 T_UEcryptonak */ "unpeer_crypto_nak_early",
- /* 190 448 T_UEdigest */ "unpeer_digest_early",
- /* 191 449 T_Unconfig */ "unconfig",
- /* 192 450 T_Unpeer */ "unpeer",
- /* 193 451 T_Version */ "version",
- /* 194 452 T_WanderThreshold */ NULL,
- /* 195 453 T_Week */ "week",
- /* 196 454 T_Wildcard */ "wildcard",
- /* 197 455 T_Xleave */ "xleave",
- /* 198 456 T_Xmtnonce */ "xmtnonce",
- /* 199 457 T_Year */ "year",
- /* 200 458 T_Flag */ NULL,
- /* 201 459 T_EOC */ NULL,
- /* 202 460 T_Simulate */ "simulate",
- /* 203 461 T_Beep_Delay */ "beep_delay",
- /* 204 462 T_Sim_Duration */ "simulation_duration",
- /* 205 463 T_Server_Offset */ "server_offset",
- /* 206 464 T_Duration */ "duration",
- /* 207 465 T_Freq_Offset */ "freq_offset",
- /* 208 466 T_Wander */ "wander",
- /* 209 467 T_Jitter */ "jitter",
- /* 210 468 T_Prop_Delay */ "prop_delay",
- /* 211 469 T_Proc_Delay */ "proc_delay"
+ /* 28 286 T_Delrestrict */ "delrestrict",
+ /* 29 287 T_Device */ "device",
+ /* 30 288 T_Digest */ "digest",
+ /* 31 289 T_Disable */ "disable",
+ /* 32 290 T_Discard */ "discard",
+ /* 33 291 T_Dispersion */ "dispersion",
+ /* 34 292 T_Double */ NULL,
+ /* 35 293 T_Driftfile */ "driftfile",
+ /* 36 294 T_Drop */ "drop",
+ /* 37 295 T_Dscp */ "dscp",
+ /* 38 296 T_Ellipsis */ "...",
+ /* 39 297 T_Enable */ "enable",
+ /* 40 298 T_End */ "end",
+ /* 41 299 T_Epeer */ "epeer",
+ /* 42 300 T_False */ NULL,
+ /* 43 301 T_File */ "file",
+ /* 44 302 T_Filegen */ "filegen",
+ /* 45 303 T_Filenum */ "filenum",
+ /* 46 304 T_Flag1 */ "flag1",
+ /* 47 305 T_Flag2 */ "flag2",
+ /* 48 306 T_Flag3 */ "flag3",
+ /* 49 307 T_Flag4 */ "flag4",
+ /* 50 308 T_Flake */ "flake",
+ /* 51 309 T_Floor */ "floor",
+ /* 52 310 T_Freq */ "freq",
+ /* 53 311 T_Fudge */ "fudge",
+ /* 54 312 T_Fuzz */ "fuzz",
+ /* 55 313 T_Host */ "host",
+ /* 56 314 T_Huffpuff */ "huffpuff",
+ /* 57 315 T_Iburst */ "iburst",
+ /* 58 316 T_Ident */ "ident",
+ /* 59 317 T_Ignore */ "ignore",
+ /* 60 318 T_Ignorehash */ "ignorehash",
+ /* 61 319 T_Incalloc */ "incalloc",
+ /* 62 320 T_Incmem */ "incmem",
+ /* 63 321 T_Initalloc */ "initalloc",
+ /* 64 322 T_Initmem */ "initmem",
+ /* 65 323 T_Includefile */ "includefile",
+ /* 66 324 T_Integer */ NULL,
+ /* 67 325 T_Interface */ "interface",
+ /* 68 326 T_Intrange */ NULL,
+ /* 69 327 T_Io */ "io",
+ /* 70 328 T_Ippeerlimit */ "ippeerlimit",
+ /* 71 329 T_Ipv4 */ "ipv4",
+ /* 72 330 T_Ipv4_flag */ "-4",
+ /* 73 331 T_Ipv6 */ "ipv6",
+ /* 74 332 T_Ipv6_flag */ "-6",
+ /* 75 333 T_Kernel */ "kernel",
+ /* 76 334 T_Key */ "key",
+ /* 77 335 T_Keys */ "keys",
+ /* 78 336 T_Keysdir */ "keysdir",
+ /* 79 337 T_Kod */ "kod",
+ /* 80 338 T_Leapfile */ "leapfile",
+ /* 81 339 T_Leapsmearinterval */ "leapsmearinterval",
+ /* 82 340 T_Limited */ "limited",
+ /* 83 341 T_Link */ "link",
+ /* 84 342 T_Listen */ "listen",
+ /* 85 343 T_Logconfig */ "logconfig",
+ /* 86 344 T_Logfile */ "logfile",
+ /* 87 345 T_Loopstats */ "loopstats",
+ /* 88 346 T_Lowpriotrap */ "lowpriotrap",
+ /* 89 347 T_Manycastclient */ "manycastclient",
+ /* 90 348 T_Manycastserver */ "manycastserver",
+ /* 91 349 T_Mask */ "mask",
+ /* 92 350 T_Maxage */ "maxage",
+ /* 93 351 T_Maxclock */ "maxclock",
+ /* 94 352 T_Maxdepth */ "maxdepth",
+ /* 95 353 T_Maxdist */ "maxdist",
+ /* 96 354 T_Maxmem */ "maxmem",
+ /* 97 355 T_Maxpoll */ "maxpoll",
+ /* 98 356 T_Mdnstries */ "mdnstries",
+ /* 99 357 T_Mem */ "mem",
+ /* 100 358 T_Memlock */ "memlock",
+ /* 101 359 T_Minclock */ "minclock",
+ /* 102 360 T_Mindepth */ "mindepth",
+ /* 103 361 T_Mindist */ "mindist",
+ /* 104 362 T_Minimum */ "minimum",
+ /* 105 363 T_Minjitter */ "minjitter",
+ /* 106 364 T_Minpoll */ "minpoll",
+ /* 107 365 T_Minsane */ "minsane",
+ /* 108 366 T_Mode */ "mode",
+ /* 109 367 T_Mode7 */ "mode7",
+ /* 110 368 T_Monitor */ "monitor",
+ /* 111 369 T_Month */ "month",
+ /* 112 370 T_Mru */ "mru",
+ /* 113 371 T_Mssntp */ "mssntp",
+ /* 114 372 T_Multicastclient */ "multicastclient",
+ /* 115 373 T_Nic */ "nic",
+ /* 116 374 T_Nolink */ "nolink",
+ /* 117 375 T_Nomodify */ "nomodify",
+ /* 118 376 T_Nomrulist */ "nomrulist",
+ /* 119 377 T_None */ "none",
+ /* 120 378 T_Nonvolatile */ "nonvolatile",
+ /* 121 379 T_Noepeer */ "noepeer",
+ /* 122 380 T_Nopeer */ "nopeer",
+ /* 123 381 T_Noquery */ "noquery",
+ /* 124 382 T_Noselect */ "noselect",
+ /* 125 383 T_Noserve */ "noserve",
+ /* 126 384 T_Notrap */ "notrap",
+ /* 127 385 T_Notrust */ "notrust",
+ /* 128 386 T_Ntp */ "ntp",
+ /* 129 387 T_Ntpport */ "ntpport",
+ /* 130 388 T_NtpSignDsocket */ "ntpsigndsocket",
+ /* 131 389 T_Orphan */ "orphan",
+ /* 132 390 T_Orphanwait */ "orphanwait",
+ /* 133 391 T_PCEdigest */ "peer_clear_digest_early",
+ /* 134 392 T_Panic */ "panic",
+ /* 135 393 T_Peer */ "peer",
+ /* 136 394 T_Peerstats */ "peerstats",
+ /* 137 395 T_Phone */ "phone",
+ /* 138 396 T_Pid */ "pid",
+ /* 139 397 T_Pidfile */ "pidfile",
+ /* 140 398 T_Poll */ "poll",
+ /* 141 399 T_PollSkewList */ "pollskewlist",
+ /* 142 400 T_Pool */ "pool",
+ /* 143 401 T_Port */ "port",
+ /* 144 402 T_PpsData */ "ppsdata",
+ /* 145 403 T_Preempt */ "preempt",
+ /* 146 404 T_Prefer */ "prefer",
+ /* 147 405 T_Protostats */ "protostats",
+ /* 148 406 T_Pw */ "pw",
+ /* 149 407 T_Randfile */ "randfile",
+ /* 150 408 T_Rawstats */ "rawstats",
+ /* 151 409 T_Refid */ "refid",
+ /* 152 410 T_Requestkey */ "requestkey",
+ /* 153 411 T_Reset */ "reset",
+ /* 154 412 T_Restrict */ "restrict",
+ /* 155 413 T_Revoke */ "revoke",
+ /* 156 414 T_Rlimit */ "rlimit",
+ /* 157 415 T_Saveconfigdir */ "saveconfigdir",
+ /* 158 416 T_Server */ "server",
+ /* 159 417 T_Serverresponse */ "serverresponse",
+ /* 160 418 T_ServerresponseFuzz */ NULL,
+ /* 161 419 T_Setvar */ "setvar",
+ /* 162 420 T_Source */ "source",
+ /* 163 421 T_Stacksize */ "stacksize",
+ /* 164 422 T_Statistics */ "statistics",
+ /* 165 423 T_Stats */ "stats",
+ /* 166 424 T_Statsdir */ "statsdir",
+ /* 167 425 T_Step */ "step",
+ /* 168 426 T_Stepback */ "stepback",
+ /* 169 427 T_Stepfwd */ "stepfwd",
+ /* 170 428 T_Stepout */ "stepout",
+ /* 171 429 T_Stratum */ "stratum",
+ /* 172 430 T_String */ NULL,
+ /* 173 431 T_Sys */ "sys",
+ /* 174 432 T_Sysstats */ "sysstats",
+ /* 175 433 T_Tick */ "tick",
+ /* 176 434 T_Time1 */ "time1",
+ /* 177 435 T_Time2 */ "time2",
+ /* 178 436 T_TimeData */ "timedata",
+ /* 179 437 T_Timer */ "timer",
+ /* 180 438 T_Timingstats */ "timingstats",
+ /* 181 439 T_Tinker */ "tinker",
+ /* 182 440 T_Tos */ "tos",
+ /* 183 441 T_Trap */ "trap",
+ /* 184 442 T_True */ "true",
+ /* 185 443 T_Trustedkey */ "trustedkey",
+ /* 186 444 T_Ttl */ "ttl",
+ /* 187 445 T_Type */ "type",
+ /* 188 446 T_U_int */ NULL,
+ /* 189 447 T_UEcrypto */ "unpeer_crypto_early",
+ /* 190 448 T_UEcryptonak */ "unpeer_crypto_nak_early",
+ /* 191 449 T_UEdigest */ "unpeer_digest_early",
+ /* 192 450 T_Unconfig */ "unconfig",
+ /* 193 451 T_Unpeer */ "unpeer",
+ /* 194 452 T_Version */ "version",
+ /* 195 453 T_WanderThreshold */ NULL,
+ /* 196 454 T_Week */ "week",
+ /* 197 455 T_Wildcard */ "wildcard",
+ /* 198 456 T_Xleave */ "xleave",
+ /* 199 457 T_Xmtnonce */ "xmtnonce",
+ /* 200 458 T_Year */ "year",
+ /* 201 459 T_Flag */ NULL,
+ /* 202 460 T_EOC */ NULL,
+ /* 203 461 T_Simulate */ "simulate",
+ /* 204 462 T_Beep_Delay */ "beep_delay",
+ /* 205 463 T_Sim_Duration */ "simulation_duration",
+ /* 206 464 T_Server_Offset */ "server_offset",
+ /* 207 465 T_Duration */ "duration",
+ /* 208 466 T_Freq_Offset */ "freq_offset",
+ /* 209 467 T_Wander */ "wander",
+ /* 210 468 T_Jitter */ "jitter",
+ /* 211 469 T_Prop_Delay */ "prop_delay",
+ /* 212 470 T_Proc_Delay */ "proc_delay"
};
-#define SCANNER_INIT_S 999
+#define SCANNER_INIT_S 1008
-const scan_state sst[1002] = {
+const scan_state sst[1011] = {
/*SS_T( ch, f-by, match, other ), */
0, /* 0 */
- S_ST( '-', 3, 331, 0 ), /* 1 */
+ S_ST( '-', 3, 332, 0 ), /* 1 */
S_ST( '.', 3, 3, 1 ), /* 2 */
- S_ST( '.', 3, 295, 0 ), /* 3 . */
+ S_ST( '.', 3, 296, 0 ), /* 3 . */
S_ST( 'a', 3, 23, 2 ), /* 4 */
S_ST( 'b', 3, 6, 0 ), /* 5 a */
S_ST( 'b', 3, 7, 0 ), /* 6 ab */
S_ST( 'd', 3, 56, 0 ), /* 55 beep_ */
S_ST( 'e', 3, 57, 0 ), /* 56 beep_d */
S_ST( 'l', 3, 58, 0 ), /* 57 beep_de */
- S_ST( 'a', 3, 461, 0 ), /* 58 beep_del */
+ S_ST( 'a', 3, 462, 0 ), /* 58 beep_del */
S_ST( 'r', 3, 60, 48 ), /* 59 b */
S_ST( 'o', 3, 61, 0 ), /* 60 br */
S_ST( 'a', 3, 62, 0 ), /* 61 bro */
S_ST( 'a', 3, 124, 0 ), /* 123 cryptost */
S_ST( 't', 3, 282, 0 ), /* 124 cryptosta */
S_ST( 't', 3, 283, 117 ), /* 125 c */
- S_ST( 'd', 3, 163, 78 ), /* 126 */
+ S_ST( 'd', 3, 171, 78 ), /* 126 */
S_ST( 'a', 3, 284, 0 ), /* 127 d */
- S_ST( 'e', 3, 133, 127 ), /* 128 d */
+ S_ST( 'e', 3, 141, 127 ), /* 128 d */
S_ST( 'f', 3, 130, 0 ), /* 129 de */
S_ST( 'a', 3, 131, 0 ), /* 130 def */
S_ST( 'u', 3, 132, 0 ), /* 131 defa */
S_ST( 'l', 3, 285, 0 ), /* 132 defau */
- S_ST( 'v', 3, 134, 129 ), /* 133 de */
- S_ST( 'i', 3, 135, 0 ), /* 134 dev */
- S_ST( 'c', 3, 286, 0 ), /* 135 devi */
- S_ST( 'i', 3, 140, 128 ), /* 136 d */
- S_ST( 'g', 3, 138, 0 ), /* 137 di */
- S_ST( 'e', 3, 139, 0 ), /* 138 dig */
- S_ST( 's', 3, 287, 0 ), /* 139 dige */
- S_ST( 's', 3, 147, 137 ), /* 140 di */
- S_ST( 'a', 3, 142, 0 ), /* 141 dis */
- S_ST( 'b', 3, 143, 0 ), /* 142 disa */
- S_ST( 'l', 3, 288, 0 ), /* 143 disab */
- S_ST( 'c', 3, 145, 141 ), /* 144 dis */
- S_ST( 'a', 3, 146, 0 ), /* 145 disc */
- S_ST( 'r', 3, 289, 0 ), /* 146 disca */
- S_ST( 'p', 3, 148, 144 ), /* 147 dis */
- S_ST( 'e', 3, 149, 0 ), /* 148 disp */
- S_ST( 'r', 3, 150, 0 ), /* 149 dispe */
- S_ST( 's', 3, 151, 0 ), /* 150 disper */
- S_ST( 'i', 3, 152, 0 ), /* 151 dispers */
- S_ST( 'o', 3, 290, 0 ), /* 152 dispersi */
- S_ST( 'r', 3, 160, 136 ), /* 153 d */
- S_ST( 'i', 3, 155, 0 ), /* 154 dr */
- S_ST( 'f', 3, 156, 0 ), /* 155 dri */
- S_ST( 't', 3, 157, 0 ), /* 156 drif */
- S_ST( 'f', 3, 158, 0 ), /* 157 drift */
- S_ST( 'i', 3, 159, 0 ), /* 158 driftf */
- S_ST( 'l', 3, 292, 0 ), /* 159 driftfi */
- S_ST( 'o', 3, 293, 154 ), /* 160 dr */
- S_ST( 's', 3, 162, 153 ), /* 161 d */
- S_ST( 'c', 3, 294, 0 ), /* 162 ds */
- S_ST( 'u', 3, 164, 161 ), /* 163 d */
- S_ST( 'r', 3, 165, 0 ), /* 164 du */
- S_ST( 'a', 3, 166, 0 ), /* 165 dur */
- S_ST( 't', 3, 167, 0 ), /* 166 dura */
- S_ST( 'i', 3, 168, 0 ), /* 167 durat */
- S_ST( 'o', 3, 464, 0 ), /* 168 durati */
- S_ST( 'e', 3, 174, 126 ), /* 169 */
- S_ST( 'n', 3, 297, 0 ), /* 170 e */
- S_ST( 'a', 3, 172, 0 ), /* 171 en */
- S_ST( 'b', 3, 173, 0 ), /* 172 ena */
- S_ST( 'l', 3, 296, 0 ), /* 173 enab */
- S_ST( 'p', 3, 175, 170 ), /* 174 e */
- S_ST( 'e', 3, 176, 0 ), /* 175 ep */
- S_ST( 'e', 3, 298, 0 ), /* 176 epe */
- S_ST( 'f', 3, 198, 169 ), /* 177 */
- S_ST( 'i', 3, 179, 0 ), /* 178 f */
- S_ST( 'l', 3, 300, 0 ), /* 179 fi */
- S_ST( 'g', 3, 181, 0 ), /* 180 file */
- S_ST( 'e', 3, 301, 0 ), /* 181 fileg */
- S_ST( 'n', 3, 183, 180 ), /* 182 file */
- S_ST( 'u', 3, 302, 0 ), /* 183 filen */
- S_ST( 'l', 3, 188, 178 ), /* 184 f */
- S_ST( 'a', 3, 187, 0 ), /* 185 fl */
- S_ST( 'g', 3, 306, 0 ), /* 186 fla */
- S_ST( 'k', 3, 307, 186 ), /* 187 fla */
- S_ST( 'o', 3, 189, 185 ), /* 188 fl */
- S_ST( 'o', 3, 308, 0 ), /* 189 flo */
- S_ST( 'r', 3, 191, 184 ), /* 190 f */
- S_ST( 'e', 3, 309, 0 ), /* 191 fr */
- S_ST( '_', 3, 193, 0 ), /* 192 freq */
- S_ST( 'o', 3, 194, 0 ), /* 193 freq_ */
- S_ST( 'f', 3, 195, 0 ), /* 194 freq_o */
- S_ST( 'f', 3, 196, 0 ), /* 195 freq_of */
- S_ST( 's', 3, 197, 0 ), /* 196 freq_off */
- S_ST( 'e', 3, 465, 0 ), /* 197 freq_offs */
- S_ST( 'u', 3, 201, 190 ), /* 198 f */
- S_ST( 'd', 3, 200, 0 ), /* 199 fu */
- S_ST( 'g', 3, 310, 0 ), /* 200 fud */
- S_ST( 'z', 3, 311, 199 ), /* 201 fu */
- S_ST( 'h', 3, 205, 177 ), /* 202 */
- S_ST( 'o', 3, 204, 0 ), /* 203 h */
- S_ST( 's', 3, 312, 0 ), /* 204 ho */
- S_ST( 'u', 3, 206, 203 ), /* 205 h */
- S_ST( 'f', 3, 207, 0 ), /* 206 hu */
- S_ST( 'f', 3, 208, 0 ), /* 207 huf */
- S_ST( 'p', 3, 209, 0 ), /* 208 huff */
- S_ST( 'u', 3, 210, 0 ), /* 209 huffp */
- S_ST( 'f', 3, 313, 0 ), /* 210 huffpu */
- S_ST( 'i', 3, 255, 202 ), /* 211 */
- S_ST( 'b', 3, 213, 0 ), /* 212 i */
- S_ST( 'u', 3, 214, 0 ), /* 213 ib */
- S_ST( 'r', 3, 215, 0 ), /* 214 ibu */
- S_ST( 's', 3, 314, 0 ), /* 215 ibur */
- S_ST( 'd', 3, 217, 212 ), /* 216 i */
- S_ST( 'e', 3, 218, 0 ), /* 217 id */
- S_ST( 'n', 3, 315, 0 ), /* 218 ide */
- S_ST( 'g', 3, 220, 216 ), /* 219 i */
- S_ST( 'n', 3, 221, 0 ), /* 220 ig */
- S_ST( 'o', 3, 222, 0 ), /* 221 ign */
- S_ST( 'r', 3, 316, 0 ), /* 222 igno */
- S_ST( 'h', 3, 224, 0 ), /* 223 ignore */
- S_ST( 'a', 3, 225, 0 ), /* 224 ignoreh */
- S_ST( 's', 3, 317, 0 ), /* 225 ignoreha */
- S_ST( 'n', 3, 249, 219 ), /* 226 i */
- S_ST( 'c', 3, 239, 0 ), /* 227 in */
- S_ST( 'a', 3, 229, 0 ), /* 228 inc */
- S_ST( 'l', 3, 230, 0 ), /* 229 inca */
- S_ST( 'l', 3, 231, 0 ), /* 230 incal */
- S_ST( 'o', 3, 318, 0 ), /* 231 incall */
- S_ST( 'l', 3, 233, 228 ), /* 232 inc */
- S_ST( 'u', 3, 234, 0 ), /* 233 incl */
- S_ST( 'd', 3, 235, 0 ), /* 234 inclu */
- S_ST( 'e', 3, 236, 0 ), /* 235 includ */
- S_ST( 'f', 3, 237, 0 ), /* 236 include */
- S_ST( 'i', 3, 238, 0 ), /* 237 includef */
- S_ST( 'l', 3, 322, 0 ), /* 238 includefi */
- S_ST( 'm', 3, 240, 232 ), /* 239 inc */
- S_ST( 'e', 3, 319, 0 ), /* 240 incm */
- S_ST( 'i', 3, 242, 227 ), /* 241 in */
- S_ST( 't', 3, 247, 0 ), /* 242 ini */
- S_ST( 'a', 3, 244, 0 ), /* 243 init */
- S_ST( 'l', 3, 245, 0 ), /* 244 inita */
- S_ST( 'l', 3, 246, 0 ), /* 245 inital */
- S_ST( 'o', 3, 320, 0 ), /* 246 initall */
- S_ST( 'm', 3, 248, 243 ), /* 247 init */
- S_ST( 'e', 3, 321, 0 ), /* 248 initm */
- S_ST( 't', 3, 250, 241 ), /* 249 in */
- S_ST( 'e', 3, 251, 0 ), /* 250 int */
- S_ST( 'r', 3, 252, 0 ), /* 251 inte */
- S_ST( 'f', 3, 253, 0 ), /* 252 inter */
- S_ST( 'a', 3, 254, 0 ), /* 253 interf */
- S_ST( 'c', 3, 324, 0 ), /* 254 interfa */
- S_ST( 'p', 3, 445, 326 ), /* 255 i */
- S_ST( 'p', 3, 257, 0 ), /* 256 ip */
- S_ST( 'e', 3, 291, 0 ), /* 257 ipp */
+ S_ST( 'l', 3, 134, 129 ), /* 133 de */
+ S_ST( 'r', 3, 135, 0 ), /* 134 del */
+ S_ST( 'e', 3, 136, 0 ), /* 135 delr */
+ S_ST( 's', 3, 137, 0 ), /* 136 delre */
+ S_ST( 't', 3, 138, 0 ), /* 137 delres */
+ S_ST( 'r', 3, 139, 0 ), /* 138 delrest */
+ S_ST( 'i', 3, 140, 0 ), /* 139 delrestr */
+ S_ST( 'c', 3, 286, 0 ), /* 140 delrestri */
+ S_ST( 'v', 3, 142, 133 ), /* 141 de */
+ S_ST( 'i', 3, 143, 0 ), /* 142 dev */
+ S_ST( 'c', 3, 287, 0 ), /* 143 devi */
+ S_ST( 'i', 3, 148, 128 ), /* 144 d */
+ S_ST( 'g', 3, 146, 0 ), /* 145 di */
+ S_ST( 'e', 3, 147, 0 ), /* 146 dig */
+ S_ST( 's', 3, 288, 0 ), /* 147 dige */
+ S_ST( 's', 3, 155, 145 ), /* 148 di */
+ S_ST( 'a', 3, 150, 0 ), /* 149 dis */
+ S_ST( 'b', 3, 151, 0 ), /* 150 disa */
+ S_ST( 'l', 3, 289, 0 ), /* 151 disab */
+ S_ST( 'c', 3, 153, 149 ), /* 152 dis */
+ S_ST( 'a', 3, 154, 0 ), /* 153 disc */
+ S_ST( 'r', 3, 290, 0 ), /* 154 disca */
+ S_ST( 'p', 3, 156, 152 ), /* 155 dis */
+ S_ST( 'e', 3, 157, 0 ), /* 156 disp */
+ S_ST( 'r', 3, 158, 0 ), /* 157 dispe */
+ S_ST( 's', 3, 159, 0 ), /* 158 disper */
+ S_ST( 'i', 3, 160, 0 ), /* 159 dispers */
+ S_ST( 'o', 3, 291, 0 ), /* 160 dispersi */
+ S_ST( 'r', 3, 168, 144 ), /* 161 d */
+ S_ST( 'i', 3, 163, 0 ), /* 162 dr */
+ S_ST( 'f', 3, 164, 0 ), /* 163 dri */
+ S_ST( 't', 3, 165, 0 ), /* 164 drif */
+ S_ST( 'f', 3, 166, 0 ), /* 165 drift */
+ S_ST( 'i', 3, 167, 0 ), /* 166 driftf */
+ S_ST( 'l', 3, 293, 0 ), /* 167 driftfi */
+ S_ST( 'o', 3, 294, 162 ), /* 168 dr */
+ S_ST( 's', 3, 170, 161 ), /* 169 d */
+ S_ST( 'c', 3, 295, 0 ), /* 170 ds */
+ S_ST( 'u', 3, 172, 169 ), /* 171 d */
+ S_ST( 'r', 3, 173, 0 ), /* 172 du */
+ S_ST( 'a', 3, 174, 0 ), /* 173 dur */
+ S_ST( 't', 3, 175, 0 ), /* 174 dura */
+ S_ST( 'i', 3, 176, 0 ), /* 175 durat */
+ S_ST( 'o', 3, 465, 0 ), /* 176 durati */
+ S_ST( 'e', 3, 182, 126 ), /* 177 */
+ S_ST( 'n', 3, 298, 0 ), /* 178 e */
+ S_ST( 'a', 3, 180, 0 ), /* 179 en */
+ S_ST( 'b', 3, 181, 0 ), /* 180 ena */
+ S_ST( 'l', 3, 297, 0 ), /* 181 enab */
+ S_ST( 'p', 3, 183, 178 ), /* 182 e */
+ S_ST( 'e', 3, 184, 0 ), /* 183 ep */
+ S_ST( 'e', 3, 299, 0 ), /* 184 epe */
+ S_ST( 'f', 3, 206, 177 ), /* 185 */
+ S_ST( 'i', 3, 187, 0 ), /* 186 f */
+ S_ST( 'l', 3, 301, 0 ), /* 187 fi */
+ S_ST( 'g', 3, 189, 0 ), /* 188 file */
+ S_ST( 'e', 3, 302, 0 ), /* 189 fileg */
+ S_ST( 'n', 3, 191, 188 ), /* 190 file */
+ S_ST( 'u', 3, 303, 0 ), /* 191 filen */
+ S_ST( 'l', 3, 196, 186 ), /* 192 f */
+ S_ST( 'a', 3, 195, 0 ), /* 193 fl */
+ S_ST( 'g', 3, 307, 0 ), /* 194 fla */
+ S_ST( 'k', 3, 308, 194 ), /* 195 fla */
+ S_ST( 'o', 3, 197, 193 ), /* 196 fl */
+ S_ST( 'o', 3, 309, 0 ), /* 197 flo */
+ S_ST( 'r', 3, 199, 192 ), /* 198 f */
+ S_ST( 'e', 3, 310, 0 ), /* 199 fr */
+ S_ST( '_', 3, 201, 0 ), /* 200 freq */
+ S_ST( 'o', 3, 202, 0 ), /* 201 freq_ */
+ S_ST( 'f', 3, 203, 0 ), /* 202 freq_o */
+ S_ST( 'f', 3, 204, 0 ), /* 203 freq_of */
+ S_ST( 's', 3, 205, 0 ), /* 204 freq_off */
+ S_ST( 'e', 3, 466, 0 ), /* 205 freq_offs */
+ S_ST( 'u', 3, 209, 198 ), /* 206 f */
+ S_ST( 'd', 3, 208, 0 ), /* 207 fu */
+ S_ST( 'g', 3, 311, 0 ), /* 208 fud */
+ S_ST( 'z', 3, 312, 207 ), /* 209 fu */
+ S_ST( 'h', 3, 213, 185 ), /* 210 */
+ S_ST( 'o', 3, 212, 0 ), /* 211 h */
+ S_ST( 's', 3, 313, 0 ), /* 212 ho */
+ S_ST( 'u', 3, 214, 211 ), /* 213 h */
+ S_ST( 'f', 3, 215, 0 ), /* 214 hu */
+ S_ST( 'f', 3, 216, 0 ), /* 215 huf */
+ S_ST( 'p', 3, 217, 0 ), /* 216 huff */
+ S_ST( 'u', 3, 218, 0 ), /* 217 huffp */
+ S_ST( 'f', 3, 314, 0 ), /* 218 huffpu */
+ S_ST( 'i', 3, 430, 210 ), /* 219 */
+ S_ST( 'b', 3, 221, 0 ), /* 220 i */
+ S_ST( 'u', 3, 222, 0 ), /* 221 ib */
+ S_ST( 'r', 3, 223, 0 ), /* 222 ibu */
+ S_ST( 's', 3, 315, 0 ), /* 223 ibur */
+ S_ST( 'd', 3, 225, 220 ), /* 224 i */
+ S_ST( 'e', 3, 226, 0 ), /* 225 id */
+ S_ST( 'n', 3, 316, 0 ), /* 226 ide */
+ S_ST( 'g', 3, 228, 224 ), /* 227 i */
+ S_ST( 'n', 3, 229, 0 ), /* 228 ig */
+ S_ST( 'o', 3, 230, 0 ), /* 229 ign */
+ S_ST( 'r', 3, 317, 0 ), /* 230 igno */
+ S_ST( 'h', 3, 232, 0 ), /* 231 ignore */
+ S_ST( 'a', 3, 233, 0 ), /* 232 ignoreh */
+ S_ST( 's', 3, 318, 0 ), /* 233 ignoreha */
+ S_ST( 'n', 3, 257, 227 ), /* 234 i */
+ S_ST( 'c', 3, 247, 0 ), /* 235 in */
+ S_ST( 'a', 3, 237, 0 ), /* 236 inc */
+ S_ST( 'l', 3, 238, 0 ), /* 237 inca */
+ S_ST( 'l', 3, 239, 0 ), /* 238 incal */
+ S_ST( 'o', 3, 319, 0 ), /* 239 incall */
+ S_ST( 'l', 3, 241, 236 ), /* 240 inc */
+ S_ST( 'u', 3, 242, 0 ), /* 241 incl */
+ S_ST( 'd', 3, 243, 0 ), /* 242 inclu */
+ S_ST( 'e', 3, 244, 0 ), /* 243 includ */
+ S_ST( 'f', 3, 245, 0 ), /* 244 include */
+ S_ST( 'i', 3, 246, 0 ), /* 245 includef */
+ S_ST( 'l', 3, 323, 0 ), /* 246 includefi */
+ S_ST( 'm', 3, 248, 240 ), /* 247 inc */
+ S_ST( 'e', 3, 320, 0 ), /* 248 incm */
+ S_ST( 'i', 3, 250, 235 ), /* 249 in */
+ S_ST( 't', 3, 255, 0 ), /* 250 ini */
+ S_ST( 'a', 3, 252, 0 ), /* 251 init */
+ S_ST( 'l', 3, 253, 0 ), /* 252 inita */
+ S_ST( 'l', 3, 254, 0 ), /* 253 inital */
+ S_ST( 'o', 3, 321, 0 ), /* 254 initall */
+ S_ST( 'm', 3, 256, 251 ), /* 255 init */
+ S_ST( 'e', 3, 322, 0 ), /* 256 initm */
+ S_ST( 't', 3, 292, 249 ), /* 257 in */
S_ST( 'v', 1, 0, 0 ), /* 258 T_Abbrev */
S_ST( 'e', 0, 0, 0 ), /* 259 T_Age */
S_ST( 'l', 0, 12, 0 ), /* 260 T_All */
S_ST( 'l', 0, 0, 0 ), /* 283 T_Ctl */
S_ST( 'y', 0, 0, 0 ), /* 284 T_Day */
S_ST( 't', 0, 0, 0 ), /* 285 T_Default */
- S_ST( 'e', 1, 0, 0 ), /* 286 T_Device */
- S_ST( 't', 1, 0, 0 ), /* 287 T_Digest */
- S_ST( 'e', 0, 0, 0 ), /* 288 T_Disable */
- S_ST( 'd', 0, 0, 0 ), /* 289 T_Discard */
- S_ST( 'n', 0, 0, 0 ), /* 290 T_Dispersion */
- S_ST( 'e', 3, 299, 0 ), /* 291 ippe */
- S_ST( 'e', 1, 0, 0 ), /* 292 T_Driftfile */
- S_ST( 'p', 0, 0, 0 ), /* 293 T_Drop */
- S_ST( 'p', 0, 0, 0 ), /* 294 T_Dscp */
- S_ST( '.', 0, 0, 0 ), /* 295 T_Ellipsis */
- S_ST( 'e', 0, 0, 0 ), /* 296 T_Enable */
- S_ST( 'd', 0, 0, 171 ), /* 297 T_End */
- S_ST( 'r', 0, 0, 0 ), /* 298 T_Epeer */
- S_ST( 'r', 3, 323, 0 ), /* 299 ippee */
- S_ST( 'e', 1, 182, 0 ), /* 300 T_File */
- S_ST( 'n', 0, 0, 0 ), /* 301 T_Filegen */
- S_ST( 'm', 0, 0, 0 ), /* 302 T_Filenum */
- S_ST( '1', 0, 0, 0 ), /* 303 T_Flag1 */
- S_ST( '2', 0, 0, 303 ), /* 304 T_Flag2 */
- S_ST( '3', 0, 0, 304 ), /* 305 T_Flag3 */
- S_ST( '4', 0, 0, 305 ), /* 306 T_Flag4 */
- S_ST( 'e', 0, 0, 0 ), /* 307 T_Flake */
- S_ST( 'r', 0, 0, 0 ), /* 308 T_Floor */
- S_ST( 'q', 0, 192, 0 ), /* 309 T_Freq */
- S_ST( 'e', 1, 0, 0 ), /* 310 T_Fudge */
- S_ST( 'z', 0, 0, 0 ), /* 311 T_Fuzz */
- S_ST( 't', 1, 0, 0 ), /* 312 T_Host */
- S_ST( 'f', 0, 0, 0 ), /* 313 T_Huffpuff */
- S_ST( 't', 0, 0, 0 ), /* 314 T_Iburst */
- S_ST( 't', 1, 0, 0 ), /* 315 T_Ident */
- S_ST( 'e', 0, 223, 0 ), /* 316 T_Ignore */
- S_ST( 'h', 0, 0, 0 ), /* 317 T_Ignorehash */
- S_ST( 'c', 0, 0, 0 ), /* 318 T_Incalloc */
- S_ST( 'm', 0, 0, 0 ), /* 319 T_Incmem */
- S_ST( 'c', 0, 0, 0 ), /* 320 T_Initalloc */
- S_ST( 'm', 0, 0, 0 ), /* 321 T_Initmem */
- S_ST( 'e', 1, 0, 0 ), /* 322 T_Includefile */
- S_ST( 'l', 3, 325, 0 ), /* 323 ippeer */
- S_ST( 'e', 0, 0, 0 ), /* 324 T_Interface */
- S_ST( 'i', 3, 417, 0 ), /* 325 ippeerl */
- S_ST( 'o', 0, 0, 226 ), /* 326 T_Io */
- S_ST( 't', 0, 0, 0 ), /* 327 T_Ippeerlimit */
- S_ST( '4', 0, 0, 0 ), /* 328 T_Ipv4 */
- S_ST( '4', 0, 0, 0 ), /* 329 T_Ipv4_flag */
- S_ST( '6', 0, 0, 328 ), /* 330 T_Ipv6 */
- S_ST( '6', 0, 0, 329 ), /* 331 T_Ipv6_flag */
- S_ST( 'l', 0, 0, 0 ), /* 332 T_Kernel */
- S_ST( 'y', 0, 334, 474 ), /* 333 T_Key */
- S_ST( 's', 1, 477, 0 ), /* 334 T_Keys */
- S_ST( 'r', 1, 0, 0 ), /* 335 T_Keysdir */
- S_ST( 'd', 0, 0, 0 ), /* 336 T_Kod */
- S_ST( 'e', 1, 0, 0 ), /* 337 T_Leapfile */
- S_ST( 'l', 0, 0, 0 ), /* 338 T_Leapsmearinterval */
- S_ST( 'd', 0, 0, 0 ), /* 339 T_Limited */
- S_ST( 'k', 0, 0, 0 ), /* 340 T_Link */
- S_ST( 'n', 0, 0, 0 ), /* 341 T_Listen */
- S_ST( 'g', 2, 0, 0 ), /* 342 T_Logconfig */
- S_ST( 'e', 1, 0, 0 ), /* 343 T_Logfile */
- S_ST( 's', 0, 0, 0 ), /* 344 T_Loopstats */
- S_ST( 'p', 0, 0, 0 ), /* 345 T_Lowpriotrap */
- S_ST( 't', 1, 0, 0 ), /* 346 T_Manycastclient */
- S_ST( 'r', 2, 0, 0 ), /* 347 T_Manycastserver */
- S_ST( 'k', 0, 0, 0 ), /* 348 T_Mask */
- S_ST( 'e', 0, 0, 0 ), /* 349 T_Maxage */
- S_ST( 'k', 0, 0, 0 ), /* 350 T_Maxclock */
- S_ST( 'h', 0, 0, 0 ), /* 351 T_Maxdepth */
- S_ST( 't', 0, 0, 0 ), /* 352 T_Maxdist */
- S_ST( 'm', 0, 0, 0 ), /* 353 T_Maxmem */
- S_ST( 'l', 0, 0, 0 ), /* 354 T_Maxpoll */
- S_ST( 's', 0, 0, 0 ), /* 355 T_Mdnstries */
- S_ST( 'm', 0, 577, 0 ), /* 356 T_Mem */
- S_ST( 'k', 0, 0, 0 ), /* 357 T_Memlock */
- S_ST( 'k', 0, 0, 0 ), /* 358 T_Minclock */
- S_ST( 'h', 0, 0, 0 ), /* 359 T_Mindepth */
- S_ST( 't', 0, 0, 0 ), /* 360 T_Mindist */
- S_ST( 'm', 0, 0, 0 ), /* 361 T_Minimum */
- S_ST( 'r', 0, 0, 0 ), /* 362 T_Minjitter */
- S_ST( 'l', 0, 0, 0 ), /* 363 T_Minpoll */
- S_ST( 'e', 0, 0, 0 ), /* 364 T_Minsane */
- S_ST( 'e', 0, 366, 0 ), /* 365 T_Mode */
- S_ST( '7', 0, 0, 0 ), /* 366 T_Mode7 */
- S_ST( 'r', 0, 0, 0 ), /* 367 T_Monitor */
- S_ST( 'h', 0, 0, 0 ), /* 368 T_Month */
- S_ST( 'u', 0, 0, 0 ), /* 369 T_Mru */
- S_ST( 'p', 0, 0, 0 ), /* 370 T_Mssntp */
- S_ST( 't', 2, 0, 0 ), /* 371 T_Multicastclient */
- S_ST( 'c', 0, 0, 0 ), /* 372 T_Nic */
- S_ST( 'k', 0, 0, 0 ), /* 373 T_Nolink */
- S_ST( 'y', 0, 0, 0 ), /* 374 T_Nomodify */
- S_ST( 't', 0, 0, 0 ), /* 375 T_Nomrulist */
- S_ST( 'e', 0, 0, 0 ), /* 376 T_None */
- S_ST( 'e', 0, 0, 0 ), /* 377 T_Nonvolatile */
- S_ST( 'r', 0, 0, 0 ), /* 378 T_Noepeer */
- S_ST( 'r', 0, 0, 0 ), /* 379 T_Nopeer */
- S_ST( 'y', 0, 0, 0 ), /* 380 T_Noquery */
- S_ST( 't', 0, 0, 0 ), /* 381 T_Noselect */
- S_ST( 'e', 0, 0, 0 ), /* 382 T_Noserve */
- S_ST( 'p', 0, 0, 0 ), /* 383 T_Notrap */
- S_ST( 't', 0, 0, 0 ), /* 384 T_Notrust */
- S_ST( 'p', 0, 682, 0 ), /* 385 T_Ntp */
- S_ST( 't', 0, 0, 0 ), /* 386 T_Ntpport */
- S_ST( 't', 1, 0, 0 ), /* 387 T_NtpSignDsocket */
- S_ST( 'n', 0, 697, 0 ), /* 388 T_Orphan */
- S_ST( 't', 0, 0, 0 ), /* 389 T_Orphanwait */
- S_ST( 'y', 0, 0, 0 ), /* 390 T_PCEdigest */
- S_ST( 'c', 0, 0, 0 ), /* 391 T_Panic */
- S_ST( 'r', 1, 724, 0 ), /* 392 T_Peer */
- S_ST( 's', 0, 0, 0 ), /* 393 T_Peerstats */
- S_ST( 'e', 2, 0, 0 ), /* 394 T_Phone */
- S_ST( 'd', 0, 732, 0 ), /* 395 T_Pid */
- S_ST( 'e', 1, 0, 0 ), /* 396 T_Pidfile */
- S_ST( 'l', 0, 737, 0 ), /* 397 T_Poll */
- S_ST( 't', 0, 0, 0 ), /* 398 T_PollSkewList */
- S_ST( 'l', 1, 0, 0 ), /* 399 T_Pool */
- S_ST( 't', 0, 0, 0 ), /* 400 T_Port */
- S_ST( 'a', 1, 0, 0 ), /* 401 T_PpsData */
- S_ST( 't', 0, 0, 0 ), /* 402 T_Preempt */
- S_ST( 'r', 0, 0, 0 ), /* 403 T_Prefer */
- S_ST( 's', 0, 0, 0 ), /* 404 T_Protostats */
- S_ST( 'w', 1, 0, 751 ), /* 405 T_Pw */
- S_ST( 'e', 1, 0, 0 ), /* 406 T_Randfile */
- S_ST( 's', 0, 0, 0 ), /* 407 T_Rawstats */
- S_ST( 'd', 1, 0, 0 ), /* 408 T_Refid */
- S_ST( 'y', 0, 0, 0 ), /* 409 T_Requestkey */
- S_ST( 't', 0, 0, 0 ), /* 410 T_Reset */
- S_ST( 't', 0, 0, 0 ), /* 411 T_Restrict */
- S_ST( 'e', 0, 0, 0 ), /* 412 T_Revoke */
- S_ST( 't', 0, 0, 0 ), /* 413 T_Rlimit */
- S_ST( 'r', 1, 0, 0 ), /* 414 T_Saveconfigdir */
- S_ST( 'r', 1, 834, 0 ), /* 415 T_Server */
- S_ST( 'e', 0, 0, 0 ), /* 416 T_Serverresponse */
- S_ST( 'm', 3, 429, 0 ), /* 417 ippeerli */
- S_ST( 'r', 1, 0, 0 ), /* 418 T_Setvar */
- S_ST( 'e', 0, 0, 0 ), /* 419 T_Source */
- S_ST( 'e', 0, 0, 0 ), /* 420 T_Stacksize */
- S_ST( 's', 0, 0, 0 ), /* 421 T_Statistics */
- S_ST( 's', 0, 878, 873 ), /* 422 T_Stats */
- S_ST( 'r', 1, 0, 0 ), /* 423 T_Statsdir */
- S_ST( 'p', 0, 886, 0 ), /* 424 T_Step */
- S_ST( 'k', 0, 0, 0 ), /* 425 T_Stepback */
- S_ST( 'd', 0, 0, 0 ), /* 426 T_Stepfwd */
- S_ST( 't', 0, 0, 0 ), /* 427 T_Stepout */
- S_ST( 'm', 0, 0, 0 ), /* 428 T_Stratum */
- S_ST( 'i', 3, 327, 0 ), /* 429 ippeerlim */
- S_ST( 's', 0, 893, 0 ), /* 430 T_Sys */
- S_ST( 's', 0, 0, 0 ), /* 431 T_Sysstats */
- S_ST( 'k', 0, 0, 0 ), /* 432 T_Tick */
- S_ST( '1', 0, 0, 0 ), /* 433 T_Time1 */
- S_ST( '2', 0, 0, 433 ), /* 434 T_Time2 */
- S_ST( 'a', 1, 0, 0 ), /* 435 T_TimeData */
- S_ST( 'r', 0, 0, 902 ), /* 436 T_Timer */
- S_ST( 's', 0, 0, 0 ), /* 437 T_Timingstats */
- S_ST( 'r', 0, 0, 0 ), /* 438 T_Tinker */
- S_ST( 's', 0, 0, 0 ), /* 439 T_Tos */
- S_ST( 'p', 1, 0, 0 ), /* 440 T_Trap */
- S_ST( 'e', 0, 0, 0 ), /* 441 T_True */
- S_ST( 'y', 0, 0, 0 ), /* 442 T_Trustedkey */
- S_ST( 'l', 0, 0, 0 ), /* 443 T_Ttl */
- S_ST( 'e', 0, 0, 0 ), /* 444 T_Type */
- S_ST( 'v', 3, 330, 256 ), /* 445 ip */
- S_ST( 'y', 0, 0, 0 ), /* 446 T_UEcrypto */
- S_ST( 'y', 0, 0, 0 ), /* 447 T_UEcryptonak */
- S_ST( 'y', 0, 0, 0 ), /* 448 T_UEdigest */
- S_ST( 'g', 1, 0, 0 ), /* 449 T_Unconfig */
- S_ST( 'r', 1, 938, 0 ), /* 450 T_Unpeer */
- S_ST( 'n', 0, 0, 0 ), /* 451 T_Version */
- S_ST( 'j', 3, 458, 211 ), /* 452 */
- S_ST( 'k', 0, 0, 0 ), /* 453 T_Week */
- S_ST( 'd', 0, 0, 0 ), /* 454 T_Wildcard */
- S_ST( 'e', 0, 0, 0 ), /* 455 T_Xleave */
- S_ST( 'e', 0, 0, 0 ), /* 456 T_Xmtnonce */
- S_ST( 'r', 0, 0, 0 ), /* 457 T_Year */
- S_ST( 'i', 3, 459, 0 ), /* 458 j */
- S_ST( 't', 3, 470, 0 ), /* 459 ji */
- S_ST( 'e', 0, 0, 0 ), /* 460 T_Simulate */
- S_ST( 'y', 0, 0, 0 ), /* 461 T_Beep_Delay */
- S_ST( 'n', 0, 0, 0 ), /* 462 T_Sim_Duration */
- S_ST( 't', 0, 0, 0 ), /* 463 T_Server_Offset */
- S_ST( 'n', 0, 0, 0 ), /* 464 T_Duration */
- S_ST( 't', 0, 0, 0 ), /* 465 T_Freq_Offset */
- S_ST( 'r', 0, 0, 0 ), /* 466 T_Wander */
- S_ST( 'r', 0, 0, 0 ), /* 467 T_Jitter */
- S_ST( 'y', 0, 0, 0 ), /* 468 T_Prop_Delay */
- S_ST( 'y', 0, 0, 0 ), /* 469 T_Proc_Delay */
- S_ST( 't', 3, 471, 0 ), /* 470 jit */
- S_ST( 'e', 3, 467, 0 ), /* 471 jitt */
- S_ST( 'k', 3, 479, 452 ), /* 472 */
- S_ST( 'e', 3, 333, 0 ), /* 473 k */
- S_ST( 'r', 3, 475, 0 ), /* 474 ke */
- S_ST( 'n', 3, 476, 0 ), /* 475 ker */
- S_ST( 'e', 3, 332, 0 ), /* 476 kern */
- S_ST( 'd', 3, 478, 0 ), /* 477 keys */
- S_ST( 'i', 3, 335, 0 ), /* 478 keysd */
- S_ST( 'o', 3, 336, 473 ), /* 479 k */
- S_ST( 'l', 3, 508, 472 ), /* 480 */
- S_ST( 'e', 3, 482, 0 ), /* 481 l */
- S_ST( 'a', 3, 483, 0 ), /* 482 le */
- S_ST( 'p', 3, 487, 0 ), /* 483 lea */
- S_ST( 'f', 3, 485, 0 ), /* 484 leap */
- S_ST( 'i', 3, 486, 0 ), /* 485 leapf */
- S_ST( 'l', 3, 337, 0 ), /* 486 leapfi */
- S_ST( 's', 3, 488, 484 ), /* 487 leap */
- S_ST( 'm', 3, 489, 0 ), /* 488 leaps */
- S_ST( 'e', 3, 490, 0 ), /* 489 leapsm */
- S_ST( 'a', 3, 491, 0 ), /* 490 leapsme */
- S_ST( 'r', 3, 492, 0 ), /* 491 leapsmea */
- S_ST( 'i', 3, 493, 0 ), /* 492 leapsmear */
- S_ST( 'n', 3, 494, 0 ), /* 493 leapsmeari */
- S_ST( 't', 3, 495, 0 ), /* 494 leapsmearin */
- S_ST( 'e', 3, 496, 0 ), /* 495 leapsmearint */
- S_ST( 'r', 3, 497, 0 ), /* 496 leapsmearinte */
- S_ST( 'v', 3, 498, 0 ), /* 497 leapsmearinter */
- S_ST( 'a', 3, 338, 0 ), /* 498 leapsmearinterv */
- S_ST( 'i', 3, 505, 481 ), /* 499 l */
- S_ST( 'm', 3, 501, 0 ), /* 500 li */
- S_ST( 'i', 3, 502, 0 ), /* 501 lim */
- S_ST( 't', 3, 503, 0 ), /* 502 limi */
- S_ST( 'e', 3, 339, 0 ), /* 503 limit */
- S_ST( 'n', 3, 340, 500 ), /* 504 li */
- S_ST( 's', 3, 506, 504 ), /* 505 li */
- S_ST( 't', 3, 507, 0 ), /* 506 lis */
- S_ST( 'e', 3, 341, 0 ), /* 507 list */
- S_ST( 'o', 3, 524, 499 ), /* 508 l */
- S_ST( 'g', 3, 515, 0 ), /* 509 lo */
- S_ST( 'c', 3, 511, 0 ), /* 510 log */
- S_ST( 'o', 3, 512, 0 ), /* 511 logc */
- S_ST( 'n', 3, 513, 0 ), /* 512 logco */
- S_ST( 'f', 3, 514, 0 ), /* 513 logcon */
- S_ST( 'i', 3, 342, 0 ), /* 514 logconf */
- S_ST( 'f', 3, 516, 510 ), /* 515 log */
- S_ST( 'i', 3, 517, 0 ), /* 516 logf */
- S_ST( 'l', 3, 343, 0 ), /* 517 logfi */
- S_ST( 'o', 3, 519, 509 ), /* 518 lo */
- S_ST( 'p', 3, 520, 0 ), /* 519 loo */
- S_ST( 's', 3, 521, 0 ), /* 520 loop */
- S_ST( 't', 3, 522, 0 ), /* 521 loops */
- S_ST( 'a', 3, 523, 0 ), /* 522 loopst */
- S_ST( 't', 3, 344, 0 ), /* 523 loopsta */
- S_ST( 'w', 3, 525, 518 ), /* 524 lo */
- S_ST( 'p', 3, 526, 0 ), /* 525 low */
- S_ST( 'r', 3, 527, 0 ), /* 526 lowp */
- S_ST( 'i', 3, 528, 0 ), /* 527 lowpr */
- S_ST( 'o', 3, 529, 0 ), /* 528 lowpri */
- S_ST( 't', 3, 530, 0 ), /* 529 lowprio */
- S_ST( 'r', 3, 531, 0 ), /* 530 lowpriot */
- S_ST( 'a', 3, 345, 0 ), /* 531 lowpriotr */
- S_ST( 'm', 3, 618, 480 ), /* 532 */
- S_ST( 'a', 3, 551, 0 ), /* 533 m */
- S_ST( 'n', 3, 535, 0 ), /* 534 ma */
- S_ST( 'y', 3, 536, 0 ), /* 535 man */
- S_ST( 'c', 3, 537, 0 ), /* 536 many */
- S_ST( 'a', 3, 538, 0 ), /* 537 manyc */
- S_ST( 's', 3, 539, 0 ), /* 538 manyca */
- S_ST( 't', 3, 545, 0 ), /* 539 manycas */
- S_ST( 'c', 3, 541, 0 ), /* 540 manycast */
- S_ST( 'l', 3, 542, 0 ), /* 541 manycastc */
- S_ST( 'i', 3, 543, 0 ), /* 542 manycastcl */
- S_ST( 'e', 3, 544, 0 ), /* 543 manycastcli */
- S_ST( 'n', 3, 346, 0 ), /* 544 manycastclie */
- S_ST( 's', 3, 546, 540 ), /* 545 manycast */
- S_ST( 'e', 3, 547, 0 ), /* 546 manycasts */
- S_ST( 'r', 3, 548, 0 ), /* 547 manycastse */
- S_ST( 'v', 3, 549, 0 ), /* 548 manycastser */
- S_ST( 'e', 3, 347, 0 ), /* 549 manycastserv */
- S_ST( 's', 3, 348, 534 ), /* 550 ma */
- S_ST( 'x', 3, 566, 550 ), /* 551 ma */
- S_ST( 'a', 3, 553, 0 ), /* 552 max */
- S_ST( 'g', 3, 349, 0 ), /* 553 maxa */
- S_ST( 'c', 3, 555, 552 ), /* 554 max */
- S_ST( 'l', 3, 556, 0 ), /* 555 maxc */
- S_ST( 'o', 3, 557, 0 ), /* 556 maxcl */
- S_ST( 'c', 3, 350, 0 ), /* 557 maxclo */
- S_ST( 'd', 3, 562, 554 ), /* 558 max */
- S_ST( 'e', 3, 560, 0 ), /* 559 maxd */
- S_ST( 'p', 3, 561, 0 ), /* 560 maxde */
- S_ST( 't', 3, 351, 0 ), /* 561 maxdep */
- S_ST( 'i', 3, 563, 559 ), /* 562 maxd */
- S_ST( 's', 3, 352, 0 ), /* 563 maxdi */
- S_ST( 'm', 3, 565, 558 ), /* 564 max */
- S_ST( 'e', 3, 353, 0 ), /* 565 maxm */
- S_ST( 'p', 3, 567, 564 ), /* 566 max */
- S_ST( 'o', 3, 568, 0 ), /* 567 maxp */
- S_ST( 'l', 3, 354, 0 ), /* 568 maxpo */
- S_ST( 'd', 3, 570, 533 ), /* 569 m */
- S_ST( 'n', 3, 571, 0 ), /* 570 md */
- S_ST( 's', 3, 572, 0 ), /* 571 mdn */
- S_ST( 't', 3, 573, 0 ), /* 572 mdns */
- S_ST( 'r', 3, 574, 0 ), /* 573 mdnst */
- S_ST( 'i', 3, 575, 0 ), /* 574 mdnstr */
- S_ST( 'e', 3, 355, 0 ), /* 575 mdnstri */
- S_ST( 'e', 3, 356, 569 ), /* 576 m */
- S_ST( 'l', 3, 578, 0 ), /* 577 mem */
- S_ST( 'o', 3, 579, 0 ), /* 578 meml */
- S_ST( 'c', 3, 357, 0 ), /* 579 memlo */
- S_ST( 'i', 3, 581, 576 ), /* 580 m */
- S_ST( 'n', 3, 603, 0 ), /* 581 mi */
- S_ST( 'c', 3, 583, 0 ), /* 582 min */
- S_ST( 'l', 3, 584, 0 ), /* 583 minc */
- S_ST( 'o', 3, 585, 0 ), /* 584 mincl */
- S_ST( 'c', 3, 358, 0 ), /* 585 minclo */
- S_ST( 'd', 3, 590, 582 ), /* 586 min */
- S_ST( 'e', 3, 588, 0 ), /* 587 mind */
- S_ST( 'p', 3, 589, 0 ), /* 588 minde */
- S_ST( 't', 3, 359, 0 ), /* 589 mindep */
- S_ST( 'i', 3, 591, 587 ), /* 590 mind */
- S_ST( 's', 3, 360, 0 ), /* 591 mindi */
- S_ST( 'i', 3, 593, 586 ), /* 592 min */
- S_ST( 'm', 3, 594, 0 ), /* 593 mini */
- S_ST( 'u', 3, 361, 0 ), /* 594 minim */
- S_ST( 'j', 3, 596, 592 ), /* 595 min */
- S_ST( 'i', 3, 597, 0 ), /* 596 minj */
- S_ST( 't', 3, 598, 0 ), /* 597 minji */
- S_ST( 't', 3, 599, 0 ), /* 598 minjit */
- S_ST( 'e', 3, 362, 0 ), /* 599 minjitt */
- S_ST( 'p', 3, 601, 595 ), /* 600 min */
- S_ST( 'o', 3, 602, 0 ), /* 601 minp */
- S_ST( 'l', 3, 363, 0 ), /* 602 minpo */
- S_ST( 's', 3, 604, 600 ), /* 603 min */
- S_ST( 'a', 3, 605, 0 ), /* 604 mins */
- S_ST( 'n', 3, 364, 0 ), /* 605 minsa */
- S_ST( 'o', 3, 608, 580 ), /* 606 m */
- S_ST( 'd', 3, 365, 0 ), /* 607 mo */
- S_ST( 'n', 3, 612, 607 ), /* 608 mo */
- S_ST( 'i', 3, 610, 0 ), /* 609 mon */
- S_ST( 't', 3, 611, 0 ), /* 610 moni */
- S_ST( 'o', 3, 367, 0 ), /* 611 monit */
- S_ST( 't', 3, 368, 609 ), /* 612 mon */
- S_ST( 'r', 3, 369, 606 ), /* 613 m */
- S_ST( 's', 3, 615, 613 ), /* 614 m */
- S_ST( 's', 3, 616, 0 ), /* 615 ms */
- S_ST( 'n', 3, 617, 0 ), /* 616 mss */
- S_ST( 't', 3, 370, 0 ), /* 617 mssn */
- S_ST( 'u', 3, 619, 614 ), /* 618 m */
- S_ST( 'l', 3, 620, 0 ), /* 619 mu */
- S_ST( 't', 3, 621, 0 ), /* 620 mul */
- S_ST( 'i', 3, 622, 0 ), /* 621 mult */
- S_ST( 'c', 3, 623, 0 ), /* 622 multi */
- S_ST( 'a', 3, 624, 0 ), /* 623 multic */
- S_ST( 's', 3, 625, 0 ), /* 624 multica */
- S_ST( 't', 3, 626, 0 ), /* 625 multicas */
- S_ST( 'c', 3, 627, 0 ), /* 626 multicast */
- S_ST( 'l', 3, 628, 0 ), /* 627 multicastc */
- S_ST( 'i', 3, 629, 0 ), /* 628 multicastcl */
- S_ST( 'e', 3, 630, 0 ), /* 629 multicastcli */
- S_ST( 'n', 3, 371, 0 ), /* 630 multicastclie */
- S_ST( 'n', 3, 678, 532 ), /* 631 */
- S_ST( 'i', 3, 372, 0 ), /* 632 n */
- S_ST( 'o', 3, 673, 632 ), /* 633 n */
- S_ST( 'e', 3, 635, 0 ), /* 634 no */
- S_ST( 'p', 3, 636, 0 ), /* 635 noe */
- S_ST( 'e', 3, 637, 0 ), /* 636 noep */
- S_ST( 'e', 3, 378, 0 ), /* 637 noepe */
- S_ST( 'l', 3, 639, 634 ), /* 638 no */
- S_ST( 'i', 3, 640, 0 ), /* 639 nol */
- S_ST( 'n', 3, 373, 0 ), /* 640 noli */
- S_ST( 'm', 3, 646, 638 ), /* 641 no */
- S_ST( 'o', 3, 643, 0 ), /* 642 nom */
- S_ST( 'd', 3, 644, 0 ), /* 643 nomo */
- S_ST( 'i', 3, 645, 0 ), /* 644 nomod */
- S_ST( 'f', 3, 374, 0 ), /* 645 nomodi */
- S_ST( 'r', 3, 647, 642 ), /* 646 nom */
- S_ST( 'u', 3, 648, 0 ), /* 647 nomr */
- S_ST( 'l', 3, 649, 0 ), /* 648 nomru */
- S_ST( 'i', 3, 650, 0 ), /* 649 nomrul */
- S_ST( 's', 3, 375, 0 ), /* 650 nomruli */
- S_ST( 'n', 3, 652, 641 ), /* 651 no */
- S_ST( 'v', 3, 653, 376 ), /* 652 non */
- S_ST( 'o', 3, 654, 0 ), /* 653 nonv */
- S_ST( 'l', 3, 655, 0 ), /* 654 nonvo */
- S_ST( 'a', 3, 656, 0 ), /* 655 nonvol */
- S_ST( 't', 3, 657, 0 ), /* 656 nonvola */
- S_ST( 'i', 3, 658, 0 ), /* 657 nonvolat */
- S_ST( 'l', 3, 377, 0 ), /* 658 nonvolati */
- S_ST( 'p', 3, 660, 651 ), /* 659 no */
- S_ST( 'e', 3, 661, 0 ), /* 660 nop */
- S_ST( 'e', 3, 379, 0 ), /* 661 nope */
- S_ST( 'q', 3, 663, 659 ), /* 662 no */
- S_ST( 'u', 3, 664, 0 ), /* 663 noq */
- S_ST( 'e', 3, 665, 0 ), /* 664 noqu */
- S_ST( 'r', 3, 380, 0 ), /* 665 noque */
- S_ST( 's', 3, 667, 662 ), /* 666 no */
- S_ST( 'e', 3, 671, 0 ), /* 667 nos */
- S_ST( 'l', 3, 669, 0 ), /* 668 nose */
- S_ST( 'e', 3, 670, 0 ), /* 669 nosel */
- S_ST( 'c', 3, 381, 0 ), /* 670 nosele */
- S_ST( 'r', 3, 672, 668 ), /* 671 nose */
- S_ST( 'v', 3, 382, 0 ), /* 672 noser */
- S_ST( 't', 3, 674, 666 ), /* 673 no */
- S_ST( 'r', 3, 676, 0 ), /* 674 not */
- S_ST( 'a', 3, 383, 0 ), /* 675 notr */
- S_ST( 'u', 3, 677, 675 ), /* 676 notr */
- S_ST( 's', 3, 384, 0 ), /* 677 notru */
- S_ST( 't', 3, 385, 633 ), /* 678 n */
- S_ST( 'p', 3, 680, 0 ), /* 679 ntp */
- S_ST( 'o', 3, 681, 0 ), /* 680 ntpp */
- S_ST( 'r', 3, 386, 0 ), /* 681 ntppo */
- S_ST( 's', 3, 683, 679 ), /* 682 ntp */
- S_ST( 'i', 3, 684, 0 ), /* 683 ntps */
- S_ST( 'g', 3, 685, 0 ), /* 684 ntpsi */
- S_ST( 'n', 3, 686, 0 ), /* 685 ntpsig */
- S_ST( 'd', 3, 687, 0 ), /* 686 ntpsign */
- S_ST( 's', 3, 688, 0 ), /* 687 ntpsignd */
- S_ST( 'o', 3, 689, 0 ), /* 688 ntpsignds */
- S_ST( 'c', 3, 690, 0 ), /* 689 ntpsigndso */
- S_ST( 'k', 3, 691, 0 ), /* 690 ntpsigndsoc */
- S_ST( 'e', 3, 387, 0 ), /* 691 ntpsigndsock */
- S_ST( 'o', 3, 693, 631 ), /* 692 */
- S_ST( 'r', 3, 694, 0 ), /* 693 o */
- S_ST( 'p', 3, 695, 0 ), /* 694 or */
- S_ST( 'h', 3, 696, 0 ), /* 695 orp */
- S_ST( 'a', 3, 388, 0 ), /* 696 orph */
- S_ST( 'w', 3, 698, 0 ), /* 697 orphan */
- S_ST( 'a', 3, 699, 0 ), /* 698 orphanw */
- S_ST( 'i', 3, 389, 0 ), /* 699 orphanwa */
- S_ST( 'p', 3, 405, 692 ), /* 700 */
- S_ST( 'a', 3, 702, 0 ), /* 701 p */
- S_ST( 'n', 3, 703, 0 ), /* 702 pa */
- S_ST( 'i', 3, 391, 0 ), /* 703 pan */
- S_ST( 'e', 3, 705, 701 ), /* 704 p */
- S_ST( 'e', 3, 392, 0 ), /* 705 pe */
- S_ST( '_', 3, 707, 0 ), /* 706 peer */
- S_ST( 'c', 3, 708, 0 ), /* 707 peer_ */
- S_ST( 'l', 3, 709, 0 ), /* 708 peer_c */
- S_ST( 'e', 3, 710, 0 ), /* 709 peer_cl */
- S_ST( 'a', 3, 711, 0 ), /* 710 peer_cle */
- S_ST( 'r', 3, 712, 0 ), /* 711 peer_clea */
- S_ST( '_', 3, 713, 0 ), /* 712 peer_clear */
- S_ST( 'd', 3, 714, 0 ), /* 713 peer_clear_ */
- S_ST( 'i', 3, 715, 0 ), /* 714 peer_clear_d */
- S_ST( 'g', 3, 716, 0 ), /* 715 peer_clear_di */
- S_ST( 'e', 3, 717, 0 ), /* 716 peer_clear_dig */
- S_ST( 's', 3, 718, 0 ), /* 717 peer_clear_dige */
- S_ST( 't', 3, 719, 0 ), /* 718 peer_clear_diges */
- S_ST( '_', 3, 720, 0 ), /* 719 peer_clear_digest */
- S_ST( 'e', 3, 721, 0 ), /* 720 peer_clear_digest_ */
- S_ST( 'a', 3, 722, 0 ), /* 721 peer_clear_digest_e */
- S_ST( 'r', 3, 723, 0 ), /* 722 peer_clear_digest_ea */
- S_ST( 'l', 3, 390, 0 ), /* 723 peer_clear_digest_ear */
- S_ST( 's', 3, 725, 706 ), /* 724 peer */
- S_ST( 't', 3, 726, 0 ), /* 725 peers */
- S_ST( 'a', 3, 727, 0 ), /* 726 peerst */
- S_ST( 't', 3, 393, 0 ), /* 727 peersta */
- S_ST( 'h', 3, 729, 704 ), /* 728 p */
- S_ST( 'o', 3, 730, 0 ), /* 729 ph */
- S_ST( 'n', 3, 394, 0 ), /* 730 pho */
- S_ST( 'i', 3, 395, 728 ), /* 731 p */
- S_ST( 'f', 3, 733, 0 ), /* 732 pid */
- S_ST( 'i', 3, 734, 0 ), /* 733 pidf */
- S_ST( 'l', 3, 396, 0 ), /* 734 pidfi */
- S_ST( 'o', 3, 745, 731 ), /* 735 p */
- S_ST( 'l', 3, 397, 0 ), /* 736 po */
- S_ST( 's', 3, 738, 0 ), /* 737 poll */
- S_ST( 'k', 3, 739, 0 ), /* 738 polls */
- S_ST( 'e', 3, 740, 0 ), /* 739 pollsk */
- S_ST( 'w', 3, 741, 0 ), /* 740 pollske */
- S_ST( 'l', 3, 742, 0 ), /* 741 pollskew */
- S_ST( 'i', 3, 743, 0 ), /* 742 pollskewl */
- S_ST( 's', 3, 398, 0 ), /* 743 pollskewli */
- S_ST( 'o', 3, 399, 736 ), /* 744 po */
- S_ST( 'r', 3, 400, 744 ), /* 745 po */
- S_ST( 'p', 3, 747, 735 ), /* 746 p */
- S_ST( 's', 3, 748, 0 ), /* 747 pp */
- S_ST( 'd', 3, 749, 0 ), /* 748 pps */
- S_ST( 'a', 3, 750, 0 ), /* 749 ppsd */
- S_ST( 't', 3, 401, 0 ), /* 750 ppsda */
- S_ST( 'r', 3, 758, 746 ), /* 751 p */
- S_ST( 'e', 3, 756, 0 ), /* 752 pr */
- S_ST( 'e', 3, 754, 0 ), /* 753 pre */
- S_ST( 'm', 3, 755, 0 ), /* 754 pree */
- S_ST( 'p', 3, 402, 0 ), /* 755 preem */
- S_ST( 'f', 3, 757, 753 ), /* 756 pre */
- S_ST( 'e', 3, 403, 0 ), /* 757 pref */
- S_ST( 'o', 3, 771, 752 ), /* 758 pr */
- S_ST( 'c', 3, 760, 0 ), /* 759 pro */
- S_ST( '_', 3, 761, 0 ), /* 760 proc */
- S_ST( 'd', 3, 762, 0 ), /* 761 proc_ */
- S_ST( 'e', 3, 763, 0 ), /* 762 proc_d */
- S_ST( 'l', 3, 764, 0 ), /* 763 proc_de */
- S_ST( 'a', 3, 469, 0 ), /* 764 proc_del */
- S_ST( 'p', 3, 766, 759 ), /* 765 pro */
- S_ST( '_', 3, 767, 0 ), /* 766 prop */
- S_ST( 'd', 3, 768, 0 ), /* 767 prop_ */
- S_ST( 'e', 3, 769, 0 ), /* 768 prop_d */
- S_ST( 'l', 3, 770, 0 ), /* 769 prop_de */
- S_ST( 'a', 3, 468, 0 ), /* 770 prop_del */
- S_ST( 't', 3, 772, 765 ), /* 771 pro */
- S_ST( 'o', 3, 773, 0 ), /* 772 prot */
- S_ST( 's', 3, 774, 0 ), /* 773 proto */
- S_ST( 't', 3, 775, 0 ), /* 774 protos */
- S_ST( 'a', 3, 776, 0 ), /* 775 protost */
- S_ST( 't', 3, 404, 0 ), /* 776 protosta */
- S_ST( 'r', 3, 808, 700 ), /* 777 */
- S_ST( 'a', 3, 784, 0 ), /* 778 r */
- S_ST( 'n', 3, 780, 0 ), /* 779 ra */
- S_ST( 'd', 3, 781, 0 ), /* 780 ran */
- S_ST( 'f', 3, 782, 0 ), /* 781 rand */
- S_ST( 'i', 3, 783, 0 ), /* 782 randf */
- S_ST( 'l', 3, 406, 0 ), /* 783 randfi */
- S_ST( 'w', 3, 785, 779 ), /* 784 ra */
- S_ST( 's', 3, 786, 0 ), /* 785 raw */
- S_ST( 't', 3, 787, 0 ), /* 786 raws */
- S_ST( 'a', 3, 788, 0 ), /* 787 rawst */
- S_ST( 't', 3, 407, 0 ), /* 788 rawsta */
- S_ST( 'e', 3, 805, 778 ), /* 789 r */
- S_ST( 'f', 3, 791, 0 ), /* 790 re */
- S_ST( 'i', 3, 408, 0 ), /* 791 ref */
- S_ST( 'q', 3, 793, 790 ), /* 792 re */
- S_ST( 'u', 3, 794, 0 ), /* 793 req */
- S_ST( 'e', 3, 795, 0 ), /* 794 requ */
- S_ST( 's', 3, 796, 0 ), /* 795 reque */
- S_ST( 't', 3, 797, 0 ), /* 796 reques */
- S_ST( 'k', 3, 798, 0 ), /* 797 request */
- S_ST( 'e', 3, 409, 0 ), /* 798 requestk */
- S_ST( 's', 3, 801, 792 ), /* 799 re */
- S_ST( 'e', 3, 410, 0 ), /* 800 res */
- S_ST( 't', 3, 802, 800 ), /* 801 res */
- S_ST( 'r', 3, 803, 0 ), /* 802 rest */
- S_ST( 'i', 3, 804, 0 ), /* 803 restr */
- S_ST( 'c', 3, 411, 0 ), /* 804 restri */
- S_ST( 'v', 3, 806, 799 ), /* 805 re */
- S_ST( 'o', 3, 807, 0 ), /* 806 rev */
- S_ST( 'k', 3, 412, 0 ), /* 807 revo */
- S_ST( 'l', 3, 809, 789 ), /* 808 r */
- S_ST( 'i', 3, 810, 0 ), /* 809 rl */
- S_ST( 'm', 3, 811, 0 ), /* 810 rli */
- S_ST( 'i', 3, 413, 0 ), /* 811 rlim */
- S_ST( 's', 3, 892, 777 ), /* 812 */
- S_ST( 'a', 3, 814, 0 ), /* 813 s */
- S_ST( 'v', 3, 815, 0 ), /* 814 sa */
- S_ST( 'e', 3, 816, 0 ), /* 815 sav */
- S_ST( 'c', 3, 817, 0 ), /* 816 save */
- S_ST( 'o', 3, 818, 0 ), /* 817 savec */
- S_ST( 'n', 3, 819, 0 ), /* 818 saveco */
- S_ST( 'f', 3, 820, 0 ), /* 819 savecon */
- S_ST( 'i', 3, 821, 0 ), /* 820 saveconf */
- S_ST( 'g', 3, 822, 0 ), /* 821 saveconfi */
- S_ST( 'd', 3, 823, 0 ), /* 822 saveconfig */
- S_ST( 'i', 3, 414, 0 ), /* 823 saveconfigd */
- S_ST( 'e', 3, 841, 813 ), /* 824 s */
- S_ST( 'r', 3, 826, 0 ), /* 825 se */
- S_ST( 'v', 3, 827, 0 ), /* 826 ser */
- S_ST( 'e', 3, 415, 0 ), /* 827 serv */
- S_ST( '_', 3, 829, 0 ), /* 828 server */
- S_ST( 'o', 3, 830, 0 ), /* 829 server_ */
- S_ST( 'f', 3, 831, 0 ), /* 830 server_o */
- S_ST( 'f', 3, 832, 0 ), /* 831 server_of */
- S_ST( 's', 3, 833, 0 ), /* 832 server_off */
- S_ST( 'e', 3, 463, 0 ), /* 833 server_offs */
- S_ST( 'r', 3, 835, 828 ), /* 834 server */
- S_ST( 'e', 3, 836, 0 ), /* 835 serverr */
- S_ST( 's', 3, 837, 0 ), /* 836 serverre */
- S_ST( 'p', 3, 838, 0 ), /* 837 serverres */
- S_ST( 'o', 3, 839, 0 ), /* 838 serverresp */
- S_ST( 'n', 3, 840, 0 ), /* 839 serverrespo */
- S_ST( 's', 3, 416, 0 ), /* 840 serverrespon */
- S_ST( 't', 3, 842, 825 ), /* 841 se */
- S_ST( 'v', 3, 843, 0 ), /* 842 set */
- S_ST( 'a', 3, 418, 0 ), /* 843 setv */
- S_ST( 'i', 3, 845, 824 ), /* 844 s */
- S_ST( 'm', 3, 846, 0 ), /* 845 si */
- S_ST( 'u', 3, 847, 0 ), /* 846 sim */
- S_ST( 'l', 3, 848, 0 ), /* 847 simu */
- S_ST( 'a', 3, 849, 0 ), /* 848 simul */
- S_ST( 't', 3, 850, 0 ), /* 849 simula */
- S_ST( 'i', 3, 851, 460 ), /* 850 simulat */
- S_ST( 'o', 3, 852, 0 ), /* 851 simulati */
- S_ST( 'n', 3, 853, 0 ), /* 852 simulatio */
- S_ST( '_', 3, 854, 0 ), /* 853 simulation */
- S_ST( 'd', 3, 855, 0 ), /* 854 simulation_ */
- S_ST( 'u', 3, 856, 0 ), /* 855 simulation_d */
- S_ST( 'r', 3, 857, 0 ), /* 856 simulation_du */
- S_ST( 'a', 3, 858, 0 ), /* 857 simulation_dur */
- S_ST( 't', 3, 859, 0 ), /* 858 simulation_dura */
- S_ST( 'i', 3, 860, 0 ), /* 859 simulation_durat */
- S_ST( 'o', 3, 462, 0 ), /* 860 simulation_durati */
- S_ST( 'o', 3, 862, 844 ), /* 861 s */
- S_ST( 'u', 3, 863, 0 ), /* 862 so */
- S_ST( 'r', 3, 864, 0 ), /* 863 sou */
- S_ST( 'c', 3, 419, 0 ), /* 864 sour */
- S_ST( 't', 3, 888, 861 ), /* 865 s */
- S_ST( 'a', 3, 872, 0 ), /* 866 st */
- S_ST( 'c', 3, 868, 0 ), /* 867 sta */
- S_ST( 'k', 3, 869, 0 ), /* 868 stac */
- S_ST( 's', 3, 870, 0 ), /* 869 stack */
- S_ST( 'i', 3, 871, 0 ), /* 870 stacks */
- S_ST( 'z', 3, 420, 0 ), /* 871 stacksi */
- S_ST( 't', 3, 422, 867 ), /* 872 sta */
- S_ST( 'i', 3, 874, 0 ), /* 873 stat */
- S_ST( 's', 3, 875, 0 ), /* 874 stati */
- S_ST( 't', 3, 876, 0 ), /* 875 statis */
- S_ST( 'i', 3, 877, 0 ), /* 876 statist */
- S_ST( 'c', 3, 421, 0 ), /* 877 statisti */
- S_ST( 'd', 3, 879, 0 ), /* 878 stats */
- S_ST( 'i', 3, 423, 0 ), /* 879 statsd */
- S_ST( 'e', 3, 424, 866 ), /* 880 st */
- S_ST( 'b', 3, 882, 0 ), /* 881 step */
- S_ST( 'a', 3, 883, 0 ), /* 882 stepb */
- S_ST( 'c', 3, 425, 0 ), /* 883 stepba */
- S_ST( 'f', 3, 885, 881 ), /* 884 step */
- S_ST( 'w', 3, 426, 0 ), /* 885 stepf */
- S_ST( 'o', 3, 887, 884 ), /* 886 step */
- S_ST( 'u', 3, 427, 0 ), /* 887 stepo */
- S_ST( 'r', 3, 889, 880 ), /* 888 st */
- S_ST( 'a', 3, 890, 0 ), /* 889 str */
- S_ST( 't', 3, 891, 0 ), /* 890 stra */
- S_ST( 'u', 3, 428, 0 ), /* 891 strat */
- S_ST( 'y', 3, 430, 865 ), /* 892 s */
- S_ST( 's', 3, 894, 0 ), /* 893 sys */
- S_ST( 't', 3, 895, 0 ), /* 894 syss */
- S_ST( 'a', 3, 896, 0 ), /* 895 sysst */
- S_ST( 't', 3, 431, 0 ), /* 896 syssta */
- S_ST( 't', 3, 926, 812 ), /* 897 */
- S_ST( 'i', 3, 912, 0 ), /* 898 t */
- S_ST( 'c', 3, 432, 0 ), /* 899 ti */
- S_ST( 'm', 3, 905, 899 ), /* 900 ti */
- S_ST( 'e', 3, 436, 0 ), /* 901 tim */
- S_ST( 'd', 3, 903, 434 ), /* 902 time */
- S_ST( 'a', 3, 904, 0 ), /* 903 timed */
- S_ST( 't', 3, 435, 0 ), /* 904 timeda */
- S_ST( 'i', 3, 906, 901 ), /* 905 tim */
- S_ST( 'n', 3, 907, 0 ), /* 906 timi */
- S_ST( 'g', 3, 908, 0 ), /* 907 timin */
- S_ST( 's', 3, 909, 0 ), /* 908 timing */
- S_ST( 't', 3, 910, 0 ), /* 909 timings */
- S_ST( 'a', 3, 911, 0 ), /* 910 timingst */
- S_ST( 't', 3, 437, 0 ), /* 911 timingsta */
- S_ST( 'n', 3, 913, 900 ), /* 912 ti */
- S_ST( 'k', 3, 914, 0 ), /* 913 tin */
- S_ST( 'e', 3, 438, 0 ), /* 914 tink */
- S_ST( 'o', 3, 439, 898 ), /* 915 t */
- S_ST( 'r', 3, 918, 915 ), /* 916 t */
- S_ST( 'a', 3, 440, 0 ), /* 917 tr */
- S_ST( 'u', 3, 919, 917 ), /* 918 tr */
- S_ST( 's', 3, 920, 441 ), /* 919 tru */
- S_ST( 't', 3, 921, 0 ), /* 920 trus */
- S_ST( 'e', 3, 922, 0 ), /* 921 trust */
- S_ST( 'd', 3, 923, 0 ), /* 922 truste */
- S_ST( 'k', 3, 924, 0 ), /* 923 trusted */
- S_ST( 'e', 3, 442, 0 ), /* 924 trustedk */
- S_ST( 't', 3, 443, 916 ), /* 925 t */
- S_ST( 'y', 3, 927, 925 ), /* 926 t */
- S_ST( 'p', 3, 444, 0 ), /* 927 ty */
- S_ST( 'u', 3, 929, 897 ), /* 928 */
- S_ST( 'n', 3, 935, 0 ), /* 929 u */
- S_ST( 'c', 3, 931, 0 ), /* 930 un */
- S_ST( 'o', 3, 932, 0 ), /* 931 unc */
- S_ST( 'n', 3, 933, 0 ), /* 932 unco */
- S_ST( 'f', 3, 934, 0 ), /* 933 uncon */
- S_ST( 'i', 3, 449, 0 ), /* 934 unconf */
- S_ST( 'p', 3, 936, 930 ), /* 935 un */
- S_ST( 'e', 3, 937, 0 ), /* 936 unp */
- S_ST( 'e', 3, 450, 0 ), /* 937 unpe */
- S_ST( '_', 3, 958, 0 ), /* 938 unpeer */
- S_ST( 'c', 3, 940, 0 ), /* 939 unpeer_ */
- S_ST( 'r', 3, 941, 0 ), /* 940 unpeer_c */
- S_ST( 'y', 3, 942, 0 ), /* 941 unpeer_cr */
- S_ST( 'p', 3, 943, 0 ), /* 942 unpeer_cry */
- S_ST( 't', 3, 944, 0 ), /* 943 unpeer_cryp */
- S_ST( 'o', 3, 945, 0 ), /* 944 unpeer_crypt */
- S_ST( '_', 3, 950, 0 ), /* 945 unpeer_crypto */
- S_ST( 'e', 3, 947, 0 ), /* 946 unpeer_crypto_ */
- S_ST( 'a', 3, 948, 0 ), /* 947 unpeer_crypto_e */
- S_ST( 'r', 3, 949, 0 ), /* 948 unpeer_crypto_ea */
- S_ST( 'l', 3, 446, 0 ), /* 949 unpeer_crypto_ear */
- S_ST( 'n', 3, 951, 946 ), /* 950 unpeer_crypto_ */
- S_ST( 'a', 3, 952, 0 ), /* 951 unpeer_crypto_n */
- S_ST( 'k', 3, 953, 0 ), /* 952 unpeer_crypto_na */
- S_ST( '_', 3, 954, 0 ), /* 953 unpeer_crypto_nak */
- S_ST( 'e', 3, 955, 0 ), /* 954 unpeer_crypto_nak_ */
- S_ST( 'a', 3, 956, 0 ), /* 955 unpeer_crypto_nak_e */
- S_ST( 'r', 3, 957, 0 ), /* 956 unpeer_crypto_nak_ea */
- S_ST( 'l', 3, 447, 0 ), /* 957 unpeer_crypto_nak_ear */
- S_ST( 'd', 3, 959, 939 ), /* 958 unpeer_ */
- S_ST( 'i', 3, 960, 0 ), /* 959 unpeer_d */
- S_ST( 'g', 3, 961, 0 ), /* 960 unpeer_di */
- S_ST( 'e', 3, 962, 0 ), /* 961 unpeer_dig */
- S_ST( 's', 3, 963, 0 ), /* 962 unpeer_dige */
- S_ST( 't', 3, 964, 0 ), /* 963 unpeer_diges */
- S_ST( '_', 3, 965, 0 ), /* 964 unpeer_digest */
- S_ST( 'e', 3, 966, 0 ), /* 965 unpeer_digest_ */
- S_ST( 'a', 3, 967, 0 ), /* 966 unpeer_digest_e */
- S_ST( 'r', 3, 968, 0 ), /* 967 unpeer_digest_ea */
- S_ST( 'l', 3, 448, 0 ), /* 968 unpeer_digest_ear */
- S_ST( 'v', 3, 970, 928 ), /* 969 */
- S_ST( 'e', 3, 971, 0 ), /* 970 v */
- S_ST( 'r', 3, 972, 0 ), /* 971 ve */
- S_ST( 's', 3, 973, 0 ), /* 972 ver */
- S_ST( 'i', 3, 974, 0 ), /* 973 vers */
- S_ST( 'o', 3, 451, 0 ), /* 974 versi */
- S_ST( 'w', 3, 982, 969 ), /* 975 */
- S_ST( 'a', 3, 977, 0 ), /* 976 w */
- S_ST( 'n', 3, 978, 0 ), /* 977 wa */
- S_ST( 'd', 3, 979, 0 ), /* 978 wan */
- S_ST( 'e', 3, 466, 0 ), /* 979 wand */
- S_ST( 'e', 3, 981, 976 ), /* 980 w */
- S_ST( 'e', 3, 453, 0 ), /* 981 we */
- S_ST( 'i', 3, 983, 980 ), /* 982 w */
- S_ST( 'l', 3, 984, 0 ), /* 983 wi */
- S_ST( 'd', 3, 985, 0 ), /* 984 wil */
- S_ST( 'c', 3, 986, 0 ), /* 985 wild */
- S_ST( 'a', 3, 987, 0 ), /* 986 wildc */
- S_ST( 'r', 3, 454, 0 ), /* 987 wildca */
- S_ST( 'x', 3, 993, 975 ), /* 988 */
- S_ST( 'l', 3, 990, 0 ), /* 989 x */
- S_ST( 'e', 3, 991, 0 ), /* 990 xl */
- S_ST( 'a', 3, 992, 0 ), /* 991 xle */
- S_ST( 'v', 3, 455, 0 ), /* 992 xlea */
- S_ST( 'm', 3, 994, 989 ), /* 993 x */
- S_ST( 't', 3, 995, 0 ), /* 994 xm */
- S_ST( 'n', 3, 996, 0 ), /* 995 xmt */
- S_ST( 'o', 3, 997, 0 ), /* 996 xmtn */
- S_ST( 'n', 3, 998, 0 ), /* 997 xmtno */
- S_ST( 'c', 3, 456, 0 ), /* 998 xmtnon */
- S_ST( 'y', 3, 1000, 988 ), /* 999 [initial state] */
- S_ST( 'e', 3, 1001, 0 ), /* 1000 y */
- S_ST( 'a', 3, 457, 0 ) /* 1001 ye */
+ S_ST( 't', 0, 0, 0 ), /* 286 T_Delrestrict */
+ S_ST( 'e', 1, 0, 0 ), /* 287 T_Device */
+ S_ST( 't', 1, 0, 0 ), /* 288 T_Digest */
+ S_ST( 'e', 0, 0, 0 ), /* 289 T_Disable */
+ S_ST( 'd', 0, 0, 0 ), /* 290 T_Discard */
+ S_ST( 'n', 0, 0, 0 ), /* 291 T_Dispersion */
+ S_ST( 'e', 3, 300, 0 ), /* 292 int */
+ S_ST( 'e', 1, 0, 0 ), /* 293 T_Driftfile */
+ S_ST( 'p', 0, 0, 0 ), /* 294 T_Drop */
+ S_ST( 'p', 0, 0, 0 ), /* 295 T_Dscp */
+ S_ST( '.', 0, 0, 0 ), /* 296 T_Ellipsis */
+ S_ST( 'e', 0, 0, 0 ), /* 297 T_Enable */
+ S_ST( 'd', 0, 0, 179 ), /* 298 T_End */
+ S_ST( 'r', 0, 0, 0 ), /* 299 T_Epeer */
+ S_ST( 'r', 3, 324, 0 ), /* 300 inte */
+ S_ST( 'e', 1, 190, 0 ), /* 301 T_File */
+ S_ST( 'n', 0, 0, 0 ), /* 302 T_Filegen */
+ S_ST( 'm', 0, 0, 0 ), /* 303 T_Filenum */
+ S_ST( '1', 0, 0, 0 ), /* 304 T_Flag1 */
+ S_ST( '2', 0, 0, 304 ), /* 305 T_Flag2 */
+ S_ST( '3', 0, 0, 305 ), /* 306 T_Flag3 */
+ S_ST( '4', 0, 0, 306 ), /* 307 T_Flag4 */
+ S_ST( 'e', 0, 0, 0 ), /* 308 T_Flake */
+ S_ST( 'r', 0, 0, 0 ), /* 309 T_Floor */
+ S_ST( 'q', 0, 200, 0 ), /* 310 T_Freq */
+ S_ST( 'e', 1, 0, 0 ), /* 311 T_Fudge */
+ S_ST( 'z', 0, 0, 0 ), /* 312 T_Fuzz */
+ S_ST( 't', 1, 0, 0 ), /* 313 T_Host */
+ S_ST( 'f', 0, 0, 0 ), /* 314 T_Huffpuff */
+ S_ST( 't', 0, 0, 0 ), /* 315 T_Iburst */
+ S_ST( 't', 1, 0, 0 ), /* 316 T_Ident */
+ S_ST( 'e', 0, 231, 0 ), /* 317 T_Ignore */
+ S_ST( 'h', 0, 0, 0 ), /* 318 T_Ignorehash */
+ S_ST( 'c', 0, 0, 0 ), /* 319 T_Incalloc */
+ S_ST( 'm', 0, 0, 0 ), /* 320 T_Incmem */
+ S_ST( 'c', 0, 0, 0 ), /* 321 T_Initalloc */
+ S_ST( 'm', 0, 0, 0 ), /* 322 T_Initmem */
+ S_ST( 'e', 1, 0, 0 ), /* 323 T_Includefile */
+ S_ST( 'f', 3, 326, 0 ), /* 324 inter */
+ S_ST( 'e', 0, 0, 0 ), /* 325 T_Interface */
+ S_ST( 'a', 3, 418, 0 ), /* 326 interf */
+ S_ST( 'o', 0, 0, 234 ), /* 327 T_Io */
+ S_ST( 't', 0, 0, 0 ), /* 328 T_Ippeerlimit */
+ S_ST( '4', 0, 0, 0 ), /* 329 T_Ipv4 */
+ S_ST( '4', 0, 0, 0 ), /* 330 T_Ipv4_flag */
+ S_ST( '6', 0, 0, 329 ), /* 331 T_Ipv6 */
+ S_ST( '6', 0, 0, 330 ), /* 332 T_Ipv6_flag */
+ S_ST( 'l', 0, 0, 0 ), /* 333 T_Kernel */
+ S_ST( 'y', 0, 335, 483 ), /* 334 T_Key */
+ S_ST( 's', 1, 486, 0 ), /* 335 T_Keys */
+ S_ST( 'r', 1, 0, 0 ), /* 336 T_Keysdir */
+ S_ST( 'd', 0, 0, 0 ), /* 337 T_Kod */
+ S_ST( 'e', 1, 0, 0 ), /* 338 T_Leapfile */
+ S_ST( 'l', 0, 0, 0 ), /* 339 T_Leapsmearinterval */
+ S_ST( 'd', 0, 0, 0 ), /* 340 T_Limited */
+ S_ST( 'k', 0, 0, 0 ), /* 341 T_Link */
+ S_ST( 'n', 0, 0, 0 ), /* 342 T_Listen */
+ S_ST( 'g', 2, 0, 0 ), /* 343 T_Logconfig */
+ S_ST( 'e', 1, 0, 0 ), /* 344 T_Logfile */
+ S_ST( 's', 0, 0, 0 ), /* 345 T_Loopstats */
+ S_ST( 'p', 0, 0, 0 ), /* 346 T_Lowpriotrap */
+ S_ST( 't', 1, 0, 0 ), /* 347 T_Manycastclient */
+ S_ST( 'r', 2, 0, 0 ), /* 348 T_Manycastserver */
+ S_ST( 'k', 0, 0, 0 ), /* 349 T_Mask */
+ S_ST( 'e', 0, 0, 0 ), /* 350 T_Maxage */
+ S_ST( 'k', 0, 0, 0 ), /* 351 T_Maxclock */
+ S_ST( 'h', 0, 0, 0 ), /* 352 T_Maxdepth */
+ S_ST( 't', 0, 0, 0 ), /* 353 T_Maxdist */
+ S_ST( 'm', 0, 0, 0 ), /* 354 T_Maxmem */
+ S_ST( 'l', 0, 0, 0 ), /* 355 T_Maxpoll */
+ S_ST( 's', 0, 0, 0 ), /* 356 T_Mdnstries */
+ S_ST( 'm', 0, 586, 0 ), /* 357 T_Mem */
+ S_ST( 'k', 0, 0, 0 ), /* 358 T_Memlock */
+ S_ST( 'k', 0, 0, 0 ), /* 359 T_Minclock */
+ S_ST( 'h', 0, 0, 0 ), /* 360 T_Mindepth */
+ S_ST( 't', 0, 0, 0 ), /* 361 T_Mindist */
+ S_ST( 'm', 0, 0, 0 ), /* 362 T_Minimum */
+ S_ST( 'r', 0, 0, 0 ), /* 363 T_Minjitter */
+ S_ST( 'l', 0, 0, 0 ), /* 364 T_Minpoll */
+ S_ST( 'e', 0, 0, 0 ), /* 365 T_Minsane */
+ S_ST( 'e', 0, 367, 0 ), /* 366 T_Mode */
+ S_ST( '7', 0, 0, 0 ), /* 367 T_Mode7 */
+ S_ST( 'r', 0, 0, 0 ), /* 368 T_Monitor */
+ S_ST( 'h', 0, 0, 0 ), /* 369 T_Month */
+ S_ST( 'u', 0, 0, 0 ), /* 370 T_Mru */
+ S_ST( 'p', 0, 0, 0 ), /* 371 T_Mssntp */
+ S_ST( 't', 2, 0, 0 ), /* 372 T_Multicastclient */
+ S_ST( 'c', 0, 0, 0 ), /* 373 T_Nic */
+ S_ST( 'k', 0, 0, 0 ), /* 374 T_Nolink */
+ S_ST( 'y', 0, 0, 0 ), /* 375 T_Nomodify */
+ S_ST( 't', 0, 0, 0 ), /* 376 T_Nomrulist */
+ S_ST( 'e', 0, 0, 0 ), /* 377 T_None */
+ S_ST( 'e', 0, 0, 0 ), /* 378 T_Nonvolatile */
+ S_ST( 'r', 0, 0, 0 ), /* 379 T_Noepeer */
+ S_ST( 'r', 0, 0, 0 ), /* 380 T_Nopeer */
+ S_ST( 'y', 0, 0, 0 ), /* 381 T_Noquery */
+ S_ST( 't', 0, 0, 0 ), /* 382 T_Noselect */
+ S_ST( 'e', 0, 0, 0 ), /* 383 T_Noserve */
+ S_ST( 'p', 0, 0, 0 ), /* 384 T_Notrap */
+ S_ST( 't', 0, 0, 0 ), /* 385 T_Notrust */
+ S_ST( 'p', 0, 691, 0 ), /* 386 T_Ntp */
+ S_ST( 't', 0, 0, 0 ), /* 387 T_Ntpport */
+ S_ST( 't', 1, 0, 0 ), /* 388 T_NtpSignDsocket */
+ S_ST( 'n', 0, 706, 0 ), /* 389 T_Orphan */
+ S_ST( 't', 0, 0, 0 ), /* 390 T_Orphanwait */
+ S_ST( 'y', 0, 0, 0 ), /* 391 T_PCEdigest */
+ S_ST( 'c', 0, 0, 0 ), /* 392 T_Panic */
+ S_ST( 'r', 1, 733, 0 ), /* 393 T_Peer */
+ S_ST( 's', 0, 0, 0 ), /* 394 T_Peerstats */
+ S_ST( 'e', 2, 0, 0 ), /* 395 T_Phone */
+ S_ST( 'd', 0, 741, 0 ), /* 396 T_Pid */
+ S_ST( 'e', 1, 0, 0 ), /* 397 T_Pidfile */
+ S_ST( 'l', 0, 746, 0 ), /* 398 T_Poll */
+ S_ST( 't', 0, 0, 0 ), /* 399 T_PollSkewList */
+ S_ST( 'l', 1, 0, 0 ), /* 400 T_Pool */
+ S_ST( 't', 0, 0, 0 ), /* 401 T_Port */
+ S_ST( 'a', 1, 0, 0 ), /* 402 T_PpsData */
+ S_ST( 't', 0, 0, 0 ), /* 403 T_Preempt */
+ S_ST( 'r', 0, 0, 0 ), /* 404 T_Prefer */
+ S_ST( 's', 0, 0, 0 ), /* 405 T_Protostats */
+ S_ST( 'w', 1, 0, 760 ), /* 406 T_Pw */
+ S_ST( 'e', 1, 0, 0 ), /* 407 T_Randfile */
+ S_ST( 's', 0, 0, 0 ), /* 408 T_Rawstats */
+ S_ST( 'd', 1, 0, 0 ), /* 409 T_Refid */
+ S_ST( 'y', 0, 0, 0 ), /* 410 T_Requestkey */
+ S_ST( 't', 0, 0, 0 ), /* 411 T_Reset */
+ S_ST( 't', 0, 0, 0 ), /* 412 T_Restrict */
+ S_ST( 'e', 0, 0, 0 ), /* 413 T_Revoke */
+ S_ST( 't', 0, 0, 0 ), /* 414 T_Rlimit */
+ S_ST( 'r', 1, 0, 0 ), /* 415 T_Saveconfigdir */
+ S_ST( 'r', 1, 843, 0 ), /* 416 T_Server */
+ S_ST( 'e', 0, 0, 0 ), /* 417 T_Serverresponse */
+ S_ST( 'c', 3, 325, 0 ), /* 418 interfa */
+ S_ST( 'r', 1, 0, 0 ), /* 419 T_Setvar */
+ S_ST( 'e', 0, 0, 0 ), /* 420 T_Source */
+ S_ST( 'e', 0, 0, 0 ), /* 421 T_Stacksize */
+ S_ST( 's', 0, 0, 0 ), /* 422 T_Statistics */
+ S_ST( 's', 0, 887, 882 ), /* 423 T_Stats */
+ S_ST( 'r', 1, 0, 0 ), /* 424 T_Statsdir */
+ S_ST( 'p', 0, 895, 0 ), /* 425 T_Step */
+ S_ST( 'k', 0, 0, 0 ), /* 426 T_Stepback */
+ S_ST( 'd', 0, 0, 0 ), /* 427 T_Stepfwd */
+ S_ST( 't', 0, 0, 0 ), /* 428 T_Stepout */
+ S_ST( 'm', 0, 0, 0 ), /* 429 T_Stratum */
+ S_ST( 'p', 3, 475, 327 ), /* 430 i */
+ S_ST( 's', 0, 902, 0 ), /* 431 T_Sys */
+ S_ST( 's', 0, 0, 0 ), /* 432 T_Sysstats */
+ S_ST( 'k', 0, 0, 0 ), /* 433 T_Tick */
+ S_ST( '1', 0, 0, 0 ), /* 434 T_Time1 */
+ S_ST( '2', 0, 0, 434 ), /* 435 T_Time2 */
+ S_ST( 'a', 1, 0, 0 ), /* 436 T_TimeData */
+ S_ST( 'r', 0, 0, 911 ), /* 437 T_Timer */
+ S_ST( 's', 0, 0, 0 ), /* 438 T_Timingstats */
+ S_ST( 'r', 0, 0, 0 ), /* 439 T_Tinker */
+ S_ST( 's', 0, 0, 0 ), /* 440 T_Tos */
+ S_ST( 'p', 1, 0, 0 ), /* 441 T_Trap */
+ S_ST( 'e', 0, 0, 0 ), /* 442 T_True */
+ S_ST( 'y', 0, 0, 0 ), /* 443 T_Trustedkey */
+ S_ST( 'l', 0, 0, 0 ), /* 444 T_Ttl */
+ S_ST( 'e', 0, 0, 0 ), /* 445 T_Type */
+ S_ST( 'p', 3, 453, 0 ), /* 446 ip */
+ S_ST( 'y', 0, 0, 0 ), /* 447 T_UEcrypto */
+ S_ST( 'y', 0, 0, 0 ), /* 448 T_UEcryptonak */
+ S_ST( 'y', 0, 0, 0 ), /* 449 T_UEdigest */
+ S_ST( 'g', 1, 0, 0 ), /* 450 T_Unconfig */
+ S_ST( 'r', 1, 947, 0 ), /* 451 T_Unpeer */
+ S_ST( 'n', 0, 0, 0 ), /* 452 T_Version */
+ S_ST( 'e', 3, 459, 0 ), /* 453 ipp */
+ S_ST( 'k', 0, 0, 0 ), /* 454 T_Week */
+ S_ST( 'd', 0, 0, 0 ), /* 455 T_Wildcard */
+ S_ST( 'e', 0, 0, 0 ), /* 456 T_Xleave */
+ S_ST( 'e', 0, 0, 0 ), /* 457 T_Xmtnonce */
+ S_ST( 'r', 0, 0, 0 ), /* 458 T_Year */
+ S_ST( 'e', 3, 460, 0 ), /* 459 ippe */
+ S_ST( 'r', 3, 471, 0 ), /* 460 ippee */
+ S_ST( 'e', 0, 0, 0 ), /* 461 T_Simulate */
+ S_ST( 'y', 0, 0, 0 ), /* 462 T_Beep_Delay */
+ S_ST( 'n', 0, 0, 0 ), /* 463 T_Sim_Duration */
+ S_ST( 't', 0, 0, 0 ), /* 464 T_Server_Offset */
+ S_ST( 'n', 0, 0, 0 ), /* 465 T_Duration */
+ S_ST( 't', 0, 0, 0 ), /* 466 T_Freq_Offset */
+ S_ST( 'r', 0, 0, 0 ), /* 467 T_Wander */
+ S_ST( 'r', 0, 0, 0 ), /* 468 T_Jitter */
+ S_ST( 'y', 0, 0, 0 ), /* 469 T_Prop_Delay */
+ S_ST( 'y', 0, 0, 0 ), /* 470 T_Proc_Delay */
+ S_ST( 'l', 3, 472, 0 ), /* 471 ippeer */
+ S_ST( 'i', 3, 473, 0 ), /* 472 ippeerl */
+ S_ST( 'm', 3, 474, 0 ), /* 473 ippeerli */
+ S_ST( 'i', 3, 328, 0 ), /* 474 ippeerlim */
+ S_ST( 'v', 3, 331, 446 ), /* 475 ip */
+ S_ST( 'j', 3, 477, 219 ), /* 476 */
+ S_ST( 'i', 3, 478, 0 ), /* 477 j */
+ S_ST( 't', 3, 479, 0 ), /* 478 ji */
+ S_ST( 't', 3, 480, 0 ), /* 479 jit */
+ S_ST( 'e', 3, 468, 0 ), /* 480 jitt */
+ S_ST( 'k', 3, 488, 476 ), /* 481 */
+ S_ST( 'e', 3, 334, 0 ), /* 482 k */
+ S_ST( 'r', 3, 484, 0 ), /* 483 ke */
+ S_ST( 'n', 3, 485, 0 ), /* 484 ker */
+ S_ST( 'e', 3, 333, 0 ), /* 485 kern */
+ S_ST( 'd', 3, 487, 0 ), /* 486 keys */
+ S_ST( 'i', 3, 336, 0 ), /* 487 keysd */
+ S_ST( 'o', 3, 337, 482 ), /* 488 k */
+ S_ST( 'l', 3, 517, 481 ), /* 489 */
+ S_ST( 'e', 3, 491, 0 ), /* 490 l */
+ S_ST( 'a', 3, 492, 0 ), /* 491 le */
+ S_ST( 'p', 3, 496, 0 ), /* 492 lea */
+ S_ST( 'f', 3, 494, 0 ), /* 493 leap */
+ S_ST( 'i', 3, 495, 0 ), /* 494 leapf */
+ S_ST( 'l', 3, 338, 0 ), /* 495 leapfi */
+ S_ST( 's', 3, 497, 493 ), /* 496 leap */
+ S_ST( 'm', 3, 498, 0 ), /* 497 leaps */
+ S_ST( 'e', 3, 499, 0 ), /* 498 leapsm */
+ S_ST( 'a', 3, 500, 0 ), /* 499 leapsme */
+ S_ST( 'r', 3, 501, 0 ), /* 500 leapsmea */
+ S_ST( 'i', 3, 502, 0 ), /* 501 leapsmear */
+ S_ST( 'n', 3, 503, 0 ), /* 502 leapsmeari */
+ S_ST( 't', 3, 504, 0 ), /* 503 leapsmearin */
+ S_ST( 'e', 3, 505, 0 ), /* 504 leapsmearint */
+ S_ST( 'r', 3, 506, 0 ), /* 505 leapsmearinte */
+ S_ST( 'v', 3, 507, 0 ), /* 506 leapsmearinter */
+ S_ST( 'a', 3, 339, 0 ), /* 507 leapsmearinterv */
+ S_ST( 'i', 3, 514, 490 ), /* 508 l */
+ S_ST( 'm', 3, 510, 0 ), /* 509 li */
+ S_ST( 'i', 3, 511, 0 ), /* 510 lim */
+ S_ST( 't', 3, 512, 0 ), /* 511 limi */
+ S_ST( 'e', 3, 340, 0 ), /* 512 limit */
+ S_ST( 'n', 3, 341, 509 ), /* 513 li */
+ S_ST( 's', 3, 515, 513 ), /* 514 li */
+ S_ST( 't', 3, 516, 0 ), /* 515 lis */
+ S_ST( 'e', 3, 342, 0 ), /* 516 list */
+ S_ST( 'o', 3, 533, 508 ), /* 517 l */
+ S_ST( 'g', 3, 524, 0 ), /* 518 lo */
+ S_ST( 'c', 3, 520, 0 ), /* 519 log */
+ S_ST( 'o', 3, 521, 0 ), /* 520 logc */
+ S_ST( 'n', 3, 522, 0 ), /* 521 logco */
+ S_ST( 'f', 3, 523, 0 ), /* 522 logcon */
+ S_ST( 'i', 3, 343, 0 ), /* 523 logconf */
+ S_ST( 'f', 3, 525, 519 ), /* 524 log */
+ S_ST( 'i', 3, 526, 0 ), /* 525 logf */
+ S_ST( 'l', 3, 344, 0 ), /* 526 logfi */
+ S_ST( 'o', 3, 528, 518 ), /* 527 lo */
+ S_ST( 'p', 3, 529, 0 ), /* 528 loo */
+ S_ST( 's', 3, 530, 0 ), /* 529 loop */
+ S_ST( 't', 3, 531, 0 ), /* 530 loops */
+ S_ST( 'a', 3, 532, 0 ), /* 531 loopst */
+ S_ST( 't', 3, 345, 0 ), /* 532 loopsta */
+ S_ST( 'w', 3, 534, 527 ), /* 533 lo */
+ S_ST( 'p', 3, 535, 0 ), /* 534 low */
+ S_ST( 'r', 3, 536, 0 ), /* 535 lowp */
+ S_ST( 'i', 3, 537, 0 ), /* 536 lowpr */
+ S_ST( 'o', 3, 538, 0 ), /* 537 lowpri */
+ S_ST( 't', 3, 539, 0 ), /* 538 lowprio */
+ S_ST( 'r', 3, 540, 0 ), /* 539 lowpriot */
+ S_ST( 'a', 3, 346, 0 ), /* 540 lowpriotr */
+ S_ST( 'm', 3, 627, 489 ), /* 541 */
+ S_ST( 'a', 3, 560, 0 ), /* 542 m */
+ S_ST( 'n', 3, 544, 0 ), /* 543 ma */
+ S_ST( 'y', 3, 545, 0 ), /* 544 man */
+ S_ST( 'c', 3, 546, 0 ), /* 545 many */
+ S_ST( 'a', 3, 547, 0 ), /* 546 manyc */
+ S_ST( 's', 3, 548, 0 ), /* 547 manyca */
+ S_ST( 't', 3, 554, 0 ), /* 548 manycas */
+ S_ST( 'c', 3, 550, 0 ), /* 549 manycast */
+ S_ST( 'l', 3, 551, 0 ), /* 550 manycastc */
+ S_ST( 'i', 3, 552, 0 ), /* 551 manycastcl */
+ S_ST( 'e', 3, 553, 0 ), /* 552 manycastcli */
+ S_ST( 'n', 3, 347, 0 ), /* 553 manycastclie */
+ S_ST( 's', 3, 555, 549 ), /* 554 manycast */
+ S_ST( 'e', 3, 556, 0 ), /* 555 manycasts */
+ S_ST( 'r', 3, 557, 0 ), /* 556 manycastse */
+ S_ST( 'v', 3, 558, 0 ), /* 557 manycastser */
+ S_ST( 'e', 3, 348, 0 ), /* 558 manycastserv */
+ S_ST( 's', 3, 349, 543 ), /* 559 ma */
+ S_ST( 'x', 3, 575, 559 ), /* 560 ma */
+ S_ST( 'a', 3, 562, 0 ), /* 561 max */
+ S_ST( 'g', 3, 350, 0 ), /* 562 maxa */
+ S_ST( 'c', 3, 564, 561 ), /* 563 max */
+ S_ST( 'l', 3, 565, 0 ), /* 564 maxc */
+ S_ST( 'o', 3, 566, 0 ), /* 565 maxcl */
+ S_ST( 'c', 3, 351, 0 ), /* 566 maxclo */
+ S_ST( 'd', 3, 571, 563 ), /* 567 max */
+ S_ST( 'e', 3, 569, 0 ), /* 568 maxd */
+ S_ST( 'p', 3, 570, 0 ), /* 569 maxde */
+ S_ST( 't', 3, 352, 0 ), /* 570 maxdep */
+ S_ST( 'i', 3, 572, 568 ), /* 571 maxd */
+ S_ST( 's', 3, 353, 0 ), /* 572 maxdi */
+ S_ST( 'm', 3, 574, 567 ), /* 573 max */
+ S_ST( 'e', 3, 354, 0 ), /* 574 maxm */
+ S_ST( 'p', 3, 576, 573 ), /* 575 max */
+ S_ST( 'o', 3, 577, 0 ), /* 576 maxp */
+ S_ST( 'l', 3, 355, 0 ), /* 577 maxpo */
+ S_ST( 'd', 3, 579, 542 ), /* 578 m */
+ S_ST( 'n', 3, 580, 0 ), /* 579 md */
+ S_ST( 's', 3, 581, 0 ), /* 580 mdn */
+ S_ST( 't', 3, 582, 0 ), /* 581 mdns */
+ S_ST( 'r', 3, 583, 0 ), /* 582 mdnst */
+ S_ST( 'i', 3, 584, 0 ), /* 583 mdnstr */
+ S_ST( 'e', 3, 356, 0 ), /* 584 mdnstri */
+ S_ST( 'e', 3, 357, 578 ), /* 585 m */
+ S_ST( 'l', 3, 587, 0 ), /* 586 mem */
+ S_ST( 'o', 3, 588, 0 ), /* 587 meml */
+ S_ST( 'c', 3, 358, 0 ), /* 588 memlo */
+ S_ST( 'i', 3, 590, 585 ), /* 589 m */
+ S_ST( 'n', 3, 612, 0 ), /* 590 mi */
+ S_ST( 'c', 3, 592, 0 ), /* 591 min */
+ S_ST( 'l', 3, 593, 0 ), /* 592 minc */
+ S_ST( 'o', 3, 594, 0 ), /* 593 mincl */
+ S_ST( 'c', 3, 359, 0 ), /* 594 minclo */
+ S_ST( 'd', 3, 599, 591 ), /* 595 min */
+ S_ST( 'e', 3, 597, 0 ), /* 596 mind */
+ S_ST( 'p', 3, 598, 0 ), /* 597 minde */
+ S_ST( 't', 3, 360, 0 ), /* 598 mindep */
+ S_ST( 'i', 3, 600, 596 ), /* 599 mind */
+ S_ST( 's', 3, 361, 0 ), /* 600 mindi */
+ S_ST( 'i', 3, 602, 595 ), /* 601 min */
+ S_ST( 'm', 3, 603, 0 ), /* 602 mini */
+ S_ST( 'u', 3, 362, 0 ), /* 603 minim */
+ S_ST( 'j', 3, 605, 601 ), /* 604 min */
+ S_ST( 'i', 3, 606, 0 ), /* 605 minj */
+ S_ST( 't', 3, 607, 0 ), /* 606 minji */
+ S_ST( 't', 3, 608, 0 ), /* 607 minjit */
+ S_ST( 'e', 3, 363, 0 ), /* 608 minjitt */
+ S_ST( 'p', 3, 610, 604 ), /* 609 min */
+ S_ST( 'o', 3, 611, 0 ), /* 610 minp */
+ S_ST( 'l', 3, 364, 0 ), /* 611 minpo */
+ S_ST( 's', 3, 613, 609 ), /* 612 min */
+ S_ST( 'a', 3, 614, 0 ), /* 613 mins */
+ S_ST( 'n', 3, 365, 0 ), /* 614 minsa */
+ S_ST( 'o', 3, 617, 589 ), /* 615 m */
+ S_ST( 'd', 3, 366, 0 ), /* 616 mo */
+ S_ST( 'n', 3, 621, 616 ), /* 617 mo */
+ S_ST( 'i', 3, 619, 0 ), /* 618 mon */
+ S_ST( 't', 3, 620, 0 ), /* 619 moni */
+ S_ST( 'o', 3, 368, 0 ), /* 620 monit */
+ S_ST( 't', 3, 369, 618 ), /* 621 mon */
+ S_ST( 'r', 3, 370, 615 ), /* 622 m */
+ S_ST( 's', 3, 624, 622 ), /* 623 m */
+ S_ST( 's', 3, 625, 0 ), /* 624 ms */
+ S_ST( 'n', 3, 626, 0 ), /* 625 mss */
+ S_ST( 't', 3, 371, 0 ), /* 626 mssn */
+ S_ST( 'u', 3, 628, 623 ), /* 627 m */
+ S_ST( 'l', 3, 629, 0 ), /* 628 mu */
+ S_ST( 't', 3, 630, 0 ), /* 629 mul */
+ S_ST( 'i', 3, 631, 0 ), /* 630 mult */
+ S_ST( 'c', 3, 632, 0 ), /* 631 multi */
+ S_ST( 'a', 3, 633, 0 ), /* 632 multic */
+ S_ST( 's', 3, 634, 0 ), /* 633 multica */
+ S_ST( 't', 3, 635, 0 ), /* 634 multicas */
+ S_ST( 'c', 3, 636, 0 ), /* 635 multicast */
+ S_ST( 'l', 3, 637, 0 ), /* 636 multicastc */
+ S_ST( 'i', 3, 638, 0 ), /* 637 multicastcl */
+ S_ST( 'e', 3, 639, 0 ), /* 638 multicastcli */
+ S_ST( 'n', 3, 372, 0 ), /* 639 multicastclie */
+ S_ST( 'n', 3, 687, 541 ), /* 640 */
+ S_ST( 'i', 3, 373, 0 ), /* 641 n */
+ S_ST( 'o', 3, 682, 641 ), /* 642 n */
+ S_ST( 'e', 3, 644, 0 ), /* 643 no */
+ S_ST( 'p', 3, 645, 0 ), /* 644 noe */
+ S_ST( 'e', 3, 646, 0 ), /* 645 noep */
+ S_ST( 'e', 3, 379, 0 ), /* 646 noepe */
+ S_ST( 'l', 3, 648, 643 ), /* 647 no */
+ S_ST( 'i', 3, 649, 0 ), /* 648 nol */
+ S_ST( 'n', 3, 374, 0 ), /* 649 noli */
+ S_ST( 'm', 3, 655, 647 ), /* 650 no */
+ S_ST( 'o', 3, 652, 0 ), /* 651 nom */
+ S_ST( 'd', 3, 653, 0 ), /* 652 nomo */
+ S_ST( 'i', 3, 654, 0 ), /* 653 nomod */
+ S_ST( 'f', 3, 375, 0 ), /* 654 nomodi */
+ S_ST( 'r', 3, 656, 651 ), /* 655 nom */
+ S_ST( 'u', 3, 657, 0 ), /* 656 nomr */
+ S_ST( 'l', 3, 658, 0 ), /* 657 nomru */
+ S_ST( 'i', 3, 659, 0 ), /* 658 nomrul */
+ S_ST( 's', 3, 376, 0 ), /* 659 nomruli */
+ S_ST( 'n', 3, 661, 650 ), /* 660 no */
+ S_ST( 'v', 3, 662, 377 ), /* 661 non */
+ S_ST( 'o', 3, 663, 0 ), /* 662 nonv */
+ S_ST( 'l', 3, 664, 0 ), /* 663 nonvo */
+ S_ST( 'a', 3, 665, 0 ), /* 664 nonvol */
+ S_ST( 't', 3, 666, 0 ), /* 665 nonvola */
+ S_ST( 'i', 3, 667, 0 ), /* 666 nonvolat */
+ S_ST( 'l', 3, 378, 0 ), /* 667 nonvolati */
+ S_ST( 'p', 3, 669, 660 ), /* 668 no */
+ S_ST( 'e', 3, 670, 0 ), /* 669 nop */
+ S_ST( 'e', 3, 380, 0 ), /* 670 nope */
+ S_ST( 'q', 3, 672, 668 ), /* 671 no */
+ S_ST( 'u', 3, 673, 0 ), /* 672 noq */
+ S_ST( 'e', 3, 674, 0 ), /* 673 noqu */
+ S_ST( 'r', 3, 381, 0 ), /* 674 noque */
+ S_ST( 's', 3, 676, 671 ), /* 675 no */
+ S_ST( 'e', 3, 680, 0 ), /* 676 nos */
+ S_ST( 'l', 3, 678, 0 ), /* 677 nose */
+ S_ST( 'e', 3, 679, 0 ), /* 678 nosel */
+ S_ST( 'c', 3, 382, 0 ), /* 679 nosele */
+ S_ST( 'r', 3, 681, 677 ), /* 680 nose */
+ S_ST( 'v', 3, 383, 0 ), /* 681 noser */
+ S_ST( 't', 3, 683, 675 ), /* 682 no */
+ S_ST( 'r', 3, 685, 0 ), /* 683 not */
+ S_ST( 'a', 3, 384, 0 ), /* 684 notr */
+ S_ST( 'u', 3, 686, 684 ), /* 685 notr */
+ S_ST( 's', 3, 385, 0 ), /* 686 notru */
+ S_ST( 't', 3, 386, 642 ), /* 687 n */
+ S_ST( 'p', 3, 689, 0 ), /* 688 ntp */
+ S_ST( 'o', 3, 690, 0 ), /* 689 ntpp */
+ S_ST( 'r', 3, 387, 0 ), /* 690 ntppo */
+ S_ST( 's', 3, 692, 688 ), /* 691 ntp */
+ S_ST( 'i', 3, 693, 0 ), /* 692 ntps */
+ S_ST( 'g', 3, 694, 0 ), /* 693 ntpsi */
+ S_ST( 'n', 3, 695, 0 ), /* 694 ntpsig */
+ S_ST( 'd', 3, 696, 0 ), /* 695 ntpsign */
+ S_ST( 's', 3, 697, 0 ), /* 696 ntpsignd */
+ S_ST( 'o', 3, 698, 0 ), /* 697 ntpsignds */
+ S_ST( 'c', 3, 699, 0 ), /* 698 ntpsigndso */
+ S_ST( 'k', 3, 700, 0 ), /* 699 ntpsigndsoc */
+ S_ST( 'e', 3, 388, 0 ), /* 700 ntpsigndsock */
+ S_ST( 'o', 3, 702, 640 ), /* 701 */
+ S_ST( 'r', 3, 703, 0 ), /* 702 o */
+ S_ST( 'p', 3, 704, 0 ), /* 703 or */
+ S_ST( 'h', 3, 705, 0 ), /* 704 orp */
+ S_ST( 'a', 3, 389, 0 ), /* 705 orph */
+ S_ST( 'w', 3, 707, 0 ), /* 706 orphan */
+ S_ST( 'a', 3, 708, 0 ), /* 707 orphanw */
+ S_ST( 'i', 3, 390, 0 ), /* 708 orphanwa */
+ S_ST( 'p', 3, 406, 701 ), /* 709 */
+ S_ST( 'a', 3, 711, 0 ), /* 710 p */
+ S_ST( 'n', 3, 712, 0 ), /* 711 pa */
+ S_ST( 'i', 3, 392, 0 ), /* 712 pan */
+ S_ST( 'e', 3, 714, 710 ), /* 713 p */
+ S_ST( 'e', 3, 393, 0 ), /* 714 pe */
+ S_ST( '_', 3, 716, 0 ), /* 715 peer */
+ S_ST( 'c', 3, 717, 0 ), /* 716 peer_ */
+ S_ST( 'l', 3, 718, 0 ), /* 717 peer_c */
+ S_ST( 'e', 3, 719, 0 ), /* 718 peer_cl */
+ S_ST( 'a', 3, 720, 0 ), /* 719 peer_cle */
+ S_ST( 'r', 3, 721, 0 ), /* 720 peer_clea */
+ S_ST( '_', 3, 722, 0 ), /* 721 peer_clear */
+ S_ST( 'd', 3, 723, 0 ), /* 722 peer_clear_ */
+ S_ST( 'i', 3, 724, 0 ), /* 723 peer_clear_d */
+ S_ST( 'g', 3, 725, 0 ), /* 724 peer_clear_di */
+ S_ST( 'e', 3, 726, 0 ), /* 725 peer_clear_dig */
+ S_ST( 's', 3, 727, 0 ), /* 726 peer_clear_dige */
+ S_ST( 't', 3, 728, 0 ), /* 727 peer_clear_diges */
+ S_ST( '_', 3, 729, 0 ), /* 728 peer_clear_digest */
+ S_ST( 'e', 3, 730, 0 ), /* 729 peer_clear_digest_ */
+ S_ST( 'a', 3, 731, 0 ), /* 730 peer_clear_digest_e */
+ S_ST( 'r', 3, 732, 0 ), /* 731 peer_clear_digest_ea */
+ S_ST( 'l', 3, 391, 0 ), /* 732 peer_clear_digest_ear */
+ S_ST( 's', 3, 734, 715 ), /* 733 peer */
+ S_ST( 't', 3, 735, 0 ), /* 734 peers */
+ S_ST( 'a', 3, 736, 0 ), /* 735 peerst */
+ S_ST( 't', 3, 394, 0 ), /* 736 peersta */
+ S_ST( 'h', 3, 738, 713 ), /* 737 p */
+ S_ST( 'o', 3, 739, 0 ), /* 738 ph */
+ S_ST( 'n', 3, 395, 0 ), /* 739 pho */
+ S_ST( 'i', 3, 396, 737 ), /* 740 p */
+ S_ST( 'f', 3, 742, 0 ), /* 741 pid */
+ S_ST( 'i', 3, 743, 0 ), /* 742 pidf */
+ S_ST( 'l', 3, 397, 0 ), /* 743 pidfi */
+ S_ST( 'o', 3, 754, 740 ), /* 744 p */
+ S_ST( 'l', 3, 398, 0 ), /* 745 po */
+ S_ST( 's', 3, 747, 0 ), /* 746 poll */
+ S_ST( 'k', 3, 748, 0 ), /* 747 polls */
+ S_ST( 'e', 3, 749, 0 ), /* 748 pollsk */
+ S_ST( 'w', 3, 750, 0 ), /* 749 pollske */
+ S_ST( 'l', 3, 751, 0 ), /* 750 pollskew */
+ S_ST( 'i', 3, 752, 0 ), /* 751 pollskewl */
+ S_ST( 's', 3, 399, 0 ), /* 752 pollskewli */
+ S_ST( 'o', 3, 400, 745 ), /* 753 po */
+ S_ST( 'r', 3, 401, 753 ), /* 754 po */
+ S_ST( 'p', 3, 756, 744 ), /* 755 p */
+ S_ST( 's', 3, 757, 0 ), /* 756 pp */
+ S_ST( 'd', 3, 758, 0 ), /* 757 pps */
+ S_ST( 'a', 3, 759, 0 ), /* 758 ppsd */
+ S_ST( 't', 3, 402, 0 ), /* 759 ppsda */
+ S_ST( 'r', 3, 767, 755 ), /* 760 p */
+ S_ST( 'e', 3, 765, 0 ), /* 761 pr */
+ S_ST( 'e', 3, 763, 0 ), /* 762 pre */
+ S_ST( 'm', 3, 764, 0 ), /* 763 pree */
+ S_ST( 'p', 3, 403, 0 ), /* 764 preem */
+ S_ST( 'f', 3, 766, 762 ), /* 765 pre */
+ S_ST( 'e', 3, 404, 0 ), /* 766 pref */
+ S_ST( 'o', 3, 780, 761 ), /* 767 pr */
+ S_ST( 'c', 3, 769, 0 ), /* 768 pro */
+ S_ST( '_', 3, 770, 0 ), /* 769 proc */
+ S_ST( 'd', 3, 771, 0 ), /* 770 proc_ */
+ S_ST( 'e', 3, 772, 0 ), /* 771 proc_d */
+ S_ST( 'l', 3, 773, 0 ), /* 772 proc_de */
+ S_ST( 'a', 3, 470, 0 ), /* 773 proc_del */
+ S_ST( 'p', 3, 775, 768 ), /* 774 pro */
+ S_ST( '_', 3, 776, 0 ), /* 775 prop */
+ S_ST( 'd', 3, 777, 0 ), /* 776 prop_ */
+ S_ST( 'e', 3, 778, 0 ), /* 777 prop_d */
+ S_ST( 'l', 3, 779, 0 ), /* 778 prop_de */
+ S_ST( 'a', 3, 469, 0 ), /* 779 prop_del */
+ S_ST( 't', 3, 781, 774 ), /* 780 pro */
+ S_ST( 'o', 3, 782, 0 ), /* 781 prot */
+ S_ST( 's', 3, 783, 0 ), /* 782 proto */
+ S_ST( 't', 3, 784, 0 ), /* 783 protos */
+ S_ST( 'a', 3, 785, 0 ), /* 784 protost */
+ S_ST( 't', 3, 405, 0 ), /* 785 protosta */
+ S_ST( 'r', 3, 817, 709 ), /* 786 */
+ S_ST( 'a', 3, 793, 0 ), /* 787 r */
+ S_ST( 'n', 3, 789, 0 ), /* 788 ra */
+ S_ST( 'd', 3, 790, 0 ), /* 789 ran */
+ S_ST( 'f', 3, 791, 0 ), /* 790 rand */
+ S_ST( 'i', 3, 792, 0 ), /* 791 randf */
+ S_ST( 'l', 3, 407, 0 ), /* 792 randfi */
+ S_ST( 'w', 3, 794, 788 ), /* 793 ra */
+ S_ST( 's', 3, 795, 0 ), /* 794 raw */
+ S_ST( 't', 3, 796, 0 ), /* 795 raws */
+ S_ST( 'a', 3, 797, 0 ), /* 796 rawst */
+ S_ST( 't', 3, 408, 0 ), /* 797 rawsta */
+ S_ST( 'e', 3, 814, 787 ), /* 798 r */
+ S_ST( 'f', 3, 800, 0 ), /* 799 re */
+ S_ST( 'i', 3, 409, 0 ), /* 800 ref */
+ S_ST( 'q', 3, 802, 799 ), /* 801 re */
+ S_ST( 'u', 3, 803, 0 ), /* 802 req */
+ S_ST( 'e', 3, 804, 0 ), /* 803 requ */
+ S_ST( 's', 3, 805, 0 ), /* 804 reque */
+ S_ST( 't', 3, 806, 0 ), /* 805 reques */
+ S_ST( 'k', 3, 807, 0 ), /* 806 request */
+ S_ST( 'e', 3, 410, 0 ), /* 807 requestk */
+ S_ST( 's', 3, 810, 801 ), /* 808 re */
+ S_ST( 'e', 3, 411, 0 ), /* 809 res */
+ S_ST( 't', 3, 811, 809 ), /* 810 res */
+ S_ST( 'r', 3, 812, 0 ), /* 811 rest */
+ S_ST( 'i', 3, 813, 0 ), /* 812 restr */
+ S_ST( 'c', 3, 412, 0 ), /* 813 restri */
+ S_ST( 'v', 3, 815, 808 ), /* 814 re */
+ S_ST( 'o', 3, 816, 0 ), /* 815 rev */
+ S_ST( 'k', 3, 413, 0 ), /* 816 revo */
+ S_ST( 'l', 3, 818, 798 ), /* 817 r */
+ S_ST( 'i', 3, 819, 0 ), /* 818 rl */
+ S_ST( 'm', 3, 820, 0 ), /* 819 rli */
+ S_ST( 'i', 3, 414, 0 ), /* 820 rlim */
+ S_ST( 's', 3, 901, 786 ), /* 821 */
+ S_ST( 'a', 3, 823, 0 ), /* 822 s */
+ S_ST( 'v', 3, 824, 0 ), /* 823 sa */
+ S_ST( 'e', 3, 825, 0 ), /* 824 sav */
+ S_ST( 'c', 3, 826, 0 ), /* 825 save */
+ S_ST( 'o', 3, 827, 0 ), /* 826 savec */
+ S_ST( 'n', 3, 828, 0 ), /* 827 saveco */
+ S_ST( 'f', 3, 829, 0 ), /* 828 savecon */
+ S_ST( 'i', 3, 830, 0 ), /* 829 saveconf */
+ S_ST( 'g', 3, 831, 0 ), /* 830 saveconfi */
+ S_ST( 'd', 3, 832, 0 ), /* 831 saveconfig */
+ S_ST( 'i', 3, 415, 0 ), /* 832 saveconfigd */
+ S_ST( 'e', 3, 850, 822 ), /* 833 s */
+ S_ST( 'r', 3, 835, 0 ), /* 834 se */
+ S_ST( 'v', 3, 836, 0 ), /* 835 ser */
+ S_ST( 'e', 3, 416, 0 ), /* 836 serv */
+ S_ST( '_', 3, 838, 0 ), /* 837 server */
+ S_ST( 'o', 3, 839, 0 ), /* 838 server_ */
+ S_ST( 'f', 3, 840, 0 ), /* 839 server_o */
+ S_ST( 'f', 3, 841, 0 ), /* 840 server_of */
+ S_ST( 's', 3, 842, 0 ), /* 841 server_off */
+ S_ST( 'e', 3, 464, 0 ), /* 842 server_offs */
+ S_ST( 'r', 3, 844, 837 ), /* 843 server */
+ S_ST( 'e', 3, 845, 0 ), /* 844 serverr */
+ S_ST( 's', 3, 846, 0 ), /* 845 serverre */
+ S_ST( 'p', 3, 847, 0 ), /* 846 serverres */
+ S_ST( 'o', 3, 848, 0 ), /* 847 serverresp */
+ S_ST( 'n', 3, 849, 0 ), /* 848 serverrespo */
+ S_ST( 's', 3, 417, 0 ), /* 849 serverrespon */
+ S_ST( 't', 3, 851, 834 ), /* 850 se */
+ S_ST( 'v', 3, 852, 0 ), /* 851 set */
+ S_ST( 'a', 3, 419, 0 ), /* 852 setv */
+ S_ST( 'i', 3, 854, 833 ), /* 853 s */
+ S_ST( 'm', 3, 855, 0 ), /* 854 si */
+ S_ST( 'u', 3, 856, 0 ), /* 855 sim */
+ S_ST( 'l', 3, 857, 0 ), /* 856 simu */
+ S_ST( 'a', 3, 858, 0 ), /* 857 simul */
+ S_ST( 't', 3, 859, 0 ), /* 858 simula */
+ S_ST( 'i', 3, 860, 461 ), /* 859 simulat */
+ S_ST( 'o', 3, 861, 0 ), /* 860 simulati */
+ S_ST( 'n', 3, 862, 0 ), /* 861 simulatio */
+ S_ST( '_', 3, 863, 0 ), /* 862 simulation */
+ S_ST( 'd', 3, 864, 0 ), /* 863 simulation_ */
+ S_ST( 'u', 3, 865, 0 ), /* 864 simulation_d */
+ S_ST( 'r', 3, 866, 0 ), /* 865 simulation_du */
+ S_ST( 'a', 3, 867, 0 ), /* 866 simulation_dur */
+ S_ST( 't', 3, 868, 0 ), /* 867 simulation_dura */
+ S_ST( 'i', 3, 869, 0 ), /* 868 simulation_durat */
+ S_ST( 'o', 3, 463, 0 ), /* 869 simulation_durati */
+ S_ST( 'o', 3, 871, 853 ), /* 870 s */
+ S_ST( 'u', 3, 872, 0 ), /* 871 so */
+ S_ST( 'r', 3, 873, 0 ), /* 872 sou */
+ S_ST( 'c', 3, 420, 0 ), /* 873 sour */
+ S_ST( 't', 3, 897, 870 ), /* 874 s */
+ S_ST( 'a', 3, 881, 0 ), /* 875 st */
+ S_ST( 'c', 3, 877, 0 ), /* 876 sta */
+ S_ST( 'k', 3, 878, 0 ), /* 877 stac */
+ S_ST( 's', 3, 879, 0 ), /* 878 stack */
+ S_ST( 'i', 3, 880, 0 ), /* 879 stacks */
+ S_ST( 'z', 3, 421, 0 ), /* 880 stacksi */
+ S_ST( 't', 3, 423, 876 ), /* 881 sta */
+ S_ST( 'i', 3, 883, 0 ), /* 882 stat */
+ S_ST( 's', 3, 884, 0 ), /* 883 stati */
+ S_ST( 't', 3, 885, 0 ), /* 884 statis */
+ S_ST( 'i', 3, 886, 0 ), /* 885 statist */
+ S_ST( 'c', 3, 422, 0 ), /* 886 statisti */
+ S_ST( 'd', 3, 888, 0 ), /* 887 stats */
+ S_ST( 'i', 3, 424, 0 ), /* 888 statsd */
+ S_ST( 'e', 3, 425, 875 ), /* 889 st */
+ S_ST( 'b', 3, 891, 0 ), /* 890 step */
+ S_ST( 'a', 3, 892, 0 ), /* 891 stepb */
+ S_ST( 'c', 3, 426, 0 ), /* 892 stepba */
+ S_ST( 'f', 3, 894, 890 ), /* 893 step */
+ S_ST( 'w', 3, 427, 0 ), /* 894 stepf */
+ S_ST( 'o', 3, 896, 893 ), /* 895 step */
+ S_ST( 'u', 3, 428, 0 ), /* 896 stepo */
+ S_ST( 'r', 3, 898, 889 ), /* 897 st */
+ S_ST( 'a', 3, 899, 0 ), /* 898 str */
+ S_ST( 't', 3, 900, 0 ), /* 899 stra */
+ S_ST( 'u', 3, 429, 0 ), /* 900 strat */
+ S_ST( 'y', 3, 431, 874 ), /* 901 s */
+ S_ST( 's', 3, 903, 0 ), /* 902 sys */
+ S_ST( 't', 3, 904, 0 ), /* 903 syss */
+ S_ST( 'a', 3, 905, 0 ), /* 904 sysst */
+ S_ST( 't', 3, 432, 0 ), /* 905 syssta */
+ S_ST( 't', 3, 935, 821 ), /* 906 */
+ S_ST( 'i', 3, 921, 0 ), /* 907 t */
+ S_ST( 'c', 3, 433, 0 ), /* 908 ti */
+ S_ST( 'm', 3, 914, 908 ), /* 909 ti */
+ S_ST( 'e', 3, 437, 0 ), /* 910 tim */
+ S_ST( 'd', 3, 912, 435 ), /* 911 time */
+ S_ST( 'a', 3, 913, 0 ), /* 912 timed */
+ S_ST( 't', 3, 436, 0 ), /* 913 timeda */
+ S_ST( 'i', 3, 915, 910 ), /* 914 tim */
+ S_ST( 'n', 3, 916, 0 ), /* 915 timi */
+ S_ST( 'g', 3, 917, 0 ), /* 916 timin */
+ S_ST( 's', 3, 918, 0 ), /* 917 timing */
+ S_ST( 't', 3, 919, 0 ), /* 918 timings */
+ S_ST( 'a', 3, 920, 0 ), /* 919 timingst */
+ S_ST( 't', 3, 438, 0 ), /* 920 timingsta */
+ S_ST( 'n', 3, 922, 909 ), /* 921 ti */
+ S_ST( 'k', 3, 923, 0 ), /* 922 tin */
+ S_ST( 'e', 3, 439, 0 ), /* 923 tink */
+ S_ST( 'o', 3, 440, 907 ), /* 924 t */
+ S_ST( 'r', 3, 927, 924 ), /* 925 t */
+ S_ST( 'a', 3, 441, 0 ), /* 926 tr */
+ S_ST( 'u', 3, 928, 926 ), /* 927 tr */
+ S_ST( 's', 3, 929, 442 ), /* 928 tru */
+ S_ST( 't', 3, 930, 0 ), /* 929 trus */
+ S_ST( 'e', 3, 931, 0 ), /* 930 trust */
+ S_ST( 'd', 3, 932, 0 ), /* 931 truste */
+ S_ST( 'k', 3, 933, 0 ), /* 932 trusted */
+ S_ST( 'e', 3, 443, 0 ), /* 933 trustedk */
+ S_ST( 't', 3, 444, 925 ), /* 934 t */
+ S_ST( 'y', 3, 936, 934 ), /* 935 t */
+ S_ST( 'p', 3, 445, 0 ), /* 936 ty */
+ S_ST( 'u', 3, 938, 906 ), /* 937 */
+ S_ST( 'n', 3, 944, 0 ), /* 938 u */
+ S_ST( 'c', 3, 940, 0 ), /* 939 un */
+ S_ST( 'o', 3, 941, 0 ), /* 940 unc */
+ S_ST( 'n', 3, 942, 0 ), /* 941 unco */
+ S_ST( 'f', 3, 943, 0 ), /* 942 uncon */
+ S_ST( 'i', 3, 450, 0 ), /* 943 unconf */
+ S_ST( 'p', 3, 945, 939 ), /* 944 un */
+ S_ST( 'e', 3, 946, 0 ), /* 945 unp */
+ S_ST( 'e', 3, 451, 0 ), /* 946 unpe */
+ S_ST( '_', 3, 967, 0 ), /* 947 unpeer */
+ S_ST( 'c', 3, 949, 0 ), /* 948 unpeer_ */
+ S_ST( 'r', 3, 950, 0 ), /* 949 unpeer_c */
+ S_ST( 'y', 3, 951, 0 ), /* 950 unpeer_cr */
+ S_ST( 'p', 3, 952, 0 ), /* 951 unpeer_cry */
+ S_ST( 't', 3, 953, 0 ), /* 952 unpeer_cryp */
+ S_ST( 'o', 3, 954, 0 ), /* 953 unpeer_crypt */
+ S_ST( '_', 3, 959, 0 ), /* 954 unpeer_crypto */
+ S_ST( 'e', 3, 956, 0 ), /* 955 unpeer_crypto_ */
+ S_ST( 'a', 3, 957, 0 ), /* 956 unpeer_crypto_e */
+ S_ST( 'r', 3, 958, 0 ), /* 957 unpeer_crypto_ea */
+ S_ST( 'l', 3, 447, 0 ), /* 958 unpeer_crypto_ear */
+ S_ST( 'n', 3, 960, 955 ), /* 959 unpeer_crypto_ */
+ S_ST( 'a', 3, 961, 0 ), /* 960 unpeer_crypto_n */
+ S_ST( 'k', 3, 962, 0 ), /* 961 unpeer_crypto_na */
+ S_ST( '_', 3, 963, 0 ), /* 962 unpeer_crypto_nak */
+ S_ST( 'e', 3, 964, 0 ), /* 963 unpeer_crypto_nak_ */
+ S_ST( 'a', 3, 965, 0 ), /* 964 unpeer_crypto_nak_e */
+ S_ST( 'r', 3, 966, 0 ), /* 965 unpeer_crypto_nak_ea */
+ S_ST( 'l', 3, 448, 0 ), /* 966 unpeer_crypto_nak_ear */
+ S_ST( 'd', 3, 968, 948 ), /* 967 unpeer_ */
+ S_ST( 'i', 3, 969, 0 ), /* 968 unpeer_d */
+ S_ST( 'g', 3, 970, 0 ), /* 969 unpeer_di */
+ S_ST( 'e', 3, 971, 0 ), /* 970 unpeer_dig */
+ S_ST( 's', 3, 972, 0 ), /* 971 unpeer_dige */
+ S_ST( 't', 3, 973, 0 ), /* 972 unpeer_diges */
+ S_ST( '_', 3, 974, 0 ), /* 973 unpeer_digest */
+ S_ST( 'e', 3, 975, 0 ), /* 974 unpeer_digest_ */
+ S_ST( 'a', 3, 976, 0 ), /* 975 unpeer_digest_e */
+ S_ST( 'r', 3, 977, 0 ), /* 976 unpeer_digest_ea */
+ S_ST( 'l', 3, 449, 0 ), /* 977 unpeer_digest_ear */
+ S_ST( 'v', 3, 979, 937 ), /* 978 */
+ S_ST( 'e', 3, 980, 0 ), /* 979 v */
+ S_ST( 'r', 3, 981, 0 ), /* 980 ve */
+ S_ST( 's', 3, 982, 0 ), /* 981 ver */
+ S_ST( 'i', 3, 983, 0 ), /* 982 vers */
+ S_ST( 'o', 3, 452, 0 ), /* 983 versi */
+ S_ST( 'w', 3, 991, 978 ), /* 984 */
+ S_ST( 'a', 3, 986, 0 ), /* 985 w */
+ S_ST( 'n', 3, 987, 0 ), /* 986 wa */
+ S_ST( 'd', 3, 988, 0 ), /* 987 wan */
+ S_ST( 'e', 3, 467, 0 ), /* 988 wand */
+ S_ST( 'e', 3, 990, 985 ), /* 989 w */
+ S_ST( 'e', 3, 454, 0 ), /* 990 we */
+ S_ST( 'i', 3, 992, 989 ), /* 991 w */
+ S_ST( 'l', 3, 993, 0 ), /* 992 wi */
+ S_ST( 'd', 3, 994, 0 ), /* 993 wil */
+ S_ST( 'c', 3, 995, 0 ), /* 994 wild */
+ S_ST( 'a', 3, 996, 0 ), /* 995 wildc */
+ S_ST( 'r', 3, 455, 0 ), /* 996 wildca */
+ S_ST( 'x', 3, 1002, 984 ), /* 997 */
+ S_ST( 'l', 3, 999, 0 ), /* 998 x */
+ S_ST( 'e', 3, 1000, 0 ), /* 999 xl */
+ S_ST( 'a', 3, 1001, 0 ), /* 1000 xle */
+ S_ST( 'v', 3, 456, 0 ), /* 1001 xlea */
+ S_ST( 'm', 3, 1003, 998 ), /* 1002 x */
+ S_ST( 't', 3, 1004, 0 ), /* 1003 xm */
+ S_ST( 'n', 3, 1005, 0 ), /* 1004 xmt */
+ S_ST( 'o', 3, 1006, 0 ), /* 1005 xmtn */
+ S_ST( 'n', 3, 1007, 0 ), /* 1006 xmtno */
+ S_ST( 'c', 3, 457, 0 ), /* 1007 xmtnon */
+ S_ST( 'y', 3, 1009, 997 ), /* 1008 [initial state] */
+ S_ST( 'e', 3, 1010, 0 ), /* 1009 y */
+ S_ST( 'a', 3, 458, 0 ) /* 1010 ye */
};
ttime = strtouv64(cp, &ep, 10);
if (parsefail(cp, ep))
goto fail_read;
- cp = skipws(ep);
+ cp = skipws(ep);
taiof = strtol(cp, &endp, 10);
if ( parsefail(cp, endp)
|| taiof > INT16_MAX || taiof < INT16_MIN)
REQUIRE(rbufp != NULL);
- if (mon_enabled == MON_OFF)
+ if (mon_enabled == MON_OFF) {
return ~(RES_LIMITED | RES_KOD) & flags;
-
+ }
pkt = &rbufp->recv_pkt;
hash = MON_HASH(&rbufp->recv_srcadr);
mode = PKT_MODE(pkt->li_vn_mode);
* otherwise cron'ed ntpdate or similar evades RES_LIMITED.
*/
- for (; mon != NULL; mon = mon->hash_next)
- if (SOCK_EQ(&mon->rmtadr, &rbufp->recv_srcadr))
+ for (; mon != NULL; mon = mon->hash_next) {
+ if (SOCK_EQ(&mon->rmtadr, &rbufp->recv_srcadr)) {
break;
-
+ }
+ }
if (mon != NULL) {
interval_fp = rbufp->recv_time;
L_SUB(&interval_fp, &mon->last);
* the average threshold plus the increment and leave
* the RES_LIMITED and RES_KOD bits lit. Otherwise,
* leave the counter alone and douse the RES_KOD bit.
- * This rate-limits the KoDs to no less than the average
- * headway.
+ * This rate-limits the KoDs to no more often than the
+ * average headway.
*/
if (interval + 1 >= ntp_minpkt && leak < limit) {
mon->leak = leak - 2;
restrict_mask &= ~(RES_LIMITED | RES_KOD);
- } else if (mon->leak < limit)
+ } else if (mon->leak < limit) {
mon->leak = limit + head;
- else
+ } else {
restrict_mask &= ~RES_KOD;
-
+ }
mon->flags = restrict_mask;
return mon->flags;
T_Ctl = 283, /* T_Ctl */
T_Day = 284, /* T_Day */
T_Default = 285, /* T_Default */
- T_Device = 286, /* T_Device */
- T_Digest = 287, /* T_Digest */
- T_Disable = 288, /* T_Disable */
- T_Discard = 289, /* T_Discard */
- T_Dispersion = 290, /* T_Dispersion */
- T_Double = 291, /* T_Double */
- T_Driftfile = 292, /* T_Driftfile */
- T_Drop = 293, /* T_Drop */
- T_Dscp = 294, /* T_Dscp */
- T_Ellipsis = 295, /* T_Ellipsis */
- T_Enable = 296, /* T_Enable */
- T_End = 297, /* T_End */
- T_Epeer = 298, /* T_Epeer */
- T_False = 299, /* T_False */
- T_File = 300, /* T_File */
- T_Filegen = 301, /* T_Filegen */
- T_Filenum = 302, /* T_Filenum */
- T_Flag1 = 303, /* T_Flag1 */
- T_Flag2 = 304, /* T_Flag2 */
- T_Flag3 = 305, /* T_Flag3 */
- T_Flag4 = 306, /* T_Flag4 */
- T_Flake = 307, /* T_Flake */
- T_Floor = 308, /* T_Floor */
- T_Freq = 309, /* T_Freq */
- T_Fudge = 310, /* T_Fudge */
- T_Fuzz = 311, /* T_Fuzz */
- T_Host = 312, /* T_Host */
- T_Huffpuff = 313, /* T_Huffpuff */
- T_Iburst = 314, /* T_Iburst */
- T_Ident = 315, /* T_Ident */
- T_Ignore = 316, /* T_Ignore */
- T_Ignorehash = 317, /* T_Ignorehash */
- T_Incalloc = 318, /* T_Incalloc */
- T_Incmem = 319, /* T_Incmem */
- T_Initalloc = 320, /* T_Initalloc */
- T_Initmem = 321, /* T_Initmem */
- T_Includefile = 322, /* T_Includefile */
- T_Integer = 323, /* T_Integer */
- T_Interface = 324, /* T_Interface */
- T_Intrange = 325, /* T_Intrange */
- T_Io = 326, /* T_Io */
- T_Ippeerlimit = 327, /* T_Ippeerlimit */
- T_Ipv4 = 328, /* T_Ipv4 */
- T_Ipv4_flag = 329, /* T_Ipv4_flag */
- T_Ipv6 = 330, /* T_Ipv6 */
- T_Ipv6_flag = 331, /* T_Ipv6_flag */
- T_Kernel = 332, /* T_Kernel */
- T_Key = 333, /* T_Key */
- T_Keys = 334, /* T_Keys */
- T_Keysdir = 335, /* T_Keysdir */
- T_Kod = 336, /* T_Kod */
- T_Leapfile = 337, /* T_Leapfile */
- T_Leapsmearinterval = 338, /* T_Leapsmearinterval */
- T_Limited = 339, /* T_Limited */
- T_Link = 340, /* T_Link */
- T_Listen = 341, /* T_Listen */
- T_Logconfig = 342, /* T_Logconfig */
- T_Logfile = 343, /* T_Logfile */
- T_Loopstats = 344, /* T_Loopstats */
- T_Lowpriotrap = 345, /* T_Lowpriotrap */
- T_Manycastclient = 346, /* T_Manycastclient */
- T_Manycastserver = 347, /* T_Manycastserver */
- T_Mask = 348, /* T_Mask */
- T_Maxage = 349, /* T_Maxage */
- T_Maxclock = 350, /* T_Maxclock */
- T_Maxdepth = 351, /* T_Maxdepth */
- T_Maxdist = 352, /* T_Maxdist */
- T_Maxmem = 353, /* T_Maxmem */
- T_Maxpoll = 354, /* T_Maxpoll */
- T_Mdnstries = 355, /* T_Mdnstries */
- T_Mem = 356, /* T_Mem */
- T_Memlock = 357, /* T_Memlock */
- T_Minclock = 358, /* T_Minclock */
- T_Mindepth = 359, /* T_Mindepth */
- T_Mindist = 360, /* T_Mindist */
- T_Minimum = 361, /* T_Minimum */
- T_Minjitter = 362, /* T_Minjitter */
- T_Minpoll = 363, /* T_Minpoll */
- T_Minsane = 364, /* T_Minsane */
- T_Mode = 365, /* T_Mode */
- T_Mode7 = 366, /* T_Mode7 */
- T_Monitor = 367, /* T_Monitor */
- T_Month = 368, /* T_Month */
- T_Mru = 369, /* T_Mru */
- T_Mssntp = 370, /* T_Mssntp */
- T_Multicastclient = 371, /* T_Multicastclient */
- T_Nic = 372, /* T_Nic */
- T_Nolink = 373, /* T_Nolink */
- T_Nomodify = 374, /* T_Nomodify */
- T_Nomrulist = 375, /* T_Nomrulist */
- T_None = 376, /* T_None */
- T_Nonvolatile = 377, /* T_Nonvolatile */
- T_Noepeer = 378, /* T_Noepeer */
- T_Nopeer = 379, /* T_Nopeer */
- T_Noquery = 380, /* T_Noquery */
- T_Noselect = 381, /* T_Noselect */
- T_Noserve = 382, /* T_Noserve */
- T_Notrap = 383, /* T_Notrap */
- T_Notrust = 384, /* T_Notrust */
- T_Ntp = 385, /* T_Ntp */
- T_Ntpport = 386, /* T_Ntpport */
- T_NtpSignDsocket = 387, /* T_NtpSignDsocket */
- T_Orphan = 388, /* T_Orphan */
- T_Orphanwait = 389, /* T_Orphanwait */
- T_PCEdigest = 390, /* T_PCEdigest */
- T_Panic = 391, /* T_Panic */
- T_Peer = 392, /* T_Peer */
- T_Peerstats = 393, /* T_Peerstats */
- T_Phone = 394, /* T_Phone */
- T_Pid = 395, /* T_Pid */
- T_Pidfile = 396, /* T_Pidfile */
- T_Poll = 397, /* T_Poll */
- T_PollSkewList = 398, /* T_PollSkewList */
- T_Pool = 399, /* T_Pool */
- T_Port = 400, /* T_Port */
- T_PpsData = 401, /* T_PpsData */
- T_Preempt = 402, /* T_Preempt */
- T_Prefer = 403, /* T_Prefer */
- T_Protostats = 404, /* T_Protostats */
- T_Pw = 405, /* T_Pw */
- T_Randfile = 406, /* T_Randfile */
- T_Rawstats = 407, /* T_Rawstats */
- T_Refid = 408, /* T_Refid */
- T_Requestkey = 409, /* T_Requestkey */
- T_Reset = 410, /* T_Reset */
- T_Restrict = 411, /* T_Restrict */
- T_Revoke = 412, /* T_Revoke */
- T_Rlimit = 413, /* T_Rlimit */
- T_Saveconfigdir = 414, /* T_Saveconfigdir */
- T_Server = 415, /* T_Server */
- T_Serverresponse = 416, /* T_Serverresponse */
- T_ServerresponseFuzz = 417, /* T_ServerresponseFuzz */
- T_Setvar = 418, /* T_Setvar */
- T_Source = 419, /* T_Source */
- T_Stacksize = 420, /* T_Stacksize */
- T_Statistics = 421, /* T_Statistics */
- T_Stats = 422, /* T_Stats */
- T_Statsdir = 423, /* T_Statsdir */
- T_Step = 424, /* T_Step */
- T_Stepback = 425, /* T_Stepback */
- T_Stepfwd = 426, /* T_Stepfwd */
- T_Stepout = 427, /* T_Stepout */
- T_Stratum = 428, /* T_Stratum */
- T_String = 429, /* T_String */
- T_Sys = 430, /* T_Sys */
- T_Sysstats = 431, /* T_Sysstats */
- T_Tick = 432, /* T_Tick */
- T_Time1 = 433, /* T_Time1 */
- T_Time2 = 434, /* T_Time2 */
- T_TimeData = 435, /* T_TimeData */
- T_Timer = 436, /* T_Timer */
- T_Timingstats = 437, /* T_Timingstats */
- T_Tinker = 438, /* T_Tinker */
- T_Tos = 439, /* T_Tos */
- T_Trap = 440, /* T_Trap */
- T_True = 441, /* T_True */
- T_Trustedkey = 442, /* T_Trustedkey */
- T_Ttl = 443, /* T_Ttl */
- T_Type = 444, /* T_Type */
- T_U_int = 445, /* T_U_int */
- T_UEcrypto = 446, /* T_UEcrypto */
- T_UEcryptonak = 447, /* T_UEcryptonak */
- T_UEdigest = 448, /* T_UEdigest */
- T_Unconfig = 449, /* T_Unconfig */
- T_Unpeer = 450, /* T_Unpeer */
- T_Version = 451, /* T_Version */
- T_WanderThreshold = 452, /* T_WanderThreshold */
- T_Week = 453, /* T_Week */
- T_Wildcard = 454, /* T_Wildcard */
- T_Xleave = 455, /* T_Xleave */
- T_Xmtnonce = 456, /* T_Xmtnonce */
- T_Year = 457, /* T_Year */
- T_Flag = 458, /* T_Flag */
- T_EOC = 459, /* T_EOC */
- T_Simulate = 460, /* T_Simulate */
- T_Beep_Delay = 461, /* T_Beep_Delay */
- T_Sim_Duration = 462, /* T_Sim_Duration */
- T_Server_Offset = 463, /* T_Server_Offset */
- T_Duration = 464, /* T_Duration */
- T_Freq_Offset = 465, /* T_Freq_Offset */
- T_Wander = 466, /* T_Wander */
- T_Jitter = 467, /* T_Jitter */
- T_Prop_Delay = 468, /* T_Prop_Delay */
- T_Proc_Delay = 469 /* T_Proc_Delay */
+ T_Delrestrict = 286, /* T_Delrestrict */
+ T_Device = 287, /* T_Device */
+ T_Digest = 288, /* T_Digest */
+ T_Disable = 289, /* T_Disable */
+ T_Discard = 290, /* T_Discard */
+ T_Dispersion = 291, /* T_Dispersion */
+ T_Double = 292, /* T_Double */
+ T_Driftfile = 293, /* T_Driftfile */
+ T_Drop = 294, /* T_Drop */
+ T_Dscp = 295, /* T_Dscp */
+ T_Ellipsis = 296, /* T_Ellipsis */
+ T_Enable = 297, /* T_Enable */
+ T_End = 298, /* T_End */
+ T_Epeer = 299, /* T_Epeer */
+ T_False = 300, /* T_False */
+ T_File = 301, /* T_File */
+ T_Filegen = 302, /* T_Filegen */
+ T_Filenum = 303, /* T_Filenum */
+ T_Flag1 = 304, /* T_Flag1 */
+ T_Flag2 = 305, /* T_Flag2 */
+ T_Flag3 = 306, /* T_Flag3 */
+ T_Flag4 = 307, /* T_Flag4 */
+ T_Flake = 308, /* T_Flake */
+ T_Floor = 309, /* T_Floor */
+ T_Freq = 310, /* T_Freq */
+ T_Fudge = 311, /* T_Fudge */
+ T_Fuzz = 312, /* T_Fuzz */
+ T_Host = 313, /* T_Host */
+ T_Huffpuff = 314, /* T_Huffpuff */
+ T_Iburst = 315, /* T_Iburst */
+ T_Ident = 316, /* T_Ident */
+ T_Ignore = 317, /* T_Ignore */
+ T_Ignorehash = 318, /* T_Ignorehash */
+ T_Incalloc = 319, /* T_Incalloc */
+ T_Incmem = 320, /* T_Incmem */
+ T_Initalloc = 321, /* T_Initalloc */
+ T_Initmem = 322, /* T_Initmem */
+ T_Includefile = 323, /* T_Includefile */
+ T_Integer = 324, /* T_Integer */
+ T_Interface = 325, /* T_Interface */
+ T_Intrange = 326, /* T_Intrange */
+ T_Io = 327, /* T_Io */
+ T_Ippeerlimit = 328, /* T_Ippeerlimit */
+ T_Ipv4 = 329, /* T_Ipv4 */
+ T_Ipv4_flag = 330, /* T_Ipv4_flag */
+ T_Ipv6 = 331, /* T_Ipv6 */
+ T_Ipv6_flag = 332, /* T_Ipv6_flag */
+ T_Kernel = 333, /* T_Kernel */
+ T_Key = 334, /* T_Key */
+ T_Keys = 335, /* T_Keys */
+ T_Keysdir = 336, /* T_Keysdir */
+ T_Kod = 337, /* T_Kod */
+ T_Leapfile = 338, /* T_Leapfile */
+ T_Leapsmearinterval = 339, /* T_Leapsmearinterval */
+ T_Limited = 340, /* T_Limited */
+ T_Link = 341, /* T_Link */
+ T_Listen = 342, /* T_Listen */
+ T_Logconfig = 343, /* T_Logconfig */
+ T_Logfile = 344, /* T_Logfile */
+ T_Loopstats = 345, /* T_Loopstats */
+ T_Lowpriotrap = 346, /* T_Lowpriotrap */
+ T_Manycastclient = 347, /* T_Manycastclient */
+ T_Manycastserver = 348, /* T_Manycastserver */
+ T_Mask = 349, /* T_Mask */
+ T_Maxage = 350, /* T_Maxage */
+ T_Maxclock = 351, /* T_Maxclock */
+ T_Maxdepth = 352, /* T_Maxdepth */
+ T_Maxdist = 353, /* T_Maxdist */
+ T_Maxmem = 354, /* T_Maxmem */
+ T_Maxpoll = 355, /* T_Maxpoll */
+ T_Mdnstries = 356, /* T_Mdnstries */
+ T_Mem = 357, /* T_Mem */
+ T_Memlock = 358, /* T_Memlock */
+ T_Minclock = 359, /* T_Minclock */
+ T_Mindepth = 360, /* T_Mindepth */
+ T_Mindist = 361, /* T_Mindist */
+ T_Minimum = 362, /* T_Minimum */
+ T_Minjitter = 363, /* T_Minjitter */
+ T_Minpoll = 364, /* T_Minpoll */
+ T_Minsane = 365, /* T_Minsane */
+ T_Mode = 366, /* T_Mode */
+ T_Mode7 = 367, /* T_Mode7 */
+ T_Monitor = 368, /* T_Monitor */
+ T_Month = 369, /* T_Month */
+ T_Mru = 370, /* T_Mru */
+ T_Mssntp = 371, /* T_Mssntp */
+ T_Multicastclient = 372, /* T_Multicastclient */
+ T_Nic = 373, /* T_Nic */
+ T_Nolink = 374, /* T_Nolink */
+ T_Nomodify = 375, /* T_Nomodify */
+ T_Nomrulist = 376, /* T_Nomrulist */
+ T_None = 377, /* T_None */
+ T_Nonvolatile = 378, /* T_Nonvolatile */
+ T_Noepeer = 379, /* T_Noepeer */
+ T_Nopeer = 380, /* T_Nopeer */
+ T_Noquery = 381, /* T_Noquery */
+ T_Noselect = 382, /* T_Noselect */
+ T_Noserve = 383, /* T_Noserve */
+ T_Notrap = 384, /* T_Notrap */
+ T_Notrust = 385, /* T_Notrust */
+ T_Ntp = 386, /* T_Ntp */
+ T_Ntpport = 387, /* T_Ntpport */
+ T_NtpSignDsocket = 388, /* T_NtpSignDsocket */
+ T_Orphan = 389, /* T_Orphan */
+ T_Orphanwait = 390, /* T_Orphanwait */
+ T_PCEdigest = 391, /* T_PCEdigest */
+ T_Panic = 392, /* T_Panic */
+ T_Peer = 393, /* T_Peer */
+ T_Peerstats = 394, /* T_Peerstats */
+ T_Phone = 395, /* T_Phone */
+ T_Pid = 396, /* T_Pid */
+ T_Pidfile = 397, /* T_Pidfile */
+ T_Poll = 398, /* T_Poll */
+ T_PollSkewList = 399, /* T_PollSkewList */
+ T_Pool = 400, /* T_Pool */
+ T_Port = 401, /* T_Port */
+ T_PpsData = 402, /* T_PpsData */
+ T_Preempt = 403, /* T_Preempt */
+ T_Prefer = 404, /* T_Prefer */
+ T_Protostats = 405, /* T_Protostats */
+ T_Pw = 406, /* T_Pw */
+ T_Randfile = 407, /* T_Randfile */
+ T_Rawstats = 408, /* T_Rawstats */
+ T_Refid = 409, /* T_Refid */
+ T_Requestkey = 410, /* T_Requestkey */
+ T_Reset = 411, /* T_Reset */
+ T_Restrict = 412, /* T_Restrict */
+ T_Revoke = 413, /* T_Revoke */
+ T_Rlimit = 414, /* T_Rlimit */
+ T_Saveconfigdir = 415, /* T_Saveconfigdir */
+ T_Server = 416, /* T_Server */
+ T_Serverresponse = 417, /* T_Serverresponse */
+ T_ServerresponseFuzz = 418, /* T_ServerresponseFuzz */
+ T_Setvar = 419, /* T_Setvar */
+ T_Source = 420, /* T_Source */
+ T_Stacksize = 421, /* T_Stacksize */
+ T_Statistics = 422, /* T_Statistics */
+ T_Stats = 423, /* T_Stats */
+ T_Statsdir = 424, /* T_Statsdir */
+ T_Step = 425, /* T_Step */
+ T_Stepback = 426, /* T_Stepback */
+ T_Stepfwd = 427, /* T_Stepfwd */
+ T_Stepout = 428, /* T_Stepout */
+ T_Stratum = 429, /* T_Stratum */
+ T_String = 430, /* T_String */
+ T_Sys = 431, /* T_Sys */
+ T_Sysstats = 432, /* T_Sysstats */
+ T_Tick = 433, /* T_Tick */
+ T_Time1 = 434, /* T_Time1 */
+ T_Time2 = 435, /* T_Time2 */
+ T_TimeData = 436, /* T_TimeData */
+ T_Timer = 437, /* T_Timer */
+ T_Timingstats = 438, /* T_Timingstats */
+ T_Tinker = 439, /* T_Tinker */
+ T_Tos = 440, /* T_Tos */
+ T_Trap = 441, /* T_Trap */
+ T_True = 442, /* T_True */
+ T_Trustedkey = 443, /* T_Trustedkey */
+ T_Ttl = 444, /* T_Ttl */
+ T_Type = 445, /* T_Type */
+ T_U_int = 446, /* T_U_int */
+ T_UEcrypto = 447, /* T_UEcrypto */
+ T_UEcryptonak = 448, /* T_UEcryptonak */
+ T_UEdigest = 449, /* T_UEdigest */
+ T_Unconfig = 450, /* T_Unconfig */
+ T_Unpeer = 451, /* T_Unpeer */
+ T_Version = 452, /* T_Version */
+ T_WanderThreshold = 453, /* T_WanderThreshold */
+ T_Week = 454, /* T_Week */
+ T_Wildcard = 455, /* T_Wildcard */
+ T_Xleave = 456, /* T_Xleave */
+ T_Xmtnonce = 457, /* T_Xmtnonce */
+ T_Year = 458, /* T_Year */
+ T_Flag = 459, /* T_Flag */
+ T_EOC = 460, /* T_EOC */
+ T_Simulate = 461, /* T_Simulate */
+ T_Beep_Delay = 462, /* T_Beep_Delay */
+ T_Sim_Duration = 463, /* T_Sim_Duration */
+ T_Server_Offset = 464, /* T_Server_Offset */
+ T_Duration = 465, /* T_Duration */
+ T_Freq_Offset = 466, /* T_Freq_Offset */
+ T_Wander = 467, /* T_Wander */
+ T_Jitter = 468, /* T_Jitter */
+ T_Prop_Delay = 469, /* T_Prop_Delay */
+ T_Proc_Delay = 470 /* T_Proc_Delay */
};
typedef enum yytokentype yytoken_kind_t;
#endif
#define T_Ctl 283
#define T_Day 284
#define T_Default 285
-#define T_Device 286
-#define T_Digest 287
-#define T_Disable 288
-#define T_Discard 289
-#define T_Dispersion 290
-#define T_Double 291
-#define T_Driftfile 292
-#define T_Drop 293
-#define T_Dscp 294
-#define T_Ellipsis 295
-#define T_Enable 296
-#define T_End 297
-#define T_Epeer 298
-#define T_False 299
-#define T_File 300
-#define T_Filegen 301
-#define T_Filenum 302
-#define T_Flag1 303
-#define T_Flag2 304
-#define T_Flag3 305
-#define T_Flag4 306
-#define T_Flake 307
-#define T_Floor 308
-#define T_Freq 309
-#define T_Fudge 310
-#define T_Fuzz 311
-#define T_Host 312
-#define T_Huffpuff 313
-#define T_Iburst 314
-#define T_Ident 315
-#define T_Ignore 316
-#define T_Ignorehash 317
-#define T_Incalloc 318
-#define T_Incmem 319
-#define T_Initalloc 320
-#define T_Initmem 321
-#define T_Includefile 322
-#define T_Integer 323
-#define T_Interface 324
-#define T_Intrange 325
-#define T_Io 326
-#define T_Ippeerlimit 327
-#define T_Ipv4 328
-#define T_Ipv4_flag 329
-#define T_Ipv6 330
-#define T_Ipv6_flag 331
-#define T_Kernel 332
-#define T_Key 333
-#define T_Keys 334
-#define T_Keysdir 335
-#define T_Kod 336
-#define T_Leapfile 337
-#define T_Leapsmearinterval 338
-#define T_Limited 339
-#define T_Link 340
-#define T_Listen 341
-#define T_Logconfig 342
-#define T_Logfile 343
-#define T_Loopstats 344
-#define T_Lowpriotrap 345
-#define T_Manycastclient 346
-#define T_Manycastserver 347
-#define T_Mask 348
-#define T_Maxage 349
-#define T_Maxclock 350
-#define T_Maxdepth 351
-#define T_Maxdist 352
-#define T_Maxmem 353
-#define T_Maxpoll 354
-#define T_Mdnstries 355
-#define T_Mem 356
-#define T_Memlock 357
-#define T_Minclock 358
-#define T_Mindepth 359
-#define T_Mindist 360
-#define T_Minimum 361
-#define T_Minjitter 362
-#define T_Minpoll 363
-#define T_Minsane 364
-#define T_Mode 365
-#define T_Mode7 366
-#define T_Monitor 367
-#define T_Month 368
-#define T_Mru 369
-#define T_Mssntp 370
-#define T_Multicastclient 371
-#define T_Nic 372
-#define T_Nolink 373
-#define T_Nomodify 374
-#define T_Nomrulist 375
-#define T_None 376
-#define T_Nonvolatile 377
-#define T_Noepeer 378
-#define T_Nopeer 379
-#define T_Noquery 380
-#define T_Noselect 381
-#define T_Noserve 382
-#define T_Notrap 383
-#define T_Notrust 384
-#define T_Ntp 385
-#define T_Ntpport 386
-#define T_NtpSignDsocket 387
-#define T_Orphan 388
-#define T_Orphanwait 389
-#define T_PCEdigest 390
-#define T_Panic 391
-#define T_Peer 392
-#define T_Peerstats 393
-#define T_Phone 394
-#define T_Pid 395
-#define T_Pidfile 396
-#define T_Poll 397
-#define T_PollSkewList 398
-#define T_Pool 399
-#define T_Port 400
-#define T_PpsData 401
-#define T_Preempt 402
-#define T_Prefer 403
-#define T_Protostats 404
-#define T_Pw 405
-#define T_Randfile 406
-#define T_Rawstats 407
-#define T_Refid 408
-#define T_Requestkey 409
-#define T_Reset 410
-#define T_Restrict 411
-#define T_Revoke 412
-#define T_Rlimit 413
-#define T_Saveconfigdir 414
-#define T_Server 415
-#define T_Serverresponse 416
-#define T_ServerresponseFuzz 417
-#define T_Setvar 418
-#define T_Source 419
-#define T_Stacksize 420
-#define T_Statistics 421
-#define T_Stats 422
-#define T_Statsdir 423
-#define T_Step 424
-#define T_Stepback 425
-#define T_Stepfwd 426
-#define T_Stepout 427
-#define T_Stratum 428
-#define T_String 429
-#define T_Sys 430
-#define T_Sysstats 431
-#define T_Tick 432
-#define T_Time1 433
-#define T_Time2 434
-#define T_TimeData 435
-#define T_Timer 436
-#define T_Timingstats 437
-#define T_Tinker 438
-#define T_Tos 439
-#define T_Trap 440
-#define T_True 441
-#define T_Trustedkey 442
-#define T_Ttl 443
-#define T_Type 444
-#define T_U_int 445
-#define T_UEcrypto 446
-#define T_UEcryptonak 447
-#define T_UEdigest 448
-#define T_Unconfig 449
-#define T_Unpeer 450
-#define T_Version 451
-#define T_WanderThreshold 452
-#define T_Week 453
-#define T_Wildcard 454
-#define T_Xleave 455
-#define T_Xmtnonce 456
-#define T_Year 457
-#define T_Flag 458
-#define T_EOC 459
-#define T_Simulate 460
-#define T_Beep_Delay 461
-#define T_Sim_Duration 462
-#define T_Server_Offset 463
-#define T_Duration 464
-#define T_Freq_Offset 465
-#define T_Wander 466
-#define T_Jitter 467
-#define T_Prop_Delay 468
-#define T_Proc_Delay 469
+#define T_Delrestrict 286
+#define T_Device 287
+#define T_Digest 288
+#define T_Disable 289
+#define T_Discard 290
+#define T_Dispersion 291
+#define T_Double 292
+#define T_Driftfile 293
+#define T_Drop 294
+#define T_Dscp 295
+#define T_Ellipsis 296
+#define T_Enable 297
+#define T_End 298
+#define T_Epeer 299
+#define T_False 300
+#define T_File 301
+#define T_Filegen 302
+#define T_Filenum 303
+#define T_Flag1 304
+#define T_Flag2 305
+#define T_Flag3 306
+#define T_Flag4 307
+#define T_Flake 308
+#define T_Floor 309
+#define T_Freq 310
+#define T_Fudge 311
+#define T_Fuzz 312
+#define T_Host 313
+#define T_Huffpuff 314
+#define T_Iburst 315
+#define T_Ident 316
+#define T_Ignore 317
+#define T_Ignorehash 318
+#define T_Incalloc 319
+#define T_Incmem 320
+#define T_Initalloc 321
+#define T_Initmem 322
+#define T_Includefile 323
+#define T_Integer 324
+#define T_Interface 325
+#define T_Intrange 326
+#define T_Io 327
+#define T_Ippeerlimit 328
+#define T_Ipv4 329
+#define T_Ipv4_flag 330
+#define T_Ipv6 331
+#define T_Ipv6_flag 332
+#define T_Kernel 333
+#define T_Key 334
+#define T_Keys 335
+#define T_Keysdir 336
+#define T_Kod 337
+#define T_Leapfile 338
+#define T_Leapsmearinterval 339
+#define T_Limited 340
+#define T_Link 341
+#define T_Listen 342
+#define T_Logconfig 343
+#define T_Logfile 344
+#define T_Loopstats 345
+#define T_Lowpriotrap 346
+#define T_Manycastclient 347
+#define T_Manycastserver 348
+#define T_Mask 349
+#define T_Maxage 350
+#define T_Maxclock 351
+#define T_Maxdepth 352
+#define T_Maxdist 353
+#define T_Maxmem 354
+#define T_Maxpoll 355
+#define T_Mdnstries 356
+#define T_Mem 357
+#define T_Memlock 358
+#define T_Minclock 359
+#define T_Mindepth 360
+#define T_Mindist 361
+#define T_Minimum 362
+#define T_Minjitter 363
+#define T_Minpoll 364
+#define T_Minsane 365
+#define T_Mode 366
+#define T_Mode7 367
+#define T_Monitor 368
+#define T_Month 369
+#define T_Mru 370
+#define T_Mssntp 371
+#define T_Multicastclient 372
+#define T_Nic 373
+#define T_Nolink 374
+#define T_Nomodify 375
+#define T_Nomrulist 376
+#define T_None 377
+#define T_Nonvolatile 378
+#define T_Noepeer 379
+#define T_Nopeer 380
+#define T_Noquery 381
+#define T_Noselect 382
+#define T_Noserve 383
+#define T_Notrap 384
+#define T_Notrust 385
+#define T_Ntp 386
+#define T_Ntpport 387
+#define T_NtpSignDsocket 388
+#define T_Orphan 389
+#define T_Orphanwait 390
+#define T_PCEdigest 391
+#define T_Panic 392
+#define T_Peer 393
+#define T_Peerstats 394
+#define T_Phone 395
+#define T_Pid 396
+#define T_Pidfile 397
+#define T_Poll 398
+#define T_PollSkewList 399
+#define T_Pool 400
+#define T_Port 401
+#define T_PpsData 402
+#define T_Preempt 403
+#define T_Prefer 404
+#define T_Protostats 405
+#define T_Pw 406
+#define T_Randfile 407
+#define T_Rawstats 408
+#define T_Refid 409
+#define T_Requestkey 410
+#define T_Reset 411
+#define T_Restrict 412
+#define T_Revoke 413
+#define T_Rlimit 414
+#define T_Saveconfigdir 415
+#define T_Server 416
+#define T_Serverresponse 417
+#define T_ServerresponseFuzz 418
+#define T_Setvar 419
+#define T_Source 420
+#define T_Stacksize 421
+#define T_Statistics 422
+#define T_Stats 423
+#define T_Statsdir 424
+#define T_Step 425
+#define T_Stepback 426
+#define T_Stepfwd 427
+#define T_Stepout 428
+#define T_Stratum 429
+#define T_String 430
+#define T_Sys 431
+#define T_Sysstats 432
+#define T_Tick 433
+#define T_Time1 434
+#define T_Time2 435
+#define T_TimeData 436
+#define T_Timer 437
+#define T_Timingstats 438
+#define T_Tinker 439
+#define T_Tos 440
+#define T_Trap 441
+#define T_True 442
+#define T_Trustedkey 443
+#define T_Ttl 444
+#define T_Type 445
+#define T_U_int 446
+#define T_UEcrypto 447
+#define T_UEcryptonak 448
+#define T_UEdigest 449
+#define T_Unconfig 450
+#define T_Unpeer 451
+#define T_Version 452
+#define T_WanderThreshold 453
+#define T_Week 454
+#define T_Wildcard 455
+#define T_Xleave 456
+#define T_Xmtnonce 457
+#define T_Year 458
+#define T_Flag 459
+#define T_EOC 460
+#define T_Simulate 461
+#define T_Beep_Delay 462
+#define T_Sim_Duration 463
+#define T_Server_Offset 464
+#define T_Duration 465
+#define T_Freq_Offset 466
+#define T_Wander 467
+#define T_Jitter 468
+#define T_Prop_Delay 469
+#define T_Proc_Delay 470
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
script_info * Sim_script;
script_info_fifo * Sim_script_fifo;
-#line 606 "ntp_parser.c"
+#line 608 "ntp_parser.c"
};
typedef union YYSTYPE YYSTYPE;
YYSYMBOL_T_Ctl = 28, /* T_Ctl */
YYSYMBOL_T_Day = 29, /* T_Day */
YYSYMBOL_T_Default = 30, /* T_Default */
- YYSYMBOL_T_Device = 31, /* T_Device */
- YYSYMBOL_T_Digest = 32, /* T_Digest */
- YYSYMBOL_T_Disable = 33, /* T_Disable */
- YYSYMBOL_T_Discard = 34, /* T_Discard */
- YYSYMBOL_T_Dispersion = 35, /* T_Dispersion */
- YYSYMBOL_T_Double = 36, /* T_Double */
- YYSYMBOL_T_Driftfile = 37, /* T_Driftfile */
- YYSYMBOL_T_Drop = 38, /* T_Drop */
- YYSYMBOL_T_Dscp = 39, /* T_Dscp */
- YYSYMBOL_T_Ellipsis = 40, /* T_Ellipsis */
- YYSYMBOL_T_Enable = 41, /* T_Enable */
- YYSYMBOL_T_End = 42, /* T_End */
- YYSYMBOL_T_Epeer = 43, /* T_Epeer */
- YYSYMBOL_T_False = 44, /* T_False */
- YYSYMBOL_T_File = 45, /* T_File */
- YYSYMBOL_T_Filegen = 46, /* T_Filegen */
- YYSYMBOL_T_Filenum = 47, /* T_Filenum */
- YYSYMBOL_T_Flag1 = 48, /* T_Flag1 */
- YYSYMBOL_T_Flag2 = 49, /* T_Flag2 */
- YYSYMBOL_T_Flag3 = 50, /* T_Flag3 */
- YYSYMBOL_T_Flag4 = 51, /* T_Flag4 */
- YYSYMBOL_T_Flake = 52, /* T_Flake */
- YYSYMBOL_T_Floor = 53, /* T_Floor */
- YYSYMBOL_T_Freq = 54, /* T_Freq */
- YYSYMBOL_T_Fudge = 55, /* T_Fudge */
- YYSYMBOL_T_Fuzz = 56, /* T_Fuzz */
- YYSYMBOL_T_Host = 57, /* T_Host */
- YYSYMBOL_T_Huffpuff = 58, /* T_Huffpuff */
- YYSYMBOL_T_Iburst = 59, /* T_Iburst */
- YYSYMBOL_T_Ident = 60, /* T_Ident */
- YYSYMBOL_T_Ignore = 61, /* T_Ignore */
- YYSYMBOL_T_Ignorehash = 62, /* T_Ignorehash */
- YYSYMBOL_T_Incalloc = 63, /* T_Incalloc */
- YYSYMBOL_T_Incmem = 64, /* T_Incmem */
- YYSYMBOL_T_Initalloc = 65, /* T_Initalloc */
- YYSYMBOL_T_Initmem = 66, /* T_Initmem */
- YYSYMBOL_T_Includefile = 67, /* T_Includefile */
- YYSYMBOL_T_Integer = 68, /* T_Integer */
- YYSYMBOL_T_Interface = 69, /* T_Interface */
- YYSYMBOL_T_Intrange = 70, /* T_Intrange */
- YYSYMBOL_T_Io = 71, /* T_Io */
- YYSYMBOL_T_Ippeerlimit = 72, /* T_Ippeerlimit */
- YYSYMBOL_T_Ipv4 = 73, /* T_Ipv4 */
- YYSYMBOL_T_Ipv4_flag = 74, /* T_Ipv4_flag */
- YYSYMBOL_T_Ipv6 = 75, /* T_Ipv6 */
- YYSYMBOL_T_Ipv6_flag = 76, /* T_Ipv6_flag */
- YYSYMBOL_T_Kernel = 77, /* T_Kernel */
- YYSYMBOL_T_Key = 78, /* T_Key */
- YYSYMBOL_T_Keys = 79, /* T_Keys */
- YYSYMBOL_T_Keysdir = 80, /* T_Keysdir */
- YYSYMBOL_T_Kod = 81, /* T_Kod */
- YYSYMBOL_T_Leapfile = 82, /* T_Leapfile */
- YYSYMBOL_T_Leapsmearinterval = 83, /* T_Leapsmearinterval */
- YYSYMBOL_T_Limited = 84, /* T_Limited */
- YYSYMBOL_T_Link = 85, /* T_Link */
- YYSYMBOL_T_Listen = 86, /* T_Listen */
- YYSYMBOL_T_Logconfig = 87, /* T_Logconfig */
- YYSYMBOL_T_Logfile = 88, /* T_Logfile */
- YYSYMBOL_T_Loopstats = 89, /* T_Loopstats */
- YYSYMBOL_T_Lowpriotrap = 90, /* T_Lowpriotrap */
- YYSYMBOL_T_Manycastclient = 91, /* T_Manycastclient */
- YYSYMBOL_T_Manycastserver = 92, /* T_Manycastserver */
- YYSYMBOL_T_Mask = 93, /* T_Mask */
- YYSYMBOL_T_Maxage = 94, /* T_Maxage */
- YYSYMBOL_T_Maxclock = 95, /* T_Maxclock */
- YYSYMBOL_T_Maxdepth = 96, /* T_Maxdepth */
- YYSYMBOL_T_Maxdist = 97, /* T_Maxdist */
- YYSYMBOL_T_Maxmem = 98, /* T_Maxmem */
- YYSYMBOL_T_Maxpoll = 99, /* T_Maxpoll */
- YYSYMBOL_T_Mdnstries = 100, /* T_Mdnstries */
- YYSYMBOL_T_Mem = 101, /* T_Mem */
- YYSYMBOL_T_Memlock = 102, /* T_Memlock */
- YYSYMBOL_T_Minclock = 103, /* T_Minclock */
- YYSYMBOL_T_Mindepth = 104, /* T_Mindepth */
- YYSYMBOL_T_Mindist = 105, /* T_Mindist */
- YYSYMBOL_T_Minimum = 106, /* T_Minimum */
- YYSYMBOL_T_Minjitter = 107, /* T_Minjitter */
- YYSYMBOL_T_Minpoll = 108, /* T_Minpoll */
- YYSYMBOL_T_Minsane = 109, /* T_Minsane */
- YYSYMBOL_T_Mode = 110, /* T_Mode */
- YYSYMBOL_T_Mode7 = 111, /* T_Mode7 */
- YYSYMBOL_T_Monitor = 112, /* T_Monitor */
- YYSYMBOL_T_Month = 113, /* T_Month */
- YYSYMBOL_T_Mru = 114, /* T_Mru */
- YYSYMBOL_T_Mssntp = 115, /* T_Mssntp */
- YYSYMBOL_T_Multicastclient = 116, /* T_Multicastclient */
- YYSYMBOL_T_Nic = 117, /* T_Nic */
- YYSYMBOL_T_Nolink = 118, /* T_Nolink */
- YYSYMBOL_T_Nomodify = 119, /* T_Nomodify */
- YYSYMBOL_T_Nomrulist = 120, /* T_Nomrulist */
- YYSYMBOL_T_None = 121, /* T_None */
- YYSYMBOL_T_Nonvolatile = 122, /* T_Nonvolatile */
- YYSYMBOL_T_Noepeer = 123, /* T_Noepeer */
- YYSYMBOL_T_Nopeer = 124, /* T_Nopeer */
- YYSYMBOL_T_Noquery = 125, /* T_Noquery */
- YYSYMBOL_T_Noselect = 126, /* T_Noselect */
- YYSYMBOL_T_Noserve = 127, /* T_Noserve */
- YYSYMBOL_T_Notrap = 128, /* T_Notrap */
- YYSYMBOL_T_Notrust = 129, /* T_Notrust */
- YYSYMBOL_T_Ntp = 130, /* T_Ntp */
- YYSYMBOL_T_Ntpport = 131, /* T_Ntpport */
- YYSYMBOL_T_NtpSignDsocket = 132, /* T_NtpSignDsocket */
- YYSYMBOL_T_Orphan = 133, /* T_Orphan */
- YYSYMBOL_T_Orphanwait = 134, /* T_Orphanwait */
- YYSYMBOL_T_PCEdigest = 135, /* T_PCEdigest */
- YYSYMBOL_T_Panic = 136, /* T_Panic */
- YYSYMBOL_T_Peer = 137, /* T_Peer */
- YYSYMBOL_T_Peerstats = 138, /* T_Peerstats */
- YYSYMBOL_T_Phone = 139, /* T_Phone */
- YYSYMBOL_T_Pid = 140, /* T_Pid */
- YYSYMBOL_T_Pidfile = 141, /* T_Pidfile */
- YYSYMBOL_T_Poll = 142, /* T_Poll */
- YYSYMBOL_T_PollSkewList = 143, /* T_PollSkewList */
- YYSYMBOL_T_Pool = 144, /* T_Pool */
- YYSYMBOL_T_Port = 145, /* T_Port */
- YYSYMBOL_T_PpsData = 146, /* T_PpsData */
- YYSYMBOL_T_Preempt = 147, /* T_Preempt */
- YYSYMBOL_T_Prefer = 148, /* T_Prefer */
- YYSYMBOL_T_Protostats = 149, /* T_Protostats */
- YYSYMBOL_T_Pw = 150, /* T_Pw */
- YYSYMBOL_T_Randfile = 151, /* T_Randfile */
- YYSYMBOL_T_Rawstats = 152, /* T_Rawstats */
- YYSYMBOL_T_Refid = 153, /* T_Refid */
- YYSYMBOL_T_Requestkey = 154, /* T_Requestkey */
- YYSYMBOL_T_Reset = 155, /* T_Reset */
- YYSYMBOL_T_Restrict = 156, /* T_Restrict */
- YYSYMBOL_T_Revoke = 157, /* T_Revoke */
- YYSYMBOL_T_Rlimit = 158, /* T_Rlimit */
- YYSYMBOL_T_Saveconfigdir = 159, /* T_Saveconfigdir */
- YYSYMBOL_T_Server = 160, /* T_Server */
- YYSYMBOL_T_Serverresponse = 161, /* T_Serverresponse */
- YYSYMBOL_T_ServerresponseFuzz = 162, /* T_ServerresponseFuzz */
- YYSYMBOL_T_Setvar = 163, /* T_Setvar */
- YYSYMBOL_T_Source = 164, /* T_Source */
- YYSYMBOL_T_Stacksize = 165, /* T_Stacksize */
- YYSYMBOL_T_Statistics = 166, /* T_Statistics */
- YYSYMBOL_T_Stats = 167, /* T_Stats */
- YYSYMBOL_T_Statsdir = 168, /* T_Statsdir */
- YYSYMBOL_T_Step = 169, /* T_Step */
- YYSYMBOL_T_Stepback = 170, /* T_Stepback */
- YYSYMBOL_T_Stepfwd = 171, /* T_Stepfwd */
- YYSYMBOL_T_Stepout = 172, /* T_Stepout */
- YYSYMBOL_T_Stratum = 173, /* T_Stratum */
- YYSYMBOL_T_String = 174, /* T_String */
- YYSYMBOL_T_Sys = 175, /* T_Sys */
- YYSYMBOL_T_Sysstats = 176, /* T_Sysstats */
- YYSYMBOL_T_Tick = 177, /* T_Tick */
- YYSYMBOL_T_Time1 = 178, /* T_Time1 */
- YYSYMBOL_T_Time2 = 179, /* T_Time2 */
- YYSYMBOL_T_TimeData = 180, /* T_TimeData */
- YYSYMBOL_T_Timer = 181, /* T_Timer */
- YYSYMBOL_T_Timingstats = 182, /* T_Timingstats */
- YYSYMBOL_T_Tinker = 183, /* T_Tinker */
- YYSYMBOL_T_Tos = 184, /* T_Tos */
- YYSYMBOL_T_Trap = 185, /* T_Trap */
- YYSYMBOL_T_True = 186, /* T_True */
- YYSYMBOL_T_Trustedkey = 187, /* T_Trustedkey */
- YYSYMBOL_T_Ttl = 188, /* T_Ttl */
- YYSYMBOL_T_Type = 189, /* T_Type */
- YYSYMBOL_T_U_int = 190, /* T_U_int */
- YYSYMBOL_T_UEcrypto = 191, /* T_UEcrypto */
- YYSYMBOL_T_UEcryptonak = 192, /* T_UEcryptonak */
- YYSYMBOL_T_UEdigest = 193, /* T_UEdigest */
- YYSYMBOL_T_Unconfig = 194, /* T_Unconfig */
- YYSYMBOL_T_Unpeer = 195, /* T_Unpeer */
- YYSYMBOL_T_Version = 196, /* T_Version */
- YYSYMBOL_T_WanderThreshold = 197, /* T_WanderThreshold */
- YYSYMBOL_T_Week = 198, /* T_Week */
- YYSYMBOL_T_Wildcard = 199, /* T_Wildcard */
- YYSYMBOL_T_Xleave = 200, /* T_Xleave */
- YYSYMBOL_T_Xmtnonce = 201, /* T_Xmtnonce */
- YYSYMBOL_T_Year = 202, /* T_Year */
- YYSYMBOL_T_Flag = 203, /* T_Flag */
- YYSYMBOL_T_EOC = 204, /* T_EOC */
- YYSYMBOL_T_Simulate = 205, /* T_Simulate */
- YYSYMBOL_T_Beep_Delay = 206, /* T_Beep_Delay */
- YYSYMBOL_T_Sim_Duration = 207, /* T_Sim_Duration */
- YYSYMBOL_T_Server_Offset = 208, /* T_Server_Offset */
- YYSYMBOL_T_Duration = 209, /* T_Duration */
- YYSYMBOL_T_Freq_Offset = 210, /* T_Freq_Offset */
- YYSYMBOL_T_Wander = 211, /* T_Wander */
- YYSYMBOL_T_Jitter = 212, /* T_Jitter */
- YYSYMBOL_T_Prop_Delay = 213, /* T_Prop_Delay */
- YYSYMBOL_T_Proc_Delay = 214, /* T_Proc_Delay */
- YYSYMBOL_215_ = 215, /* '|' */
- YYSYMBOL_216_ = 216, /* '=' */
- YYSYMBOL_217_ = 217, /* '(' */
- YYSYMBOL_218_ = 218, /* ')' */
- YYSYMBOL_219_ = 219, /* '{' */
- YYSYMBOL_220_ = 220, /* '}' */
- YYSYMBOL_YYACCEPT = 221, /* $accept */
- YYSYMBOL_configuration = 222, /* configuration */
- YYSYMBOL_command_list = 223, /* command_list */
- YYSYMBOL_command = 224, /* command */
- YYSYMBOL_server_command = 225, /* server_command */
- YYSYMBOL_client_type = 226, /* client_type */
- YYSYMBOL_address = 227, /* address */
- YYSYMBOL_ip_address = 228, /* ip_address */
- YYSYMBOL_address_fam = 229, /* address_fam */
- YYSYMBOL_option_list = 230, /* option_list */
- YYSYMBOL_option = 231, /* option */
- YYSYMBOL_option_flag = 232, /* option_flag */
- YYSYMBOL_option_flag_keyword = 233, /* option_flag_keyword */
- YYSYMBOL_option_int = 234, /* option_int */
- YYSYMBOL_option_int_keyword = 235, /* option_int_keyword */
- YYSYMBOL_option_str = 236, /* option_str */
- YYSYMBOL_option_str_keyword = 237, /* option_str_keyword */
- YYSYMBOL_unpeer_command = 238, /* unpeer_command */
- YYSYMBOL_unpeer_keyword = 239, /* unpeer_keyword */
- YYSYMBOL_other_mode_command = 240, /* other_mode_command */
- YYSYMBOL_authentication_command = 241, /* authentication_command */
- YYSYMBOL_crypto_command_list = 242, /* crypto_command_list */
- YYSYMBOL_crypto_command = 243, /* crypto_command */
- YYSYMBOL_crypto_str_keyword = 244, /* crypto_str_keyword */
- YYSYMBOL_orphan_mode_command = 245, /* orphan_mode_command */
- YYSYMBOL_tos_option_list = 246, /* tos_option_list */
- YYSYMBOL_tos_option = 247, /* tos_option */
- YYSYMBOL_tos_option_int_keyword = 248, /* tos_option_int_keyword */
- YYSYMBOL_tos_option_dbl_keyword = 249, /* tos_option_dbl_keyword */
- YYSYMBOL_monitoring_command = 250, /* monitoring_command */
- YYSYMBOL_stats_list = 251, /* stats_list */
- YYSYMBOL_stat = 252, /* stat */
- YYSYMBOL_filegen_option_list = 253, /* filegen_option_list */
- YYSYMBOL_filegen_option = 254, /* filegen_option */
- YYSYMBOL_link_nolink = 255, /* link_nolink */
- YYSYMBOL_enable_disable = 256, /* enable_disable */
- YYSYMBOL_filegen_type = 257, /* filegen_type */
- YYSYMBOL_access_control_command = 258, /* access_control_command */
- YYSYMBOL_res_ippeerlimit = 259, /* res_ippeerlimit */
- YYSYMBOL_ac_flag_list = 260, /* ac_flag_list */
- YYSYMBOL_access_control_flag = 261, /* access_control_flag */
- YYSYMBOL_discard_option_list = 262, /* discard_option_list */
- YYSYMBOL_discard_option = 263, /* discard_option */
- YYSYMBOL_discard_option_keyword = 264, /* discard_option_keyword */
- YYSYMBOL_mru_option_list = 265, /* mru_option_list */
- YYSYMBOL_mru_option = 266, /* mru_option */
- YYSYMBOL_mru_option_keyword = 267, /* mru_option_keyword */
- YYSYMBOL_fudge_command = 268, /* fudge_command */
- YYSYMBOL_fudge_factor_list = 269, /* fudge_factor_list */
- YYSYMBOL_fudge_factor = 270, /* fudge_factor */
- YYSYMBOL_fudge_factor_dbl_keyword = 271, /* fudge_factor_dbl_keyword */
- YYSYMBOL_fudge_factor_bool_keyword = 272, /* fudge_factor_bool_keyword */
- YYSYMBOL_device_command = 273, /* device_command */
- YYSYMBOL_device_item_list = 274, /* device_item_list */
- YYSYMBOL_device_item = 275, /* device_item */
- YYSYMBOL_device_item_path_keyword = 276, /* device_item_path_keyword */
- YYSYMBOL_rlimit_command = 277, /* rlimit_command */
- YYSYMBOL_rlimit_option_list = 278, /* rlimit_option_list */
- YYSYMBOL_rlimit_option = 279, /* rlimit_option */
- YYSYMBOL_rlimit_option_keyword = 280, /* rlimit_option_keyword */
- YYSYMBOL_system_option_command = 281, /* system_option_command */
- YYSYMBOL_system_option_list = 282, /* system_option_list */
- YYSYMBOL_system_option = 283, /* system_option */
- YYSYMBOL_system_option_flag_keyword = 284, /* system_option_flag_keyword */
- YYSYMBOL_system_option_local_flag_keyword = 285, /* system_option_local_flag_keyword */
- YYSYMBOL_tinker_command = 286, /* tinker_command */
- YYSYMBOL_tinker_option_list = 287, /* tinker_option_list */
- YYSYMBOL_tinker_option = 288, /* tinker_option */
- YYSYMBOL_tinker_option_keyword = 289, /* tinker_option_keyword */
- YYSYMBOL_miscellaneous_command = 290, /* miscellaneous_command */
- YYSYMBOL_misc_cmd_dbl_keyword = 291, /* misc_cmd_dbl_keyword */
- YYSYMBOL_misc_cmd_int_keyword = 292, /* misc_cmd_int_keyword */
- YYSYMBOL_opt_hash_check = 293, /* opt_hash_check */
- YYSYMBOL_misc_cmd_str_keyword = 294, /* misc_cmd_str_keyword */
- YYSYMBOL_misc_cmd_str_lcl_keyword = 295, /* misc_cmd_str_lcl_keyword */
- YYSYMBOL_drift_parm = 296, /* drift_parm */
- YYSYMBOL_pollskew_list = 297, /* pollskew_list */
- YYSYMBOL_pollskew_spec = 298, /* pollskew_spec */
- YYSYMBOL_pollskew_cycle = 299, /* pollskew_cycle */
- YYSYMBOL_variable_assign = 300, /* variable_assign */
- YYSYMBOL_t_default_or_zero = 301, /* t_default_or_zero */
- YYSYMBOL_trap_option_list = 302, /* trap_option_list */
- YYSYMBOL_trap_option = 303, /* trap_option */
- YYSYMBOL_log_config_list = 304, /* log_config_list */
- YYSYMBOL_log_config_command = 305, /* log_config_command */
- YYSYMBOL_interface_command = 306, /* interface_command */
- YYSYMBOL_interface_nic = 307, /* interface_nic */
- YYSYMBOL_nic_rule_class = 308, /* nic_rule_class */
- YYSYMBOL_nic_rule_action = 309, /* nic_rule_action */
- YYSYMBOL_reset_command = 310, /* reset_command */
- YYSYMBOL_counter_set_list = 311, /* counter_set_list */
- YYSYMBOL_counter_set_keyword = 312, /* counter_set_keyword */
- YYSYMBOL_integer_list = 313, /* integer_list */
- YYSYMBOL_integer_list_range = 314, /* integer_list_range */
- YYSYMBOL_integer_list_range_elt = 315, /* integer_list_range_elt */
- YYSYMBOL_integer_range = 316, /* integer_range */
- YYSYMBOL_string_list = 317, /* string_list */
- YYSYMBOL_address_list = 318, /* address_list */
- YYSYMBOL_boolean = 319, /* boolean */
- YYSYMBOL_number = 320, /* number */
- YYSYMBOL_basedate = 321, /* basedate */
- YYSYMBOL_simulate_command = 322, /* simulate_command */
- YYSYMBOL_sim_conf_start = 323, /* sim_conf_start */
- YYSYMBOL_sim_init_statement_list = 324, /* sim_init_statement_list */
- YYSYMBOL_sim_init_statement = 325, /* sim_init_statement */
- YYSYMBOL_sim_init_keyword = 326, /* sim_init_keyword */
- YYSYMBOL_sim_server_list = 327, /* sim_server_list */
- YYSYMBOL_sim_server = 328, /* sim_server */
- YYSYMBOL_sim_server_offset = 329, /* sim_server_offset */
- YYSYMBOL_sim_server_name = 330, /* sim_server_name */
- YYSYMBOL_sim_act_list = 331, /* sim_act_list */
- YYSYMBOL_sim_act = 332, /* sim_act */
- YYSYMBOL_sim_act_stmt_list = 333, /* sim_act_stmt_list */
- YYSYMBOL_sim_act_stmt = 334, /* sim_act_stmt */
- YYSYMBOL_sim_act_keyword = 335 /* sim_act_keyword */
+ YYSYMBOL_T_Delrestrict = 31, /* T_Delrestrict */
+ YYSYMBOL_T_Device = 32, /* T_Device */
+ YYSYMBOL_T_Digest = 33, /* T_Digest */
+ YYSYMBOL_T_Disable = 34, /* T_Disable */
+ YYSYMBOL_T_Discard = 35, /* T_Discard */
+ YYSYMBOL_T_Dispersion = 36, /* T_Dispersion */
+ YYSYMBOL_T_Double = 37, /* T_Double */
+ YYSYMBOL_T_Driftfile = 38, /* T_Driftfile */
+ YYSYMBOL_T_Drop = 39, /* T_Drop */
+ YYSYMBOL_T_Dscp = 40, /* T_Dscp */
+ YYSYMBOL_T_Ellipsis = 41, /* T_Ellipsis */
+ YYSYMBOL_T_Enable = 42, /* T_Enable */
+ YYSYMBOL_T_End = 43, /* T_End */
+ YYSYMBOL_T_Epeer = 44, /* T_Epeer */
+ YYSYMBOL_T_False = 45, /* T_False */
+ YYSYMBOL_T_File = 46, /* T_File */
+ YYSYMBOL_T_Filegen = 47, /* T_Filegen */
+ YYSYMBOL_T_Filenum = 48, /* T_Filenum */
+ YYSYMBOL_T_Flag1 = 49, /* T_Flag1 */
+ YYSYMBOL_T_Flag2 = 50, /* T_Flag2 */
+ YYSYMBOL_T_Flag3 = 51, /* T_Flag3 */
+ YYSYMBOL_T_Flag4 = 52, /* T_Flag4 */
+ YYSYMBOL_T_Flake = 53, /* T_Flake */
+ YYSYMBOL_T_Floor = 54, /* T_Floor */
+ YYSYMBOL_T_Freq = 55, /* T_Freq */
+ YYSYMBOL_T_Fudge = 56, /* T_Fudge */
+ YYSYMBOL_T_Fuzz = 57, /* T_Fuzz */
+ YYSYMBOL_T_Host = 58, /* T_Host */
+ YYSYMBOL_T_Huffpuff = 59, /* T_Huffpuff */
+ YYSYMBOL_T_Iburst = 60, /* T_Iburst */
+ YYSYMBOL_T_Ident = 61, /* T_Ident */
+ YYSYMBOL_T_Ignore = 62, /* T_Ignore */
+ YYSYMBOL_T_Ignorehash = 63, /* T_Ignorehash */
+ YYSYMBOL_T_Incalloc = 64, /* T_Incalloc */
+ YYSYMBOL_T_Incmem = 65, /* T_Incmem */
+ YYSYMBOL_T_Initalloc = 66, /* T_Initalloc */
+ YYSYMBOL_T_Initmem = 67, /* T_Initmem */
+ YYSYMBOL_T_Includefile = 68, /* T_Includefile */
+ YYSYMBOL_T_Integer = 69, /* T_Integer */
+ YYSYMBOL_T_Interface = 70, /* T_Interface */
+ YYSYMBOL_T_Intrange = 71, /* T_Intrange */
+ YYSYMBOL_T_Io = 72, /* T_Io */
+ YYSYMBOL_T_Ippeerlimit = 73, /* T_Ippeerlimit */
+ YYSYMBOL_T_Ipv4 = 74, /* T_Ipv4 */
+ YYSYMBOL_T_Ipv4_flag = 75, /* T_Ipv4_flag */
+ YYSYMBOL_T_Ipv6 = 76, /* T_Ipv6 */
+ YYSYMBOL_T_Ipv6_flag = 77, /* T_Ipv6_flag */
+ YYSYMBOL_T_Kernel = 78, /* T_Kernel */
+ YYSYMBOL_T_Key = 79, /* T_Key */
+ YYSYMBOL_T_Keys = 80, /* T_Keys */
+ YYSYMBOL_T_Keysdir = 81, /* T_Keysdir */
+ YYSYMBOL_T_Kod = 82, /* T_Kod */
+ YYSYMBOL_T_Leapfile = 83, /* T_Leapfile */
+ YYSYMBOL_T_Leapsmearinterval = 84, /* T_Leapsmearinterval */
+ YYSYMBOL_T_Limited = 85, /* T_Limited */
+ YYSYMBOL_T_Link = 86, /* T_Link */
+ YYSYMBOL_T_Listen = 87, /* T_Listen */
+ YYSYMBOL_T_Logconfig = 88, /* T_Logconfig */
+ YYSYMBOL_T_Logfile = 89, /* T_Logfile */
+ YYSYMBOL_T_Loopstats = 90, /* T_Loopstats */
+ YYSYMBOL_T_Lowpriotrap = 91, /* T_Lowpriotrap */
+ YYSYMBOL_T_Manycastclient = 92, /* T_Manycastclient */
+ YYSYMBOL_T_Manycastserver = 93, /* T_Manycastserver */
+ YYSYMBOL_T_Mask = 94, /* T_Mask */
+ YYSYMBOL_T_Maxage = 95, /* T_Maxage */
+ YYSYMBOL_T_Maxclock = 96, /* T_Maxclock */
+ YYSYMBOL_T_Maxdepth = 97, /* T_Maxdepth */
+ YYSYMBOL_T_Maxdist = 98, /* T_Maxdist */
+ YYSYMBOL_T_Maxmem = 99, /* T_Maxmem */
+ YYSYMBOL_T_Maxpoll = 100, /* T_Maxpoll */
+ YYSYMBOL_T_Mdnstries = 101, /* T_Mdnstries */
+ YYSYMBOL_T_Mem = 102, /* T_Mem */
+ YYSYMBOL_T_Memlock = 103, /* T_Memlock */
+ YYSYMBOL_T_Minclock = 104, /* T_Minclock */
+ YYSYMBOL_T_Mindepth = 105, /* T_Mindepth */
+ YYSYMBOL_T_Mindist = 106, /* T_Mindist */
+ YYSYMBOL_T_Minimum = 107, /* T_Minimum */
+ YYSYMBOL_T_Minjitter = 108, /* T_Minjitter */
+ YYSYMBOL_T_Minpoll = 109, /* T_Minpoll */
+ YYSYMBOL_T_Minsane = 110, /* T_Minsane */
+ YYSYMBOL_T_Mode = 111, /* T_Mode */
+ YYSYMBOL_T_Mode7 = 112, /* T_Mode7 */
+ YYSYMBOL_T_Monitor = 113, /* T_Monitor */
+ YYSYMBOL_T_Month = 114, /* T_Month */
+ YYSYMBOL_T_Mru = 115, /* T_Mru */
+ YYSYMBOL_T_Mssntp = 116, /* T_Mssntp */
+ YYSYMBOL_T_Multicastclient = 117, /* T_Multicastclient */
+ YYSYMBOL_T_Nic = 118, /* T_Nic */
+ YYSYMBOL_T_Nolink = 119, /* T_Nolink */
+ YYSYMBOL_T_Nomodify = 120, /* T_Nomodify */
+ YYSYMBOL_T_Nomrulist = 121, /* T_Nomrulist */
+ YYSYMBOL_T_None = 122, /* T_None */
+ YYSYMBOL_T_Nonvolatile = 123, /* T_Nonvolatile */
+ YYSYMBOL_T_Noepeer = 124, /* T_Noepeer */
+ YYSYMBOL_T_Nopeer = 125, /* T_Nopeer */
+ YYSYMBOL_T_Noquery = 126, /* T_Noquery */
+ YYSYMBOL_T_Noselect = 127, /* T_Noselect */
+ YYSYMBOL_T_Noserve = 128, /* T_Noserve */
+ YYSYMBOL_T_Notrap = 129, /* T_Notrap */
+ YYSYMBOL_T_Notrust = 130, /* T_Notrust */
+ YYSYMBOL_T_Ntp = 131, /* T_Ntp */
+ YYSYMBOL_T_Ntpport = 132, /* T_Ntpport */
+ YYSYMBOL_T_NtpSignDsocket = 133, /* T_NtpSignDsocket */
+ YYSYMBOL_T_Orphan = 134, /* T_Orphan */
+ YYSYMBOL_T_Orphanwait = 135, /* T_Orphanwait */
+ YYSYMBOL_T_PCEdigest = 136, /* T_PCEdigest */
+ YYSYMBOL_T_Panic = 137, /* T_Panic */
+ YYSYMBOL_T_Peer = 138, /* T_Peer */
+ YYSYMBOL_T_Peerstats = 139, /* T_Peerstats */
+ YYSYMBOL_T_Phone = 140, /* T_Phone */
+ YYSYMBOL_T_Pid = 141, /* T_Pid */
+ YYSYMBOL_T_Pidfile = 142, /* T_Pidfile */
+ YYSYMBOL_T_Poll = 143, /* T_Poll */
+ YYSYMBOL_T_PollSkewList = 144, /* T_PollSkewList */
+ YYSYMBOL_T_Pool = 145, /* T_Pool */
+ YYSYMBOL_T_Port = 146, /* T_Port */
+ YYSYMBOL_T_PpsData = 147, /* T_PpsData */
+ YYSYMBOL_T_Preempt = 148, /* T_Preempt */
+ YYSYMBOL_T_Prefer = 149, /* T_Prefer */
+ YYSYMBOL_T_Protostats = 150, /* T_Protostats */
+ YYSYMBOL_T_Pw = 151, /* T_Pw */
+ YYSYMBOL_T_Randfile = 152, /* T_Randfile */
+ YYSYMBOL_T_Rawstats = 153, /* T_Rawstats */
+ YYSYMBOL_T_Refid = 154, /* T_Refid */
+ YYSYMBOL_T_Requestkey = 155, /* T_Requestkey */
+ YYSYMBOL_T_Reset = 156, /* T_Reset */
+ YYSYMBOL_T_Restrict = 157, /* T_Restrict */
+ YYSYMBOL_T_Revoke = 158, /* T_Revoke */
+ YYSYMBOL_T_Rlimit = 159, /* T_Rlimit */
+ YYSYMBOL_T_Saveconfigdir = 160, /* T_Saveconfigdir */
+ YYSYMBOL_T_Server = 161, /* T_Server */
+ YYSYMBOL_T_Serverresponse = 162, /* T_Serverresponse */
+ YYSYMBOL_T_ServerresponseFuzz = 163, /* T_ServerresponseFuzz */
+ YYSYMBOL_T_Setvar = 164, /* T_Setvar */
+ YYSYMBOL_T_Source = 165, /* T_Source */
+ YYSYMBOL_T_Stacksize = 166, /* T_Stacksize */
+ YYSYMBOL_T_Statistics = 167, /* T_Statistics */
+ YYSYMBOL_T_Stats = 168, /* T_Stats */
+ YYSYMBOL_T_Statsdir = 169, /* T_Statsdir */
+ YYSYMBOL_T_Step = 170, /* T_Step */
+ YYSYMBOL_T_Stepback = 171, /* T_Stepback */
+ YYSYMBOL_T_Stepfwd = 172, /* T_Stepfwd */
+ YYSYMBOL_T_Stepout = 173, /* T_Stepout */
+ YYSYMBOL_T_Stratum = 174, /* T_Stratum */
+ YYSYMBOL_T_String = 175, /* T_String */
+ YYSYMBOL_T_Sys = 176, /* T_Sys */
+ YYSYMBOL_T_Sysstats = 177, /* T_Sysstats */
+ YYSYMBOL_T_Tick = 178, /* T_Tick */
+ YYSYMBOL_T_Time1 = 179, /* T_Time1 */
+ YYSYMBOL_T_Time2 = 180, /* T_Time2 */
+ YYSYMBOL_T_TimeData = 181, /* T_TimeData */
+ YYSYMBOL_T_Timer = 182, /* T_Timer */
+ YYSYMBOL_T_Timingstats = 183, /* T_Timingstats */
+ YYSYMBOL_T_Tinker = 184, /* T_Tinker */
+ YYSYMBOL_T_Tos = 185, /* T_Tos */
+ YYSYMBOL_T_Trap = 186, /* T_Trap */
+ YYSYMBOL_T_True = 187, /* T_True */
+ YYSYMBOL_T_Trustedkey = 188, /* T_Trustedkey */
+ YYSYMBOL_T_Ttl = 189, /* T_Ttl */
+ YYSYMBOL_T_Type = 190, /* T_Type */
+ YYSYMBOL_T_U_int = 191, /* T_U_int */
+ YYSYMBOL_T_UEcrypto = 192, /* T_UEcrypto */
+ YYSYMBOL_T_UEcryptonak = 193, /* T_UEcryptonak */
+ YYSYMBOL_T_UEdigest = 194, /* T_UEdigest */
+ YYSYMBOL_T_Unconfig = 195, /* T_Unconfig */
+ YYSYMBOL_T_Unpeer = 196, /* T_Unpeer */
+ YYSYMBOL_T_Version = 197, /* T_Version */
+ YYSYMBOL_T_WanderThreshold = 198, /* T_WanderThreshold */
+ YYSYMBOL_T_Week = 199, /* T_Week */
+ YYSYMBOL_T_Wildcard = 200, /* T_Wildcard */
+ YYSYMBOL_T_Xleave = 201, /* T_Xleave */
+ YYSYMBOL_T_Xmtnonce = 202, /* T_Xmtnonce */
+ YYSYMBOL_T_Year = 203, /* T_Year */
+ YYSYMBOL_T_Flag = 204, /* T_Flag */
+ YYSYMBOL_T_EOC = 205, /* T_EOC */
+ YYSYMBOL_T_Simulate = 206, /* T_Simulate */
+ YYSYMBOL_T_Beep_Delay = 207, /* T_Beep_Delay */
+ YYSYMBOL_T_Sim_Duration = 208, /* T_Sim_Duration */
+ YYSYMBOL_T_Server_Offset = 209, /* T_Server_Offset */
+ YYSYMBOL_T_Duration = 210, /* T_Duration */
+ YYSYMBOL_T_Freq_Offset = 211, /* T_Freq_Offset */
+ YYSYMBOL_T_Wander = 212, /* T_Wander */
+ YYSYMBOL_T_Jitter = 213, /* T_Jitter */
+ YYSYMBOL_T_Prop_Delay = 214, /* T_Prop_Delay */
+ YYSYMBOL_T_Proc_Delay = 215, /* T_Proc_Delay */
+ YYSYMBOL_216_ = 216, /* '|' */
+ YYSYMBOL_217_ = 217, /* '=' */
+ YYSYMBOL_218_ = 218, /* '(' */
+ YYSYMBOL_219_ = 219, /* ')' */
+ YYSYMBOL_220_ = 220, /* '{' */
+ YYSYMBOL_221_ = 221, /* '}' */
+ YYSYMBOL_YYACCEPT = 222, /* $accept */
+ YYSYMBOL_configuration = 223, /* configuration */
+ YYSYMBOL_command_list = 224, /* command_list */
+ YYSYMBOL_command = 225, /* command */
+ YYSYMBOL_server_command = 226, /* server_command */
+ YYSYMBOL_client_type = 227, /* client_type */
+ YYSYMBOL_address = 228, /* address */
+ YYSYMBOL_ip_address = 229, /* ip_address */
+ YYSYMBOL_address_fam = 230, /* address_fam */
+ YYSYMBOL_option_list = 231, /* option_list */
+ YYSYMBOL_option = 232, /* option */
+ YYSYMBOL_option_flag = 233, /* option_flag */
+ YYSYMBOL_option_flag_keyword = 234, /* option_flag_keyword */
+ YYSYMBOL_option_int = 235, /* option_int */
+ YYSYMBOL_option_int_keyword = 236, /* option_int_keyword */
+ YYSYMBOL_option_str = 237, /* option_str */
+ YYSYMBOL_option_str_keyword = 238, /* option_str_keyword */
+ YYSYMBOL_unpeer_command = 239, /* unpeer_command */
+ YYSYMBOL_unpeer_keyword = 240, /* unpeer_keyword */
+ YYSYMBOL_other_mode_command = 241, /* other_mode_command */
+ YYSYMBOL_authentication_command = 242, /* authentication_command */
+ YYSYMBOL_crypto_command_list = 243, /* crypto_command_list */
+ YYSYMBOL_crypto_command = 244, /* crypto_command */
+ YYSYMBOL_crypto_str_keyword = 245, /* crypto_str_keyword */
+ YYSYMBOL_orphan_mode_command = 246, /* orphan_mode_command */
+ YYSYMBOL_tos_option_list = 247, /* tos_option_list */
+ YYSYMBOL_tos_option = 248, /* tos_option */
+ YYSYMBOL_tos_option_int_keyword = 249, /* tos_option_int_keyword */
+ YYSYMBOL_tos_option_dbl_keyword = 250, /* tos_option_dbl_keyword */
+ YYSYMBOL_monitoring_command = 251, /* monitoring_command */
+ YYSYMBOL_stats_list = 252, /* stats_list */
+ YYSYMBOL_stat = 253, /* stat */
+ YYSYMBOL_filegen_option_list = 254, /* filegen_option_list */
+ YYSYMBOL_filegen_option = 255, /* filegen_option */
+ YYSYMBOL_link_nolink = 256, /* link_nolink */
+ YYSYMBOL_enable_disable = 257, /* enable_disable */
+ YYSYMBOL_filegen_type = 258, /* filegen_type */
+ YYSYMBOL_access_control_command = 259, /* access_control_command */
+ YYSYMBOL_restrict_mask = 260, /* restrict_mask */
+ YYSYMBOL_res_ippeerlimit = 261, /* res_ippeerlimit */
+ YYSYMBOL_ac_flag_list = 262, /* ac_flag_list */
+ YYSYMBOL_access_control_flag = 263, /* access_control_flag */
+ YYSYMBOL_discard_option_list = 264, /* discard_option_list */
+ YYSYMBOL_discard_option = 265, /* discard_option */
+ YYSYMBOL_discard_option_keyword = 266, /* discard_option_keyword */
+ YYSYMBOL_mru_option_list = 267, /* mru_option_list */
+ YYSYMBOL_mru_option = 268, /* mru_option */
+ YYSYMBOL_mru_option_keyword = 269, /* mru_option_keyword */
+ YYSYMBOL_fudge_command = 270, /* fudge_command */
+ YYSYMBOL_fudge_factor_list = 271, /* fudge_factor_list */
+ YYSYMBOL_fudge_factor = 272, /* fudge_factor */
+ YYSYMBOL_fudge_factor_dbl_keyword = 273, /* fudge_factor_dbl_keyword */
+ YYSYMBOL_fudge_factor_bool_keyword = 274, /* fudge_factor_bool_keyword */
+ YYSYMBOL_device_command = 275, /* device_command */
+ YYSYMBOL_device_item_list = 276, /* device_item_list */
+ YYSYMBOL_device_item = 277, /* device_item */
+ YYSYMBOL_device_item_path_keyword = 278, /* device_item_path_keyword */
+ YYSYMBOL_rlimit_command = 279, /* rlimit_command */
+ YYSYMBOL_rlimit_option_list = 280, /* rlimit_option_list */
+ YYSYMBOL_rlimit_option = 281, /* rlimit_option */
+ YYSYMBOL_rlimit_option_keyword = 282, /* rlimit_option_keyword */
+ YYSYMBOL_system_option_command = 283, /* system_option_command */
+ YYSYMBOL_system_option_list = 284, /* system_option_list */
+ YYSYMBOL_system_option = 285, /* system_option */
+ YYSYMBOL_system_option_flag_keyword = 286, /* system_option_flag_keyword */
+ YYSYMBOL_system_option_local_flag_keyword = 287, /* system_option_local_flag_keyword */
+ YYSYMBOL_tinker_command = 288, /* tinker_command */
+ YYSYMBOL_tinker_option_list = 289, /* tinker_option_list */
+ YYSYMBOL_tinker_option = 290, /* tinker_option */
+ YYSYMBOL_tinker_option_keyword = 291, /* tinker_option_keyword */
+ YYSYMBOL_miscellaneous_command = 292, /* miscellaneous_command */
+ YYSYMBOL_misc_cmd_dbl_keyword = 293, /* misc_cmd_dbl_keyword */
+ YYSYMBOL_misc_cmd_int_keyword = 294, /* misc_cmd_int_keyword */
+ YYSYMBOL_opt_hash_check = 295, /* opt_hash_check */
+ YYSYMBOL_misc_cmd_str_keyword = 296, /* misc_cmd_str_keyword */
+ YYSYMBOL_misc_cmd_str_lcl_keyword = 297, /* misc_cmd_str_lcl_keyword */
+ YYSYMBOL_drift_parm = 298, /* drift_parm */
+ YYSYMBOL_pollskew_list = 299, /* pollskew_list */
+ YYSYMBOL_pollskew_spec = 300, /* pollskew_spec */
+ YYSYMBOL_pollskew_cycle = 301, /* pollskew_cycle */
+ YYSYMBOL_variable_assign = 302, /* variable_assign */
+ YYSYMBOL_t_default_or_zero = 303, /* t_default_or_zero */
+ YYSYMBOL_trap_option_list = 304, /* trap_option_list */
+ YYSYMBOL_trap_option = 305, /* trap_option */
+ YYSYMBOL_log_config_list = 306, /* log_config_list */
+ YYSYMBOL_log_config_command = 307, /* log_config_command */
+ YYSYMBOL_interface_command = 308, /* interface_command */
+ YYSYMBOL_interface_nic = 309, /* interface_nic */
+ YYSYMBOL_nic_rule_class = 310, /* nic_rule_class */
+ YYSYMBOL_nic_rule_action = 311, /* nic_rule_action */
+ YYSYMBOL_reset_command = 312, /* reset_command */
+ YYSYMBOL_counter_set_list = 313, /* counter_set_list */
+ YYSYMBOL_counter_set_keyword = 314, /* counter_set_keyword */
+ YYSYMBOL_integer_list = 315, /* integer_list */
+ YYSYMBOL_integer_list_range = 316, /* integer_list_range */
+ YYSYMBOL_integer_list_range_elt = 317, /* integer_list_range_elt */
+ YYSYMBOL_integer_range = 318, /* integer_range */
+ YYSYMBOL_string_list = 319, /* string_list */
+ YYSYMBOL_address_list = 320, /* address_list */
+ YYSYMBOL_boolean = 321, /* boolean */
+ YYSYMBOL_number = 322, /* number */
+ YYSYMBOL_basedate = 323, /* basedate */
+ YYSYMBOL_simulate_command = 324, /* simulate_command */
+ YYSYMBOL_sim_conf_start = 325, /* sim_conf_start */
+ YYSYMBOL_sim_init_statement_list = 326, /* sim_init_statement_list */
+ YYSYMBOL_sim_init_statement = 327, /* sim_init_statement */
+ YYSYMBOL_sim_init_keyword = 328, /* sim_init_keyword */
+ YYSYMBOL_sim_server_list = 329, /* sim_server_list */
+ YYSYMBOL_sim_server = 330, /* sim_server */
+ YYSYMBOL_sim_server_offset = 331, /* sim_server_offset */
+ YYSYMBOL_sim_server_name = 332, /* sim_server_name */
+ YYSYMBOL_sim_act_list = 333, /* sim_act_list */
+ YYSYMBOL_sim_act = 334, /* sim_act */
+ YYSYMBOL_sim_act_stmt_list = 335, /* sim_act_stmt_list */
+ YYSYMBOL_sim_act_stmt = 336, /* sim_act_stmt */
+ YYSYMBOL_sim_act_keyword = 337 /* sim_act_keyword */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 222
+#define YYFINAL 225
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 688
+#define YYLAST 717
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 221
+#define YYNTOKENS 222
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 115
+#define YYNNTS 116
/* YYNRULES -- Number of rules. */
-#define YYNRULES 343
+#define YYNRULES 346
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 463
+#define YYNSTATES 467
/* YYMAXUTOK -- Last valid token kind. */
-#define YYMAXUTOK 469
+#define YYMAXUTOK 470
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
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,
- 217, 218, 2, 2, 2, 2, 2, 2, 2, 2,
+ 218, 219, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 216, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 217, 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, 219, 215, 220, 2, 2, 2, 2,
+ 2, 2, 2, 220, 216, 221, 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,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
+ 215
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 397, 397, 401, 402, 403, 418, 419, 420, 421,
- 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
- 432, 440, 450, 451, 452, 453, 454, 458, 459, 464,
- 469, 471, 477, 478, 486, 487, 488, 492, 497, 498,
- 499, 500, 501, 502, 503, 504, 505, 509, 511, 516,
- 517, 518, 519, 520, 521, 525, 530, 539, 549, 550,
- 560, 562, 564, 566, 577, 584, 586, 591, 593, 595,
- 597, 599, 609, 615, 616, 624, 626, 638, 639, 640,
- 641, 642, 651, 656, 661, 669, 671, 673, 675, 680,
- 681, 682, 683, 684, 685, 686, 687, 688, 692, 693,
- 702, 704, 713, 723, 728, 736, 737, 738, 739, 740,
- 741, 742, 743, 748, 749, 757, 767, 776, 791, 796,
- 797, 801, 802, 806, 807, 808, 809, 810, 811, 812,
- 821, 825, 829, 837, 845, 853, 868, 883, 896, 897,
- 917, 918, 926, 937, 938, 939, 940, 941, 942, 943,
- 944, 945, 946, 947, 948, 949, 950, 951, 952, 953,
- 957, 962, 970, 975, 976, 977, 981, 986, 994, 999,
- 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1014, 1024, 1029,
- 1037, 1039, 1041, 1050, 1052, 1057, 1058, 1059, 1063, 1064,
- 1065, 1066, 1074, 1084, 1089, 1097, 1102, 1103, 1111, 1116,
- 1121, 1129, 1134, 1135, 1136, 1145, 1147, 1152, 1157, 1165,
- 1167, 1184, 1185, 1186, 1187, 1188, 1189, 1193, 1194, 1195,
- 1196, 1197, 1198, 1206, 1211, 1216, 1224, 1229, 1230, 1231,
- 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1247, 1248, 1249,
- 1256, 1263, 1270, 1286, 1305, 1313, 1315, 1317, 1319, 1321,
- 1323, 1325, 1332, 1337, 1338, 1339, 1343, 1347, 1356, 1358,
- 1361, 1365, 1369, 1370, 1371, 1375, 1386, 1404, 1417, 1418,
- 1423, 1449, 1455, 1460, 1465, 1467, 1472, 1473, 1481, 1483,
- 1491, 1496, 1504, 1529, 1536, 1546, 1547, 1551, 1552, 1553,
- 1554, 1558, 1559, 1560, 1564, 1569, 1574, 1582, 1583, 1584,
- 1585, 1586, 1587, 1588, 1598, 1603, 1611, 1616, 1624, 1626,
- 1630, 1635, 1640, 1648, 1653, 1661, 1670, 1671, 1675, 1676,
- 1680, 1688, 1706, 1710, 1715, 1723, 1728, 1729, 1733, 1738,
- 1746, 1751, 1756, 1761, 1766, 1774, 1779, 1784, 1792, 1797,
- 1798, 1799, 1800, 1801
+ 0, 399, 399, 403, 404, 405, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 442, 452, 453, 454, 455, 456, 460, 461, 466,
+ 471, 473, 479, 480, 488, 489, 490, 494, 499, 500,
+ 501, 502, 503, 504, 505, 506, 507, 511, 513, 518,
+ 519, 520, 521, 522, 523, 527, 532, 541, 551, 552,
+ 562, 564, 566, 568, 579, 586, 588, 593, 595, 597,
+ 599, 601, 611, 617, 618, 626, 628, 640, 641, 642,
+ 643, 644, 653, 658, 663, 671, 673, 675, 677, 682,
+ 683, 684, 685, 686, 687, 688, 689, 690, 694, 695,
+ 704, 706, 715, 725, 730, 738, 739, 740, 741, 742,
+ 743, 744, 745, 750, 751, 759, 769, 778, 793, 798,
+ 799, 803, 804, 808, 809, 810, 811, 812, 813, 814,
+ 823, 827, 831, 840, 849, 865, 881, 891, 900, 916,
+ 917, 925, 926, 946, 947, 955, 966, 967, 968, 969,
+ 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
+ 980, 981, 982, 986, 991, 999, 1004, 1005, 1006, 1010,
+ 1015, 1023, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035,
+ 1043, 1053, 1058, 1066, 1068, 1070, 1079, 1081, 1086, 1087,
+ 1088, 1092, 1093, 1094, 1095, 1103, 1113, 1118, 1126, 1131,
+ 1132, 1140, 1145, 1150, 1158, 1163, 1164, 1165, 1174, 1176,
+ 1181, 1186, 1194, 1196, 1213, 1214, 1215, 1216, 1217, 1218,
+ 1222, 1223, 1224, 1225, 1226, 1227, 1235, 1240, 1245, 1253,
+ 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
+ 1276, 1277, 1278, 1285, 1292, 1299, 1315, 1334, 1342, 1344,
+ 1346, 1348, 1350, 1352, 1354, 1361, 1366, 1367, 1368, 1372,
+ 1376, 1385, 1387, 1390, 1394, 1398, 1399, 1400, 1404, 1415,
+ 1433, 1446, 1447, 1452, 1478, 1484, 1489, 1494, 1496, 1501,
+ 1502, 1510, 1512, 1520, 1525, 1533, 1558, 1565, 1575, 1576,
+ 1580, 1581, 1582, 1583, 1587, 1588, 1589, 1593, 1598, 1603,
+ 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1627, 1632, 1640,
+ 1645, 1653, 1655, 1659, 1664, 1669, 1677, 1682, 1690, 1699,
+ 1700, 1704, 1705, 1709, 1717, 1735, 1739, 1744, 1752, 1757,
+ 1758, 1762, 1767, 1775, 1780, 1785, 1790, 1795, 1803, 1808,
+ 1813, 1821, 1826, 1827, 1828, 1829, 1830
};
#endif
"T_Broadcast", "T_Broadcastclient", "T_Broadcastdelay", "T_Burst",
"T_Calibrate", "T_Ceiling", "T_Checkhash", "T_Clockstats", "T_Cohort",
"T_ControlKey", "T_Crypto", "T_Cryptostats", "T_Ctl", "T_Day",
- "T_Default", "T_Device", "T_Digest", "T_Disable", "T_Discard",
- "T_Dispersion", "T_Double", "T_Driftfile", "T_Drop", "T_Dscp",
- "T_Ellipsis", "T_Enable", "T_End", "T_Epeer", "T_False", "T_File",
- "T_Filegen", "T_Filenum", "T_Flag1", "T_Flag2", "T_Flag3", "T_Flag4",
- "T_Flake", "T_Floor", "T_Freq", "T_Fudge", "T_Fuzz", "T_Host",
+ "T_Default", "T_Delrestrict", "T_Device", "T_Digest", "T_Disable",
+ "T_Discard", "T_Dispersion", "T_Double", "T_Driftfile", "T_Drop",
+ "T_Dscp", "T_Ellipsis", "T_Enable", "T_End", "T_Epeer", "T_False",
+ "T_File", "T_Filegen", "T_Filenum", "T_Flag1", "T_Flag2", "T_Flag3",
+ "T_Flag4", "T_Flake", "T_Floor", "T_Freq", "T_Fudge", "T_Fuzz", "T_Host",
"T_Huffpuff", "T_Iburst", "T_Ident", "T_Ignore", "T_Ignorehash",
"T_Incalloc", "T_Incmem", "T_Initalloc", "T_Initmem", "T_Includefile",
"T_Integer", "T_Interface", "T_Intrange", "T_Io", "T_Ippeerlimit",
"tos_option", "tos_option_int_keyword", "tos_option_dbl_keyword",
"monitoring_command", "stats_list", "stat", "filegen_option_list",
"filegen_option", "link_nolink", "enable_disable", "filegen_type",
- "access_control_command", "res_ippeerlimit", "ac_flag_list",
- "access_control_flag", "discard_option_list", "discard_option",
- "discard_option_keyword", "mru_option_list", "mru_option",
- "mru_option_keyword", "fudge_command", "fudge_factor_list",
+ "access_control_command", "restrict_mask", "res_ippeerlimit",
+ "ac_flag_list", "access_control_flag", "discard_option_list",
+ "discard_option", "discard_option_keyword", "mru_option_list",
+ "mru_option", "mru_option_keyword", "fudge_command", "fudge_factor_list",
"fudge_factor", "fudge_factor_dbl_keyword", "fudge_factor_bool_keyword",
"device_command", "device_item_list", "device_item",
"device_item_path_keyword", "rlimit_command", "rlimit_option_list",
}
#endif
-#define YYPACT_NINF (-247)
+#define YYPACT_NINF (-280)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 5, -178, -19, -247, -247, -247, -2, -247, -58, 294,
- 29, -94, -247, 294, -247, 109, -58, -247, -79, -247,
- -70, -68, -65, -247, -63, -247, -247, -58, 42, 205,
- -58, -247, -247, -56, -247, -50, -247, -247, -247, 45,
- 27, 41, 55, -34, -247, -247, -49, 109, -41, -247,
- 271, 554, -40, -64, 72, -247, -247, -247, 145, 196,
- -54, -247, -58, -247, -58, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -247, 33, 83, -22, -17,
- -247, -11, -247, -247, -52, -247, -247, -247, 26, -247,
- -247, -247, -121, -247, -5, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -247, -247, 294, -247, -247,
- -247, -247, -247, -247, 29, -247, 86, 119, -247, 294,
- -247, -247, -247, -247, -247, -247, -247, -247, -247, 319,
- 377, -247, -247, -10, -247, -63, -247, -247, -58, -247,
- -247, -247, -247, -247, -247, -247, -247, -247, 205, -247,
- 104, -58, -247, -247, 7, 23, -247, -247, -247, -247,
- -247, -247, -247, -247, 27, -247, 103, 154, 156, 103,
- 1, -247, -247, -247, -247, -34, -247, 126, -29, -247,
- 109, -247, -247, -247, -247, -247, -247, -247, -247, -247,
- -247, -247, -247, 271, -247, 33, 30, -247, -247, -247,
- -20, -247, -247, -247, -247, -247, -247, -247, -247, 554,
- -247, 139, 33, -247, -247, -247, 143, -64, -247, -247,
- -247, 155, -247, 20, -247, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -247, 4, -104, -247, -247,
- -247, -247, -247, 157, -247, 54, -247, -247, -121, -247,
- 57, -247, -247, -247, -247, -247, -4, 58, -247, -247,
- -247, -247, -247, 67, 175, -247, -247, 319, -247, 33,
- -20, -247, -247, -247, -247, -247, -247, -247, -247, -247,
- -247, -247, -247, 178, -247, 184, -247, 103, 103, -247,
- -40, -247, -247, -247, 79, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -247, -55, 214, -247, -247,
- -247, 48, -247, -247, -247, -247, -247, -247, -247, -247,
- -143, 51, 43, -247, -247, -247, -247, -247, -247, 88,
- -247, -247, -1, -247, -247, -247, -247, -247, -247, -247,
- -247, -247, 49, -247, 465, -247, -247, 465, 103, 465,
- 227, -40, 192, -247, 198, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -61, -247, 98, 64, 69,
- -150, -247, 62, -247, 33, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, 206, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
- -247, 226, -247, -247, 465, 465, -247, -247, -247, -247,
- -247, 68, -247, -247, -247, -58, -247, -247, -247, 81,
- -247, -247, -247, 465, -247, -247, 74, 84, 33, 76,
- -131, -247, 90, 33, -247, -247, -247, 78, 131, -247,
- -247, -247, -247, -247, 6, 91, 82, -247, 100, -247,
- 33, -247, -247
+ 10, -173, -31, -280, -280, -280, -11, -280, -89, -28,
+ 301, 3, -115, -280, 301, -280, 82, -28, -280, -98,
+ -280, -94, -83, -75, -280, -74, -280, -280, -28, 19,
+ 213, -28, -280, -280, -69, -280, -62, -280, -280, -280,
+ 35, 15, 101, 45, -42, -280, -280, -56, 82, -53,
+ -280, 53, 582, -49, -65, 49, -280, -280, -280, 129,
+ 202, -64, -280, -28, -280, -28, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, 0, 61, -29,
+ -24, -280, -22, -280, -280, -76, -280, -280, -280, 102,
+ -49, -280, 62, -280, -280, -113, -280, -18, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ 301, -280, -280, -280, -280, -280, -280, 3, -280, 89,
+ 122, -280, 301, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, 281, 384, -280, -280, -1, -280, -74, -280,
+ -280, -28, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, 213, -280, 92, -28, -280, -280, -13, -5, -280,
+ -280, -280, -280, -280, -280, -280, -280, 15, -280, 91,
+ 143, 145, 91, 62, -280, -280, -280, -280, -42, -280,
+ 111, -35, -280, 82, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, 53, -280, 0, 6,
+ -280, -280, -280, -38, -280, -280, -280, -280, -280, -280,
+ -280, -280, 582, -280, 115, 0, -280, -280, -280, 116,
+ -65, -280, -280, -280, 117, -280, -16, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, 8,
+ -112, -280, -280, -280, -280, -280, 118, -280, 17, -280,
+ -49, -280, -280, -280, -113, -280, 26, -280, -280, -280,
+ -280, -280, 21, 27, -280, -280, -280, -280, -280, 28,
+ 138, -280, -280, 281, -280, 0, -38, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, 140,
+ -280, 141, -280, 91, 91, -280, 91, -280, -280, 38,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -61, 173, -280, -280, -280, 387, -280, -280, -280,
+ -280, -280, -280, -280, -280, -87, 12, 5, -280, -280,
+ -280, -280, -280, -280, -280, 54, -280, -280, 1, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, 14, -280,
+ 513, -280, -280, 513, -280, 208, -49, 170, -280, 172,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -57, -280, 72, 31, 47, -151, -280, 30, -280, 0,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, 186,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, 199, -280, -280, 513,
+ 513, 513, -280, -280, -280, -280, 42, -280, -280, -280,
+ -28, -280, -280, -280, 48, -280, -280, -280, -280, -280,
+ 50, 52, 0, 56, -192, -280, 59, 0, -280, -280,
+ -280, 51, 139, -280, -280, -280, -280, -280, 85, 64,
+ 57, -280, 70, -280, 0, -280, -280
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
means the default is an error. */
static const yytype_int16 yydefact[] =
{
- 0, 0, 0, 25, 60, 253, 0, 73, 0, 0,
- 0, 267, 256, 0, 245, 0, 0, 261, 0, 285,
- 0, 0, 0, 257, 0, 262, 26, 0, 0, 0,
- 0, 286, 254, 0, 24, 0, 263, 268, 23, 0,
- 0, 0, 0, 0, 264, 22, 0, 0, 0, 255,
- 0, 0, 0, 0, 0, 58, 59, 322, 0, 2,
- 0, 7, 0, 8, 0, 9, 10, 13, 11, 12,
- 14, 20, 15, 16, 17, 18, 0, 0, 0, 0,
- 237, 0, 238, 19, 0, 5, 64, 65, 66, 30,
- 31, 29, 0, 27, 0, 211, 212, 213, 214, 217,
- 215, 216, 218, 219, 220, 221, 222, 206, 208, 209,
- 210, 163, 164, 165, 130, 161, 0, 265, 246, 205,
- 105, 106, 107, 108, 112, 109, 110, 111, 113, 0,
- 6, 67, 68, 260, 282, 247, 281, 314, 61, 63,
- 169, 170, 171, 172, 173, 174, 175, 176, 131, 167,
- 0, 62, 72, 312, 248, 249, 69, 297, 298, 299,
- 300, 301, 302, 303, 294, 296, 138, 30, 31, 138,
- 138, 70, 204, 202, 203, 198, 200, 0, 0, 250,
- 100, 104, 101, 227, 228, 229, 230, 231, 232, 233,
- 234, 235, 236, 223, 225, 0, 0, 89, 90, 91,
- 0, 92, 93, 99, 94, 98, 95, 96, 97, 82,
- 84, 0, 0, 88, 276, 308, 0, 71, 307, 309,
- 305, 252, 1, 0, 4, 32, 57, 319, 318, 239,
- 240, 241, 242, 293, 292, 291, 0, 0, 81, 77,
- 78, 79, 80, 0, 74, 0, 197, 196, 192, 194,
- 0, 28, 207, 160, 162, 266, 102, 0, 188, 189,
- 190, 191, 187, 0, 0, 185, 186, 177, 179, 0,
- 0, 243, 259, 258, 244, 280, 313, 166, 168, 311,
- 272, 271, 269, 0, 295, 0, 140, 138, 138, 140,
- 0, 140, 199, 201, 0, 103, 224, 226, 320, 317,
- 315, 316, 87, 83, 85, 86, 251, 0, 306, 304,
- 3, 21, 287, 288, 289, 284, 290, 283, 326, 327,
- 0, 0, 0, 76, 75, 193, 195, 122, 121, 0,
- 119, 120, 0, 114, 117, 118, 183, 184, 182, 178,
- 180, 181, 0, 139, 134, 140, 140, 137, 138, 132,
- 275, 0, 0, 277, 0, 38, 39, 40, 56, 49,
- 51, 50, 53, 41, 42, 43, 44, 52, 54, 45,
- 46, 33, 34, 37, 35, 0, 36, 0, 0, 0,
- 0, 329, 0, 324, 0, 115, 129, 125, 127, 123,
- 124, 126, 128, 116, 0, 143, 144, 145, 146, 147,
- 148, 149, 151, 152, 150, 153, 154, 155, 156, 157,
- 158, 0, 159, 141, 135, 136, 140, 274, 273, 279,
- 278, 0, 47, 48, 55, 0, 323, 321, 328, 0,
- 325, 270, 142, 133, 310, 332, 0, 0, 0, 0,
- 0, 334, 0, 0, 330, 333, 331, 0, 0, 339,
- 340, 341, 342, 343, 0, 0, 0, 335, 0, 337,
- 0, 336, 338
+ 0, 0, 0, 25, 60, 256, 0, 73, 0, 0,
+ 0, 0, 270, 259, 0, 248, 0, 0, 264, 0,
+ 288, 0, 0, 0, 260, 0, 265, 26, 0, 0,
+ 0, 0, 289, 257, 0, 24, 0, 266, 271, 23,
+ 0, 0, 0, 0, 0, 267, 22, 0, 0, 0,
+ 258, 0, 0, 0, 0, 0, 58, 59, 325, 0,
+ 2, 0, 7, 0, 8, 0, 9, 10, 13, 11,
+ 12, 14, 20, 15, 16, 17, 18, 0, 0, 0,
+ 0, 240, 0, 241, 19, 0, 5, 64, 65, 66,
+ 0, 29, 139, 30, 31, 0, 27, 0, 214, 215,
+ 216, 217, 220, 218, 219, 221, 222, 223, 224, 225,
+ 209, 211, 212, 213, 166, 167, 168, 130, 164, 0,
+ 268, 249, 208, 105, 106, 107, 108, 112, 109, 110,
+ 111, 113, 0, 6, 67, 68, 263, 285, 250, 284,
+ 317, 61, 63, 172, 173, 174, 175, 176, 177, 178,
+ 179, 131, 170, 0, 62, 72, 315, 251, 252, 69,
+ 300, 301, 302, 303, 304, 305, 306, 297, 299, 141,
+ 30, 31, 141, 139, 70, 207, 205, 206, 201, 203,
+ 0, 0, 253, 100, 104, 101, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 226, 228, 0, 0,
+ 89, 90, 91, 0, 92, 93, 99, 94, 98, 95,
+ 96, 97, 82, 84, 0, 0, 88, 279, 311, 0,
+ 71, 310, 312, 308, 255, 1, 0, 4, 32, 57,
+ 322, 321, 242, 243, 244, 245, 296, 295, 294, 0,
+ 0, 81, 77, 78, 79, 80, 0, 74, 0, 138,
+ 0, 137, 200, 199, 195, 197, 0, 28, 210, 163,
+ 165, 269, 102, 0, 191, 192, 193, 194, 190, 0,
+ 0, 188, 189, 180, 182, 0, 0, 246, 262, 261,
+ 247, 283, 316, 169, 171, 314, 275, 274, 272, 0,
+ 298, 0, 143, 141, 141, 143, 141, 202, 204, 0,
+ 103, 227, 229, 323, 320, 318, 319, 87, 83, 85,
+ 86, 254, 0, 309, 307, 3, 21, 290, 291, 292,
+ 287, 293, 286, 329, 330, 0, 0, 0, 76, 75,
+ 140, 196, 198, 122, 121, 0, 119, 120, 0, 114,
+ 117, 118, 186, 187, 185, 181, 183, 184, 0, 142,
+ 133, 143, 143, 136, 143, 278, 0, 0, 280, 0,
+ 38, 39, 40, 56, 49, 51, 50, 53, 41, 42,
+ 43, 44, 52, 54, 45, 46, 33, 34, 37, 35,
+ 0, 36, 0, 0, 0, 0, 332, 0, 327, 0,
+ 115, 129, 125, 127, 123, 124, 126, 128, 116, 0,
+ 146, 147, 148, 149, 150, 151, 152, 154, 155, 153,
+ 156, 157, 158, 159, 160, 161, 0, 162, 144, 134,
+ 135, 132, 277, 276, 282, 281, 0, 47, 48, 55,
+ 0, 326, 324, 331, 0, 328, 273, 145, 313, 335,
+ 0, 0, 0, 0, 0, 337, 0, 0, 333, 336,
+ 334, 0, 0, 342, 343, 344, 345, 346, 0, 0,
+ 0, 338, 0, 340, 0, 339, 341
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -247, -247, -247, -48, -247, -247, -8, -51, -247, -247,
- -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -247, 96, -247, -247, -247,
- -247, -42, -247, -247, -247, -247, -247, -247, -108, -246,
- -247, -247, 194, -247, -247, 163, -247, -247, -247, 50,
- -247, -247, -247, -247, 71, -247, -247, -247, 140, -247,
- -247, 303, -87, -247, -247, -247, -247, 127, -247, -247,
- -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, 186, -247, -247, -247, -247, -247,
- -247, 159, -247, -247, 107, -247, -247, 296, 60, -193,
- -247, -247, -247, -247, 11, -247, -247, -53, -247, -247,
- -247, -106, -247, -122, -247
+ -280, -280, -280, -36, -280, -280, -9, -7, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, 69, -280, -280, -280,
+ -280, -45, -280, -280, -280, -280, -280, -280, 114, -157,
+ -279, -280, -280, 171, -280, -280, 142, -280, -280, -280,
+ 16, -280, -280, -280, -280, 68, -280, -280, -280, 123,
+ -280, -280, 278, -71, -280, -280, -280, -280, 106, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, 166, -280, -280, -280, -280,
+ -280, -280, 144, -280, -280, 87, -280, -280, 274, 37,
+ -196, -280, -280, -280, -280, -10, -280, -280, -59, -280,
+ -280, -280, -128, -280, -135, -280
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- 0, 58, 59, 60, 61, 62, 137, 93, 94, 311,
- 371, 372, 373, 374, 375, 376, 377, 63, 64, 65,
- 66, 88, 244, 245, 67, 209, 210, 211, 212, 68,
- 180, 128, 256, 333, 334, 335, 393, 69, 286, 344,
- 413, 114, 115, 116, 148, 149, 150, 70, 267, 268,
- 269, 270, 71, 248, 249, 250, 72, 175, 176, 177,
- 73, 107, 108, 109, 110, 74, 193, 194, 195, 75,
- 76, 77, 274, 78, 79, 118, 155, 282, 283, 179,
- 418, 306, 353, 135, 136, 80, 81, 317, 236, 82,
- 164, 165, 221, 217, 218, 219, 154, 138, 302, 229,
- 213, 83, 84, 320, 321, 322, 380, 381, 437, 382,
- 440, 441, 454, 455, 456
+ 0, 59, 60, 61, 62, 63, 140, 96, 97, 316,
+ 376, 377, 378, 379, 380, 381, 382, 64, 65, 66,
+ 67, 89, 247, 248, 68, 212, 213, 214, 215, 69,
+ 183, 131, 262, 339, 340, 341, 398, 70, 251, 292,
+ 350, 418, 117, 118, 119, 151, 152, 153, 71, 273,
+ 274, 275, 276, 72, 254, 255, 256, 73, 178, 179,
+ 180, 74, 110, 111, 112, 113, 75, 196, 197, 198,
+ 76, 77, 78, 280, 79, 80, 121, 158, 288, 289,
+ 182, 423, 311, 358, 138, 139, 81, 82, 322, 239,
+ 83, 167, 168, 224, 220, 221, 222, 157, 141, 307,
+ 232, 216, 84, 85, 325, 326, 327, 385, 386, 441,
+ 387, 444, 445, 458, 459, 460
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 92, 214, 297, 386, 215, 181, 1, 422, 129, 312,
- 378, 223, 272, 172, 351, 2, 89, 378, 90, 305,
- 252, 3, 4, 5, 299, 246, 85, 233, 387, 327,
- 6, 7, 252, 170, 157, 158, 8, 328, 9, 10,
- 111, 329, 11, 347, 12, 349, 13, 14, 300, 86,
- 234, 15, 273, 280, 225, 159, 226, 355, 238, 247,
- 16, 289, 291, 318, 319, 17, 87, 356, 173, 227,
- 427, 166, 18, 285, 19, 235, 340, 313, 439, 314,
- 117, 330, 271, 239, 20, 21, 240, 22, 23, 444,
- 352, 281, 24, 25, 290, 130, 26, 27, 160, 414,
- 415, 228, 318, 319, 131, 28, 132, 357, 358, 133,
- 139, 134, 388, 156, 331, 167, 91, 168, 152, 29,
- 389, 30, 31, 171, 153, 178, 359, 32, 161, 423,
- 276, 174, 120, 182, 91, 112, 121, 33, 295, 390,
- 220, 113, 34, 276, 35, 222, 36, 360, 37, 38,
- 224, 230, 231, 216, 254, 255, 361, 232, 362, 39,
- 40, 41, 42, 43, 44, 45, 301, 237, 46, 251,
- 433, 47, 278, 48, 363, 285, 241, 242, 315, 345,
- 346, 279, 49, 243, 287, 332, 288, 294, 50, 51,
- 52, 430, 53, 54, 293, 364, 365, 391, 122, 55,
- 56, 392, 162, 316, 298, 169, 2, 304, 163, -6,
- 57, 307, 3, 4, 5, 91, 449, 450, 451, 452,
- 453, 6, 7, 309, 310, 323, 457, 8, 324, 9,
- 10, 326, 336, 11, 366, 12, 367, 13, 14, 348,
- 416, 337, 15, 338, 368, 442, 342, 123, 369, 370,
- 447, 16, 343, 350, 354, 383, 17, 417, 124, 384,
- 420, 125, 385, 18, 394, 19, 421, 462, 140, 141,
- 142, 143, 424, 426, 431, 20, 21, 183, 22, 23,
- 425, 429, 432, 24, 25, 126, 434, 26, 27, 436,
- 438, 127, 443, 439, 446, 459, 28, 448, 460, 144,
- 419, 145, 95, 146, 461, 303, 184, 96, 253, 147,
- 29, 277, 30, 31, 97, 292, 119, 339, 32, 325,
- 296, 275, 257, 284, 308, 185, 151, 428, 33, 186,
- 341, 379, 458, 34, 445, 35, 0, 36, 0, 37,
- 38, 449, 450, 451, 452, 453, 0, 0, 0, 0,
- 39, 40, 41, 42, 43, 44, 45, 0, 0, 46,
- 0, 0, 47, 0, 48, 0, 0, 258, 259, 260,
- 261, 98, 0, 49, 0, 0, 0, 0, 0, 50,
- 51, 52, 0, 53, 54, 0, 0, 2, 0, 0,
- 55, 56, 0, 3, 4, 5, 0, 0, 0, 0,
- -6, 57, 6, 7, 0, 99, 100, 187, 8, 0,
- 9, 10, 0, 0, 11, 0, 12, 435, 13, 14,
- 0, 0, 0, 15, 101, 0, 262, 0, 0, 102,
- 0, 0, 16, 0, 0, 0, 0, 17, 0, 0,
- 188, 189, 190, 191, 18, 0, 19, 0, 192, 0,
- 0, 0, 0, 0, 0, 0, 20, 21, 0, 22,
- 23, 103, 0, 0, 24, 25, 0, 0, 26, 27,
- 0, 0, 263, 0, 0, 0, 0, 28, 0, 0,
- 0, 0, 0, 0, 0, 104, 105, 106, 0, 0,
- 0, 29, 264, 30, 31, 0, 0, 265, 266, 32,
- 0, 0, 0, 0, 0, 0, 0, 0, 395, 33,
- 0, 0, 0, 0, 34, 0, 35, 396, 36, 0,
- 37, 38, 0, 0, 0, 0, 397, 0, 0, 0,
- 0, 39, 40, 41, 42, 43, 44, 45, 0, 0,
- 46, 0, 0, 47, 0, 48, 398, 0, 0, 399,
- 0, 0, 0, 0, 49, 400, 0, 0, 0, 0,
- 50, 51, 52, 0, 53, 54, 196, 0, 197, 198,
- 0, 55, 56, 0, 0, 199, 0, 0, 200, 0,
- 401, 0, 57, 0, 402, 403, 0, 0, 404, 405,
- 406, 0, 407, 408, 409, 0, 410, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 201, 0, 0,
+ 95, 92, 302, 184, 218, 391, 175, 304, 132, 356,
+ 383, 1, 427, 317, 114, 295, 353, 236, 443, 310,
+ 2, 278, 160, 161, 226, 286, 3, 4, 5, 448,
+ 392, 305, 86, 173, 252, 6, 7, 230, 87, 258,
+ 237, 8, 9, 162, 10, 11, 217, 93, 12, 94,
+ 13, 258, 14, 15, 228, 333, 229, 16, 88, 186,
+ 120, 176, 279, 334, 287, 238, 17, 335, 253, 231,
+ 432, 18, 419, 420, 383, 421, 90, 133, 19, 346,
+ 20, 134, 318, 249, 319, 357, 91, 163, 142, 187,
+ 21, 22, 135, 23, 24, 323, 324, 277, 25, 26,
+ 136, 137, 27, 28, 159, 123, 155, 336, 188, 124,
+ 115, 29, 189, 156, 174, 393, 116, 164, 223, 181,
+ 323, 324, 185, 394, 177, 30, 91, 31, 32, 225,
+ 233, 169, 282, 33, 428, 241, 351, 352, 300, 354,
+ 337, 227, 395, 34, 240, 282, 234, 91, 35, 306,
+ 36, 235, 37, 219, 38, 39, 250, 257, 260, 261,
+ 242, 284, 285, 243, 291, 40, 41, 42, 43, 44,
+ 45, 46, 125, 293, 47, 294, 170, 48, 171, 49,
+ 298, 303, 299, 320, 309, 312, 314, 328, 50, 315,
+ 190, 165, 329, 435, 51, 52, 53, 166, 54, 55,
+ 396, 332, 342, 343, 397, 56, 57, 344, 321, 348,
+ 349, 338, 2, 355, 359, -6, 58, 388, 3, 4,
+ 5, 126, 389, 191, 192, 193, 194, 6, 7, 390,
+ 399, 195, 127, 8, 9, 128, 10, 11, 422, 425,
+ 12, 426, 13, 330, 14, 15, 446, 429, 430, 16,
+ 434, 451, 431, 244, 245, 436, 437, 440, 17, 129,
+ 246, 438, 443, 18, 450, 130, 172, 442, 466, 463,
+ 19, 452, 20, 447, 464, 465, 91, 143, 144, 145,
+ 146, 308, 21, 22, 263, 23, 24, 296, 259, 345,
+ 25, 26, 122, 283, 27, 28, 453, 454, 455, 456,
+ 457, 297, 301, 29, 281, 154, 461, 313, 147, 98,
+ 148, 290, 149, 347, 99, 384, 449, 30, 150, 31,
+ 32, 100, 331, 462, 0, 33, 433, 0, 0, 0,
+ 264, 265, 266, 267, 0, 34, 0, 0, 0, 0,
+ 35, 0, 36, 0, 37, 0, 38, 39, 0, 424,
+ 453, 454, 455, 456, 457, 0, 0, 40, 41, 42,
+ 43, 44, 45, 46, 0, 0, 47, 0, 0, 48,
+ 0, 49, 0, 0, 0, 0, 0, 0, 0, 101,
+ 50, 0, 0, 0, 0, 0, 51, 52, 53, 268,
+ 54, 55, 0, 0, 2, 0, 360, 56, 57, 0,
+ 3, 4, 5, 0, 0, 0, 361, -6, 58, 6,
+ 7, 0, 0, 102, 103, 8, 9, 0, 10, 11,
+ 0, 439, 12, 0, 13, 0, 14, 15, 0, 0,
+ 0, 16, 104, 0, 0, 269, 0, 105, 0, 0,
+ 17, 0, 0, 0, 0, 18, 0, 362, 363, 0,
+ 0, 0, 19, 0, 20, 270, 0, 0, 0, 0,
+ 271, 272, 0, 0, 21, 22, 364, 23, 24, 106,
+ 0, 0, 25, 26, 0, 0, 27, 28, 0, 0,
+ 0, 0, 0, 0, 0, 29, 0, 365, 0, 0,
+ 0, 0, 0, 107, 108, 109, 366, 0, 367, 30,
+ 0, 31, 32, 0, 0, 0, 0, 33, 0, 0,
+ 0, 0, 0, 0, 368, 0, 0, 34, 0, 0,
+ 0, 0, 35, 0, 36, 0, 37, 0, 38, 39,
+ 0, 0, 0, 0, 0, 369, 370, 0, 0, 40,
+ 41, 42, 43, 44, 45, 46, 0, 0, 47, 0,
+ 0, 48, 0, 49, 0, 0, 0, 400, 0, 0,
+ 0, 0, 50, 0, 0, 0, 401, 0, 51, 52,
+ 53, 0, 54, 55, 371, 402, 372, 0, 0, 56,
+ 57, 0, 0, 0, 373, 0, 0, 0, 374, 375,
+ 58, 0, 0, 0, 199, 403, 200, 201, 404, 0,
+ 0, 0, 0, 202, 405, 0, 203, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 411, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 406,
+ 0, 0, 0, 407, 408, 0, 204, 409, 410, 411,
+ 0, 412, 413, 414, 0, 415, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 202,
- 0, 203, 0, 0, 0, 0, 0, 204, 0, 205,
- 0, 412, 0, 206, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 207, 208
+ 0, 0, 0, 0, 0, 416, 0, 0, 205, 0,
+ 206, 0, 0, 0, 0, 0, 207, 0, 208, 0,
+ 0, 0, 209, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 417, 0, 0, 0, 0, 0, 210, 211
};
static const yytype_int16 yycheck[] =
{
- 8, 52, 195, 4, 68, 47, 1, 68, 16, 5,
- 160, 59, 22, 47, 69, 10, 74, 160, 76, 212,
- 107, 16, 17, 18, 44, 146, 204, 38, 29, 33,
- 25, 26, 119, 41, 7, 8, 31, 41, 33, 34,
- 11, 45, 37, 289, 39, 291, 41, 42, 68, 68,
- 61, 46, 62, 30, 62, 28, 64, 9, 32, 180,
- 55, 169, 170, 206, 207, 60, 68, 19, 102, 36,
- 220, 30, 67, 72, 69, 86, 269, 73, 209, 75,
- 174, 85, 130, 57, 79, 80, 60, 82, 83, 220,
- 145, 68, 87, 88, 93, 174, 91, 92, 71, 345,
- 346, 68, 206, 207, 174, 100, 174, 59, 60, 174,
- 68, 174, 113, 68, 118, 74, 174, 76, 174, 114,
- 121, 116, 117, 68, 174, 174, 78, 122, 101, 190,
- 138, 165, 23, 174, 174, 106, 27, 132, 180, 140,
- 68, 112, 137, 151, 139, 0, 141, 99, 143, 144,
- 204, 68, 174, 217, 68, 36, 108, 174, 110, 154,
- 155, 156, 157, 158, 159, 160, 186, 219, 163, 174,
- 416, 166, 68, 168, 126, 72, 150, 151, 174, 287,
- 288, 174, 177, 157, 30, 189, 30, 216, 183, 184,
- 185, 384, 187, 188, 68, 147, 148, 198, 89, 194,
- 195, 202, 175, 199, 174, 164, 10, 68, 181, 204,
- 205, 68, 16, 17, 18, 174, 210, 211, 212, 213,
- 214, 25, 26, 68, 204, 68, 220, 31, 174, 33,
- 34, 174, 174, 37, 186, 39, 188, 41, 42, 290,
- 348, 174, 46, 68, 196, 438, 68, 138, 200, 201,
- 443, 55, 68, 174, 40, 204, 60, 30, 149, 216,
- 68, 152, 174, 67, 215, 69, 68, 460, 63, 64,
- 65, 66, 174, 204, 68, 79, 80, 6, 82, 83,
- 216, 219, 56, 87, 88, 176, 218, 91, 92, 208,
- 216, 182, 216, 209, 204, 204, 100, 219, 216, 94,
- 351, 96, 8, 98, 204, 209, 35, 13, 114, 104,
- 114, 148, 116, 117, 20, 175, 13, 267, 122, 248,
- 193, 135, 3, 164, 217, 54, 30, 380, 132, 58,
- 270, 320, 454, 137, 440, 139, -1, 141, -1, 143,
- 144, 210, 211, 212, 213, 214, -1, -1, -1, -1,
- 154, 155, 156, 157, 158, 159, 160, -1, -1, 163,
- -1, -1, 166, -1, 168, -1, -1, 48, 49, 50,
- 51, 77, -1, 177, -1, -1, -1, -1, -1, 183,
- 184, 185, -1, 187, 188, -1, -1, 10, -1, -1,
- 194, 195, -1, 16, 17, 18, -1, -1, -1, -1,
- 204, 205, 25, 26, -1, 111, 112, 136, 31, -1,
- 33, 34, -1, -1, 37, -1, 39, 425, 41, 42,
- -1, -1, -1, 46, 130, -1, 107, -1, -1, 135,
- -1, -1, 55, -1, -1, -1, -1, 60, -1, -1,
- 169, 170, 171, 172, 67, -1, 69, -1, 177, -1,
- -1, -1, -1, -1, -1, -1, 79, 80, -1, 82,
- 83, 167, -1, -1, 87, 88, -1, -1, 91, 92,
- -1, -1, 153, -1, -1, -1, -1, 100, -1, -1,
- -1, -1, -1, -1, -1, 191, 192, 193, -1, -1,
- -1, 114, 173, 116, 117, -1, -1, 178, 179, 122,
- -1, -1, -1, -1, -1, -1, -1, -1, 43, 132,
- -1, -1, -1, -1, 137, -1, 139, 52, 141, -1,
- 143, 144, -1, -1, -1, -1, 61, -1, -1, -1,
- -1, 154, 155, 156, 157, 158, 159, 160, -1, -1,
- 163, -1, -1, 166, -1, 168, 81, -1, -1, 84,
- -1, -1, -1, -1, 177, 90, -1, -1, -1, -1,
- 183, 184, 185, -1, 187, 188, 12, -1, 14, 15,
- -1, 194, 195, -1, -1, 21, -1, -1, 24, -1,
- 115, -1, 205, -1, 119, 120, -1, -1, 123, 124,
- 125, -1, 127, 128, 129, -1, 131, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 53, -1, -1,
+ 9, 8, 198, 48, 69, 4, 48, 45, 17, 70,
+ 161, 1, 69, 5, 11, 172, 295, 39, 210, 215,
+ 10, 22, 7, 8, 60, 30, 16, 17, 18, 221,
+ 29, 69, 205, 42, 147, 25, 26, 37, 69, 110,
+ 62, 31, 32, 28, 34, 35, 53, 75, 38, 77,
+ 40, 122, 42, 43, 63, 34, 65, 47, 69, 6,
+ 175, 103, 63, 42, 69, 87, 56, 46, 181, 69,
+ 221, 61, 351, 352, 161, 354, 165, 175, 68, 275,
+ 70, 175, 74, 90, 76, 146, 175, 72, 69, 36,
+ 80, 81, 175, 83, 84, 207, 208, 133, 88, 89,
+ 175, 175, 92, 93, 69, 23, 175, 86, 55, 27,
+ 107, 101, 59, 175, 69, 114, 113, 102, 69, 175,
+ 207, 208, 175, 122, 166, 115, 175, 117, 118, 0,
+ 69, 30, 141, 123, 191, 33, 293, 294, 183, 296,
+ 119, 205, 141, 133, 220, 154, 175, 175, 138, 187,
+ 140, 175, 142, 218, 144, 145, 94, 175, 69, 37,
+ 58, 69, 175, 61, 73, 155, 156, 157, 158, 159,
+ 160, 161, 90, 30, 164, 30, 75, 167, 77, 169,
+ 69, 175, 217, 175, 69, 69, 69, 69, 178, 205,
+ 137, 176, 175, 389, 184, 185, 186, 182, 188, 189,
+ 199, 175, 175, 175, 203, 195, 196, 69, 200, 69,
+ 69, 190, 10, 175, 41, 205, 206, 205, 16, 17,
+ 18, 139, 217, 170, 171, 172, 173, 25, 26, 175,
+ 216, 178, 150, 31, 32, 153, 34, 35, 30, 69,
+ 38, 69, 40, 250, 42, 43, 442, 175, 217, 47,
+ 220, 447, 205, 151, 152, 69, 57, 209, 56, 177,
+ 158, 219, 210, 61, 205, 183, 165, 217, 464, 205,
+ 68, 220, 70, 217, 217, 205, 175, 64, 65, 66,
+ 67, 212, 80, 81, 3, 83, 84, 173, 117, 273,
+ 88, 89, 14, 151, 92, 93, 211, 212, 213, 214,
+ 215, 178, 196, 101, 138, 31, 221, 220, 95, 8,
+ 97, 167, 99, 276, 13, 325, 444, 115, 105, 117,
+ 118, 20, 254, 458, -1, 123, 385, -1, -1, -1,
+ 49, 50, 51, 52, -1, 133, -1, -1, -1, -1,
+ 138, -1, 140, -1, 142, -1, 144, 145, -1, 356,
+ 211, 212, 213, 214, 215, -1, -1, 155, 156, 157,
+ 158, 159, 160, 161, -1, -1, 164, -1, -1, 167,
+ -1, 169, -1, -1, -1, -1, -1, -1, -1, 78,
+ 178, -1, -1, -1, -1, -1, 184, 185, 186, 108,
+ 188, 189, -1, -1, 10, -1, 9, 195, 196, -1,
+ 16, 17, 18, -1, -1, -1, 19, 205, 206, 25,
+ 26, -1, -1, 112, 113, 31, 32, -1, 34, 35,
+ -1, 430, 38, -1, 40, -1, 42, 43, -1, -1,
+ -1, 47, 131, -1, -1, 154, -1, 136, -1, -1,
+ 56, -1, -1, -1, -1, 61, -1, 60, 61, -1,
+ -1, -1, 68, -1, 70, 174, -1, -1, -1, -1,
+ 179, 180, -1, -1, 80, 81, 79, 83, 84, 168,
+ -1, -1, 88, 89, -1, -1, 92, 93, -1, -1,
+ -1, -1, -1, -1, -1, 101, -1, 100, -1, -1,
+ -1, -1, -1, 192, 193, 194, 109, -1, 111, 115,
+ -1, 117, 118, -1, -1, -1, -1, 123, -1, -1,
+ -1, -1, -1, -1, 127, -1, -1, 133, -1, -1,
+ -1, -1, 138, -1, 140, -1, 142, -1, 144, 145,
+ -1, -1, -1, -1, -1, 148, 149, -1, -1, 155,
+ 156, 157, 158, 159, 160, 161, -1, -1, 164, -1,
+ -1, 167, -1, 169, -1, -1, -1, 44, -1, -1,
+ -1, -1, 178, -1, -1, -1, 53, -1, 184, 185,
+ 186, -1, 188, 189, 187, 62, 189, -1, -1, 195,
+ 196, -1, -1, -1, 197, -1, -1, -1, 201, 202,
+ 206, -1, -1, -1, 12, 82, 14, 15, 85, -1,
+ -1, -1, -1, 21, 91, -1, 24, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
+ -1, -1, -1, 120, 121, -1, 54, 124, 125, 126,
+ -1, 128, 129, 130, -1, 132, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 161, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 95,
- -1, 97, -1, -1, -1, -1, -1, 103, -1, 105,
- -1, 196, -1, 109, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 162, -1, -1, 96, -1,
+ 98, -1, -1, -1, -1, -1, 104, -1, 106, -1,
+ -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 133, 134
+ 197, -1, -1, -1, -1, -1, 134, 135
};
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
state STATE-NUM. */
static const yytype_int16 yystos[] =
{
- 0, 1, 10, 16, 17, 18, 25, 26, 31, 33,
- 34, 37, 39, 41, 42, 46, 55, 60, 67, 69,
- 79, 80, 82, 83, 87, 88, 91, 92, 100, 114,
- 116, 117, 122, 132, 137, 139, 141, 143, 144, 154,
- 155, 156, 157, 158, 159, 160, 163, 166, 168, 177,
- 183, 184, 185, 187, 188, 194, 195, 205, 222, 223,
- 224, 225, 226, 238, 239, 240, 241, 245, 250, 258,
- 268, 273, 277, 281, 286, 290, 291, 292, 294, 295,
- 306, 307, 310, 322, 323, 204, 68, 68, 242, 74,
- 76, 174, 227, 228, 229, 8, 13, 20, 77, 111,
- 112, 130, 135, 167, 191, 192, 193, 282, 283, 284,
- 285, 11, 106, 112, 262, 263, 264, 174, 296, 282,
- 23, 27, 89, 138, 149, 152, 176, 182, 252, 227,
- 174, 174, 174, 174, 174, 304, 305, 227, 318, 68,
- 63, 64, 65, 66, 94, 96, 98, 104, 265, 266,
- 267, 318, 174, 174, 317, 297, 68, 7, 8, 28,
- 71, 101, 175, 181, 311, 312, 30, 74, 76, 164,
- 227, 68, 47, 102, 165, 278, 279, 280, 174, 300,
- 251, 252, 174, 6, 35, 54, 58, 136, 169, 170,
- 171, 172, 177, 287, 288, 289, 12, 14, 15, 21,
- 24, 53, 95, 97, 103, 105, 109, 133, 134, 246,
- 247, 248, 249, 321, 228, 68, 217, 314, 315, 316,
- 68, 313, 0, 224, 204, 227, 227, 36, 68, 320,
- 68, 174, 174, 38, 61, 86, 309, 219, 32, 57,
- 60, 150, 151, 157, 243, 244, 146, 180, 274, 275,
- 276, 174, 283, 263, 68, 36, 253, 3, 48, 49,
- 50, 51, 107, 153, 173, 178, 179, 269, 270, 271,
- 272, 224, 22, 62, 293, 305, 227, 266, 68, 174,
- 30, 68, 298, 299, 312, 72, 259, 30, 30, 259,
- 93, 259, 279, 68, 216, 252, 288, 320, 174, 44,
- 68, 186, 319, 247, 68, 320, 302, 68, 315, 68,
- 204, 230, 5, 73, 75, 174, 199, 308, 206, 207,
- 324, 325, 326, 68, 174, 275, 174, 33, 41, 45,
- 85, 118, 189, 254, 255, 256, 174, 174, 68, 270,
- 320, 319, 68, 68, 260, 259, 259, 260, 228, 260,
- 174, 69, 145, 303, 40, 9, 19, 59, 60, 78,
- 99, 108, 110, 126, 147, 148, 186, 188, 196, 200,
- 201, 231, 232, 233, 234, 235, 236, 237, 160, 325,
- 327, 328, 330, 204, 216, 174, 4, 29, 113, 121,
- 140, 198, 202, 257, 215, 43, 52, 61, 81, 84,
- 90, 115, 119, 120, 123, 124, 125, 127, 128, 129,
- 131, 161, 196, 261, 260, 260, 259, 30, 301, 228,
- 68, 68, 68, 190, 174, 216, 204, 220, 328, 219,
- 320, 68, 56, 260, 218, 227, 208, 329, 216, 209,
- 331, 332, 320, 216, 220, 332, 204, 320, 219, 210,
- 211, 212, 213, 214, 333, 334, 335, 220, 334, 204,
- 216, 204, 320
+ 0, 1, 10, 16, 17, 18, 25, 26, 31, 32,
+ 34, 35, 38, 40, 42, 43, 47, 56, 61, 68,
+ 70, 80, 81, 83, 84, 88, 89, 92, 93, 101,
+ 115, 117, 118, 123, 133, 138, 140, 142, 144, 145,
+ 155, 156, 157, 158, 159, 160, 161, 164, 167, 169,
+ 178, 184, 185, 186, 188, 189, 195, 196, 206, 223,
+ 224, 225, 226, 227, 239, 240, 241, 242, 246, 251,
+ 259, 270, 275, 279, 283, 288, 292, 293, 294, 296,
+ 297, 308, 309, 312, 324, 325, 205, 69, 69, 243,
+ 165, 175, 229, 75, 77, 228, 229, 230, 8, 13,
+ 20, 78, 112, 113, 131, 136, 168, 192, 193, 194,
+ 284, 285, 286, 287, 11, 107, 113, 264, 265, 266,
+ 175, 298, 284, 23, 27, 90, 139, 150, 153, 177,
+ 183, 253, 228, 175, 175, 175, 175, 175, 306, 307,
+ 228, 320, 69, 64, 65, 66, 67, 95, 97, 99,
+ 105, 267, 268, 269, 320, 175, 175, 319, 299, 69,
+ 7, 8, 28, 72, 102, 176, 182, 313, 314, 30,
+ 75, 77, 165, 228, 69, 48, 103, 166, 280, 281,
+ 282, 175, 302, 252, 253, 175, 6, 36, 55, 59,
+ 137, 170, 171, 172, 173, 178, 289, 290, 291, 12,
+ 14, 15, 21, 24, 54, 96, 98, 104, 106, 110,
+ 134, 135, 247, 248, 249, 250, 323, 229, 69, 218,
+ 316, 317, 318, 69, 315, 0, 225, 205, 228, 228,
+ 37, 69, 322, 69, 175, 175, 39, 62, 87, 311,
+ 220, 33, 58, 61, 151, 152, 158, 244, 245, 229,
+ 94, 260, 147, 181, 276, 277, 278, 175, 285, 265,
+ 69, 37, 254, 3, 49, 50, 51, 52, 108, 154,
+ 174, 179, 180, 271, 272, 273, 274, 225, 22, 63,
+ 295, 307, 228, 268, 69, 175, 30, 69, 300, 301,
+ 314, 73, 261, 30, 30, 261, 260, 281, 69, 217,
+ 253, 290, 322, 175, 45, 69, 187, 321, 248, 69,
+ 322, 304, 69, 317, 69, 205, 231, 5, 74, 76,
+ 175, 200, 310, 207, 208, 326, 327, 328, 69, 175,
+ 229, 277, 175, 34, 42, 46, 86, 119, 190, 255,
+ 256, 257, 175, 175, 69, 272, 322, 321, 69, 69,
+ 262, 261, 261, 262, 261, 175, 70, 146, 305, 41,
+ 9, 19, 60, 61, 79, 100, 109, 111, 127, 148,
+ 149, 187, 189, 197, 201, 202, 232, 233, 234, 235,
+ 236, 237, 238, 161, 327, 329, 330, 332, 205, 217,
+ 175, 4, 29, 114, 122, 141, 199, 203, 258, 216,
+ 44, 53, 62, 82, 85, 91, 116, 120, 121, 124,
+ 125, 126, 128, 129, 130, 132, 162, 197, 263, 262,
+ 262, 262, 30, 303, 229, 69, 69, 69, 191, 175,
+ 217, 205, 221, 330, 220, 322, 69, 57, 219, 228,
+ 209, 331, 217, 210, 333, 334, 322, 217, 221, 334,
+ 205, 322, 220, 211, 212, 213, 214, 215, 335, 336,
+ 337, 221, 336, 205, 217, 205, 322
};
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
static const yytype_int16 yyr1[] =
{
- 0, 221, 222, 223, 223, 223, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 225, 226, 226, 226, 226, 226, 227, 227, 228,
- 229, 229, 230, 230, 231, 231, 231, 232, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 234, 234, 235,
- 235, 235, 235, 235, 235, 236, 237, 238, 239, 239,
- 240, 240, 240, 240, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 242, 242, 243, 243, 244, 244, 244,
- 244, 244, 245, 246, 246, 247, 247, 247, 247, 248,
- 248, 248, 248, 248, 248, 248, 248, 248, 249, 249,
- 250, 250, 250, 251, 251, 252, 252, 252, 252, 252,
- 252, 252, 252, 253, 253, 254, 254, 254, 254, 255,
- 255, 256, 256, 257, 257, 257, 257, 257, 257, 257,
- 258, 258, 258, 258, 258, 258, 258, 258, 259, 259,
- 260, 260, 260, 261, 261, 261, 261, 261, 261, 261,
- 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
- 262, 262, 263, 264, 264, 264, 265, 265, 266, 267,
- 267, 267, 267, 267, 267, 267, 267, 268, 269, 269,
- 270, 270, 270, 270, 270, 271, 271, 271, 272, 272,
- 272, 272, 273, 274, 274, 275, 276, 276, 277, 278,
- 278, 279, 280, 280, 280, 281, 281, 282, 282, 283,
- 283, 284, 284, 284, 284, 284, 284, 285, 285, 285,
- 285, 285, 285, 286, 287, 287, 288, 289, 289, 289,
- 289, 289, 289, 289, 289, 289, 289, 290, 290, 290,
- 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
- 290, 290, 290, 291, 291, 291, 292, 292, 293, 293,
- 293, 294, 295, 295, 295, 296, 296, 296, 297, 297,
- 298, 299, 299, 300, 301, 301, 302, 302, 303, 303,
- 304, 304, 305, 306, 306, 307, 307, 308, 308, 308,
- 308, 309, 309, 309, 310, 311, 311, 312, 312, 312,
- 312, 312, 312, 312, 313, 313, 314, 314, 315, 315,
- 316, 317, 317, 318, 318, 319, 319, 319, 320, 320,
- 321, 322, 323, 324, 324, 325, 326, 326, 327, 327,
- 328, 329, 330, 331, 331, 332, 333, 333, 334, 335,
- 335, 335, 335, 335
+ 0, 222, 223, 224, 224, 224, 225, 225, 225, 225,
+ 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
+ 225, 226, 227, 227, 227, 227, 227, 228, 228, 229,
+ 230, 230, 231, 231, 232, 232, 232, 233, 234, 234,
+ 234, 234, 234, 234, 234, 234, 234, 235, 235, 236,
+ 236, 236, 236, 236, 236, 237, 238, 239, 240, 240,
+ 241, 241, 241, 241, 242, 242, 242, 242, 242, 242,
+ 242, 242, 242, 243, 243, 244, 244, 245, 245, 245,
+ 245, 245, 246, 247, 247, 248, 248, 248, 248, 249,
+ 249, 249, 249, 249, 249, 249, 249, 249, 250, 250,
+ 251, 251, 251, 252, 252, 253, 253, 253, 253, 253,
+ 253, 253, 253, 254, 254, 255, 255, 255, 255, 256,
+ 256, 257, 257, 258, 258, 258, 258, 258, 258, 258,
+ 259, 259, 259, 259, 259, 259, 259, 259, 259, 260,
+ 260, 261, 261, 262, 262, 262, 263, 263, 263, 263,
+ 263, 263, 263, 263, 263, 263, 263, 263, 263, 263,
+ 263, 263, 263, 264, 264, 265, 266, 266, 266, 267,
+ 267, 268, 269, 269, 269, 269, 269, 269, 269, 269,
+ 270, 271, 271, 272, 272, 272, 272, 272, 273, 273,
+ 273, 274, 274, 274, 274, 275, 276, 276, 277, 278,
+ 278, 279, 280, 280, 281, 282, 282, 282, 283, 283,
+ 284, 284, 285, 285, 286, 286, 286, 286, 286, 286,
+ 287, 287, 287, 287, 287, 287, 288, 289, 289, 290,
+ 291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
+ 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
+ 292, 292, 292, 292, 292, 292, 293, 293, 293, 294,
+ 294, 295, 295, 295, 296, 297, 297, 297, 298, 298,
+ 298, 299, 299, 300, 301, 301, 302, 303, 303, 304,
+ 304, 305, 305, 306, 306, 307, 308, 308, 309, 309,
+ 310, 310, 310, 310, 311, 311, 311, 312, 313, 313,
+ 314, 314, 314, 314, 314, 314, 314, 315, 315, 316,
+ 316, 317, 317, 318, 319, 319, 320, 320, 321, 321,
+ 321, 322, 322, 323, 324, 325, 326, 326, 327, 328,
+ 328, 329, 329, 330, 331, 332, 333, 333, 334, 335,
+ 335, 336, 337, 337, 337, 337, 337
};
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
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, 4, 6, 4, 5, 5, 4, 0, 2,
- 0, 2, 3, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 5, 4, 5, 5, 4, 3, 3, 0,
+ 2, 0, 2, 0, 2, 3, 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, 1, 3, 2, 1, 2, 1, 1, 2, 2,
- 1, 2, 1, 1, 1, 2, 2, 2, 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, 1, 3, 2, 1, 2, 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, 1, 2, 2, 1, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- 2, 2, 2, 3, 3, 1, 2, 2, 2, 2,
- 2, 3, 2, 1, 1, 1, 1, 1, 1, 1,
- 0, 1, 1, 1, 1, 1, 2, 0, 0, 2,
- 4, 1, 1, 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,
- 2, 5, 1, 3, 2, 3, 1, 1, 2, 1,
- 5, 4, 3, 2, 1, 6, 3, 2, 3, 1,
- 1, 1, 1, 1
+ 1, 1, 2, 2, 2, 2, 3, 3, 1, 2,
+ 2, 2, 2, 2, 3, 2, 1, 1, 1, 1,
+ 1, 1, 1, 0, 1, 1, 1, 1, 1, 2,
+ 0, 0, 2, 4, 1, 1, 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, 2, 5, 1, 3, 2, 3, 1,
+ 1, 2, 1, 5, 4, 3, 2, 1, 6, 3,
+ 2, 3, 1, 1, 1, 1, 1
};
switch (yyn)
{
case 5: /* command_list: error T_EOC */
-#line 404 "../../ntpd/ntp_parser.y"
+#line 406 "../../ntpd/ntp_parser.y"
{
/* I will need to incorporate much more fine grained
* error messages. The following should suffice for
ip_ctx->errpos.nline,
ip_ctx->errpos.ncol);
}
-#line 2411 "ntp_parser.c"
+#line 2422 "ntp_parser.c"
break;
case 21: /* server_command: client_type address option_list */
-#line 441 "../../ntpd/ntp_parser.y"
+#line 443 "../../ntpd/ntp_parser.y"
{
peer_node *my_node;
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 2422 "ntp_parser.c"
+#line 2433 "ntp_parser.c"
break;
case 28: /* address: address_fam T_String */
-#line 460 "../../ntpd/ntp_parser.y"
+#line 462 "../../ntpd/ntp_parser.y"
{ (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); }
-#line 2428 "ntp_parser.c"
+#line 2439 "ntp_parser.c"
break;
case 29: /* ip_address: T_String */
-#line 465 "../../ntpd/ntp_parser.y"
+#line 467 "../../ntpd/ntp_parser.y"
{ (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); }
-#line 2434 "ntp_parser.c"
+#line 2445 "ntp_parser.c"
break;
case 30: /* address_fam: T_Ipv4_flag */
-#line 470 "../../ntpd/ntp_parser.y"
+#line 472 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = AF_INET; }
-#line 2440 "ntp_parser.c"
+#line 2451 "ntp_parser.c"
break;
case 31: /* address_fam: T_Ipv6_flag */
-#line 472 "../../ntpd/ntp_parser.y"
+#line 474 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = AF_INET6; }
-#line 2446 "ntp_parser.c"
+#line 2457 "ntp_parser.c"
break;
case 32: /* option_list: %empty */
-#line 477 "../../ntpd/ntp_parser.y"
+#line 479 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val_fifo) = NULL; }
-#line 2452 "ntp_parser.c"
+#line 2463 "ntp_parser.c"
break;
case 33: /* option_list: option_list option */
-#line 479 "../../ntpd/ntp_parser.y"
+#line 481 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 2461 "ntp_parser.c"
+#line 2472 "ntp_parser.c"
break;
case 37: /* option_flag: option_flag_keyword */
-#line 493 "../../ntpd/ntp_parser.y"
+#line 495 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
-#line 2467 "ntp_parser.c"
+#line 2478 "ntp_parser.c"
break;
case 47: /* option_int: option_int_keyword T_Integer */
-#line 510 "../../ntpd/ntp_parser.y"
+#line 512 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2473 "ntp_parser.c"
+#line 2484 "ntp_parser.c"
break;
case 48: /* option_int: option_int_keyword T_U_int */
-#line 512 "../../ntpd/ntp_parser.y"
+#line 514 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2479 "ntp_parser.c"
+#line 2490 "ntp_parser.c"
break;
case 55: /* option_str: option_str_keyword T_String */
-#line 526 "../../ntpd/ntp_parser.y"
+#line 528 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2485 "ntp_parser.c"
+#line 2496 "ntp_parser.c"
break;
case 57: /* unpeer_command: unpeer_keyword address */
-#line 540 "../../ntpd/ntp_parser.y"
+#line 542 "../../ntpd/ntp_parser.y"
{
unpeer_node *my_node;
if (my_node)
APPEND_G_FIFO(cfgt.unpeers, my_node);
}
-#line 2497 "ntp_parser.c"
+#line 2508 "ntp_parser.c"
break;
case 60: /* other_mode_command: T_Broadcastclient */
-#line 561 "../../ntpd/ntp_parser.y"
+#line 563 "../../ntpd/ntp_parser.y"
{ cfgt.broadcastclient = 1; }
-#line 2503 "ntp_parser.c"
+#line 2514 "ntp_parser.c"
break;
case 61: /* other_mode_command: T_Manycastserver address_list */
-#line 563 "../../ntpd/ntp_parser.y"
+#line 565 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); }
-#line 2509 "ntp_parser.c"
+#line 2520 "ntp_parser.c"
break;
case 62: /* other_mode_command: T_Multicastclient address_list */
-#line 565 "../../ntpd/ntp_parser.y"
+#line 567 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); }
-#line 2515 "ntp_parser.c"
+#line 2526 "ntp_parser.c"
break;
case 63: /* other_mode_command: T_Mdnstries T_Integer */
-#line 567 "../../ntpd/ntp_parser.y"
+#line 569 "../../ntpd/ntp_parser.y"
{ cfgt.mdnstries = (yyvsp[0].Integer); }
-#line 2521 "ntp_parser.c"
+#line 2532 "ntp_parser.c"
break;
case 64: /* authentication_command: T_Automax T_Integer */
-#line 578 "../../ntpd/ntp_parser.y"
+#line 580 "../../ntpd/ntp_parser.y"
{
attr_val *atrv;
atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
APPEND_G_FIFO(cfgt.vars, atrv);
}
-#line 2532 "ntp_parser.c"
+#line 2543 "ntp_parser.c"
break;
case 65: /* authentication_command: T_ControlKey T_Integer */
-#line 585 "../../ntpd/ntp_parser.y"
+#line 587 "../../ntpd/ntp_parser.y"
{ cfgt.auth.control_key = (yyvsp[0].Integer); }
-#line 2538 "ntp_parser.c"
+#line 2549 "ntp_parser.c"
break;
case 66: /* authentication_command: T_Crypto crypto_command_list */
-#line 587 "../../ntpd/ntp_parser.y"
+#line 589 "../../ntpd/ntp_parser.y"
{
cfgt.auth.cryptosw++;
CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo));
}
-#line 2547 "ntp_parser.c"
+#line 2558 "ntp_parser.c"
break;
case 67: /* authentication_command: T_Keys T_String */
-#line 592 "../../ntpd/ntp_parser.y"
+#line 594 "../../ntpd/ntp_parser.y"
{ cfgt.auth.keys = (yyvsp[0].String); }
-#line 2553 "ntp_parser.c"
+#line 2564 "ntp_parser.c"
break;
case 68: /* authentication_command: T_Keysdir T_String */
-#line 594 "../../ntpd/ntp_parser.y"
+#line 596 "../../ntpd/ntp_parser.y"
{ cfgt.auth.keysdir = (yyvsp[0].String); }
-#line 2559 "ntp_parser.c"
+#line 2570 "ntp_parser.c"
break;
case 69: /* authentication_command: T_Requestkey T_Integer */
-#line 596 "../../ntpd/ntp_parser.y"
+#line 598 "../../ntpd/ntp_parser.y"
{ cfgt.auth.request_key = (yyvsp[0].Integer); }
-#line 2565 "ntp_parser.c"
+#line 2576 "ntp_parser.c"
break;
case 70: /* authentication_command: T_Revoke T_Integer */
-#line 598 "../../ntpd/ntp_parser.y"
+#line 600 "../../ntpd/ntp_parser.y"
{ cfgt.auth.revoke = (yyvsp[0].Integer); }
-#line 2571 "ntp_parser.c"
+#line 2582 "ntp_parser.c"
break;
case 71: /* authentication_command: T_Trustedkey integer_list_range */
-#line 600 "../../ntpd/ntp_parser.y"
+#line 602 "../../ntpd/ntp_parser.y"
{
/* [Bug 948] leaves it open if appending or
* replacing the trusted key list is the right
DESTROY_G_FIFO(cfgt.auth.trusted_key_list, destroy_attr_val); /* remove for append */
CONCAT_G_FIFOS(cfgt.auth.trusted_key_list, (yyvsp[0].Attr_val_fifo));
}
-#line 2585 "ntp_parser.c"
+#line 2596 "ntp_parser.c"
break;
case 72: /* authentication_command: T_NtpSignDsocket T_String */
-#line 610 "../../ntpd/ntp_parser.y"
+#line 612 "../../ntpd/ntp_parser.y"
{ cfgt.auth.ntp_signd_socket = (yyvsp[0].String); }
-#line 2591 "ntp_parser.c"
+#line 2602 "ntp_parser.c"
break;
case 73: /* crypto_command_list: %empty */
-#line 615 "../../ntpd/ntp_parser.y"
+#line 617 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val_fifo) = NULL; }
-#line 2597 "ntp_parser.c"
+#line 2608 "ntp_parser.c"
break;
case 74: /* crypto_command_list: crypto_command_list crypto_command */
-#line 617 "../../ntpd/ntp_parser.y"
+#line 619 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 2606 "ntp_parser.c"
+#line 2617 "ntp_parser.c"
break;
case 75: /* crypto_command: crypto_str_keyword T_String */
-#line 625 "../../ntpd/ntp_parser.y"
+#line 627 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 2612 "ntp_parser.c"
+#line 2623 "ntp_parser.c"
break;
case 76: /* crypto_command: T_Revoke T_Integer */
-#line 627 "../../ntpd/ntp_parser.y"
+#line 629 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val) = NULL;
cfgt.auth.revoke = (yyvsp[0].Integer);
"please use 'revoke %d' instead.",
cfgt.auth.revoke, cfgt.auth.revoke);
}
-#line 2625 "ntp_parser.c"
+#line 2636 "ntp_parser.c"
break;
case 82: /* orphan_mode_command: T_Tos tos_option_list */
-#line 652 "../../ntpd/ntp_parser.y"
+#line 654 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); }
-#line 2631 "ntp_parser.c"
+#line 2642 "ntp_parser.c"
break;
case 83: /* tos_option_list: tos_option_list tos_option */
-#line 657 "../../ntpd/ntp_parser.y"
+#line 659 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 2640 "ntp_parser.c"
+#line 2651 "ntp_parser.c"
break;
case 84: /* tos_option_list: tos_option */
-#line 662 "../../ntpd/ntp_parser.y"
+#line 664 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 2649 "ntp_parser.c"
+#line 2660 "ntp_parser.c"
break;
case 85: /* tos_option: tos_option_int_keyword T_Integer */
-#line 670 "../../ntpd/ntp_parser.y"
+#line 672 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
-#line 2655 "ntp_parser.c"
+#line 2666 "ntp_parser.c"
break;
case 86: /* tos_option: tos_option_dbl_keyword number */
-#line 672 "../../ntpd/ntp_parser.y"
+#line 674 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
-#line 2661 "ntp_parser.c"
+#line 2672 "ntp_parser.c"
break;
case 87: /* tos_option: T_Cohort boolean */
-#line 674 "../../ntpd/ntp_parser.y"
+#line 676 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
-#line 2667 "ntp_parser.c"
+#line 2678 "ntp_parser.c"
break;
case 88: /* tos_option: basedate */
-#line 676 "../../ntpd/ntp_parser.y"
+#line 678 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival(T_Basedate, (yyvsp[0].Integer)); }
-#line 2673 "ntp_parser.c"
+#line 2684 "ntp_parser.c"
break;
case 100: /* monitoring_command: T_Statistics stats_list */
-#line 703 "../../ntpd/ntp_parser.y"
+#line 705 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); }
-#line 2679 "ntp_parser.c"
+#line 2690 "ntp_parser.c"
break;
case 101: /* monitoring_command: T_Statsdir T_String */
-#line 705 "../../ntpd/ntp_parser.y"
+#line 707 "../../ntpd/ntp_parser.y"
{
if (lex_from_file()) {
cfgt.stats_dir = (yyvsp[0].String);
yyerror("statsdir remote configuration ignored");
}
}
-#line 2692 "ntp_parser.c"
+#line 2703 "ntp_parser.c"
break;
case 102: /* monitoring_command: T_Filegen stat filegen_option_list */
-#line 714 "../../ntpd/ntp_parser.y"
+#line 716 "../../ntpd/ntp_parser.y"
{
filegen_node *fgn;
fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo));
APPEND_G_FIFO(cfgt.filegen_opts, fgn);
}
-#line 2703 "ntp_parser.c"
+#line 2714 "ntp_parser.c"
break;
case 103: /* stats_list: stats_list stat */
-#line 724 "../../ntpd/ntp_parser.y"
+#line 726 "../../ntpd/ntp_parser.y"
{
(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
}
-#line 2712 "ntp_parser.c"
+#line 2723 "ntp_parser.c"
break;
case 104: /* stats_list: stat */
-#line 729 "../../ntpd/ntp_parser.y"
+#line 731 "../../ntpd/ntp_parser.y"
{
(yyval.Int_fifo) = NULL;
APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
}
-#line 2721 "ntp_parser.c"
+#line 2732 "ntp_parser.c"
break;
case 113: /* filegen_option_list: %empty */
-#line 748 "../../ntpd/ntp_parser.y"
+#line 750 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val_fifo) = NULL; }
-#line 2727 "ntp_parser.c"
+#line 2738 "ntp_parser.c"
break;
case 114: /* filegen_option_list: filegen_option_list filegen_option */
-#line 750 "../../ntpd/ntp_parser.y"
+#line 752 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 2736 "ntp_parser.c"
+#line 2747 "ntp_parser.c"
break;
case 115: /* filegen_option: T_File T_String */
-#line 758 "../../ntpd/ntp_parser.y"
+#line 760 "../../ntpd/ntp_parser.y"
{
if (lex_from_file()) {
(yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
yyerror("filegen file remote config ignored");
}
}
-#line 2750 "ntp_parser.c"
+#line 2761 "ntp_parser.c"
break;
case 116: /* filegen_option: T_Type filegen_type */
-#line 768 "../../ntpd/ntp_parser.y"
+#line 770 "../../ntpd/ntp_parser.y"
{
if (lex_from_file()) {
(yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
yyerror("filegen type remote config ignored");
}
}
-#line 2763 "ntp_parser.c"
+#line 2774 "ntp_parser.c"
break;
case 117: /* filegen_option: link_nolink */
-#line 777 "../../ntpd/ntp_parser.y"
+#line 779 "../../ntpd/ntp_parser.y"
{
const char *err;
yyerror(err);
}
}
-#line 2782 "ntp_parser.c"
+#line 2793 "ntp_parser.c"
break;
case 118: /* filegen_option: enable_disable */
-#line 792 "../../ntpd/ntp_parser.y"
+#line 794 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
-#line 2788 "ntp_parser.c"
+#line 2799 "ntp_parser.c"
break;
case 130: /* access_control_command: T_Discard discard_option_list */
-#line 822 "../../ntpd/ntp_parser.y"
+#line 824 "../../ntpd/ntp_parser.y"
{
CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo));
}
-#line 2796 "ntp_parser.c"
+#line 2807 "ntp_parser.c"
break;
case 131: /* access_control_command: T_Mru mru_option_list */
-#line 826 "../../ntpd/ntp_parser.y"
+#line 828 "../../ntpd/ntp_parser.y"
{
CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo));
}
-#line 2804 "ntp_parser.c"
- break;
-
- case 132: /* access_control_command: T_Restrict address res_ippeerlimit ac_flag_list */
-#line 830 "../../ntpd/ntp_parser.y"
- {
- restrict_node *rn;
-
- rn = create_restrict_node((yyvsp[-2].Address_node), NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
- lex_current()->curpos.nline);
- APPEND_G_FIFO(cfgt.restrict_opts, rn);
- }
-#line 2816 "ntp_parser.c"
+#line 2815 "ntp_parser.c"
break;
- case 133: /* access_control_command: T_Restrict address T_Mask ip_address res_ippeerlimit ac_flag_list */
-#line 838 "../../ntpd/ntp_parser.y"
+ case 132: /* access_control_command: T_Restrict address restrict_mask res_ippeerlimit ac_flag_list */
+#line 832 "../../ntpd/ntp_parser.y"
{
restrict_node *rn;
- rn = create_restrict_node((yyvsp[-4].Address_node), (yyvsp[-2].Address_node), (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
- lex_current()->curpos.nline);
+ rn = create_restrict_node((yyvsp[-3].Address_node), (yyvsp[-2].Address_node), (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
#line 2828 "ntp_parser.c"
break;
- case 134: /* access_control_command: T_Restrict T_Default res_ippeerlimit ac_flag_list */
-#line 846 "../../ntpd/ntp_parser.y"
+ case 133: /* access_control_command: T_Restrict T_Default res_ippeerlimit ac_flag_list */
+#line 841 "../../ntpd/ntp_parser.y"
{
restrict_node *rn;
- rn = create_restrict_node(NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
- lex_current()->curpos.nline);
+ rn = create_restrict_node(NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
-#line 2840 "ntp_parser.c"
+#line 2841 "ntp_parser.c"
break;
- case 135: /* access_control_command: T_Restrict T_Ipv4_flag T_Default res_ippeerlimit ac_flag_list */
-#line 854 "../../ntpd/ntp_parser.y"
+ case 134: /* access_control_command: T_Restrict T_Ipv4_flag T_Default res_ippeerlimit ac_flag_list */
+#line 850 "../../ntpd/ntp_parser.y"
{
restrict_node *rn;
create_address_node(
estrdup("0.0.0.0"),
AF_INET),
- (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
- lex_current()->curpos.nline);
+ (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
-#line 2859 "ntp_parser.c"
+#line 2861 "ntp_parser.c"
break;
- case 136: /* access_control_command: T_Restrict T_Ipv6_flag T_Default res_ippeerlimit ac_flag_list */
-#line 869 "../../ntpd/ntp_parser.y"
+ case 135: /* access_control_command: T_Restrict T_Ipv6_flag T_Default res_ippeerlimit ac_flag_list */
+#line 866 "../../ntpd/ntp_parser.y"
{
restrict_node *rn;
create_address_node(
estrdup("::"),
AF_INET6),
- (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo),
- lex_current()->curpos.nline);
+ (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
-#line 2878 "ntp_parser.c"
+#line 2881 "ntp_parser.c"
break;
- case 137: /* access_control_command: T_Restrict T_Source res_ippeerlimit ac_flag_list */
-#line 884 "../../ntpd/ntp_parser.y"
+ case 136: /* access_control_command: T_Restrict T_Source res_ippeerlimit ac_flag_list */
+#line 882 "../../ntpd/ntp_parser.y"
{
restrict_node * rn;
APPEND_G_FIFO((yyvsp[0].Attr_val_fifo), create_attr_ival((yyvsp[-2].Integer), 1));
- rn = create_restrict_node(
- NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), lex_current()->curpos.nline);
+ rn = create_restrict_node(NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo), FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
-#line 2891 "ntp_parser.c"
+#line 2895 "ntp_parser.c"
break;
- case 138: /* res_ippeerlimit: %empty */
-#line 896 "../../ntpd/ntp_parser.y"
+ case 137: /* access_control_command: T_Delrestrict ip_address restrict_mask */
+#line 892 "../../ntpd/ntp_parser.y"
+ {
+ restrict_node * rn;
+
+ rn = create_restrict_node((yyvsp[-1].Address_node), (yyvsp[0].Address_node), -1, NULL, TRUE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
+ APPEND_G_FIFO(cfgt.restrict_opts, rn);
+ }
+#line 2908 "ntp_parser.c"
+ break;
+
+ case 138: /* access_control_command: T_Delrestrict T_Source ip_address */
+#line 901 "../../ntpd/ntp_parser.y"
+ {
+ restrict_node * rn;
+ attr_val_fifo * avf;
+
+ avf = NULL;
+ APPEND_G_FIFO(avf, create_attr_ival((yyvsp[-1].Integer), 1));
+ rn = create_restrict_node((yyvsp[0].Address_node), NULL, -1, avf, TRUE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
+ APPEND_G_FIFO(cfgt.restrict_opts, rn);
+ }
+#line 2924 "ntp_parser.c"
+ break;
+
+ case 139: /* restrict_mask: %empty */
+#line 916 "../../ntpd/ntp_parser.y"
+ { (yyval.Address_node) = NULL; }
+#line 2930 "ntp_parser.c"
+ break;
+
+ case 140: /* restrict_mask: T_Mask ip_address */
+#line 918 "../../ntpd/ntp_parser.y"
+ {
+ (yyval.Address_node) = (yyvsp[0].Address_node);
+ }
+#line 2938 "ntp_parser.c"
+ break;
+
+ case 141: /* res_ippeerlimit: %empty */
+#line 925 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = -1; }
-#line 2897 "ntp_parser.c"
+#line 2944 "ntp_parser.c"
break;
- case 139: /* res_ippeerlimit: T_Ippeerlimit T_Integer */
-#line 898 "../../ntpd/ntp_parser.y"
+ case 142: /* res_ippeerlimit: T_Ippeerlimit T_Integer */
+#line 927 "../../ntpd/ntp_parser.y"
{
if (((yyvsp[0].Integer) < -1) || ((yyvsp[0].Integer) > 100)) {
struct FILE_INFO * ip_ctx;
"Unreasonable ippeerlimit value (%d) in %s line %d, column %d. Using 0.",
(yyvsp[0].Integer),
ip_ctx->fname,
- ip_ctx->errpos.nline,
- ip_ctx->errpos.ncol);
+ ip_ctx->curpos.nline,
+ ip_ctx->curpos.ncol);
(yyvsp[0].Integer) = 0;
}
(yyval.Integer) = (yyvsp[0].Integer);
}
-#line 2917 "ntp_parser.c"
+#line 2964 "ntp_parser.c"
break;
- case 140: /* ac_flag_list: %empty */
-#line 917 "../../ntpd/ntp_parser.y"
+ case 143: /* ac_flag_list: %empty */
+#line 946 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val_fifo) = NULL; }
-#line 2923 "ntp_parser.c"
+#line 2970 "ntp_parser.c"
break;
- case 141: /* ac_flag_list: ac_flag_list access_control_flag */
-#line 919 "../../ntpd/ntp_parser.y"
+ case 144: /* ac_flag_list: ac_flag_list access_control_flag */
+#line 948 "../../ntpd/ntp_parser.y"
{
attr_val *av;
av = create_attr_ival((yyvsp[0].Integer), 1);
APPEND_G_FIFO((yyval.Attr_val_fifo), av);
}
-#line 2935 "ntp_parser.c"
+#line 2982 "ntp_parser.c"
break;
- case 142: /* ac_flag_list: ac_flag_list T_Serverresponse T_Fuzz */
-#line 927 "../../ntpd/ntp_parser.y"
+ case 145: /* ac_flag_list: ac_flag_list T_Serverresponse T_Fuzz */
+#line 956 "../../ntpd/ntp_parser.y"
{
attr_val *av;
av = create_attr_ival(T_ServerresponseFuzz, 1);
APPEND_G_FIFO((yyval.Attr_val_fifo), av);
}
-#line 2947 "ntp_parser.c"
+#line 2994 "ntp_parser.c"
break;
- case 160: /* discard_option_list: discard_option_list discard_option */
-#line 958 "../../ntpd/ntp_parser.y"
+ case 163: /* discard_option_list: discard_option_list discard_option */
+#line 987 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 2956 "ntp_parser.c"
+#line 3003 "ntp_parser.c"
break;
- case 161: /* discard_option_list: discard_option */
-#line 963 "../../ntpd/ntp_parser.y"
+ case 164: /* discard_option_list: discard_option */
+#line 992 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 2965 "ntp_parser.c"
+#line 3012 "ntp_parser.c"
break;
- case 162: /* discard_option: discard_option_keyword T_Integer */
-#line 971 "../../ntpd/ntp_parser.y"
+ case 165: /* discard_option: discard_option_keyword T_Integer */
+#line 1000 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2971 "ntp_parser.c"
+#line 3018 "ntp_parser.c"
break;
- case 166: /* mru_option_list: mru_option_list mru_option */
-#line 982 "../../ntpd/ntp_parser.y"
+ case 169: /* mru_option_list: mru_option_list mru_option */
+#line 1011 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 2980 "ntp_parser.c"
+#line 3027 "ntp_parser.c"
break;
- case 167: /* mru_option_list: mru_option */
-#line 987 "../../ntpd/ntp_parser.y"
+ case 170: /* mru_option_list: mru_option */
+#line 1016 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 2989 "ntp_parser.c"
+#line 3036 "ntp_parser.c"
break;
- case 168: /* mru_option: mru_option_keyword T_Integer */
-#line 995 "../../ntpd/ntp_parser.y"
+ case 171: /* mru_option: mru_option_keyword T_Integer */
+#line 1024 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 2995 "ntp_parser.c"
+#line 3042 "ntp_parser.c"
break;
- case 177: /* fudge_command: T_Fudge address fudge_factor_list */
-#line 1015 "../../ntpd/ntp_parser.y"
+ case 180: /* fudge_command: T_Fudge address fudge_factor_list */
+#line 1044 "../../ntpd/ntp_parser.y"
{
addr_opts_node *aon;
aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
APPEND_G_FIFO(cfgt.fudge, aon);
}
-#line 3006 "ntp_parser.c"
+#line 3053 "ntp_parser.c"
break;
- case 178: /* fudge_factor_list: fudge_factor_list fudge_factor */
-#line 1025 "../../ntpd/ntp_parser.y"
+ case 181: /* fudge_factor_list: fudge_factor_list fudge_factor */
+#line 1054 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3015 "ntp_parser.c"
+#line 3062 "ntp_parser.c"
break;
- case 179: /* fudge_factor_list: fudge_factor */
-#line 1030 "../../ntpd/ntp_parser.y"
+ case 182: /* fudge_factor_list: fudge_factor */
+#line 1059 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3024 "ntp_parser.c"
+#line 3071 "ntp_parser.c"
break;
- case 180: /* fudge_factor: fudge_factor_dbl_keyword number */
-#line 1038 "../../ntpd/ntp_parser.y"
+ case 183: /* fudge_factor: fudge_factor_dbl_keyword number */
+#line 1067 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
-#line 3030 "ntp_parser.c"
+#line 3077 "ntp_parser.c"
break;
- case 181: /* fudge_factor: fudge_factor_bool_keyword boolean */
-#line 1040 "../../ntpd/ntp_parser.y"
+ case 184: /* fudge_factor: fudge_factor_bool_keyword boolean */
+#line 1069 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 3036 "ntp_parser.c"
+#line 3083 "ntp_parser.c"
break;
- case 182: /* fudge_factor: T_Stratum T_Integer */
-#line 1042 "../../ntpd/ntp_parser.y"
+ case 185: /* fudge_factor: T_Stratum T_Integer */
+#line 1071 "../../ntpd/ntp_parser.y"
{
if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) {
(yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
yyerror("fudge factor: stratum value not in [0..16], ignored");
}
}
-#line 3049 "ntp_parser.c"
+#line 3096 "ntp_parser.c"
break;
- case 183: /* fudge_factor: T_Abbrev T_String */
-#line 1051 "../../ntpd/ntp_parser.y"
+ case 186: /* fudge_factor: T_Abbrev T_String */
+#line 1080 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 3055 "ntp_parser.c"
+#line 3102 "ntp_parser.c"
break;
- case 184: /* fudge_factor: T_Refid T_String */
-#line 1053 "../../ntpd/ntp_parser.y"
+ case 187: /* fudge_factor: T_Refid T_String */
+#line 1082 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 3061 "ntp_parser.c"
+#line 3108 "ntp_parser.c"
break;
- case 192: /* device_command: T_Device address device_item_list */
-#line 1075 "../../ntpd/ntp_parser.y"
+ case 195: /* device_command: T_Device address device_item_list */
+#line 1104 "../../ntpd/ntp_parser.y"
{
addr_opts_node *aon;
aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
APPEND_G_FIFO(cfgt.device, aon);
}
-#line 3072 "ntp_parser.c"
+#line 3119 "ntp_parser.c"
break;
- case 193: /* device_item_list: device_item_list device_item */
-#line 1085 "../../ntpd/ntp_parser.y"
+ case 196: /* device_item_list: device_item_list device_item */
+#line 1114 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3081 "ntp_parser.c"
+#line 3128 "ntp_parser.c"
break;
- case 194: /* device_item_list: device_item */
-#line 1090 "../../ntpd/ntp_parser.y"
+ case 197: /* device_item_list: device_item */
+#line 1119 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3090 "ntp_parser.c"
+#line 3137 "ntp_parser.c"
break;
- case 195: /* device_item: device_item_path_keyword T_String */
-#line 1098 "../../ntpd/ntp_parser.y"
+ case 198: /* device_item: device_item_path_keyword T_String */
+#line 1127 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
-#line 3096 "ntp_parser.c"
+#line 3143 "ntp_parser.c"
break;
- case 198: /* rlimit_command: T_Rlimit rlimit_option_list */
-#line 1112 "../../ntpd/ntp_parser.y"
+ case 201: /* rlimit_command: T_Rlimit rlimit_option_list */
+#line 1141 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); }
-#line 3102 "ntp_parser.c"
+#line 3149 "ntp_parser.c"
break;
- case 199: /* rlimit_option_list: rlimit_option_list rlimit_option */
-#line 1117 "../../ntpd/ntp_parser.y"
+ case 202: /* rlimit_option_list: rlimit_option_list rlimit_option */
+#line 1146 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3111 "ntp_parser.c"
+#line 3158 "ntp_parser.c"
break;
- case 200: /* rlimit_option_list: rlimit_option */
-#line 1122 "../../ntpd/ntp_parser.y"
+ case 203: /* rlimit_option_list: rlimit_option */
+#line 1151 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3120 "ntp_parser.c"
+#line 3167 "ntp_parser.c"
break;
- case 201: /* rlimit_option: rlimit_option_keyword T_Integer */
-#line 1130 "../../ntpd/ntp_parser.y"
+ case 204: /* rlimit_option: rlimit_option_keyword T_Integer */
+#line 1159 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 3126 "ntp_parser.c"
+#line 3173 "ntp_parser.c"
break;
- case 205: /* system_option_command: T_Enable system_option_list */
-#line 1146 "../../ntpd/ntp_parser.y"
+ case 208: /* system_option_command: T_Enable system_option_list */
+#line 1175 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); }
-#line 3132 "ntp_parser.c"
+#line 3179 "ntp_parser.c"
break;
- case 206: /* system_option_command: T_Disable system_option_list */
-#line 1148 "../../ntpd/ntp_parser.y"
+ case 209: /* system_option_command: T_Disable system_option_list */
+#line 1177 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); }
-#line 3138 "ntp_parser.c"
+#line 3185 "ntp_parser.c"
break;
- case 207: /* system_option_list: system_option_list system_option */
-#line 1153 "../../ntpd/ntp_parser.y"
+ case 210: /* system_option_list: system_option_list system_option */
+#line 1182 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3147 "ntp_parser.c"
+#line 3194 "ntp_parser.c"
break;
- case 208: /* system_option_list: system_option */
-#line 1158 "../../ntpd/ntp_parser.y"
+ case 211: /* system_option_list: system_option */
+#line 1187 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3156 "ntp_parser.c"
+#line 3203 "ntp_parser.c"
break;
- case 209: /* system_option: system_option_flag_keyword */
-#line 1166 "../../ntpd/ntp_parser.y"
+ case 212: /* system_option: system_option_flag_keyword */
+#line 1195 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
-#line 3162 "ntp_parser.c"
+#line 3209 "ntp_parser.c"
break;
- case 210: /* system_option: system_option_local_flag_keyword */
-#line 1168 "../../ntpd/ntp_parser.y"
+ case 213: /* system_option: system_option_local_flag_keyword */
+#line 1197 "../../ntpd/ntp_parser.y"
{
if (lex_from_file()) {
(yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
yyerror(err_str);
}
}
-#line 3180 "ntp_parser.c"
+#line 3227 "ntp_parser.c"
break;
- case 223: /* tinker_command: T_Tinker tinker_option_list */
-#line 1207 "../../ntpd/ntp_parser.y"
+ case 226: /* tinker_command: T_Tinker tinker_option_list */
+#line 1236 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); }
-#line 3186 "ntp_parser.c"
+#line 3233 "ntp_parser.c"
break;
- case 224: /* tinker_option_list: tinker_option_list tinker_option */
-#line 1212 "../../ntpd/ntp_parser.y"
+ case 227: /* tinker_option_list: tinker_option_list tinker_option */
+#line 1241 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3195 "ntp_parser.c"
+#line 3242 "ntp_parser.c"
break;
- case 225: /* tinker_option_list: tinker_option */
-#line 1217 "../../ntpd/ntp_parser.y"
+ case 228: /* tinker_option_list: tinker_option */
+#line 1246 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3204 "ntp_parser.c"
+#line 3251 "ntp_parser.c"
break;
- case 226: /* tinker_option: tinker_option_keyword number */
-#line 1225 "../../ntpd/ntp_parser.y"
+ case 229: /* tinker_option: tinker_option_keyword number */
+#line 1254 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
-#line 3210 "ntp_parser.c"
+#line 3257 "ntp_parser.c"
break;
- case 239: /* miscellaneous_command: misc_cmd_dbl_keyword number */
-#line 1250 "../../ntpd/ntp_parser.y"
+ case 242: /* miscellaneous_command: misc_cmd_dbl_keyword number */
+#line 1279 "../../ntpd/ntp_parser.y"
{
attr_val *av;
av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double));
APPEND_G_FIFO(cfgt.vars, av);
}
-#line 3221 "ntp_parser.c"
+#line 3268 "ntp_parser.c"
break;
- case 240: /* miscellaneous_command: misc_cmd_int_keyword T_Integer */
-#line 1257 "../../ntpd/ntp_parser.y"
+ case 243: /* miscellaneous_command: misc_cmd_int_keyword T_Integer */
+#line 1286 "../../ntpd/ntp_parser.y"
{
attr_val *av;
av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
APPEND_G_FIFO(cfgt.vars, av);
}
-#line 3232 "ntp_parser.c"
+#line 3279 "ntp_parser.c"
break;
- case 241: /* miscellaneous_command: misc_cmd_str_keyword T_String */
-#line 1264 "../../ntpd/ntp_parser.y"
+ case 244: /* miscellaneous_command: misc_cmd_str_keyword T_String */
+#line 1293 "../../ntpd/ntp_parser.y"
{
attr_val *av;
av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
APPEND_G_FIFO(cfgt.vars, av);
}
-#line 3243 "ntp_parser.c"
+#line 3290 "ntp_parser.c"
break;
- case 242: /* miscellaneous_command: misc_cmd_str_lcl_keyword T_String */
-#line 1271 "../../ntpd/ntp_parser.y"
+ case 245: /* miscellaneous_command: misc_cmd_str_lcl_keyword T_String */
+#line 1300 "../../ntpd/ntp_parser.y"
{
char error_text[64];
attr_val *av;
yyerror(error_text);
}
}
-#line 3263 "ntp_parser.c"
+#line 3310 "ntp_parser.c"
break;
- case 243: /* miscellaneous_command: T_Includefile T_String command */
-#line 1287 "../../ntpd/ntp_parser.y"
+ case 246: /* miscellaneous_command: T_Includefile T_String command */
+#line 1316 "../../ntpd/ntp_parser.y"
{
if (!lex_from_file()) {
YYFREE((yyvsp[-1].String)); /* avoid leak */
}
YYFREE((yyvsp[-1].String)); /* avoid leak */
}
-#line 3286 "ntp_parser.c"
+#line 3333 "ntp_parser.c"
break;
- case 244: /* miscellaneous_command: T_Leapfile T_String opt_hash_check */
-#line 1306 "../../ntpd/ntp_parser.y"
+ case 247: /* miscellaneous_command: T_Leapfile T_String opt_hash_check */
+#line 1335 "../../ntpd/ntp_parser.y"
{
attr_val *av;
av->flag = (yyvsp[0].Integer);
APPEND_G_FIFO(cfgt.vars, av);
}
-#line 3298 "ntp_parser.c"
+#line 3345 "ntp_parser.c"
break;
- case 245: /* miscellaneous_command: T_End */
-#line 1314 "../../ntpd/ntp_parser.y"
+ case 248: /* miscellaneous_command: T_End */
+#line 1343 "../../ntpd/ntp_parser.y"
{ lex_flush_stack(); }
-#line 3304 "ntp_parser.c"
+#line 3351 "ntp_parser.c"
break;
- case 246: /* miscellaneous_command: T_Driftfile drift_parm */
-#line 1316 "../../ntpd/ntp_parser.y"
+ case 249: /* miscellaneous_command: T_Driftfile drift_parm */
+#line 1345 "../../ntpd/ntp_parser.y"
{ /* see drift_parm below for actions */ }
-#line 3310 "ntp_parser.c"
+#line 3357 "ntp_parser.c"
break;
- case 247: /* miscellaneous_command: T_Logconfig log_config_list */
-#line 1318 "../../ntpd/ntp_parser.y"
+ case 250: /* miscellaneous_command: T_Logconfig log_config_list */
+#line 1347 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); }
-#line 3316 "ntp_parser.c"
+#line 3363 "ntp_parser.c"
break;
- case 248: /* miscellaneous_command: T_Phone string_list */
-#line 1320 "../../ntpd/ntp_parser.y"
+ case 251: /* miscellaneous_command: T_Phone string_list */
+#line 1349 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); }
-#line 3322 "ntp_parser.c"
+#line 3369 "ntp_parser.c"
break;
- case 249: /* miscellaneous_command: T_PollSkewList pollskew_list */
-#line 1322 "../../ntpd/ntp_parser.y"
+ case 252: /* miscellaneous_command: T_PollSkewList pollskew_list */
+#line 1351 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.pollskewlist, (yyvsp[0].Attr_val_fifo)); }
-#line 3328 "ntp_parser.c"
+#line 3375 "ntp_parser.c"
break;
- case 250: /* miscellaneous_command: T_Setvar variable_assign */
-#line 1324 "../../ntpd/ntp_parser.y"
+ case 253: /* miscellaneous_command: T_Setvar variable_assign */
+#line 1353 "../../ntpd/ntp_parser.y"
{ APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); }
-#line 3334 "ntp_parser.c"
+#line 3381 "ntp_parser.c"
break;
- case 251: /* miscellaneous_command: T_Trap ip_address trap_option_list */
-#line 1326 "../../ntpd/ntp_parser.y"
+ case 254: /* miscellaneous_command: T_Trap ip_address trap_option_list */
+#line 1355 "../../ntpd/ntp_parser.y"
{
addr_opts_node *aon;
aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
APPEND_G_FIFO(cfgt.trap, aon);
}
-#line 3345 "ntp_parser.c"
+#line 3392 "ntp_parser.c"
break;
- case 252: /* miscellaneous_command: T_Ttl integer_list */
-#line 1333 "../../ntpd/ntp_parser.y"
+ case 255: /* miscellaneous_command: T_Ttl integer_list */
+#line 1362 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); }
-#line 3351 "ntp_parser.c"
+#line 3398 "ntp_parser.c"
break;
- case 257: /* misc_cmd_int_keyword: T_Leapsmearinterval */
-#line 1348 "../../ntpd/ntp_parser.y"
+ case 260: /* misc_cmd_int_keyword: T_Leapsmearinterval */
+#line 1377 "../../ntpd/ntp_parser.y"
{
#ifndef LEAP_SMEAR
yyerror("Built without LEAP_SMEAR support.");
#endif
}
-#line 3361 "ntp_parser.c"
+#line 3408 "ntp_parser.c"
break;
- case 258: /* opt_hash_check: T_Ignorehash */
-#line 1357 "../../ntpd/ntp_parser.y"
+ case 261: /* opt_hash_check: T_Ignorehash */
+#line 1386 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = FALSE; }
-#line 3367 "ntp_parser.c"
+#line 3414 "ntp_parser.c"
break;
- case 259: /* opt_hash_check: T_Checkhash */
-#line 1359 "../../ntpd/ntp_parser.y"
+ case 262: /* opt_hash_check: T_Checkhash */
+#line 1388 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = TRUE; }
-#line 3373 "ntp_parser.c"
+#line 3420 "ntp_parser.c"
break;
- case 260: /* opt_hash_check: %empty */
-#line 1361 "../../ntpd/ntp_parser.y"
+ case 263: /* opt_hash_check: %empty */
+#line 1390 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = TRUE; }
-#line 3379 "ntp_parser.c"
+#line 3426 "ntp_parser.c"
break;
- case 265: /* drift_parm: T_String */
-#line 1376 "../../ntpd/ntp_parser.y"
+ case 268: /* drift_parm: T_String */
+#line 1405 "../../ntpd/ntp_parser.y"
{
if (lex_from_file()) {
attr_val *av;
yyerror("driftfile remote configuration ignored");
}
}
-#line 3394 "ntp_parser.c"
+#line 3441 "ntp_parser.c"
break;
- case 266: /* drift_parm: T_String T_Double */
-#line 1387 "../../ntpd/ntp_parser.y"
+ case 269: /* drift_parm: T_String T_Double */
+#line 1416 "../../ntpd/ntp_parser.y"
{
if (lex_from_file()) {
attr_val *av;
yyerror("driftfile remote configuration ignored");
}
}
-#line 3415 "ntp_parser.c"
+#line 3462 "ntp_parser.c"
break;
- case 267: /* drift_parm: %empty */
-#line 1404 "../../ntpd/ntp_parser.y"
+ case 270: /* drift_parm: %empty */
+#line 1433 "../../ntpd/ntp_parser.y"
{
if (lex_from_file()) {
attr_val *av;
yyerror("driftfile remote configuration ignored");
}
}
-#line 3429 "ntp_parser.c"
+#line 3476 "ntp_parser.c"
break;
- case 268: /* pollskew_list: %empty */
-#line 1417 "../../ntpd/ntp_parser.y"
+ case 271: /* pollskew_list: %empty */
+#line 1446 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val_fifo) = NULL; }
-#line 3435 "ntp_parser.c"
+#line 3482 "ntp_parser.c"
break;
- case 269: /* pollskew_list: pollskew_list pollskew_spec */
-#line 1419 "../../ntpd/ntp_parser.y"
+ case 272: /* pollskew_list: pollskew_list pollskew_spec */
+#line 1448 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val_fifo) = append_gen_fifo((yyvsp[-1].Attr_val_fifo), (yyvsp[0].Attr_val)); }
-#line 3441 "ntp_parser.c"
+#line 3488 "ntp_parser.c"
break;
- case 270: /* pollskew_spec: pollskew_cycle T_Integer '|' T_Integer */
-#line 1424 "../../ntpd/ntp_parser.y"
+ case 273: /* pollskew_spec: pollskew_cycle T_Integer '|' T_Integer */
+#line 1453 "../../ntpd/ntp_parser.y"
{
if ((yyvsp[-2].Integer) < 0 || (yyvsp[0].Integer) < 0) {
/* bad numbers */
}
(yyval.Attr_val) = (yyvsp[-3].Attr_val);
}
-#line 3468 "ntp_parser.c"
+#line 3515 "ntp_parser.c"
break;
- case 271: /* pollskew_cycle: T_Integer */
-#line 1450 "../../ntpd/ntp_parser.y"
+ case 274: /* pollskew_cycle: T_Integer */
+#line 1479 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val) = ((yyvsp[0].Integer) >= NTP_MINPOLL && (yyvsp[0].Integer) <= NTP_MAXPOLL)
? create_attr_rval((yyvsp[0].Integer), 0, 0)
: NULL;
}
-#line 3478 "ntp_parser.c"
+#line 3525 "ntp_parser.c"
break;
- case 272: /* pollskew_cycle: T_Default */
-#line 1455 "../../ntpd/ntp_parser.y"
+ case 275: /* pollskew_cycle: T_Default */
+#line 1484 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_rval(-1, 0, 0); }
-#line 3484 "ntp_parser.c"
+#line 3531 "ntp_parser.c"
break;
- case 273: /* variable_assign: T_String '=' T_String t_default_or_zero */
-#line 1461 "../../ntpd/ntp_parser.y"
+ case 276: /* variable_assign: T_String '=' T_String t_default_or_zero */
+#line 1490 "../../ntpd/ntp_parser.y"
{ (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); }
-#line 3490 "ntp_parser.c"
+#line 3537 "ntp_parser.c"
break;
- case 275: /* t_default_or_zero: %empty */
-#line 1467 "../../ntpd/ntp_parser.y"
+ case 278: /* t_default_or_zero: %empty */
+#line 1496 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = 0; }
-#line 3496 "ntp_parser.c"
+#line 3543 "ntp_parser.c"
break;
- case 276: /* trap_option_list: %empty */
-#line 1472 "../../ntpd/ntp_parser.y"
+ case 279: /* trap_option_list: %empty */
+#line 1501 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val_fifo) = NULL; }
-#line 3502 "ntp_parser.c"
+#line 3549 "ntp_parser.c"
break;
- case 277: /* trap_option_list: trap_option_list trap_option */
-#line 1474 "../../ntpd/ntp_parser.y"
+ case 280: /* trap_option_list: trap_option_list trap_option */
+#line 1503 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3511 "ntp_parser.c"
+#line 3558 "ntp_parser.c"
break;
- case 278: /* trap_option: T_Port T_Integer */
-#line 1482 "../../ntpd/ntp_parser.y"
+ case 281: /* trap_option: T_Port T_Integer */
+#line 1511 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
-#line 3517 "ntp_parser.c"
+#line 3564 "ntp_parser.c"
break;
- case 279: /* trap_option: T_Interface ip_address */
-#line 1484 "../../ntpd/ntp_parser.y"
+ case 282: /* trap_option: T_Interface ip_address */
+#line 1513 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address));
destroy_address_node((yyvsp[0].Address_node));
}
-#line 3526 "ntp_parser.c"
+#line 3573 "ntp_parser.c"
break;
- case 280: /* log_config_list: log_config_list log_config_command */
-#line 1492 "../../ntpd/ntp_parser.y"
+ case 283: /* log_config_list: log_config_list log_config_command */
+#line 1521 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3535 "ntp_parser.c"
+#line 3582 "ntp_parser.c"
break;
- case 281: /* log_config_list: log_config_command */
-#line 1497 "../../ntpd/ntp_parser.y"
+ case 284: /* log_config_list: log_config_command */
+#line 1526 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3544 "ntp_parser.c"
+#line 3591 "ntp_parser.c"
break;
- case 282: /* log_config_command: T_String */
-#line 1505 "../../ntpd/ntp_parser.y"
+ case 285: /* log_config_command: T_String */
+#line 1534 "../../ntpd/ntp_parser.y"
{
char prefix;
char * type;
(yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
YYFREE((yyvsp[0].String));
}
-#line 3570 "ntp_parser.c"
+#line 3617 "ntp_parser.c"
break;
- case 283: /* interface_command: interface_nic nic_rule_action nic_rule_class */
-#line 1530 "../../ntpd/ntp_parser.y"
+ case 286: /* interface_command: interface_nic nic_rule_action nic_rule_class */
+#line 1559 "../../ntpd/ntp_parser.y"
{
nic_rule_node *nrn;
nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer));
APPEND_G_FIFO(cfgt.nic_rules, nrn);
}
-#line 3581 "ntp_parser.c"
+#line 3628 "ntp_parser.c"
break;
- case 284: /* interface_command: interface_nic nic_rule_action T_String */
-#line 1537 "../../ntpd/ntp_parser.y"
+ case 287: /* interface_command: interface_nic nic_rule_action T_String */
+#line 1566 "../../ntpd/ntp_parser.y"
{
nic_rule_node *nrn;
nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer));
APPEND_G_FIFO(cfgt.nic_rules, nrn);
}
-#line 3592 "ntp_parser.c"
+#line 3639 "ntp_parser.c"
break;
- case 294: /* reset_command: T_Reset counter_set_list */
-#line 1565 "../../ntpd/ntp_parser.y"
+ case 297: /* reset_command: T_Reset counter_set_list */
+#line 1594 "../../ntpd/ntp_parser.y"
{ CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); }
-#line 3598 "ntp_parser.c"
+#line 3645 "ntp_parser.c"
break;
- case 295: /* counter_set_list: counter_set_list counter_set_keyword */
-#line 1570 "../../ntpd/ntp_parser.y"
+ case 298: /* counter_set_list: counter_set_list counter_set_keyword */
+#line 1599 "../../ntpd/ntp_parser.y"
{
(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
}
-#line 3607 "ntp_parser.c"
+#line 3654 "ntp_parser.c"
break;
- case 296: /* counter_set_list: counter_set_keyword */
-#line 1575 "../../ntpd/ntp_parser.y"
+ case 299: /* counter_set_list: counter_set_keyword */
+#line 1604 "../../ntpd/ntp_parser.y"
{
(yyval.Int_fifo) = NULL;
APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
}
-#line 3616 "ntp_parser.c"
+#line 3663 "ntp_parser.c"
break;
- case 304: /* integer_list: integer_list T_Integer */
-#line 1599 "../../ntpd/ntp_parser.y"
+ case 307: /* integer_list: integer_list T_Integer */
+#line 1628 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
}
-#line 3625 "ntp_parser.c"
+#line 3672 "ntp_parser.c"
break;
- case 305: /* integer_list: T_Integer */
-#line 1604 "../../ntpd/ntp_parser.y"
+ case 308: /* integer_list: T_Integer */
+#line 1633 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
}
-#line 3634 "ntp_parser.c"
+#line 3681 "ntp_parser.c"
break;
- case 306: /* integer_list_range: integer_list_range integer_list_range_elt */
-#line 1612 "../../ntpd/ntp_parser.y"
+ case 309: /* integer_list_range: integer_list_range integer_list_range_elt */
+#line 1641 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3643 "ntp_parser.c"
+#line 3690 "ntp_parser.c"
break;
- case 307: /* integer_list_range: integer_list_range_elt */
-#line 1617 "../../ntpd/ntp_parser.y"
+ case 310: /* integer_list_range: integer_list_range_elt */
+#line 1646 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
}
-#line 3652 "ntp_parser.c"
+#line 3699 "ntp_parser.c"
break;
- case 308: /* integer_list_range_elt: T_Integer */
-#line 1625 "../../ntpd/ntp_parser.y"
+ case 311: /* integer_list_range_elt: T_Integer */
+#line 1654 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); }
-#line 3658 "ntp_parser.c"
+#line 3705 "ntp_parser.c"
break;
- case 310: /* integer_range: '(' T_Integer T_Ellipsis T_Integer ')' */
-#line 1631 "../../ntpd/ntp_parser.y"
+ case 313: /* integer_range: '(' T_Integer T_Ellipsis T_Integer ')' */
+#line 1660 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_rval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); }
-#line 3664 "ntp_parser.c"
+#line 3711 "ntp_parser.c"
break;
- case 311: /* string_list: string_list T_String */
-#line 1636 "../../ntpd/ntp_parser.y"
+ case 314: /* string_list: string_list T_String */
+#line 1665 "../../ntpd/ntp_parser.y"
{
(yyval.String_fifo) = (yyvsp[-1].String_fifo);
APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
}
-#line 3673 "ntp_parser.c"
+#line 3720 "ntp_parser.c"
break;
- case 312: /* string_list: T_String */
-#line 1641 "../../ntpd/ntp_parser.y"
+ case 315: /* string_list: T_String */
+#line 1670 "../../ntpd/ntp_parser.y"
{
(yyval.String_fifo) = NULL;
APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
}
-#line 3682 "ntp_parser.c"
+#line 3729 "ntp_parser.c"
break;
- case 313: /* address_list: address_list address */
-#line 1649 "../../ntpd/ntp_parser.y"
+ case 316: /* address_list: address_list address */
+#line 1678 "../../ntpd/ntp_parser.y"
{
(yyval.Address_fifo) = (yyvsp[-1].Address_fifo);
APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
}
-#line 3691 "ntp_parser.c"
+#line 3738 "ntp_parser.c"
break;
- case 314: /* address_list: address */
-#line 1654 "../../ntpd/ntp_parser.y"
+ case 317: /* address_list: address */
+#line 1683 "../../ntpd/ntp_parser.y"
{
(yyval.Address_fifo) = NULL;
APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
}
-#line 3700 "ntp_parser.c"
+#line 3747 "ntp_parser.c"
break;
- case 315: /* boolean: T_Integer */
-#line 1662 "../../ntpd/ntp_parser.y"
+ case 318: /* boolean: T_Integer */
+#line 1691 "../../ntpd/ntp_parser.y"
{
if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) {
yyerror("Integer value is not boolean (0 or 1). Assuming 1");
(yyval.Integer) = (yyvsp[0].Integer);
}
}
-#line 3713 "ntp_parser.c"
+#line 3760 "ntp_parser.c"
break;
- case 316: /* boolean: T_True */
-#line 1670 "../../ntpd/ntp_parser.y"
+ case 319: /* boolean: T_True */
+#line 1699 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = 1; }
-#line 3719 "ntp_parser.c"
+#line 3766 "ntp_parser.c"
break;
- case 317: /* boolean: T_False */
-#line 1671 "../../ntpd/ntp_parser.y"
+ case 320: /* boolean: T_False */
+#line 1700 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = 0; }
-#line 3725 "ntp_parser.c"
+#line 3772 "ntp_parser.c"
break;
- case 318: /* number: T_Integer */
-#line 1675 "../../ntpd/ntp_parser.y"
+ case 321: /* number: T_Integer */
+#line 1704 "../../ntpd/ntp_parser.y"
{ (yyval.Double) = (double)(yyvsp[0].Integer); }
-#line 3731 "ntp_parser.c"
+#line 3778 "ntp_parser.c"
break;
- case 320: /* basedate: T_Basedate T_String */
-#line 1681 "../../ntpd/ntp_parser.y"
+ case 323: /* basedate: T_Basedate T_String */
+#line 1710 "../../ntpd/ntp_parser.y"
{ (yyval.Integer) = basedate_eval_string((yyvsp[0].String)); YYFREE((yyvsp[0].String)); }
-#line 3737 "ntp_parser.c"
+#line 3784 "ntp_parser.c"
break;
- case 321: /* simulate_command: sim_conf_start '{' sim_init_statement_list sim_server_list '}' */
-#line 1689 "../../ntpd/ntp_parser.y"
+ case 324: /* simulate_command: sim_conf_start '{' sim_init_statement_list sim_server_list '}' */
+#line 1718 "../../ntpd/ntp_parser.y"
{
sim_node *sn;
/* Revert from ; to \n for end-of-command */
old_config_style = 1;
}
-#line 3751 "ntp_parser.c"
+#line 3798 "ntp_parser.c"
break;
- case 322: /* sim_conf_start: T_Simulate */
-#line 1706 "../../ntpd/ntp_parser.y"
+ case 325: /* sim_conf_start: T_Simulate */
+#line 1735 "../../ntpd/ntp_parser.y"
{ old_config_style = 0; }
-#line 3757 "ntp_parser.c"
+#line 3804 "ntp_parser.c"
break;
- case 323: /* sim_init_statement_list: sim_init_statement_list sim_init_statement T_EOC */
-#line 1711 "../../ntpd/ntp_parser.y"
+ case 326: /* sim_init_statement_list: sim_init_statement_list sim_init_statement T_EOC */
+#line 1740 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
}
-#line 3766 "ntp_parser.c"
+#line 3813 "ntp_parser.c"
break;
- case 324: /* sim_init_statement_list: sim_init_statement T_EOC */
-#line 1716 "../../ntpd/ntp_parser.y"
+ case 327: /* sim_init_statement_list: sim_init_statement T_EOC */
+#line 1745 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
}
-#line 3775 "ntp_parser.c"
+#line 3822 "ntp_parser.c"
break;
- case 325: /* sim_init_statement: sim_init_keyword '=' number */
-#line 1724 "../../ntpd/ntp_parser.y"
+ case 328: /* sim_init_statement: sim_init_keyword '=' number */
+#line 1753 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
-#line 3781 "ntp_parser.c"
+#line 3828 "ntp_parser.c"
break;
- case 328: /* sim_server_list: sim_server_list sim_server */
-#line 1734 "../../ntpd/ntp_parser.y"
+ case 331: /* sim_server_list: sim_server_list sim_server */
+#line 1763 "../../ntpd/ntp_parser.y"
{
(yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo);
APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
}
-#line 3790 "ntp_parser.c"
+#line 3837 "ntp_parser.c"
break;
- case 329: /* sim_server_list: sim_server */
-#line 1739 "../../ntpd/ntp_parser.y"
+ case 332: /* sim_server_list: sim_server */
+#line 1768 "../../ntpd/ntp_parser.y"
{
(yyval.Sim_server_fifo) = NULL;
APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
}
-#line 3799 "ntp_parser.c"
+#line 3846 "ntp_parser.c"
break;
- case 330: /* sim_server: sim_server_name '{' sim_server_offset sim_act_list '}' */
-#line 1747 "../../ntpd/ntp_parser.y"
+ case 333: /* sim_server: sim_server_name '{' sim_server_offset sim_act_list '}' */
+#line 1776 "../../ntpd/ntp_parser.y"
{ (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); }
-#line 3805 "ntp_parser.c"
+#line 3852 "ntp_parser.c"
break;
- case 331: /* sim_server_offset: T_Server_Offset '=' number T_EOC */
-#line 1752 "../../ntpd/ntp_parser.y"
+ case 334: /* sim_server_offset: T_Server_Offset '=' number T_EOC */
+#line 1781 "../../ntpd/ntp_parser.y"
{ (yyval.Double) = (yyvsp[-1].Double); }
-#line 3811 "ntp_parser.c"
+#line 3858 "ntp_parser.c"
break;
- case 332: /* sim_server_name: T_Server '=' address */
-#line 1757 "../../ntpd/ntp_parser.y"
+ case 335: /* sim_server_name: T_Server '=' address */
+#line 1786 "../../ntpd/ntp_parser.y"
{ (yyval.Address_node) = (yyvsp[0].Address_node); }
-#line 3817 "ntp_parser.c"
+#line 3864 "ntp_parser.c"
break;
- case 333: /* sim_act_list: sim_act_list sim_act */
-#line 1762 "../../ntpd/ntp_parser.y"
+ case 336: /* sim_act_list: sim_act_list sim_act */
+#line 1791 "../../ntpd/ntp_parser.y"
{
(yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo);
APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
}
-#line 3826 "ntp_parser.c"
+#line 3873 "ntp_parser.c"
break;
- case 334: /* sim_act_list: sim_act */
-#line 1767 "../../ntpd/ntp_parser.y"
+ case 337: /* sim_act_list: sim_act */
+#line 1796 "../../ntpd/ntp_parser.y"
{
(yyval.Sim_script_fifo) = NULL;
APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
}
-#line 3835 "ntp_parser.c"
+#line 3882 "ntp_parser.c"
break;
- case 335: /* sim_act: T_Duration '=' number '{' sim_act_stmt_list '}' */
-#line 1775 "../../ntpd/ntp_parser.y"
+ case 338: /* sim_act: T_Duration '=' number '{' sim_act_stmt_list '}' */
+#line 1804 "../../ntpd/ntp_parser.y"
{ (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); }
-#line 3841 "ntp_parser.c"
+#line 3888 "ntp_parser.c"
break;
- case 336: /* sim_act_stmt_list: sim_act_stmt_list sim_act_stmt T_EOC */
-#line 1780 "../../ntpd/ntp_parser.y"
+ case 339: /* sim_act_stmt_list: sim_act_stmt_list sim_act_stmt T_EOC */
+#line 1809 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
}
-#line 3850 "ntp_parser.c"
+#line 3897 "ntp_parser.c"
break;
- case 337: /* sim_act_stmt_list: sim_act_stmt T_EOC */
-#line 1785 "../../ntpd/ntp_parser.y"
+ case 340: /* sim_act_stmt_list: sim_act_stmt T_EOC */
+#line 1814 "../../ntpd/ntp_parser.y"
{
(yyval.Attr_val_fifo) = NULL;
APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
}
-#line 3859 "ntp_parser.c"
+#line 3906 "ntp_parser.c"
break;
- case 338: /* sim_act_stmt: sim_act_keyword '=' number */
-#line 1793 "../../ntpd/ntp_parser.y"
+ case 341: /* sim_act_stmt: sim_act_keyword '=' number */
+#line 1822 "../../ntpd/ntp_parser.y"
{ (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
-#line 3865 "ntp_parser.c"
+#line 3912 "ntp_parser.c"
break;
-#line 3869 "ntp_parser.c"
+#line 3916 "ntp_parser.c"
default: break;
}
return yyresult;
}
-#line 1804 "../../ntpd/ntp_parser.y"
+#line 1833 "../../ntpd/ntp_parser.y"
void
T_Ctl = 283, /* T_Ctl */
T_Day = 284, /* T_Day */
T_Default = 285, /* T_Default */
- T_Device = 286, /* T_Device */
- T_Digest = 287, /* T_Digest */
- T_Disable = 288, /* T_Disable */
- T_Discard = 289, /* T_Discard */
- T_Dispersion = 290, /* T_Dispersion */
- T_Double = 291, /* T_Double */
- T_Driftfile = 292, /* T_Driftfile */
- T_Drop = 293, /* T_Drop */
- T_Dscp = 294, /* T_Dscp */
- T_Ellipsis = 295, /* T_Ellipsis */
- T_Enable = 296, /* T_Enable */
- T_End = 297, /* T_End */
- T_Epeer = 298, /* T_Epeer */
- T_False = 299, /* T_False */
- T_File = 300, /* T_File */
- T_Filegen = 301, /* T_Filegen */
- T_Filenum = 302, /* T_Filenum */
- T_Flag1 = 303, /* T_Flag1 */
- T_Flag2 = 304, /* T_Flag2 */
- T_Flag3 = 305, /* T_Flag3 */
- T_Flag4 = 306, /* T_Flag4 */
- T_Flake = 307, /* T_Flake */
- T_Floor = 308, /* T_Floor */
- T_Freq = 309, /* T_Freq */
- T_Fudge = 310, /* T_Fudge */
- T_Fuzz = 311, /* T_Fuzz */
- T_Host = 312, /* T_Host */
- T_Huffpuff = 313, /* T_Huffpuff */
- T_Iburst = 314, /* T_Iburst */
- T_Ident = 315, /* T_Ident */
- T_Ignore = 316, /* T_Ignore */
- T_Ignorehash = 317, /* T_Ignorehash */
- T_Incalloc = 318, /* T_Incalloc */
- T_Incmem = 319, /* T_Incmem */
- T_Initalloc = 320, /* T_Initalloc */
- T_Initmem = 321, /* T_Initmem */
- T_Includefile = 322, /* T_Includefile */
- T_Integer = 323, /* T_Integer */
- T_Interface = 324, /* T_Interface */
- T_Intrange = 325, /* T_Intrange */
- T_Io = 326, /* T_Io */
- T_Ippeerlimit = 327, /* T_Ippeerlimit */
- T_Ipv4 = 328, /* T_Ipv4 */
- T_Ipv4_flag = 329, /* T_Ipv4_flag */
- T_Ipv6 = 330, /* T_Ipv6 */
- T_Ipv6_flag = 331, /* T_Ipv6_flag */
- T_Kernel = 332, /* T_Kernel */
- T_Key = 333, /* T_Key */
- T_Keys = 334, /* T_Keys */
- T_Keysdir = 335, /* T_Keysdir */
- T_Kod = 336, /* T_Kod */
- T_Leapfile = 337, /* T_Leapfile */
- T_Leapsmearinterval = 338, /* T_Leapsmearinterval */
- T_Limited = 339, /* T_Limited */
- T_Link = 340, /* T_Link */
- T_Listen = 341, /* T_Listen */
- T_Logconfig = 342, /* T_Logconfig */
- T_Logfile = 343, /* T_Logfile */
- T_Loopstats = 344, /* T_Loopstats */
- T_Lowpriotrap = 345, /* T_Lowpriotrap */
- T_Manycastclient = 346, /* T_Manycastclient */
- T_Manycastserver = 347, /* T_Manycastserver */
- T_Mask = 348, /* T_Mask */
- T_Maxage = 349, /* T_Maxage */
- T_Maxclock = 350, /* T_Maxclock */
- T_Maxdepth = 351, /* T_Maxdepth */
- T_Maxdist = 352, /* T_Maxdist */
- T_Maxmem = 353, /* T_Maxmem */
- T_Maxpoll = 354, /* T_Maxpoll */
- T_Mdnstries = 355, /* T_Mdnstries */
- T_Mem = 356, /* T_Mem */
- T_Memlock = 357, /* T_Memlock */
- T_Minclock = 358, /* T_Minclock */
- T_Mindepth = 359, /* T_Mindepth */
- T_Mindist = 360, /* T_Mindist */
- T_Minimum = 361, /* T_Minimum */
- T_Minjitter = 362, /* T_Minjitter */
- T_Minpoll = 363, /* T_Minpoll */
- T_Minsane = 364, /* T_Minsane */
- T_Mode = 365, /* T_Mode */
- T_Mode7 = 366, /* T_Mode7 */
- T_Monitor = 367, /* T_Monitor */
- T_Month = 368, /* T_Month */
- T_Mru = 369, /* T_Mru */
- T_Mssntp = 370, /* T_Mssntp */
- T_Multicastclient = 371, /* T_Multicastclient */
- T_Nic = 372, /* T_Nic */
- T_Nolink = 373, /* T_Nolink */
- T_Nomodify = 374, /* T_Nomodify */
- T_Nomrulist = 375, /* T_Nomrulist */
- T_None = 376, /* T_None */
- T_Nonvolatile = 377, /* T_Nonvolatile */
- T_Noepeer = 378, /* T_Noepeer */
- T_Nopeer = 379, /* T_Nopeer */
- T_Noquery = 380, /* T_Noquery */
- T_Noselect = 381, /* T_Noselect */
- T_Noserve = 382, /* T_Noserve */
- T_Notrap = 383, /* T_Notrap */
- T_Notrust = 384, /* T_Notrust */
- T_Ntp = 385, /* T_Ntp */
- T_Ntpport = 386, /* T_Ntpport */
- T_NtpSignDsocket = 387, /* T_NtpSignDsocket */
- T_Orphan = 388, /* T_Orphan */
- T_Orphanwait = 389, /* T_Orphanwait */
- T_PCEdigest = 390, /* T_PCEdigest */
- T_Panic = 391, /* T_Panic */
- T_Peer = 392, /* T_Peer */
- T_Peerstats = 393, /* T_Peerstats */
- T_Phone = 394, /* T_Phone */
- T_Pid = 395, /* T_Pid */
- T_Pidfile = 396, /* T_Pidfile */
- T_Poll = 397, /* T_Poll */
- T_PollSkewList = 398, /* T_PollSkewList */
- T_Pool = 399, /* T_Pool */
- T_Port = 400, /* T_Port */
- T_PpsData = 401, /* T_PpsData */
- T_Preempt = 402, /* T_Preempt */
- T_Prefer = 403, /* T_Prefer */
- T_Protostats = 404, /* T_Protostats */
- T_Pw = 405, /* T_Pw */
- T_Randfile = 406, /* T_Randfile */
- T_Rawstats = 407, /* T_Rawstats */
- T_Refid = 408, /* T_Refid */
- T_Requestkey = 409, /* T_Requestkey */
- T_Reset = 410, /* T_Reset */
- T_Restrict = 411, /* T_Restrict */
- T_Revoke = 412, /* T_Revoke */
- T_Rlimit = 413, /* T_Rlimit */
- T_Saveconfigdir = 414, /* T_Saveconfigdir */
- T_Server = 415, /* T_Server */
- T_Serverresponse = 416, /* T_Serverresponse */
- T_ServerresponseFuzz = 417, /* T_ServerresponseFuzz */
- T_Setvar = 418, /* T_Setvar */
- T_Source = 419, /* T_Source */
- T_Stacksize = 420, /* T_Stacksize */
- T_Statistics = 421, /* T_Statistics */
- T_Stats = 422, /* T_Stats */
- T_Statsdir = 423, /* T_Statsdir */
- T_Step = 424, /* T_Step */
- T_Stepback = 425, /* T_Stepback */
- T_Stepfwd = 426, /* T_Stepfwd */
- T_Stepout = 427, /* T_Stepout */
- T_Stratum = 428, /* T_Stratum */
- T_String = 429, /* T_String */
- T_Sys = 430, /* T_Sys */
- T_Sysstats = 431, /* T_Sysstats */
- T_Tick = 432, /* T_Tick */
- T_Time1 = 433, /* T_Time1 */
- T_Time2 = 434, /* T_Time2 */
- T_TimeData = 435, /* T_TimeData */
- T_Timer = 436, /* T_Timer */
- T_Timingstats = 437, /* T_Timingstats */
- T_Tinker = 438, /* T_Tinker */
- T_Tos = 439, /* T_Tos */
- T_Trap = 440, /* T_Trap */
- T_True = 441, /* T_True */
- T_Trustedkey = 442, /* T_Trustedkey */
- T_Ttl = 443, /* T_Ttl */
- T_Type = 444, /* T_Type */
- T_U_int = 445, /* T_U_int */
- T_UEcrypto = 446, /* T_UEcrypto */
- T_UEcryptonak = 447, /* T_UEcryptonak */
- T_UEdigest = 448, /* T_UEdigest */
- T_Unconfig = 449, /* T_Unconfig */
- T_Unpeer = 450, /* T_Unpeer */
- T_Version = 451, /* T_Version */
- T_WanderThreshold = 452, /* T_WanderThreshold */
- T_Week = 453, /* T_Week */
- T_Wildcard = 454, /* T_Wildcard */
- T_Xleave = 455, /* T_Xleave */
- T_Xmtnonce = 456, /* T_Xmtnonce */
- T_Year = 457, /* T_Year */
- T_Flag = 458, /* T_Flag */
- T_EOC = 459, /* T_EOC */
- T_Simulate = 460, /* T_Simulate */
- T_Beep_Delay = 461, /* T_Beep_Delay */
- T_Sim_Duration = 462, /* T_Sim_Duration */
- T_Server_Offset = 463, /* T_Server_Offset */
- T_Duration = 464, /* T_Duration */
- T_Freq_Offset = 465, /* T_Freq_Offset */
- T_Wander = 466, /* T_Wander */
- T_Jitter = 467, /* T_Jitter */
- T_Prop_Delay = 468, /* T_Prop_Delay */
- T_Proc_Delay = 469 /* T_Proc_Delay */
+ T_Delrestrict = 286, /* T_Delrestrict */
+ T_Device = 287, /* T_Device */
+ T_Digest = 288, /* T_Digest */
+ T_Disable = 289, /* T_Disable */
+ T_Discard = 290, /* T_Discard */
+ T_Dispersion = 291, /* T_Dispersion */
+ T_Double = 292, /* T_Double */
+ T_Driftfile = 293, /* T_Driftfile */
+ T_Drop = 294, /* T_Drop */
+ T_Dscp = 295, /* T_Dscp */
+ T_Ellipsis = 296, /* T_Ellipsis */
+ T_Enable = 297, /* T_Enable */
+ T_End = 298, /* T_End */
+ T_Epeer = 299, /* T_Epeer */
+ T_False = 300, /* T_False */
+ T_File = 301, /* T_File */
+ T_Filegen = 302, /* T_Filegen */
+ T_Filenum = 303, /* T_Filenum */
+ T_Flag1 = 304, /* T_Flag1 */
+ T_Flag2 = 305, /* T_Flag2 */
+ T_Flag3 = 306, /* T_Flag3 */
+ T_Flag4 = 307, /* T_Flag4 */
+ T_Flake = 308, /* T_Flake */
+ T_Floor = 309, /* T_Floor */
+ T_Freq = 310, /* T_Freq */
+ T_Fudge = 311, /* T_Fudge */
+ T_Fuzz = 312, /* T_Fuzz */
+ T_Host = 313, /* T_Host */
+ T_Huffpuff = 314, /* T_Huffpuff */
+ T_Iburst = 315, /* T_Iburst */
+ T_Ident = 316, /* T_Ident */
+ T_Ignore = 317, /* T_Ignore */
+ T_Ignorehash = 318, /* T_Ignorehash */
+ T_Incalloc = 319, /* T_Incalloc */
+ T_Incmem = 320, /* T_Incmem */
+ T_Initalloc = 321, /* T_Initalloc */
+ T_Initmem = 322, /* T_Initmem */
+ T_Includefile = 323, /* T_Includefile */
+ T_Integer = 324, /* T_Integer */
+ T_Interface = 325, /* T_Interface */
+ T_Intrange = 326, /* T_Intrange */
+ T_Io = 327, /* T_Io */
+ T_Ippeerlimit = 328, /* T_Ippeerlimit */
+ T_Ipv4 = 329, /* T_Ipv4 */
+ T_Ipv4_flag = 330, /* T_Ipv4_flag */
+ T_Ipv6 = 331, /* T_Ipv6 */
+ T_Ipv6_flag = 332, /* T_Ipv6_flag */
+ T_Kernel = 333, /* T_Kernel */
+ T_Key = 334, /* T_Key */
+ T_Keys = 335, /* T_Keys */
+ T_Keysdir = 336, /* T_Keysdir */
+ T_Kod = 337, /* T_Kod */
+ T_Leapfile = 338, /* T_Leapfile */
+ T_Leapsmearinterval = 339, /* T_Leapsmearinterval */
+ T_Limited = 340, /* T_Limited */
+ T_Link = 341, /* T_Link */
+ T_Listen = 342, /* T_Listen */
+ T_Logconfig = 343, /* T_Logconfig */
+ T_Logfile = 344, /* T_Logfile */
+ T_Loopstats = 345, /* T_Loopstats */
+ T_Lowpriotrap = 346, /* T_Lowpriotrap */
+ T_Manycastclient = 347, /* T_Manycastclient */
+ T_Manycastserver = 348, /* T_Manycastserver */
+ T_Mask = 349, /* T_Mask */
+ T_Maxage = 350, /* T_Maxage */
+ T_Maxclock = 351, /* T_Maxclock */
+ T_Maxdepth = 352, /* T_Maxdepth */
+ T_Maxdist = 353, /* T_Maxdist */
+ T_Maxmem = 354, /* T_Maxmem */
+ T_Maxpoll = 355, /* T_Maxpoll */
+ T_Mdnstries = 356, /* T_Mdnstries */
+ T_Mem = 357, /* T_Mem */
+ T_Memlock = 358, /* T_Memlock */
+ T_Minclock = 359, /* T_Minclock */
+ T_Mindepth = 360, /* T_Mindepth */
+ T_Mindist = 361, /* T_Mindist */
+ T_Minimum = 362, /* T_Minimum */
+ T_Minjitter = 363, /* T_Minjitter */
+ T_Minpoll = 364, /* T_Minpoll */
+ T_Minsane = 365, /* T_Minsane */
+ T_Mode = 366, /* T_Mode */
+ T_Mode7 = 367, /* T_Mode7 */
+ T_Monitor = 368, /* T_Monitor */
+ T_Month = 369, /* T_Month */
+ T_Mru = 370, /* T_Mru */
+ T_Mssntp = 371, /* T_Mssntp */
+ T_Multicastclient = 372, /* T_Multicastclient */
+ T_Nic = 373, /* T_Nic */
+ T_Nolink = 374, /* T_Nolink */
+ T_Nomodify = 375, /* T_Nomodify */
+ T_Nomrulist = 376, /* T_Nomrulist */
+ T_None = 377, /* T_None */
+ T_Nonvolatile = 378, /* T_Nonvolatile */
+ T_Noepeer = 379, /* T_Noepeer */
+ T_Nopeer = 380, /* T_Nopeer */
+ T_Noquery = 381, /* T_Noquery */
+ T_Noselect = 382, /* T_Noselect */
+ T_Noserve = 383, /* T_Noserve */
+ T_Notrap = 384, /* T_Notrap */
+ T_Notrust = 385, /* T_Notrust */
+ T_Ntp = 386, /* T_Ntp */
+ T_Ntpport = 387, /* T_Ntpport */
+ T_NtpSignDsocket = 388, /* T_NtpSignDsocket */
+ T_Orphan = 389, /* T_Orphan */
+ T_Orphanwait = 390, /* T_Orphanwait */
+ T_PCEdigest = 391, /* T_PCEdigest */
+ T_Panic = 392, /* T_Panic */
+ T_Peer = 393, /* T_Peer */
+ T_Peerstats = 394, /* T_Peerstats */
+ T_Phone = 395, /* T_Phone */
+ T_Pid = 396, /* T_Pid */
+ T_Pidfile = 397, /* T_Pidfile */
+ T_Poll = 398, /* T_Poll */
+ T_PollSkewList = 399, /* T_PollSkewList */
+ T_Pool = 400, /* T_Pool */
+ T_Port = 401, /* T_Port */
+ T_PpsData = 402, /* T_PpsData */
+ T_Preempt = 403, /* T_Preempt */
+ T_Prefer = 404, /* T_Prefer */
+ T_Protostats = 405, /* T_Protostats */
+ T_Pw = 406, /* T_Pw */
+ T_Randfile = 407, /* T_Randfile */
+ T_Rawstats = 408, /* T_Rawstats */
+ T_Refid = 409, /* T_Refid */
+ T_Requestkey = 410, /* T_Requestkey */
+ T_Reset = 411, /* T_Reset */
+ T_Restrict = 412, /* T_Restrict */
+ T_Revoke = 413, /* T_Revoke */
+ T_Rlimit = 414, /* T_Rlimit */
+ T_Saveconfigdir = 415, /* T_Saveconfigdir */
+ T_Server = 416, /* T_Server */
+ T_Serverresponse = 417, /* T_Serverresponse */
+ T_ServerresponseFuzz = 418, /* T_ServerresponseFuzz */
+ T_Setvar = 419, /* T_Setvar */
+ T_Source = 420, /* T_Source */
+ T_Stacksize = 421, /* T_Stacksize */
+ T_Statistics = 422, /* T_Statistics */
+ T_Stats = 423, /* T_Stats */
+ T_Statsdir = 424, /* T_Statsdir */
+ T_Step = 425, /* T_Step */
+ T_Stepback = 426, /* T_Stepback */
+ T_Stepfwd = 427, /* T_Stepfwd */
+ T_Stepout = 428, /* T_Stepout */
+ T_Stratum = 429, /* T_Stratum */
+ T_String = 430, /* T_String */
+ T_Sys = 431, /* T_Sys */
+ T_Sysstats = 432, /* T_Sysstats */
+ T_Tick = 433, /* T_Tick */
+ T_Time1 = 434, /* T_Time1 */
+ T_Time2 = 435, /* T_Time2 */
+ T_TimeData = 436, /* T_TimeData */
+ T_Timer = 437, /* T_Timer */
+ T_Timingstats = 438, /* T_Timingstats */
+ T_Tinker = 439, /* T_Tinker */
+ T_Tos = 440, /* T_Tos */
+ T_Trap = 441, /* T_Trap */
+ T_True = 442, /* T_True */
+ T_Trustedkey = 443, /* T_Trustedkey */
+ T_Ttl = 444, /* T_Ttl */
+ T_Type = 445, /* T_Type */
+ T_U_int = 446, /* T_U_int */
+ T_UEcrypto = 447, /* T_UEcrypto */
+ T_UEcryptonak = 448, /* T_UEcryptonak */
+ T_UEdigest = 449, /* T_UEdigest */
+ T_Unconfig = 450, /* T_Unconfig */
+ T_Unpeer = 451, /* T_Unpeer */
+ T_Version = 452, /* T_Version */
+ T_WanderThreshold = 453, /* T_WanderThreshold */
+ T_Week = 454, /* T_Week */
+ T_Wildcard = 455, /* T_Wildcard */
+ T_Xleave = 456, /* T_Xleave */
+ T_Xmtnonce = 457, /* T_Xmtnonce */
+ T_Year = 458, /* T_Year */
+ T_Flag = 459, /* T_Flag */
+ T_EOC = 460, /* T_EOC */
+ T_Simulate = 461, /* T_Simulate */
+ T_Beep_Delay = 462, /* T_Beep_Delay */
+ T_Sim_Duration = 463, /* T_Sim_Duration */
+ T_Server_Offset = 464, /* T_Server_Offset */
+ T_Duration = 465, /* T_Duration */
+ T_Freq_Offset = 466, /* T_Freq_Offset */
+ T_Wander = 467, /* T_Wander */
+ T_Jitter = 468, /* T_Jitter */
+ T_Prop_Delay = 469, /* T_Prop_Delay */
+ T_Proc_Delay = 470 /* T_Proc_Delay */
};
typedef enum yytokentype yytoken_kind_t;
#endif
#define T_Ctl 283
#define T_Day 284
#define T_Default 285
-#define T_Device 286
-#define T_Digest 287
-#define T_Disable 288
-#define T_Discard 289
-#define T_Dispersion 290
-#define T_Double 291
-#define T_Driftfile 292
-#define T_Drop 293
-#define T_Dscp 294
-#define T_Ellipsis 295
-#define T_Enable 296
-#define T_End 297
-#define T_Epeer 298
-#define T_False 299
-#define T_File 300
-#define T_Filegen 301
-#define T_Filenum 302
-#define T_Flag1 303
-#define T_Flag2 304
-#define T_Flag3 305
-#define T_Flag4 306
-#define T_Flake 307
-#define T_Floor 308
-#define T_Freq 309
-#define T_Fudge 310
-#define T_Fuzz 311
-#define T_Host 312
-#define T_Huffpuff 313
-#define T_Iburst 314
-#define T_Ident 315
-#define T_Ignore 316
-#define T_Ignorehash 317
-#define T_Incalloc 318
-#define T_Incmem 319
-#define T_Initalloc 320
-#define T_Initmem 321
-#define T_Includefile 322
-#define T_Integer 323
-#define T_Interface 324
-#define T_Intrange 325
-#define T_Io 326
-#define T_Ippeerlimit 327
-#define T_Ipv4 328
-#define T_Ipv4_flag 329
-#define T_Ipv6 330
-#define T_Ipv6_flag 331
-#define T_Kernel 332
-#define T_Key 333
-#define T_Keys 334
-#define T_Keysdir 335
-#define T_Kod 336
-#define T_Leapfile 337
-#define T_Leapsmearinterval 338
-#define T_Limited 339
-#define T_Link 340
-#define T_Listen 341
-#define T_Logconfig 342
-#define T_Logfile 343
-#define T_Loopstats 344
-#define T_Lowpriotrap 345
-#define T_Manycastclient 346
-#define T_Manycastserver 347
-#define T_Mask 348
-#define T_Maxage 349
-#define T_Maxclock 350
-#define T_Maxdepth 351
-#define T_Maxdist 352
-#define T_Maxmem 353
-#define T_Maxpoll 354
-#define T_Mdnstries 355
-#define T_Mem 356
-#define T_Memlock 357
-#define T_Minclock 358
-#define T_Mindepth 359
-#define T_Mindist 360
-#define T_Minimum 361
-#define T_Minjitter 362
-#define T_Minpoll 363
-#define T_Minsane 364
-#define T_Mode 365
-#define T_Mode7 366
-#define T_Monitor 367
-#define T_Month 368
-#define T_Mru 369
-#define T_Mssntp 370
-#define T_Multicastclient 371
-#define T_Nic 372
-#define T_Nolink 373
-#define T_Nomodify 374
-#define T_Nomrulist 375
-#define T_None 376
-#define T_Nonvolatile 377
-#define T_Noepeer 378
-#define T_Nopeer 379
-#define T_Noquery 380
-#define T_Noselect 381
-#define T_Noserve 382
-#define T_Notrap 383
-#define T_Notrust 384
-#define T_Ntp 385
-#define T_Ntpport 386
-#define T_NtpSignDsocket 387
-#define T_Orphan 388
-#define T_Orphanwait 389
-#define T_PCEdigest 390
-#define T_Panic 391
-#define T_Peer 392
-#define T_Peerstats 393
-#define T_Phone 394
-#define T_Pid 395
-#define T_Pidfile 396
-#define T_Poll 397
-#define T_PollSkewList 398
-#define T_Pool 399
-#define T_Port 400
-#define T_PpsData 401
-#define T_Preempt 402
-#define T_Prefer 403
-#define T_Protostats 404
-#define T_Pw 405
-#define T_Randfile 406
-#define T_Rawstats 407
-#define T_Refid 408
-#define T_Requestkey 409
-#define T_Reset 410
-#define T_Restrict 411
-#define T_Revoke 412
-#define T_Rlimit 413
-#define T_Saveconfigdir 414
-#define T_Server 415
-#define T_Serverresponse 416
-#define T_ServerresponseFuzz 417
-#define T_Setvar 418
-#define T_Source 419
-#define T_Stacksize 420
-#define T_Statistics 421
-#define T_Stats 422
-#define T_Statsdir 423
-#define T_Step 424
-#define T_Stepback 425
-#define T_Stepfwd 426
-#define T_Stepout 427
-#define T_Stratum 428
-#define T_String 429
-#define T_Sys 430
-#define T_Sysstats 431
-#define T_Tick 432
-#define T_Time1 433
-#define T_Time2 434
-#define T_TimeData 435
-#define T_Timer 436
-#define T_Timingstats 437
-#define T_Tinker 438
-#define T_Tos 439
-#define T_Trap 440
-#define T_True 441
-#define T_Trustedkey 442
-#define T_Ttl 443
-#define T_Type 444
-#define T_U_int 445
-#define T_UEcrypto 446
-#define T_UEcryptonak 447
-#define T_UEdigest 448
-#define T_Unconfig 449
-#define T_Unpeer 450
-#define T_Version 451
-#define T_WanderThreshold 452
-#define T_Week 453
-#define T_Wildcard 454
-#define T_Xleave 455
-#define T_Xmtnonce 456
-#define T_Year 457
-#define T_Flag 458
-#define T_EOC 459
-#define T_Simulate 460
-#define T_Beep_Delay 461
-#define T_Sim_Duration 462
-#define T_Server_Offset 463
-#define T_Duration 464
-#define T_Freq_Offset 465
-#define T_Wander 466
-#define T_Jitter 467
-#define T_Prop_Delay 468
-#define T_Proc_Delay 469
+#define T_Delrestrict 286
+#define T_Device 287
+#define T_Digest 288
+#define T_Disable 289
+#define T_Discard 290
+#define T_Dispersion 291
+#define T_Double 292
+#define T_Driftfile 293
+#define T_Drop 294
+#define T_Dscp 295
+#define T_Ellipsis 296
+#define T_Enable 297
+#define T_End 298
+#define T_Epeer 299
+#define T_False 300
+#define T_File 301
+#define T_Filegen 302
+#define T_Filenum 303
+#define T_Flag1 304
+#define T_Flag2 305
+#define T_Flag3 306
+#define T_Flag4 307
+#define T_Flake 308
+#define T_Floor 309
+#define T_Freq 310
+#define T_Fudge 311
+#define T_Fuzz 312
+#define T_Host 313
+#define T_Huffpuff 314
+#define T_Iburst 315
+#define T_Ident 316
+#define T_Ignore 317
+#define T_Ignorehash 318
+#define T_Incalloc 319
+#define T_Incmem 320
+#define T_Initalloc 321
+#define T_Initmem 322
+#define T_Includefile 323
+#define T_Integer 324
+#define T_Interface 325
+#define T_Intrange 326
+#define T_Io 327
+#define T_Ippeerlimit 328
+#define T_Ipv4 329
+#define T_Ipv4_flag 330
+#define T_Ipv6 331
+#define T_Ipv6_flag 332
+#define T_Kernel 333
+#define T_Key 334
+#define T_Keys 335
+#define T_Keysdir 336
+#define T_Kod 337
+#define T_Leapfile 338
+#define T_Leapsmearinterval 339
+#define T_Limited 340
+#define T_Link 341
+#define T_Listen 342
+#define T_Logconfig 343
+#define T_Logfile 344
+#define T_Loopstats 345
+#define T_Lowpriotrap 346
+#define T_Manycastclient 347
+#define T_Manycastserver 348
+#define T_Mask 349
+#define T_Maxage 350
+#define T_Maxclock 351
+#define T_Maxdepth 352
+#define T_Maxdist 353
+#define T_Maxmem 354
+#define T_Maxpoll 355
+#define T_Mdnstries 356
+#define T_Mem 357
+#define T_Memlock 358
+#define T_Minclock 359
+#define T_Mindepth 360
+#define T_Mindist 361
+#define T_Minimum 362
+#define T_Minjitter 363
+#define T_Minpoll 364
+#define T_Minsane 365
+#define T_Mode 366
+#define T_Mode7 367
+#define T_Monitor 368
+#define T_Month 369
+#define T_Mru 370
+#define T_Mssntp 371
+#define T_Multicastclient 372
+#define T_Nic 373
+#define T_Nolink 374
+#define T_Nomodify 375
+#define T_Nomrulist 376
+#define T_None 377
+#define T_Nonvolatile 378
+#define T_Noepeer 379
+#define T_Nopeer 380
+#define T_Noquery 381
+#define T_Noselect 382
+#define T_Noserve 383
+#define T_Notrap 384
+#define T_Notrust 385
+#define T_Ntp 386
+#define T_Ntpport 387
+#define T_NtpSignDsocket 388
+#define T_Orphan 389
+#define T_Orphanwait 390
+#define T_PCEdigest 391
+#define T_Panic 392
+#define T_Peer 393
+#define T_Peerstats 394
+#define T_Phone 395
+#define T_Pid 396
+#define T_Pidfile 397
+#define T_Poll 398
+#define T_PollSkewList 399
+#define T_Pool 400
+#define T_Port 401
+#define T_PpsData 402
+#define T_Preempt 403
+#define T_Prefer 404
+#define T_Protostats 405
+#define T_Pw 406
+#define T_Randfile 407
+#define T_Rawstats 408
+#define T_Refid 409
+#define T_Requestkey 410
+#define T_Reset 411
+#define T_Restrict 412
+#define T_Revoke 413
+#define T_Rlimit 414
+#define T_Saveconfigdir 415
+#define T_Server 416
+#define T_Serverresponse 417
+#define T_ServerresponseFuzz 418
+#define T_Setvar 419
+#define T_Source 420
+#define T_Stacksize 421
+#define T_Statistics 422
+#define T_Stats 423
+#define T_Statsdir 424
+#define T_Step 425
+#define T_Stepback 426
+#define T_Stepfwd 427
+#define T_Stepout 428
+#define T_Stratum 429
+#define T_String 430
+#define T_Sys 431
+#define T_Sysstats 432
+#define T_Tick 433
+#define T_Time1 434
+#define T_Time2 435
+#define T_TimeData 436
+#define T_Timer 437
+#define T_Timingstats 438
+#define T_Tinker 439
+#define T_Tos 440
+#define T_Trap 441
+#define T_True 442
+#define T_Trustedkey 443
+#define T_Ttl 444
+#define T_Type 445
+#define T_U_int 446
+#define T_UEcrypto 447
+#define T_UEcryptonak 448
+#define T_UEdigest 449
+#define T_Unconfig 450
+#define T_Unpeer 451
+#define T_Version 452
+#define T_WanderThreshold 453
+#define T_Week 454
+#define T_Wildcard 455
+#define T_Xleave 456
+#define T_Xmtnonce 457
+#define T_Year 458
+#define T_Flag 459
+#define T_EOC 460
+#define T_Simulate 461
+#define T_Beep_Delay 462
+#define T_Sim_Duration 463
+#define T_Server_Offset 464
+#define T_Duration 465
+#define T_Freq_Offset 466
+#define T_Wander 467
+#define T_Jitter 468
+#define T_Prop_Delay 469
+#define T_Proc_Delay 470
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
script_info * Sim_script;
script_info_fifo * Sim_script_fifo;
-#line 514 "ntp_parser.h"
+#line 516 "ntp_parser.h"
};
typedef union YYSTYPE YYSTYPE;
%token <Integer> T_Ctl
%token <Integer> T_Day
%token <Integer> T_Default
+%token <Integer> T_Delrestrict
%token <Integer> T_Device
%token <Integer> T_Digest
%token <Integer> T_Disable
%type <Attr_val> pollskew_cycle
%type <Attr_val> pollskew_spec
%type <Integer> reset_command
+%type <Address_node> restrict_mask
%type <Integer> rlimit_option_keyword
%type <Attr_val> rlimit_option
%type <Attr_val_fifo> rlimit_option_list
{
CONCAT_G_FIFOS(cfgt.mru_opts, $2);
}
- | T_Restrict address res_ippeerlimit ac_flag_list
+ | T_Restrict address restrict_mask res_ippeerlimit ac_flag_list
{
restrict_node *rn;
- rn = create_restrict_node($2, NULL, $3, $4,
- lex_current()->curpos.nline);
- APPEND_G_FIFO(cfgt.restrict_opts, rn);
- }
- | T_Restrict address T_Mask ip_address res_ippeerlimit ac_flag_list
- {
- restrict_node *rn;
-
- rn = create_restrict_node($2, $4, $5, $6,
- lex_current()->curpos.nline);
+ rn = create_restrict_node($2, $3, $4, $5, FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
| T_Restrict T_Default res_ippeerlimit ac_flag_list
{
restrict_node *rn;
- rn = create_restrict_node(NULL, NULL, $3, $4,
- lex_current()->curpos.nline);
+ rn = create_restrict_node(NULL, NULL, $3, $4, FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
| T_Restrict T_Ipv4_flag T_Default res_ippeerlimit ac_flag_list
create_address_node(
estrdup("0.0.0.0"),
AF_INET),
- $4, $5,
- lex_current()->curpos.nline);
+ $4, $5, FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
| T_Restrict T_Ipv6_flag T_Default res_ippeerlimit ac_flag_list
create_address_node(
estrdup("::"),
AF_INET6),
- $4, $5,
- lex_current()->curpos.nline);
+ $4, $5, FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
| T_Restrict T_Source res_ippeerlimit ac_flag_list
restrict_node * rn;
APPEND_G_FIFO($4, create_attr_ival($2, 1));
- rn = create_restrict_node(
- NULL, NULL, $3, $4, lex_current()->curpos.nline);
+ rn = create_restrict_node(NULL, NULL, $3, $4, FALSE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
+ APPEND_G_FIFO(cfgt.restrict_opts, rn);
+ }
+ | T_Delrestrict ip_address restrict_mask
+ {
+ restrict_node * rn;
+
+ rn = create_restrict_node($2, $3, -1, NULL, TRUE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
APPEND_G_FIFO(cfgt.restrict_opts, rn);
}
+ | T_Delrestrict T_Source ip_address
+ {
+ restrict_node * rn;
+ attr_val_fifo * avf;
+
+ avf = NULL;
+ APPEND_G_FIFO(avf, create_attr_ival($2, 1));
+ rn = create_restrict_node($3, NULL, -1, avf, TRUE,
+ lex_current()->curpos.nline,
+ lex_current()->curpos.ncol);
+ APPEND_G_FIFO(cfgt.restrict_opts, rn);
+ }
+ ;
+
+restrict_mask
+ : /* no mask is allowed */
+ { $$ = NULL; }
+ | T_Mask ip_address
+ {
+ $$ = $2;
+ }
;
res_ippeerlimit
"Unreasonable ippeerlimit value (%d) in %s line %d, column %d. Using 0.",
$2,
ip_ctx->fname,
- ip_ctx->errpos.nline,
- ip_ctx->errpos.ncol);
+ ip_ctx->curpos.nline,
+ ip_ctx->curpos.ncol);
$2 = 0;
}
$$ = $2;
)
{
mprintf_event(PEVNT_DEMOBIL, peer, "assoc %u", peer->associd);
- restrict_source(&peer->srcadr, 1, 0);
+ restrict_source(&peer->srcadr, TRUE, 0);
set_peerdstadr(peer, NULL);
peer_demobilizations++;
peer_associations--;
assoc_hash_count[hash]++;
LINK_SLIST(peer_list, peer, p_link);
- restrict_source(&peer->srcadr, 0, 0);
+ restrict_source(&peer->srcadr, FALSE, 0);
mprintf_event(PEVNT_MOBIL, peer, "assoc %d", peer->associd);
DPRINTF(1, ("newpeer: %s->%s mode %u vers %u poll %u %u flags 0x%x 0x%x ttl %u key %08x\n",
latoa(peer->dstadr), stoa(&peer->srcadr), peer->hmode,
int rc;
struct interface * lcladr;
sockaddr_u * rmtadr;
- r4addr r4a;
u_short af;
- u_short restrict_mask;
struct peer * p;
l_fp xmt_tx;
}
p = findexistingpeer(rmtadr, NULL, NULL, MODE_CLIENT, 0, NULL);
} while (p != NULL && pool->ai != NULL);
- if (p != NULL)
+ if (p != NULL) {
return; /* out of addresses, re-query DNS next poll */
- restrictions(rmtadr, &r4a);
- restrict_mask = r4a.rflags;
- if (RES_FLAGS & restrict_mask)
- restrict_source(rmtadr, 0,
- current_time + POOL_SOLICIT_WINDOW + 1);
+ }
+ restrict_source(rmtadr, FALSE, 1 + POOL_SOLICIT_WINDOW);
lcladr = findinterface(rmtadr);
memset(&xpkt, 0, sizeof(xpkt));
xpkt.li_vn_mode = PKT_LI_VN_MODE(sys_leap, pool->version,
/* Bug 3596: What are the pros/cons of using sys_reftime here? */
HTONL_FP(&sys_reftime, &xpkt.reftime);
- /* HMS: the following is better done after the ntp_random() calls */
get_systime(&xmt_tx);
pool->aorg = xmt_tx;
L_CLR(&pool->nonce);
HTONL_FP(&xmt_tx, &xpkt.xmt);
}
- sendpkt(rmtadr, lcladr,
- sys_ttl[(pool->ttl >= sys_ttlmax) ? sys_ttlmax : pool->ttl],
- &xpkt, LEN_PKT_NOMAC);
pool->sent++;
pool->throttle += (1 << pool->minpoll) - 2;
DPRINTF(1, ("pool_xmit: at %ld %s->%s pool\n",
current_time, latoa(lcladr), stoa(rmtadr)));
msyslog(LOG_INFO, "Soliciting pool server %s", stoa(rmtadr));
+ sendpkt(rmtadr, lcladr,
+ sys_ttl[(pool->ttl >= sys_ttlmax) ? sys_ttlmax : pool->ttl],
+ &xpkt, LEN_PKT_NOMAC);
#endif /* WORKER */
}
sockaddr_u matchaddr;
sockaddr_u matchmask;
int bad;
+ int/*BOOL*/ success;
switch(op) {
case RESTRICT_FLAGS:
}
if (bad) {
- msyslog(LOG_ERR, "do_restrict: bad = %#x", bad);
+ msyslog(LOG_ERR, "%s: bad = 0x%x", __func__, bad);
req_ack(srcadr, inter, inpkt, INFO_ERR_FMT);
return;
}
NSRCADR(&matchaddr) = cr.addr;
NSRCADR(&matchmask) = cr.mask;
}
- hack_restrict(op, &matchaddr, &matchmask, cr.mflags,
- cr.ippeerlimit, cr.flags, 0);
+ success = hack_restrict(op, &matchaddr, &matchmask,
+ cr.ippeerlimit, cr.mflags,
+ cr.flags, 0);
+ if (!success) {
+ DPRINTF(1, ("%s: %s %s mask %s ippeerlimit %hd %s %s failed",
+ __func__, resop_str(op),
+ stoa(&matchaddr), stoa(&matchmask),
+ cr.ippeerlimit, mflags_str(cr.mflags),
+ rflags_str(cr.flags)));
+ }
datap += item_sz;
}
static restrict_u * match_restrict6_addr(const struct in6_addr *,
u_short);
static restrict_u * match_restrict_entry(const restrict_u *, int);
-static int res_sorts_before4(restrict_u *, restrict_u *);
-static int res_sorts_before6(restrict_u *, restrict_u *);
- void dump_restricts(void);
+static inline int/*BOOL*/ mflags_sorts_before(u_short, u_short);
+static int/*BOOL*/ res_sorts_before4(restrict_u *, restrict_u *);
+static int/*BOOL*/ res_sorts_before6(restrict_u *, restrict_u *);
+
+typedef int (*res_sort_fn)(restrict_u *, restrict_u *);
+
+
+/* dump_restrict() & dump_restricts() are DEBUG-only */
+#ifdef DEBUG
+static void dump_restrict(restrict_u *, int);
+
/*
- * dump_restrict - spit out a restrict_u
+ * dump_restrict - spit out a single restriction entry
*/
static void
dump_restrict(
restrict_u * res,
int is_ipv6
- )
+)
{
char as[INET6_ADDRSTRLEN];
char ms[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, &res->u.v6.addr, as, sizeof as);
inet_ntop(AF_INET6, &res->u.v6.mask, ms, sizeof ms);
} else {
- struct in_addr sia = { htonl(res->u.v4.addr) };
- struct in_addr sim = { htonl(res->u.v4.mask) };
+ struct in_addr sia, sim;
+ sia.s_addr = htonl(res->u.v4.addr);
+ sim.s_addr = htonl(res->u.v4.addr);
inet_ntop(AF_INET, &sia, as, sizeof as);
inet_ntop(AF_INET, &sim, ms, sizeof ms);
}
- mprintf("restrict node at %p: %s/%s count %d, rflags %08x, mflags %04x, ippeerlimit %d, expire %lu, next %p\n",
- res, as, ms, res->count, res->rflags, res->mflags,
- res->ippeerlimit, res->expire, res->link);
- return;
+ printf("%s/%s: hits %u ippeerlimit %hd mflags %s rflags %s",
+ as, ms, res->count, res->ippeerlimit,
+ mflags_str(res->mflags),
+ rflags_str(res->rflags));
+ if (res->expire > 0) {
+ printf(" expire %u\n", res->expire);
+ } else {
+ printf("\n");
+ }
}
/*
- * dump_restricts - spit out the 'restrict' lines
+ * dump_restricts - spit out the 'restrict' entries
*/
void
dump_restricts(void)
{
restrict_u * res;
- restrict_u * next;
-
- mprintf("dump_restrict: restrict_def4: %p\n", &restrict_def4);
- /* Spit out 'restrict {,-4,-6} default ...' lines, if needed */
- for (res = &restrict_def4; res != NULL; res = next) {
- dump_restrict(res, 0);
- next = res->link;
- }
-
- mprintf("dump_restrict: restrict_def6: %p\n", &restrict_def6);
- for (res = &restrict_def6; res != NULL; res = next) {
- dump_restrict(res, 1);
- next = res->link;
- }
/* Spit out the IPv4 list */
- mprintf("dump_restrict: restrictlist4: %p\n", &restrictlist4);
- for (res = restrictlist4; res != NULL; res = next) {
+ printf("dump_restricts: restrictlist4: %p\n", restrictlist4);
+ for (res = restrictlist4; res != NULL; res = res->link) {
dump_restrict(res, 0);
- next = res->link;
}
/* Spit out the IPv6 list */
- mprintf("dump_restrict: restrictlist6: %p\n", &restrictlist6);
- for (res = restrictlist6; res != NULL; res = next) {
+ printf("dump_restricts: restrictlist6: %p\n", restrictlist6);
+ for (res = restrictlist6; res != NULL; res = res->link) {
dump_restrict(res, 1);
- next = res->link;
}
-
- return;
}
+#endif /* DEBUG - dump_restrict() / dump_restricts() */
+
/*
* init_restrict - initialize the restriction data structures
*
* An additional wrinkle is we may have multiple entries with
* the same address and mask but differing match flags (mflags).
- * At present there is only one, RESM_NTPONLY. Entries with
- * RESM_NTPONLY are sorted earlier so they take precedence over
- * any otherwise similar entry without. Again, this is the same
- * behavior as but reversed implementation compared to the docs.
- *
+ * We want to never talk to ourself, so RES_IGNORE entries for
+ * each local address are added by ntp_io.c with a host mask and
+ * both RESM_INTERFACE and RESM_NTPONLY set. We sort those
+ * entries before entries without those flags to achieve this.
+ * The remaining match flag is RESM_SOURCE, used to dynamically
+ * set restrictions for each peer based on the prototype set by
+ * "restrict source" in the configuration. We want those entries
+ * to be considered only when there is not a static host
+ * restriction for the address in the configuration, to allow
+ * operators to blacklist pool and manycast servers at runtime as
+ * desired using ntpq runtime configuration. Such static entries
+ * have no RESM_ bits set, so the sort order for mflags is first
+ * RESM_INTERFACE, then entries without RESM_SOURCE, finally the
+ * remaining.
*/
restrict_def4.ippeerlimit = -1; /* Cleaner if we have C99 */
cb = sizeof(pmatch->u.v4);
}
- for (res = rlist; res != NULL; res = res->link)
+ for (res = rlist; res != NULL; res = res->link) {
if (res->mflags == pmatch->mflags &&
- !memcmp(&res->u, &pmatch->u, cb))
+ !memcmp(&res->u, &pmatch->u, cb)) {
break;
+ }
+ }
return res;
}
/*
- * res_sorts_before4 - compare two restrict4 entries
+ * mflags_sorts_before - common mflags sorting code
+ *
+ * See block comment in init_restrict() above for rationale.
+ */
+static inline int/*BOOL*/
+mflags_sorts_before(
+ u_short m1,
+ u_short m2
+ )
+{
+ if ( (RESM_INTERFACE & m1)
+ && !(RESM_INTERFACE & m2)) {
+ return TRUE;
+ } else if ( !(RESM_SOURCE & m1)
+ && (RESM_SOURCE & m2)) {
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+}
+
+
+/*
+ * res_sorts_before4 - compare IPv4 restriction entries
*
* Returns nonzero if r1 sorts before r2. We sort by descending
- * address, then descending mask, then descending mflags, so sorting
- * before means having a higher value.
+ * address, then descending mask, then an intricate mflags sort
+ * order explained in a block comment near the top of this file.
*/
-static int
+static int/*BOOL*/
res_sorts_before4(
restrict_u *r1,
restrict_u *r2
{
int r1_before_r2;
- if (r1->u.v4.addr > r2->u.v4.addr)
- r1_before_r2 = 1;
- else if (r1->u.v4.addr < r2->u.v4.addr)
- r1_before_r2 = 0;
- else if (r1->u.v4.mask > r2->u.v4.mask)
- r1_before_r2 = 1;
- else if (r1->u.v4.mask < r2->u.v4.mask)
- r1_before_r2 = 0;
- else if (r1->mflags > r2->mflags)
- r1_before_r2 = 1;
- else
- r1_before_r2 = 0;
+ if (r1->u.v4.addr > r2->u.v4.addr) {
+ r1_before_r2 = TRUE;
+ } else if (r1->u.v4.addr < r2->u.v4.addr) {
+ r1_before_r2 = FALSE;
+ } else if (r1->u.v4.mask > r2->u.v4.mask) {
+ r1_before_r2 = TRUE;
+ } else if (r1->u.v4.mask < r2->u.v4.mask) {
+ r1_before_r2 = FALSE;
+ } else {
+ r1_before_r2 = mflags_sorts_before(r1->mflags, r2->mflags);
+ }
return r1_before_r2;
}
/*
- * res_sorts_before6 - compare two restrict6 entries
+ * res_sorts_before6 - compare IPv6 restriction entries
*
* Returns nonzero if r1 sorts before r2. We sort by descending
- * address, then descending mask, then descending mflags, so sorting
- * before means having a higher value.
+ * address, then descending mask, then an intricate mflags sort
+ * order explained in a block comment near the top of this file.
*/
-static int
+static int/*BOOL*/
res_sorts_before6(
- restrict_u *r1,
- restrict_u *r2
- )
+ restrict_u* r1,
+ restrict_u* r2
+)
{
int r1_before_r2;
int cmp;
cmp = ADDR6_CMP(&r1->u.v6.addr, &r2->u.v6.addr);
- if (cmp > 0) /* r1->addr > r2->addr */
- r1_before_r2 = 1;
- else if (cmp < 0) /* r2->addr > r1->addr */
- r1_before_r2 = 0;
- else {
+ if (cmp > 0) { /* r1->addr > r2->addr */
+ r1_before_r2 = TRUE;
+ } else if (cmp < 0) { /* r2->addr > r1->addr */
+ r1_before_r2 = FALSE;
+ } else {
cmp = ADDR6_CMP(&r1->u.v6.mask, &r2->u.v6.mask);
- if (cmp > 0) /* r1->mask > r2->mask*/
- r1_before_r2 = 1;
- else if (cmp < 0) /* r2->mask > r1->mask */
- r1_before_r2 = 0;
- else if (r1->mflags > r2->mflags)
- r1_before_r2 = 1;
- else
- r1_before_r2 = 0;
+ if (cmp > 0) { /* r1->mask > r2->mask*/
+ r1_before_r2 = TRUE;
+ } else if (cmp < 0) { /* r2->mask > r1->mask */
+ r1_before_r2 = FALSE;
+ } else {
+ r1_before_r2 = mflags_sorts_before(r1->mflags,
+ r2->mflags);
+ }
}
return r1_before_r2;
{
switch (op) {
case RESTRICT_FLAGS: return "RESTRICT_FLAGS";
- case RESTRICT_UNFLAG: return "RESTRICT_UNFLAGS";
+ case RESTRICT_UNFLAG: return "RESTRICT_UNFLAG";
case RESTRICT_REMOVE: return "RESTRICT_REMOVE";
case RESTRICT_REMOVEIF: return "RESTRICT_REMOVEIF";
}
/*
* hack_restrict - add/subtract/manipulate entries on the restrict list
*/
-void
+int/*BOOL*/
hack_restrict(
restrict_op op,
sockaddr_u * resaddr,
short ippeerlimit,
u_short mflags,
u_short rflags,
- u_long expire
+ u_int32 expire
)
{
int v6;
restrict_u match;
restrict_u * res;
restrict_u ** plisthead;
+ res_sort_fn pfn_sort;
- DPRINTF(1, ("hack_restrict: op %s addr %s mask %s ippeerlimit %d "
- "mflags %s rflags %s\n", resop_str(op), stoa(resaddr),
- stoa(resmask), ippeerlimit, mflags_str(mflags),
- rflags_str(rflags)));
+#ifdef DEBUG
+ if (debug > 0) {
+ printf("hack_restrict: op %s addr %s mask %s",
+ resop_str(op), stoa(resaddr), stoa(resmask));
+ if (ippeerlimit >= 0) {
+ printf(" ippeerlimit %d", ippeerlimit);
+ }
+ printf(" mflags %s rflags %s", mflags_str(mflags),
+ rflags_str(rflags));
+ if (expire) {
+ printf("lifetime %u\n",
+ expire - (u_int32)current_time);
+ } else {
+ printf("\n");
+ }
+ }
+#endif
if (NULL == resaddr) {
DEBUG_REQUIRE(NULL == resmask);
DEBUG_REQUIRE(RESTRICT_FLAGS == op);
+ DEBUG_REQUIRE(RESM_SOURCE & mflags);
restrict_source_rflags = rflags;
restrict_source_mflags = mflags;
restrict_source_ippeerlimit = ippeerlimit;
restrict_source_enabled = TRUE;
- return;
+ DPRINTF(1, ("restrict source template saved\n"));
+ return TRUE;
}
ZERO(match);
if (IS_IPV4(resaddr)) {
+ DEBUG_INVARIANT(IS_IPV4(resmask));
v6 = FALSE;
/*
* Get address and mask in host byte order for easy
match.u.v4.addr &= match.u.v4.mask;
} else {
DEBUG_INVARIANT(IS_IPV6(resaddr));
+ DEBUG_INVARIANT(IS_IPV6(resmask));
v6 = TRUE;
/*
* Get address and mask in network byte order for easy
* this restriction modify it.
*/
if (NULL != res) {
- if ((RES_LIMITED & rflags)
- && !(RES_LIMITED & res->rflags)) {
+ if ( (RES_LIMITED & rflags)
+ && !(RES_LIMITED & res->rflags)) {
bump_res_limited = TRUE;
}
res->rflags |= rflags;
+ res->expire = expire;
} else {
match.rflags = rflags;
match.expire = expire;
res = alloc_res6();
memcpy(res, &match, V6_SIZEOF_RESTRICT_U);
plisthead = &restrictlist6;
+ pfn_sort = &res_sorts_before6;
} else {
res = alloc_res4();
memcpy(res, &match, V4_SIZEOF_RESTRICT_U);
plisthead = &restrictlist4;
+ pfn_sort = &res_sorts_before4;
}
LINK_SORT_SLIST(
*plisthead, res,
- (v6)
- ? res_sorts_before6(res, L_S_S_CUR())
- : res_sorts_before4(res, L_S_S_CUR()),
+ (*pfn_sort)(res, L_S_S_CUR()),
link, restrict_u);
restrictcount++;
if (RES_LIMITED & rflags) {
if (bump_res_limited) {
inc_res_limited();
}
- break;
+ return TRUE;
case RESTRICT_UNFLAG:
/*
* Remove some bits from the rflags. If we didn't
* find this one, just return.
*/
- if (res != NULL) {
- if ( (RES_LIMITED & res->rflags)
- && (RES_LIMITED & rflags))
- dec_res_limited();
- res->rflags &= ~rflags;
+ if (NULL == res) {
+ DPRINTF(1, ("No match for %s %s removing rflags %s\n",
+ stoa(resaddr), stoa(resmask),
+ rflags_str(rflags)));
+ return FALSE;
}
- break;
+ if ( (RES_LIMITED & res->rflags)
+ && (RES_LIMITED & rflags)) {
+ dec_res_limited();
+ }
+ res->rflags &= ~rflags;
+ return TRUE;
case RESTRICT_REMOVE:
case RESTRICT_REMOVEIF:
* don't remove an interface entry unless asked.
*/
if ( res != NULL
- && (RESTRICT_REMOVEIF == op
+ && ( RESTRICT_REMOVEIF == op
|| !(RESM_INTERFACE & res->mflags))
&& res != &restrict_def4
&& res != &restrict_def6) {
free_res(res, v6);
+ return TRUE;
}
- break;
-
- default: /* unknown op */
- INSIST(0);
- break;
+ DPRINTF(1, ("No match removing %s %s restriction\n",
+ stoa(resaddr), stoa(resmask)));
+ return FALSE;
}
-
+ /* notreached */
+ return FALSE;
}
void
restrict_source(
sockaddr_u * addr,
- int farewell, /* 0 to add, 1 to remove */
- u_long expire /* 0 is infinite, valid until */
+ int farewell, /* TRUE to remove */
+ u_int32 lifetime /* seconds, 0 forever */
)
{
sockaddr_u onesmask;
- restrict_u * res;
- int found_specific;
+ int/*BOOL*/ success;
- if (!restrict_source_enabled || SOCK_UNSPEC(addr) ||
- IS_MCAST(addr) || ISREFCLOCKADR(addr))
+ if ( !restrict_source_enabled || SOCK_UNSPEC(addr)
+ || IS_MCAST(addr) || ISREFCLOCKADR(addr)) {
return;
+ }
REQUIRE(AF_INET == AF(addr) || AF_INET6 == AF(addr));
SET_HOSTMASK(&onesmask, AF(addr));
if (farewell) {
- hack_restrict(RESTRICT_REMOVE, addr, &onesmask,
- -2, 0, 0, 0);
- DPRINTF(1, ("restrict_source: %s removed", stoa(addr)));
+ success = hack_restrict(RESTRICT_REMOVE, addr, &onesmask,
+ 0, RESM_SOURCE, 0, 0);
+ if (success) {
+ DPRINTF(1, ("%s %s removed", __func__,
+ stoa(addr)));
+ } else {
+ msyslog(LOG_ERR, "%s remove %s failed",
+ __func__, stoa(addr));
+ }
return;
}
- /*
- * If there is a specific entry for this address, hands
- * off, as it is condidered more specific than "restrict
- * server ...".
- * However, if the specific entry found is a fleeting one
- * added by pool_xmit() before soliciting, replace it
- * immediately regardless of the expire value to make way
- * for the more persistent entry.
- */
- if (IS_IPV4(addr)) {
- res = match_restrict4_addr(SRCADR(addr), SRCPORT(addr));
- INSIST(res != NULL);
- found_specific = (SRCADR(&onesmask) == res->u.v4.mask);
+ success = hack_restrict(RESTRICT_FLAGS, addr, &onesmask,
+ restrict_source_ippeerlimit,
+ restrict_source_mflags,
+ restrict_source_rflags,
+ lifetime > 0
+ ? lifetime + current_time
+ : 0);
+ if (success) {
+ DPRINTF(1, ("%s %s add/upd\n", __func__,
+ stoa(addr)));
} else {
- res = match_restrict6_addr(&SOCK_ADDR6(addr),
- SRCPORT(addr));
- INSIST(res != NULL);
- found_specific = ADDR6_EQ(&res->u.v6.mask,
- &SOCK_ADDR6(&onesmask));
- }
- if (!expire && found_specific && res->expire) {
- found_specific = 0;
- free_res(res, IS_IPV6(addr));
+ msyslog(LOG_ERR, "%s %s failed", __func__, stoa(addr));
}
- if (found_specific)
- return;
-
- hack_restrict(RESTRICT_FLAGS, addr, &onesmask,
- restrict_source_ippeerlimit,
- restrict_source_mflags, restrict_source_rflags, expire);
- DPRINTF(1, ("restrict_source: %s host restriction added\n",
- stoa(addr)));
}
int optflag
)
{
- FILE *fp;
+ FILE *fp = NULL;
const char *value;
size_t len;
double old_drift;
* missing or contains errors, tell the loop to reset.
*/
if (NULL == stats_drift_file) {
- prev_drift_comp = 0.0;
- loop_config(LOOP_NOFREQ, prev_drift_comp);
- }
- else if ((fp = fopen(stats_drift_file, "r")) == NULL) {
+ goto nofreq;
+ } else if ((fp = fopen(stats_drift_file, "r")) == NULL) {
if (errno != ENOENT) {
msyslog(LOG_WARNING,
"cannot read frequency file %s: %m",
stats_drift_file);
}
- }
- else if (fscanf(fp, "%lf", &old_drift) != 1) {
+ goto nofreq;
+ } else if (fscanf(fp, "%lf", &old_drift) != 1) {
msyslog(LOG_ERR,
"format error frequency file %s",
stats_drift_file);
+ nofreq:
+ prev_drift_comp = 0.0;
+ loop_config(LOOP_NOFREQ, prev_drift_comp);
} else {
loop_config(LOOP_FREQ, old_drift);
prev_drift_comp = drift_comp;
len = strlen(value);
if (len > sizeof(statsdir) - 2) {
msyslog(LOG_ERR,
- "statsdir %s too long (>%u)",
+ "statsdir %s too long (>%u)", value,
(u_int)sizeof(statsdir) - 2);
break;
}
char *captext;
captext = (scan_addrs_once)
- ? "cap_sys_time=pe";
- : "cap_sys_time,cap_net_bind_service=pe"
+ ? "cap_sys_time=pe"
+ : "cap_sys_time,cap_net_bind_service=pe";
caps = cap_from_text(captext);
if (!caps) {
msyslog(LOG_ERR,
void
test_ParseVUI64_pos(void) {
vint64 act, exp;
- const char *sp;
- char const *ep;
+ char *sp;
+ char *ep;
sp = "1234x";
exp.D_s.hi = 0;
void
test_ParseVUI64_neg(void) {
vint64 act, exp;
- const char *sp;
- char const *ep;
+ char *sp;
+ char *ep;
sp = "-1234x";
exp.D_s.hi = ~0;
void
test_ParseVUI64_case(void) {
vint64 act, exp;
- const char *sp;
- char const *ep;
+ char *sp;
+ char *ep;
sp = "0123456789AbCdEf";
exp.D_s.hi = 0x01234567;