From: Harlan Stenn Date: Tue, 13 Nov 2012 03:56:50 +0000 (-0500) Subject: [Bug 1223] Allow configurable values for RLIMIT_STACK and RLIMIT_MEMLOCK X-Git-Tag: NTP_4_2_7P322~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=737fa30601f5b2447503835814825399cff615e9;p=thirdparty%2Fntp.git [Bug 1223] Allow configurable values for RLIMIT_STACK and RLIMIT_MEMLOCK bk: 50a1c502aq5wPkIRzLPdlKqgsP_beA --- diff --git a/ChangeLog b/ChangeLog index 7198dfb12..131f2db44 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,5 @@ +* [Bug 1223] Allow configurable values for RLIMIT_STACK and + RLIMIT_MEMLOCK. (4.2.7p320) 2012/11/12 Released by Harlan Stenn * [Bug 969] Clarify ntpdate.html documentation about -u and ntpd. * [Bug 1217] libisc/ifiter_sysctl.c:internal_current(): Ignore RTM diff --git a/configure.ac b/configure.ac index 521a97dc8..79339a8e9 100644 --- a/configure.ac +++ b/configure.ac @@ -188,6 +188,60 @@ AC_SEARCH_LIBS([openlog], [gen syslog]) NTP_FACILITYNAMES +# HMS: Only if we are doing the MLOCKALL stuff... +AC_MSG_CHECKING([for the default number of 4k stack pages]) +AC_ARG_WITH( + [stack-limit], + [AS_HELP_STRING( + [--with-stack-limit], + [? =50 (200 for openbsd) 4k pages] + )], + [ans=$withval], + [ans=yes] +) +case "$ans" in + yes | no) + case "$host" in + *-*-openbsd*) + ans=200 + ;; + *) ans=50 + ;; + esac + ;; + [1-9][0-9]*) + ;; + *) AC_MSG_ERROR(["--with-stack-limit requires an integer argument."]) + ;; +esac +AC_MSG_RESULT([$ans]) +AC_DEFINE_UNQUOTED([DFLT_RLIMIT_STACK], [$ans], + [Default number of 4k pages for RLIMIT_STACK]) + +# HMS: only if we have RLIMIT_MEMLOCK +AC_MSG_CHECKING([for the default number of megabytes to MEMLOCK]) +AC_ARG_WITH( + [memlock], + [AS_HELP_STRING( + [--with-memlock], + [? =32 (megabytes)] + )], + [ans=$withval], + [ans=yes] +) +case "$ans" in + yes | no) + ans=32 + ;; + [1-9][0-9]*) ;; + *) AC_MSG_ERROR(["--with-memlock requires an integer argument."]) + ;; +esac +AC_MSG_RESULT([$ans]) +AC_DEFINE_UNQUOTED([DFLT_RLIMIT_MEMLOCK], [$ans], + [Default number of megabytes for RLIMIT_MEMLOCK]) + + dnl Digital UNIX V4.0 and Solaris 7 have POSIX.1c functions in -lrt dnl Solaris 2.6 only has -lposix4; in Solaris 7, this is a symlink to -lrt, dnl so only use one of them. Linux (glibc-2.1.2 and -2.2.2, at least) diff --git a/html/miscopt.html b/html/miscopt.html index 4e339b68a..ad0c379ef 100644 --- a/html/miscopt.html +++ b/html/miscopt.html @@ -119,6 +119,16 @@
Specifies the stepout threshold in seconds. The default without this command is 300 s. Since this option also affects the training and startup intervals, it should not be set less than the default. Further details are on the Clock State Machine page.
+
rlimit [memlock Nmegabytes | stacklimit N4kPages]
+
This command alters certain process storage allocation limits, and is only available on some operating systems. Options are are as follows:
+
+
+
memlock Nmegabytes
+
Specify the number of megabytes of memory that can be allocated. Probably only available under Linux, this option is useful when dropping root (the -i option). The default is 32 megabytes.
+
stacklimit N4kPages
+
Specifies the maximum size of the process stack on systems with the mlockall() function. Defaults to 50 4k pages (200 4k pages in OpenBSD).
+
+
tos [beacon beacon | ceiling ceiling | cohort {0 | 1} | floor floor | maxclock maxclock | maxdist maxdist | minclock minclock | mindist mindist | minsane minsane | orphan stratum | orphanwait delay]
This command alters certain system variables used by the the clock selection and clustering algorithms. The default values of these variables have been carefully optimized for a wide range of network speeds and reliability expectations. Very rarely is it necessary to change the default values; but, some folks can't resist twisting the knobs. It can be used to select the quality and quantity of peers used to synchronize the system clock and is most useful in dynamic server discovery schemes. The options are as follows:
diff --git a/include/ntp_config.h b/include/ntp_config.h index d436290c2..f40a1175e 100644 --- a/include/ntp_config.h +++ b/include/ntp_config.h @@ -215,6 +215,7 @@ struct config_tree_tag { restrict_fifo * restrict_opts; addr_opts_fifo *fudge; + attr_val_fifo * rlimit; attr_val_fifo * tinker; attr_val_fifo * enable_opts; attr_val_fifo * disable_opts; @@ -307,5 +308,10 @@ int dump_config_tree(config_tree *ptree, FILE *df, int comment); int dump_all_config_trees(FILE *df, int comment); #endif +#if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && defined(MCL_FUTURE) +# ifdef HAVE_SETRLIMIT +void ntp_rlimit(int, int); +# endif +#endif #endif /* !defined(NTP_CONFIG_H) */ diff --git a/ntpd/keyword-gen-utd b/ntpd/keyword-gen-utd index b5d8d207d..0fb4be917 100644 --- a/ntpd/keyword-gen-utd +++ b/ntpd/keyword-gen-utd @@ -1 +1 @@ - * Generated 2012-09-15 07:42:42 UTC diff_ignore_line + * Generated 2012-11-12 10:30:40 UTC diff_ignore_line diff --git a/ntpd/keyword-gen.c b/ntpd/keyword-gen.c index b5db6b994..dfc39982b 100644 --- a/ntpd/keyword-gen.c +++ b/ntpd/keyword-gen.c @@ -66,6 +66,7 @@ struct key_tok ntp_keywords[] = { { "discard", T_Discard, FOLLBY_TOKEN }, { "reset", T_Reset, FOLLBY_TOKEN }, { "restrict", T_Restrict, FOLLBY_TOKEN }, +{ "rlimit", T_Rlimit, FOLLBY_TOKEN }, { "server", T_Server, FOLLBY_STRING }, { "setvar", T_Setvar, FOLLBY_STRING }, { "statistics", T_Statistics, FOLLBY_TOKEN }, @@ -198,6 +199,9 @@ struct key_tok ntp_keywords[] = { { "ntp", T_Ntp, FOLLBY_TOKEN }, { "mode7", T_Mode7, FOLLBY_TOKEN }, { "stats", T_Stats, FOLLBY_TOKEN }, +/* rlimit_option */ +{ "memlock", T_Memlock, FOLLBY_TOKEN }, +{ "stacksize", T_Stacksize, FOLLBY_TOKEN }, /* tinker_option */ { "step", T_Step, FOLLBY_TOKEN }, { "panic", T_Panic, FOLLBY_TOKEN }, diff --git a/ntpd/ntp_config.c b/ntpd/ntp_config.c index 099106467..cbf82f9b2 100644 --- a/ntpd/ntp_config.c +++ b/ntpd/ntp_config.c @@ -216,24 +216,26 @@ static void apply_enable_disable(attr_val_fifo *q, int enable); #ifdef FREE_CFG_T static void free_auth_node(config_tree *); -static void free_config_other_modes(config_tree *); -static void free_config_auth(config_tree *); -static void free_config_tos(config_tree *); -static void free_config_monitor(config_tree *); static void free_config_access(config_tree *); -static void free_config_tinker(config_tree *); -static void free_config_system_opts(config_tree *); +static void free_config_auth(config_tree *); +static void free_config_fudge(config_tree *); static void free_config_logconfig(config_tree *); +static void free_config_monitor(config_tree *); +static void free_config_nic_rules(config_tree *); +static void free_config_other_modes(config_tree *); +static void free_config_peers(config_tree *); static void free_config_phone(config_tree *); +static void free_config_reset_counters(config_tree *); +static void free_config_rlimit(config_tree *); static void free_config_setvar(config_tree *); -static void free_config_ttl(config_tree *); +static void free_config_system_opts(config_tree *); +static void free_config_tinker(config_tree *); +static void free_config_tos(config_tree *); static void free_config_trap(config_tree *); -static void free_config_fudge(config_tree *); -static void free_config_vars(config_tree *); -static void free_config_peers(config_tree *); +static void free_config_ttl(config_tree *); static void free_config_unpeers(config_tree *); -static void free_config_nic_rules(config_tree *); -static void free_config_reset_counters(config_tree *); +static void free_config_vars(config_tree *); + #ifdef SIM static void free_config_sim(config_tree *); #endif @@ -293,12 +295,14 @@ static void destroy_addr_opts_fifo(addr_opts_fifo *); (pf) = NULL; \ } while (0) -static void config_tos(config_tree *); +static void config_logconfig(config_tree *); static void config_monitor(config_tree *); -static void config_tinker(config_tree *); +static void config_rlimit(config_tree *); static void config_system_opts(config_tree *); -static void config_logconfig(config_tree *); +static void config_tinker(config_tree *); +static void config_tos(config_tree *); static void config_vars(config_tree *); + #ifdef SIM static sockaddr_u *get_next_address(address_node *addr); static void config_sim(config_tree *); @@ -422,6 +426,7 @@ free_config_tree( free_config_monitor(ptree); free_config_access(ptree); free_config_tinker(ptree); + free_config_rlimit(ptree); free_config_system_opts(ptree); free_config_logconfig(ptree); free_config_phone(ptree); @@ -693,6 +698,17 @@ dump_config_tree( fprintf(df, "\n"); } + atrv = HEAD_PFIFO(ptree->rlimit); + if (atrv != NULL) { + fprintf(df, "rlimit"); + for ( ; atrv != NULL; atrv = atrv->link) { + NTP_INSIST(T_Integer == atrv->type); + fprintf(df, " %s %i", keyword(atrv->attr), + atrv->value.i); + } + fprintf(df, "\n"); + } + atrv = HEAD_PFIFO(ptree->tinker); if (atrv != NULL) { fprintf(df, "tinker"); @@ -2568,6 +2584,43 @@ free_config_access( #endif /* FREE_CFG_T */ +static void +config_rlimit( + config_tree *ptree + ) +{ + attr_val * rlimit_av; + int item; + + item = -1; /* quiet warning */ + rlimit_av = HEAD_PFIFO(ptree->rlimit); + for (; rlimit_av != NULL; rlimit_av = rlimit_av->link) { + switch (rlimit_av->attr) { + + default: + NTP_INSIST(0); + break; + + case T_Memlock: +#if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && defined(MCL_FUTURE) && defined(RLIMIT_MEMLOCK) + ntp_rlimit(RLIMIT_MEMLOCK, tinker->value.i * 1024 * 1024); +#else + fprintf(stderr, "Warning: 'rlimit memlock' specified but is not available on this system!\n"); +#endif /* !RLIMIT_MEMLOCK */ + break; + + case T_Stacksize: +#if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && defined(MCL_FUTURE) && defined(RLIMIT_STACK) + ntp_rlimit(RLIMIT_STACK, tinker->value.i * 4096); +#else + fprintf(stderr, "Warning: 'rlimit stacksize' specified but is not available on this system!\n"); +#endif /* !RLIMIT_STACK */ + break; + } + } +} + + static void config_tinker( config_tree *ptree @@ -2623,6 +2676,14 @@ config_tinker( #ifdef FREE_CFG_T +static void +free_config_rlimit( + config_tree *ptree + ) +{ + FREE_ATTR_VAL_FIFO(ptree->rlimit); +} + static void free_config_tinker( config_tree *ptree @@ -4173,6 +4234,7 @@ config_ntpd( config_tos(ptree); config_access(ptree); config_tinker(ptree); + config_rlimit(ptree); // May not be needed config_system_opts(ptree); config_logconfig(ptree); config_phone(ptree); @@ -4218,6 +4280,7 @@ config_ntpdsim( config_tos(ptree); config_monitor(ptree); config_tinker(ptree); + config_rlimit(ptree); // May not be needed config_system_opts(ptree); config_logconfig(ptree); config_vars(ptree); @@ -4769,3 +4832,49 @@ getnetnum( return 1; } #endif /* !SIM */ + +# if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && defined(MCL_FUTURE) && defined(HAVE_SETRLIMIT) +void +ntp_rlimit( + int rl_what, + int rl_value + ) +{ + struct rlimit rl; + + switch (rl_what) { +#ifdef RLIMIT_MEMLOCK + case RLIMIT_MEMLOCK: + /* + * The default RLIMIT_MEMLOCK is very low on Linux systems. + * Unless we increase this limit malloc calls are likely to + * fail if we drop root privilege. To be useful the value + * has to be larger than the largest ntpd resident set size. + */ + DPRINTF(1, ("ntp_rlimit: MEMLOCK: %d MB\n", rl_value/1024/1024)); + rl.rlim_cur = rl.rlim_max = rl_value + if (setrlimit(RLIMIT_MEMLOCK, &rl) == -1) + msyslog(LOG_ERR, "Cannot set RLIMIT_MEMLOCK: %m"); + break; +#endif /* RLIMIT_MEMLOCK */ + + case RLIMIT_STACK: + /* + * Set the stack limit to something smaller, so that we + * don't lock a lot of unused stack memory. + */ + DPRINTF(1, ("ntp_rlimit: STACK: %d 4k pages\n", rl_value/4096)); + // Squawk if rl_value > rlim_max ... + if (getrlimit(RLIMIT_STACK, &rl) != -1 + && (rl.rlim_cur = rl_value) < rl.rlim_max + && setrlimit(RLIMIT_STACK, &rl) == -1) + msyslog(LOG_ERR, + "Cannot adjust stack limit for mlockall: %m"); + break; + + default: + // XXX + break; + } +} +# endif /* ... && HAVE_SETRLIMIT */ diff --git a/ntpd/ntp_keyword.h b/ntpd/ntp_keyword.h index 4a7159e34..204fb672f 100644 --- a/ntpd/ntp_keyword.h +++ b/ntpd/ntp_keyword.h @@ -2,7 +2,7 @@ * ntp_keyword.h * * NOTE: edit this file with caution, it is generated by keyword-gen.c - * Generated 2012-09-15 07:42:42 UTC diff_ignore_line + * Generated 2012-11-12 10:30:40 UTC diff_ignore_line * */ #include "ntp_scanner.h" @@ -10,7 +10,7 @@ #define LOWEST_KEYWORD_ID 258 -const char * const keyword_text[182] = { +const char * const keyword_text[185] = { /* 0 258 T_Abbrev */ "abbrev", /* 1 259 T_Age */ "age", /* 2 260 T_All */ "all", @@ -99,105 +99,108 @@ const char * const keyword_text[182] = { /* 85 343 T_Maxmem */ "maxmem", /* 86 344 T_Maxpoll */ "maxpoll", /* 87 345 T_Mem */ "mem", - /* 88 346 T_Minclock */ "minclock", - /* 89 347 T_Mindepth */ "mindepth", - /* 90 348 T_Mindist */ "mindist", - /* 91 349 T_Minimum */ "minimum", - /* 92 350 T_Minpoll */ "minpoll", - /* 93 351 T_Minsane */ "minsane", - /* 94 352 T_Mode */ "mode", - /* 95 353 T_Mode7 */ "mode7", - /* 96 354 T_Monitor */ "monitor", - /* 97 355 T_Month */ "month", - /* 98 356 T_Mru */ "mru", - /* 99 357 T_Multicastclient */ "multicastclient", - /* 100 358 T_Nic */ "nic", - /* 101 359 T_Nolink */ "nolink", - /* 102 360 T_Nomodify */ "nomodify", - /* 103 361 T_Nomrulist */ "nomrulist", - /* 104 362 T_None */ "none", - /* 105 363 T_Nonvolatile */ "nonvolatile", - /* 106 364 T_Nopeer */ "nopeer", - /* 107 365 T_Noquery */ "noquery", - /* 108 366 T_Noselect */ "noselect", - /* 109 367 T_Noserve */ "noserve", - /* 110 368 T_Notrap */ "notrap", - /* 111 369 T_Notrust */ "notrust", - /* 112 370 T_Ntp */ "ntp", - /* 113 371 T_Ntpport */ "ntpport", - /* 114 372 T_NtpSignDsocket */ "ntpsigndsocket", - /* 115 373 T_Orphan */ "orphan", - /* 116 374 T_Orphanwait */ "orphanwait", - /* 117 375 T_Panic */ "panic", - /* 118 376 T_Peer */ "peer", - /* 119 377 T_Peerstats */ "peerstats", - /* 120 378 T_Phone */ "phone", - /* 121 379 T_Pid */ "pid", - /* 122 380 T_Pidfile */ "pidfile", - /* 123 381 T_Pool */ "pool", - /* 124 382 T_Port */ "port", - /* 125 383 T_Preempt */ "preempt", - /* 126 384 T_Prefer */ "prefer", - /* 127 385 T_Protostats */ "protostats", - /* 128 386 T_Pw */ "pw", - /* 129 387 T_Randfile */ "randfile", - /* 130 388 T_Rawstats */ "rawstats", - /* 131 389 T_Refid */ "refid", - /* 132 390 T_Requestkey */ "requestkey", - /* 133 391 T_Reset */ "reset", - /* 134 392 T_Restrict */ "restrict", - /* 135 393 T_Revoke */ "revoke", - /* 136 394 T_Saveconfigdir */ "saveconfigdir", - /* 137 395 T_Server */ "server", - /* 138 396 T_Setvar */ "setvar", - /* 139 397 T_Source */ "source", - /* 140 398 T_Statistics */ "statistics", - /* 141 399 T_Stats */ "stats", - /* 142 400 T_Statsdir */ "statsdir", - /* 143 401 T_Step */ "step", - /* 144 402 T_Stepout */ "stepout", - /* 145 403 T_Stratum */ "stratum", - /* 146 404 T_String */ NULL, - /* 147 405 T_Sys */ "sys", - /* 148 406 T_Sysstats */ "sysstats", - /* 149 407 T_Tick */ "tick", - /* 150 408 T_Time1 */ "time1", - /* 151 409 T_Time2 */ "time2", - /* 152 410 T_Timer */ "timer", - /* 153 411 T_Timingstats */ "timingstats", - /* 154 412 T_Tinker */ "tinker", - /* 155 413 T_Tos */ "tos", - /* 156 414 T_Trap */ "trap", - /* 157 415 T_True */ "true", - /* 158 416 T_Trustedkey */ "trustedkey", - /* 159 417 T_Ttl */ "ttl", - /* 160 418 T_Type */ "type", - /* 161 419 T_U_int */ NULL, - /* 162 420 T_Unconfig */ "unconfig", - /* 163 421 T_Unpeer */ "unpeer", - /* 164 422 T_Version */ "version", - /* 165 423 T_WanderThreshold */ NULL, - /* 166 424 T_Week */ "week", - /* 167 425 T_Wildcard */ "wildcard", - /* 168 426 T_Xleave */ "xleave", - /* 169 427 T_Year */ "year", - /* 170 428 T_Flag */ NULL, - /* 171 429 T_EOC */ NULL, - /* 172 430 T_Simulate */ "simulate", - /* 173 431 T_Beep_Delay */ "beep_delay", - /* 174 432 T_Sim_Duration */ "simulation_duration", - /* 175 433 T_Server_Offset */ "server_offset", - /* 176 434 T_Duration */ "duration", - /* 177 435 T_Freq_Offset */ "freq_offset", - /* 178 436 T_Wander */ "wander", - /* 179 437 T_Jitter */ "jitter", - /* 180 438 T_Prop_Delay */ "prop_delay", - /* 181 439 T_Proc_Delay */ "proc_delay" + /* 88 346 T_Memlock */ "memlock", + /* 89 347 T_Minclock */ "minclock", + /* 90 348 T_Mindepth */ "mindepth", + /* 91 349 T_Mindist */ "mindist", + /* 92 350 T_Minimum */ "minimum", + /* 93 351 T_Minpoll */ "minpoll", + /* 94 352 T_Minsane */ "minsane", + /* 95 353 T_Mode */ "mode", + /* 96 354 T_Mode7 */ "mode7", + /* 97 355 T_Monitor */ "monitor", + /* 98 356 T_Month */ "month", + /* 99 357 T_Mru */ "mru", + /* 100 358 T_Multicastclient */ "multicastclient", + /* 101 359 T_Nic */ "nic", + /* 102 360 T_Nolink */ "nolink", + /* 103 361 T_Nomodify */ "nomodify", + /* 104 362 T_Nomrulist */ "nomrulist", + /* 105 363 T_None */ "none", + /* 106 364 T_Nonvolatile */ "nonvolatile", + /* 107 365 T_Nopeer */ "nopeer", + /* 108 366 T_Noquery */ "noquery", + /* 109 367 T_Noselect */ "noselect", + /* 110 368 T_Noserve */ "noserve", + /* 111 369 T_Notrap */ "notrap", + /* 112 370 T_Notrust */ "notrust", + /* 113 371 T_Ntp */ "ntp", + /* 114 372 T_Ntpport */ "ntpport", + /* 115 373 T_NtpSignDsocket */ "ntpsigndsocket", + /* 116 374 T_Orphan */ "orphan", + /* 117 375 T_Orphanwait */ "orphanwait", + /* 118 376 T_Panic */ "panic", + /* 119 377 T_Peer */ "peer", + /* 120 378 T_Peerstats */ "peerstats", + /* 121 379 T_Phone */ "phone", + /* 122 380 T_Pid */ "pid", + /* 123 381 T_Pidfile */ "pidfile", + /* 124 382 T_Pool */ "pool", + /* 125 383 T_Port */ "port", + /* 126 384 T_Preempt */ "preempt", + /* 127 385 T_Prefer */ "prefer", + /* 128 386 T_Protostats */ "protostats", + /* 129 387 T_Pw */ "pw", + /* 130 388 T_Randfile */ "randfile", + /* 131 389 T_Rawstats */ "rawstats", + /* 132 390 T_Refid */ "refid", + /* 133 391 T_Requestkey */ "requestkey", + /* 134 392 T_Reset */ "reset", + /* 135 393 T_Restrict */ "restrict", + /* 136 394 T_Revoke */ "revoke", + /* 137 395 T_Rlimit */ "rlimit", + /* 138 396 T_Saveconfigdir */ "saveconfigdir", + /* 139 397 T_Server */ "server", + /* 140 398 T_Setvar */ "setvar", + /* 141 399 T_Source */ "source", + /* 142 400 T_Stacksize */ "stacksize", + /* 143 401 T_Statistics */ "statistics", + /* 144 402 T_Stats */ "stats", + /* 145 403 T_Statsdir */ "statsdir", + /* 146 404 T_Step */ "step", + /* 147 405 T_Stepout */ "stepout", + /* 148 406 T_Stratum */ "stratum", + /* 149 407 T_String */ NULL, + /* 150 408 T_Sys */ "sys", + /* 151 409 T_Sysstats */ "sysstats", + /* 152 410 T_Tick */ "tick", + /* 153 411 T_Time1 */ "time1", + /* 154 412 T_Time2 */ "time2", + /* 155 413 T_Timer */ "timer", + /* 156 414 T_Timingstats */ "timingstats", + /* 157 415 T_Tinker */ "tinker", + /* 158 416 T_Tos */ "tos", + /* 159 417 T_Trap */ "trap", + /* 160 418 T_True */ "true", + /* 161 419 T_Trustedkey */ "trustedkey", + /* 162 420 T_Ttl */ "ttl", + /* 163 421 T_Type */ "type", + /* 164 422 T_U_int */ NULL, + /* 165 423 T_Unconfig */ "unconfig", + /* 166 424 T_Unpeer */ "unpeer", + /* 167 425 T_Version */ "version", + /* 168 426 T_WanderThreshold */ NULL, + /* 169 427 T_Week */ "week", + /* 170 428 T_Wildcard */ "wildcard", + /* 171 429 T_Xleave */ "xleave", + /* 172 430 T_Year */ "year", + /* 173 431 T_Flag */ NULL, + /* 174 432 T_EOC */ NULL, + /* 175 433 T_Simulate */ "simulate", + /* 176 434 T_Beep_Delay */ "beep_delay", + /* 177 435 T_Sim_Duration */ "simulation_duration", + /* 178 436 T_Server_Offset */ "server_offset", + /* 179 437 T_Duration */ "duration", + /* 180 438 T_Freq_Offset */ "freq_offset", + /* 181 439 T_Wander */ "wander", + /* 182 440 T_Jitter */ "jitter", + /* 183 441 T_Prop_Delay */ "prop_delay", + /* 184 442 T_Proc_Delay */ "proc_delay" }; -#define SCANNER_INIT_S 804 +#define SCANNER_INIT_S 819 -const scan_state sst[807] = { +const scan_state sst[822] = { /*SS_T( ch, f-by, match, other ), */ 0, /* 0 */ S_ST( '-', 3, 321, 0 ), /* 1 */ @@ -243,7 +246,7 @@ const scan_state sst[807] = { S_ST( 'd', 3, 42, 0 ), /* 41 beep_ */ S_ST( 'e', 3, 43, 0 ), /* 42 beep_d */ S_ST( 'l', 3, 44, 0 ), /* 43 beep_de */ - S_ST( 'a', 3, 431, 0 ), /* 44 beep_del */ + S_ST( 'a', 3, 434, 0 ), /* 44 beep_del */ S_ST( 'r', 3, 46, 34 ), /* 45 b */ S_ST( 'o', 3, 47, 0 ), /* 46 br */ S_ST( 'a', 3, 48, 0 ), /* 47 bro */ @@ -341,7 +344,7 @@ const scan_state sst[807] = { S_ST( 'a', 3, 140, 0 ), /* 139 dur */ S_ST( 't', 3, 141, 0 ), /* 140 dura */ S_ST( 'i', 3, 142, 0 ), /* 141 durat */ - S_ST( 'o', 3, 434, 0 ), /* 142 durati */ + S_ST( 'o', 3, 437, 0 ), /* 142 durati */ S_ST( 'e', 3, 144, 105 ), /* 143 */ S_ST( 'n', 3, 292, 0 ), /* 144 e */ S_ST( 'a', 3, 146, 0 ), /* 145 en */ @@ -365,7 +368,7 @@ const scan_state sst[807] = { S_ST( 'f', 3, 164, 0 ), /* 163 freq_o */ S_ST( 'f', 3, 165, 0 ), /* 164 freq_of */ S_ST( 's', 3, 166, 0 ), /* 165 freq_off */ - S_ST( 'e', 3, 435, 0 ), /* 166 freq_offs */ + S_ST( 'e', 3, 438, 0 ), /* 166 freq_offs */ S_ST( 'u', 3, 168, 159 ), /* 167 f */ S_ST( 'd', 3, 169, 0 ), /* 168 fu */ S_ST( 'g', 3, 303, 0 ), /* 169 fud */ @@ -425,7 +428,7 @@ const scan_state sst[807] = { S_ST( 'i', 3, 224, 0 ), /* 223 j */ S_ST( 't', 3, 225, 0 ), /* 224 ji */ S_ST( 't', 3, 226, 0 ), /* 225 jit */ - S_ST( 'e', 3, 437, 0 ), /* 226 jitt */ + S_ST( 'e', 3, 440, 0 ), /* 226 jitt */ S_ST( 'k', 3, 234, 222 ), /* 227 */ S_ST( 'e', 3, 323, 0 ), /* 228 k */ S_ST( 'r', 3, 230, 0 ), /* 229 ke */ @@ -450,7 +453,7 @@ const scan_state sst[807] = { S_ST( 's', 3, 249, 247 ), /* 248 li */ S_ST( 't', 3, 250, 0 ), /* 249 lis */ S_ST( 'e', 3, 331, 0 ), /* 250 list */ - S_ST( 'o', 3, 440, 242 ), /* 251 l */ + S_ST( 'o', 3, 443, 242 ), /* 251 l */ S_ST( 'g', 3, 287, 0 ), /* 252 lo */ S_ST( 'c', 3, 254, 0 ), /* 253 log */ S_ST( 'o', 3, 255, 0 ), /* 254 logc */ @@ -515,7 +518,7 @@ const scan_state sst[807] = { S_ST( 'e', 1, 0, 0 ), /* 313 T_Includefile */ S_ST( 'l', 3, 333, 0 ), /* 314 logfi */ S_ST( 'e', 0, 0, 0 ), /* 315 T_Interface */ - S_ST( 'o', 3, 404, 252 ), /* 316 lo */ + S_ST( 'o', 3, 407, 252 ), /* 316 lo */ S_ST( 'o', 0, 0, 191 ), /* 317 T_Io */ S_ST( '4', 0, 0, 0 ), /* 318 T_Ipv4 */ S_ST( '4', 0, 0, 0 ), /* 319 T_Ipv4_flag */ @@ -544,467 +547,482 @@ const scan_state sst[807] = { S_ST( 't', 0, 0, 0 ), /* 342 T_Maxdist */ S_ST( 'm', 0, 0, 0 ), /* 343 T_Maxmem */ S_ST( 'l', 0, 0, 0 ), /* 344 T_Maxpoll */ - S_ST( 'm', 0, 0, 0 ), /* 345 T_Mem */ - S_ST( 'k', 0, 0, 0 ), /* 346 T_Minclock */ - S_ST( 'h', 0, 0, 0 ), /* 347 T_Mindepth */ - S_ST( 't', 0, 0, 0 ), /* 348 T_Mindist */ - S_ST( 'm', 0, 0, 0 ), /* 349 T_Minimum */ - S_ST( 'l', 0, 0, 0 ), /* 350 T_Minpoll */ - S_ST( 'e', 0, 0, 0 ), /* 351 T_Minsane */ - S_ST( 'e', 0, 353, 0 ), /* 352 T_Mode */ - S_ST( '7', 0, 0, 0 ), /* 353 T_Mode7 */ - S_ST( 'r', 0, 0, 0 ), /* 354 T_Monitor */ - S_ST( 'h', 0, 0, 0 ), /* 355 T_Month */ - S_ST( 'u', 0, 0, 0 ), /* 356 T_Mru */ - S_ST( 't', 2, 0, 0 ), /* 357 T_Multicastclient */ - S_ST( 'c', 0, 0, 0 ), /* 358 T_Nic */ - S_ST( 'k', 0, 0, 0 ), /* 359 T_Nolink */ - S_ST( 'y', 0, 0, 0 ), /* 360 T_Nomodify */ - S_ST( 't', 0, 0, 0 ), /* 361 T_Nomrulist */ - S_ST( 'e', 0, 0, 0 ), /* 362 T_None */ - S_ST( 'e', 0, 0, 0 ), /* 363 T_Nonvolatile */ - S_ST( 'r', 0, 0, 0 ), /* 364 T_Nopeer */ - S_ST( 'y', 0, 0, 0 ), /* 365 T_Noquery */ - S_ST( 't', 0, 0, 0 ), /* 366 T_Noselect */ - S_ST( 'e', 0, 0, 0 ), /* 367 T_Noserve */ - S_ST( 'p', 0, 0, 0 ), /* 368 T_Notrap */ - S_ST( 't', 0, 0, 0 ), /* 369 T_Notrust */ - S_ST( 'p', 0, 579, 0 ), /* 370 T_Ntp */ - S_ST( 't', 0, 0, 0 ), /* 371 T_Ntpport */ - S_ST( 't', 1, 0, 0 ), /* 372 T_NtpSignDsocket */ - S_ST( 'n', 0, 594, 0 ), /* 373 T_Orphan */ - S_ST( 't', 0, 0, 0 ), /* 374 T_Orphanwait */ - S_ST( 'c', 0, 0, 0 ), /* 375 T_Panic */ - S_ST( 'r', 1, 603, 0 ), /* 376 T_Peer */ - S_ST( 's', 0, 0, 0 ), /* 377 T_Peerstats */ - S_ST( 'e', 2, 0, 0 ), /* 378 T_Phone */ - S_ST( 'd', 0, 611, 0 ), /* 379 T_Pid */ - S_ST( 'e', 1, 0, 0 ), /* 380 T_Pidfile */ - S_ST( 'l', 1, 0, 0 ), /* 381 T_Pool */ - S_ST( 't', 0, 0, 0 ), /* 382 T_Port */ - S_ST( 't', 0, 0, 0 ), /* 383 T_Preempt */ - S_ST( 'r', 0, 0, 0 ), /* 384 T_Prefer */ - S_ST( 's', 0, 0, 0 ), /* 385 T_Protostats */ - S_ST( 'w', 1, 0, 617 ), /* 386 T_Pw */ - S_ST( 'e', 1, 0, 0 ), /* 387 T_Randfile */ - S_ST( 's', 0, 0, 0 ), /* 388 T_Rawstats */ - S_ST( 'd', 1, 0, 0 ), /* 389 T_Refid */ - S_ST( 'y', 0, 0, 0 ), /* 390 T_Requestkey */ - S_ST( 't', 0, 0, 0 ), /* 391 T_Reset */ - S_ST( 't', 0, 0, 0 ), /* 392 T_Restrict */ - S_ST( 'e', 0, 0, 0 ), /* 393 T_Revoke */ - S_ST( 'r', 1, 0, 0 ), /* 394 T_Saveconfigdir */ - S_ST( 'r', 1, 690, 0 ), /* 395 T_Server */ - S_ST( 'r', 1, 0, 0 ), /* 396 T_Setvar */ - S_ST( 'e', 0, 0, 0 ), /* 397 T_Source */ - S_ST( 's', 0, 0, 0 ), /* 398 T_Statistics */ - S_ST( 's', 0, 728, 723 ), /* 399 T_Stats */ - S_ST( 'r', 1, 0, 0 ), /* 400 T_Statsdir */ - S_ST( 'p', 0, 731, 0 ), /* 401 T_Step */ - S_ST( 't', 0, 0, 0 ), /* 402 T_Stepout */ - S_ST( 'm', 0, 0, 0 ), /* 403 T_Stratum */ - S_ST( 'p', 3, 419, 0 ), /* 404 loo */ - S_ST( 's', 0, 738, 0 ), /* 405 T_Sys */ - S_ST( 's', 0, 0, 0 ), /* 406 T_Sysstats */ - S_ST( 'k', 0, 0, 0 ), /* 407 T_Tick */ - S_ST( '1', 0, 0, 0 ), /* 408 T_Time1 */ - S_ST( '2', 0, 0, 408 ), /* 409 T_Time2 */ - S_ST( 'r', 0, 0, 409 ), /* 410 T_Timer */ - S_ST( 's', 0, 0, 0 ), /* 411 T_Timingstats */ - S_ST( 'r', 0, 0, 0 ), /* 412 T_Tinker */ - S_ST( 's', 0, 0, 0 ), /* 413 T_Tos */ - S_ST( 'p', 1, 0, 0 ), /* 414 T_Trap */ - S_ST( 'e', 0, 0, 0 ), /* 415 T_True */ - S_ST( 'y', 0, 0, 0 ), /* 416 T_Trustedkey */ - S_ST( 'l', 0, 0, 0 ), /* 417 T_Ttl */ - S_ST( 'e', 0, 0, 0 ), /* 418 T_Type */ - S_ST( 's', 3, 423, 0 ), /* 419 loop */ - S_ST( 'g', 1, 0, 0 ), /* 420 T_Unconfig */ - S_ST( 'r', 1, 0, 0 ), /* 421 T_Unpeer */ - S_ST( 'n', 0, 0, 0 ), /* 422 T_Version */ - S_ST( 't', 3, 428, 0 ), /* 423 loops */ - S_ST( 'k', 0, 0, 0 ), /* 424 T_Week */ - S_ST( 'd', 0, 0, 0 ), /* 425 T_Wildcard */ - S_ST( 'e', 0, 0, 0 ), /* 426 T_Xleave */ - S_ST( 'r', 0, 0, 0 ), /* 427 T_Year */ - S_ST( 'a', 3, 429, 0 ), /* 428 loopst */ - S_ST( 't', 3, 334, 0 ), /* 429 loopsta */ - S_ST( 'e', 0, 0, 0 ), /* 430 T_Simulate */ - S_ST( 'y', 0, 0, 0 ), /* 431 T_Beep_Delay */ - S_ST( 'n', 0, 0, 0 ), /* 432 T_Sim_Duration */ - S_ST( 't', 0, 0, 0 ), /* 433 T_Server_Offset */ - S_ST( 'n', 0, 0, 0 ), /* 434 T_Duration */ - S_ST( 't', 0, 0, 0 ), /* 435 T_Freq_Offset */ - S_ST( 'r', 0, 0, 0 ), /* 436 T_Wander */ - S_ST( 'r', 0, 0, 0 ), /* 437 T_Jitter */ - S_ST( 'y', 0, 0, 0 ), /* 438 T_Prop_Delay */ - S_ST( 'y', 0, 0, 0 ), /* 439 T_Proc_Delay */ - S_ST( 'w', 3, 441, 316 ), /* 440 lo */ - S_ST( 'p', 3, 442, 0 ), /* 441 low */ - S_ST( 'r', 3, 443, 0 ), /* 442 lowp */ - S_ST( 'i', 3, 444, 0 ), /* 443 lowpr */ - S_ST( 'o', 3, 445, 0 ), /* 444 lowpri */ - S_ST( 't', 3, 446, 0 ), /* 445 lowprio */ - S_ST( 'r', 3, 447, 0 ), /* 446 lowpriot */ - S_ST( 'a', 3, 335, 0 ), /* 447 lowpriotr */ - S_ST( 'm', 3, 519, 235 ), /* 448 */ - S_ST( 'a', 3, 467, 0 ), /* 449 m */ - S_ST( 'n', 3, 451, 0 ), /* 450 ma */ - S_ST( 'y', 3, 452, 0 ), /* 451 man */ - S_ST( 'c', 3, 453, 0 ), /* 452 many */ - S_ST( 'a', 3, 454, 0 ), /* 453 manyc */ - S_ST( 's', 3, 455, 0 ), /* 454 manyca */ - S_ST( 't', 3, 461, 0 ), /* 455 manycas */ - S_ST( 'c', 3, 457, 0 ), /* 456 manycast */ - S_ST( 'l', 3, 458, 0 ), /* 457 manycastc */ - S_ST( 'i', 3, 459, 0 ), /* 458 manycastcl */ - S_ST( 'e', 3, 460, 0 ), /* 459 manycastcli */ - S_ST( 'n', 3, 336, 0 ), /* 460 manycastclie */ - S_ST( 's', 3, 462, 456 ), /* 461 manycast */ - S_ST( 'e', 3, 463, 0 ), /* 462 manycasts */ - S_ST( 'r', 3, 464, 0 ), /* 463 manycastse */ - S_ST( 'v', 3, 465, 0 ), /* 464 manycastser */ - S_ST( 'e', 3, 337, 0 ), /* 465 manycastserv */ - S_ST( 's', 3, 338, 450 ), /* 466 ma */ - S_ST( 'x', 3, 482, 466 ), /* 467 ma */ - S_ST( 'a', 3, 469, 0 ), /* 468 max */ - S_ST( 'g', 3, 339, 0 ), /* 469 maxa */ - S_ST( 'c', 3, 471, 468 ), /* 470 max */ - S_ST( 'l', 3, 472, 0 ), /* 471 maxc */ - S_ST( 'o', 3, 473, 0 ), /* 472 maxcl */ - S_ST( 'c', 3, 340, 0 ), /* 473 maxclo */ - S_ST( 'd', 3, 478, 470 ), /* 474 max */ - S_ST( 'e', 3, 476, 0 ), /* 475 maxd */ - S_ST( 'p', 3, 477, 0 ), /* 476 maxde */ - S_ST( 't', 3, 341, 0 ), /* 477 maxdep */ - S_ST( 'i', 3, 479, 475 ), /* 478 maxd */ - S_ST( 's', 3, 342, 0 ), /* 479 maxdi */ - S_ST( 'm', 3, 481, 474 ), /* 480 max */ - S_ST( 'e', 3, 343, 0 ), /* 481 maxm */ - S_ST( 'p', 3, 483, 480 ), /* 482 max */ - S_ST( 'o', 3, 484, 0 ), /* 483 maxp */ - S_ST( 'l', 3, 344, 0 ), /* 484 maxpo */ - S_ST( 'e', 3, 345, 449 ), /* 485 m */ - S_ST( 'i', 3, 487, 485 ), /* 486 m */ - S_ST( 'n', 3, 504, 0 ), /* 487 mi */ - S_ST( 'c', 3, 489, 0 ), /* 488 min */ - S_ST( 'l', 3, 490, 0 ), /* 489 minc */ - S_ST( 'o', 3, 491, 0 ), /* 490 mincl */ - S_ST( 'c', 3, 346, 0 ), /* 491 minclo */ - S_ST( 'd', 3, 496, 488 ), /* 492 min */ - S_ST( 'e', 3, 494, 0 ), /* 493 mind */ - S_ST( 'p', 3, 495, 0 ), /* 494 minde */ - S_ST( 't', 3, 347, 0 ), /* 495 mindep */ - S_ST( 'i', 3, 497, 493 ), /* 496 mind */ - S_ST( 's', 3, 348, 0 ), /* 497 mindi */ - S_ST( 'i', 3, 499, 492 ), /* 498 min */ - S_ST( 'm', 3, 500, 0 ), /* 499 mini */ - S_ST( 'u', 3, 349, 0 ), /* 500 minim */ - S_ST( 'p', 3, 502, 498 ), /* 501 min */ - S_ST( 'o', 3, 503, 0 ), /* 502 minp */ - S_ST( 'l', 3, 350, 0 ), /* 503 minpo */ - S_ST( 's', 3, 505, 501 ), /* 504 min */ - S_ST( 'a', 3, 506, 0 ), /* 505 mins */ - S_ST( 'n', 3, 351, 0 ), /* 506 minsa */ - S_ST( 'o', 3, 509, 486 ), /* 507 m */ - S_ST( 'd', 3, 352, 0 ), /* 508 mo */ - S_ST( 'n', 3, 513, 508 ), /* 509 mo */ - S_ST( 'i', 3, 511, 0 ), /* 510 mon */ - S_ST( 't', 3, 512, 0 ), /* 511 moni */ - S_ST( 'o', 3, 354, 0 ), /* 512 monit */ - S_ST( 't', 3, 355, 510 ), /* 513 mon */ - S_ST( 'r', 3, 356, 507 ), /* 514 m */ - S_ST( 's', 3, 516, 514 ), /* 515 m */ - S_ST( 's', 3, 517, 0 ), /* 516 ms */ - S_ST( 'n', 3, 518, 0 ), /* 517 mss */ - S_ST( 't', 3, 327, 0 ), /* 518 mssn */ - S_ST( 'u', 3, 520, 515 ), /* 519 m */ - S_ST( 'l', 3, 521, 0 ), /* 520 mu */ - S_ST( 't', 3, 522, 0 ), /* 521 mul */ - S_ST( 'i', 3, 523, 0 ), /* 522 mult */ - S_ST( 'c', 3, 524, 0 ), /* 523 multi */ - S_ST( 'a', 3, 525, 0 ), /* 524 multic */ - S_ST( 's', 3, 526, 0 ), /* 525 multica */ - S_ST( 't', 3, 527, 0 ), /* 526 multicas */ - S_ST( 'c', 3, 528, 0 ), /* 527 multicast */ - S_ST( 'l', 3, 529, 0 ), /* 528 multicastc */ - S_ST( 'i', 3, 530, 0 ), /* 529 multicastcl */ - S_ST( 'e', 3, 531, 0 ), /* 530 multicastcli */ - S_ST( 'n', 3, 357, 0 ), /* 531 multicastclie */ - S_ST( 'n', 3, 575, 448 ), /* 532 */ - S_ST( 'i', 3, 358, 0 ), /* 533 n */ - S_ST( 'o', 3, 570, 533 ), /* 534 n */ - S_ST( 'l', 3, 536, 0 ), /* 535 no */ - S_ST( 'i', 3, 537, 0 ), /* 536 nol */ - S_ST( 'n', 3, 359, 0 ), /* 537 noli */ - S_ST( 'm', 3, 543, 535 ), /* 538 no */ - S_ST( 'o', 3, 540, 0 ), /* 539 nom */ - S_ST( 'd', 3, 541, 0 ), /* 540 nomo */ - S_ST( 'i', 3, 542, 0 ), /* 541 nomod */ - S_ST( 'f', 3, 360, 0 ), /* 542 nomodi */ - S_ST( 'r', 3, 544, 539 ), /* 543 nom */ - S_ST( 'u', 3, 545, 0 ), /* 544 nomr */ - S_ST( 'l', 3, 546, 0 ), /* 545 nomru */ - S_ST( 'i', 3, 547, 0 ), /* 546 nomrul */ - S_ST( 's', 3, 361, 0 ), /* 547 nomruli */ - S_ST( 'n', 3, 549, 538 ), /* 548 no */ - S_ST( 'v', 3, 550, 362 ), /* 549 non */ - S_ST( 'o', 3, 551, 0 ), /* 550 nonv */ - S_ST( 'l', 3, 552, 0 ), /* 551 nonvo */ - S_ST( 'a', 3, 553, 0 ), /* 552 nonvol */ - S_ST( 't', 3, 554, 0 ), /* 553 nonvola */ - S_ST( 'i', 3, 555, 0 ), /* 554 nonvolat */ - S_ST( 'l', 3, 363, 0 ), /* 555 nonvolati */ - S_ST( 'p', 3, 557, 548 ), /* 556 no */ - S_ST( 'e', 3, 558, 0 ), /* 557 nop */ - S_ST( 'e', 3, 364, 0 ), /* 558 nope */ - S_ST( 'q', 3, 560, 556 ), /* 559 no */ - S_ST( 'u', 3, 561, 0 ), /* 560 noq */ - S_ST( 'e', 3, 562, 0 ), /* 561 noqu */ - S_ST( 'r', 3, 365, 0 ), /* 562 noque */ - S_ST( 's', 3, 564, 559 ), /* 563 no */ - S_ST( 'e', 3, 568, 0 ), /* 564 nos */ - S_ST( 'l', 3, 566, 0 ), /* 565 nose */ - S_ST( 'e', 3, 567, 0 ), /* 566 nosel */ - S_ST( 'c', 3, 366, 0 ), /* 567 nosele */ - S_ST( 'r', 3, 569, 565 ), /* 568 nose */ - S_ST( 'v', 3, 367, 0 ), /* 569 noser */ - S_ST( 't', 3, 571, 563 ), /* 570 no */ - S_ST( 'r', 3, 573, 0 ), /* 571 not */ - S_ST( 'a', 3, 368, 0 ), /* 572 notr */ - S_ST( 'u', 3, 574, 572 ), /* 573 notr */ - S_ST( 's', 3, 369, 0 ), /* 574 notru */ - S_ST( 't', 3, 370, 534 ), /* 575 n */ - S_ST( 'p', 3, 577, 0 ), /* 576 ntp */ - S_ST( 'o', 3, 578, 0 ), /* 577 ntpp */ - S_ST( 'r', 3, 371, 0 ), /* 578 ntppo */ - S_ST( 's', 3, 580, 576 ), /* 579 ntp */ - S_ST( 'i', 3, 581, 0 ), /* 580 ntps */ - S_ST( 'g', 3, 582, 0 ), /* 581 ntpsi */ - S_ST( 'n', 3, 583, 0 ), /* 582 ntpsig */ - S_ST( 'd', 3, 584, 0 ), /* 583 ntpsign */ - S_ST( 's', 3, 585, 0 ), /* 584 ntpsignd */ - S_ST( 'o', 3, 586, 0 ), /* 585 ntpsignds */ - S_ST( 'c', 3, 587, 0 ), /* 586 ntpsigndso */ - S_ST( 'k', 3, 588, 0 ), /* 587 ntpsigndsoc */ - S_ST( 'e', 3, 372, 0 ), /* 588 ntpsigndsock */ - S_ST( 'o', 3, 590, 532 ), /* 589 */ - S_ST( 'r', 3, 591, 0 ), /* 590 o */ - S_ST( 'p', 3, 592, 0 ), /* 591 or */ - S_ST( 'h', 3, 593, 0 ), /* 592 orp */ - S_ST( 'a', 3, 373, 0 ), /* 593 orph */ - S_ST( 'w', 3, 595, 0 ), /* 594 orphan */ - S_ST( 'a', 3, 596, 0 ), /* 595 orphanw */ - S_ST( 'i', 3, 374, 0 ), /* 596 orphanwa */ - S_ST( 'p', 3, 386, 589 ), /* 597 */ - S_ST( 'a', 3, 599, 0 ), /* 598 p */ - S_ST( 'n', 3, 600, 0 ), /* 599 pa */ - S_ST( 'i', 3, 375, 0 ), /* 600 pan */ - S_ST( 'e', 3, 602, 598 ), /* 601 p */ - S_ST( 'e', 3, 376, 0 ), /* 602 pe */ - S_ST( 's', 3, 604, 0 ), /* 603 peer */ - S_ST( 't', 3, 605, 0 ), /* 604 peers */ - S_ST( 'a', 3, 606, 0 ), /* 605 peerst */ - S_ST( 't', 3, 377, 0 ), /* 606 peersta */ - S_ST( 'h', 3, 608, 601 ), /* 607 p */ - S_ST( 'o', 3, 609, 0 ), /* 608 ph */ - S_ST( 'n', 3, 378, 0 ), /* 609 pho */ - S_ST( 'i', 3, 379, 607 ), /* 610 p */ - S_ST( 'f', 3, 612, 0 ), /* 611 pid */ - S_ST( 'i', 3, 613, 0 ), /* 612 pidf */ - S_ST( 'l', 3, 380, 0 ), /* 613 pidfi */ - S_ST( 'o', 3, 616, 610 ), /* 614 p */ - S_ST( 'o', 3, 381, 0 ), /* 615 po */ - S_ST( 'r', 3, 382, 615 ), /* 616 po */ - S_ST( 'r', 3, 624, 614 ), /* 617 p */ - S_ST( 'e', 3, 622, 0 ), /* 618 pr */ - S_ST( 'e', 3, 620, 0 ), /* 619 pre */ - S_ST( 'm', 3, 621, 0 ), /* 620 pree */ - S_ST( 'p', 3, 383, 0 ), /* 621 preem */ - S_ST( 'f', 3, 623, 619 ), /* 622 pre */ - S_ST( 'e', 3, 384, 0 ), /* 623 pref */ - S_ST( 'o', 3, 637, 618 ), /* 624 pr */ - S_ST( 'c', 3, 626, 0 ), /* 625 pro */ - S_ST( '_', 3, 627, 0 ), /* 626 proc */ - S_ST( 'd', 3, 628, 0 ), /* 627 proc_ */ - S_ST( 'e', 3, 629, 0 ), /* 628 proc_d */ - S_ST( 'l', 3, 630, 0 ), /* 629 proc_de */ - S_ST( 'a', 3, 439, 0 ), /* 630 proc_del */ - S_ST( 'p', 3, 632, 625 ), /* 631 pro */ - S_ST( '_', 3, 633, 0 ), /* 632 prop */ - S_ST( 'd', 3, 634, 0 ), /* 633 prop_ */ - S_ST( 'e', 3, 635, 0 ), /* 634 prop_d */ - S_ST( 'l', 3, 636, 0 ), /* 635 prop_de */ - S_ST( 'a', 3, 438, 0 ), /* 636 prop_del */ - S_ST( 't', 3, 638, 631 ), /* 637 pro */ - S_ST( 'o', 3, 639, 0 ), /* 638 prot */ - S_ST( 's', 3, 640, 0 ), /* 639 proto */ - S_ST( 't', 3, 641, 0 ), /* 640 protos */ - S_ST( 'a', 3, 642, 0 ), /* 641 protost */ - S_ST( 't', 3, 385, 0 ), /* 642 protosta */ - S_ST( 'r', 3, 655, 597 ), /* 643 */ - S_ST( 'a', 3, 650, 0 ), /* 644 r */ - S_ST( 'n', 3, 646, 0 ), /* 645 ra */ - S_ST( 'd', 3, 647, 0 ), /* 646 ran */ - S_ST( 'f', 3, 648, 0 ), /* 647 rand */ - S_ST( 'i', 3, 649, 0 ), /* 648 randf */ - S_ST( 'l', 3, 387, 0 ), /* 649 randfi */ - S_ST( 'w', 3, 651, 645 ), /* 650 ra */ - S_ST( 's', 3, 652, 0 ), /* 651 raw */ - S_ST( 't', 3, 653, 0 ), /* 652 raws */ - S_ST( 'a', 3, 654, 0 ), /* 653 rawst */ - S_ST( 't', 3, 388, 0 ), /* 654 rawsta */ - S_ST( 'e', 3, 671, 644 ), /* 655 r */ - S_ST( 'f', 3, 657, 0 ), /* 656 re */ - S_ST( 'i', 3, 389, 0 ), /* 657 ref */ - S_ST( 'q', 3, 659, 656 ), /* 658 re */ - S_ST( 'u', 3, 660, 0 ), /* 659 req */ - S_ST( 'e', 3, 661, 0 ), /* 660 requ */ - S_ST( 's', 3, 662, 0 ), /* 661 reque */ - S_ST( 't', 3, 663, 0 ), /* 662 reques */ - S_ST( 'k', 3, 664, 0 ), /* 663 request */ - S_ST( 'e', 3, 390, 0 ), /* 664 requestk */ - S_ST( 's', 3, 667, 658 ), /* 665 re */ - S_ST( 'e', 3, 391, 0 ), /* 666 res */ - S_ST( 't', 3, 668, 666 ), /* 667 res */ - S_ST( 'r', 3, 669, 0 ), /* 668 rest */ - S_ST( 'i', 3, 670, 0 ), /* 669 restr */ - S_ST( 'c', 3, 392, 0 ), /* 670 restri */ - S_ST( 'v', 3, 672, 665 ), /* 671 re */ - S_ST( 'o', 3, 673, 0 ), /* 672 rev */ - S_ST( 'k', 3, 393, 0 ), /* 673 revo */ - S_ST( 's', 3, 737, 643 ), /* 674 */ - S_ST( 'a', 3, 676, 0 ), /* 675 s */ - S_ST( 'v', 3, 677, 0 ), /* 676 sa */ - S_ST( 'e', 3, 678, 0 ), /* 677 sav */ - S_ST( 'c', 3, 679, 0 ), /* 678 save */ - S_ST( 'o', 3, 680, 0 ), /* 679 savec */ - S_ST( 'n', 3, 681, 0 ), /* 680 saveco */ - S_ST( 'f', 3, 682, 0 ), /* 681 savecon */ - S_ST( 'i', 3, 683, 0 ), /* 682 saveconf */ - S_ST( 'g', 3, 684, 0 ), /* 683 saveconfi */ - S_ST( 'd', 3, 685, 0 ), /* 684 saveconfig */ - S_ST( 'i', 3, 394, 0 ), /* 685 saveconfigd */ - S_ST( 'e', 3, 696, 675 ), /* 686 s */ - S_ST( 'r', 3, 688, 0 ), /* 687 se */ - S_ST( 'v', 3, 689, 0 ), /* 688 ser */ - S_ST( 'e', 3, 395, 0 ), /* 689 serv */ - S_ST( '_', 3, 691, 0 ), /* 690 server */ - S_ST( 'o', 3, 692, 0 ), /* 691 server_ */ - S_ST( 'f', 3, 693, 0 ), /* 692 server_o */ - S_ST( 'f', 3, 694, 0 ), /* 693 server_of */ - S_ST( 's', 3, 695, 0 ), /* 694 server_off */ - S_ST( 'e', 3, 433, 0 ), /* 695 server_offs */ - S_ST( 't', 3, 697, 687 ), /* 696 se */ - S_ST( 'v', 3, 698, 0 ), /* 697 set */ - S_ST( 'a', 3, 396, 0 ), /* 698 setv */ - S_ST( 'i', 3, 700, 686 ), /* 699 s */ - S_ST( 'm', 3, 701, 0 ), /* 700 si */ - S_ST( 'u', 3, 702, 0 ), /* 701 sim */ - S_ST( 'l', 3, 703, 0 ), /* 702 simu */ - S_ST( 'a', 3, 704, 0 ), /* 703 simul */ - S_ST( 't', 3, 705, 0 ), /* 704 simula */ - S_ST( 'i', 3, 706, 430 ), /* 705 simulat */ - S_ST( 'o', 3, 707, 0 ), /* 706 simulati */ - S_ST( 'n', 3, 708, 0 ), /* 707 simulatio */ - S_ST( '_', 3, 709, 0 ), /* 708 simulation */ - S_ST( 'd', 3, 710, 0 ), /* 709 simulation_ */ - S_ST( 'u', 3, 711, 0 ), /* 710 simulation_d */ - S_ST( 'r', 3, 712, 0 ), /* 711 simulation_du */ - S_ST( 'a', 3, 713, 0 ), /* 712 simulation_dur */ - S_ST( 't', 3, 714, 0 ), /* 713 simulation_dura */ - S_ST( 'i', 3, 715, 0 ), /* 714 simulation_durat */ - S_ST( 'o', 3, 432, 0 ), /* 715 simulation_durati */ - S_ST( 'o', 3, 717, 699 ), /* 716 s */ - S_ST( 'u', 3, 718, 0 ), /* 717 so */ - S_ST( 'r', 3, 719, 0 ), /* 718 sou */ - S_ST( 'c', 3, 397, 0 ), /* 719 sour */ - S_ST( 't', 3, 733, 716 ), /* 720 s */ - S_ST( 'a', 3, 722, 0 ), /* 721 st */ - S_ST( 't', 3, 399, 0 ), /* 722 sta */ - S_ST( 'i', 3, 724, 0 ), /* 723 stat */ - S_ST( 's', 3, 725, 0 ), /* 724 stati */ - S_ST( 't', 3, 726, 0 ), /* 725 statis */ - S_ST( 'i', 3, 727, 0 ), /* 726 statist */ - S_ST( 'c', 3, 398, 0 ), /* 727 statisti */ - S_ST( 'd', 3, 729, 0 ), /* 728 stats */ - S_ST( 'i', 3, 400, 0 ), /* 729 statsd */ - S_ST( 'e', 3, 401, 721 ), /* 730 st */ - S_ST( 'o', 3, 732, 0 ), /* 731 step */ - S_ST( 'u', 3, 402, 0 ), /* 732 stepo */ - S_ST( 'r', 3, 734, 730 ), /* 733 st */ - S_ST( 'a', 3, 735, 0 ), /* 734 str */ - S_ST( 't', 3, 736, 0 ), /* 735 stra */ - S_ST( 'u', 3, 403, 0 ), /* 736 strat */ - S_ST( 'y', 3, 405, 720 ), /* 737 s */ - S_ST( 's', 3, 739, 0 ), /* 738 sys */ - S_ST( 't', 3, 740, 0 ), /* 739 syss */ - S_ST( 'a', 3, 741, 0 ), /* 740 sysst */ - S_ST( 't', 3, 406, 0 ), /* 741 syssta */ - S_ST( 't', 3, 768, 674 ), /* 742 */ - S_ST( 'i', 3, 754, 0 ), /* 743 t */ - S_ST( 'c', 3, 407, 0 ), /* 744 ti */ - S_ST( 'm', 3, 747, 744 ), /* 745 ti */ - S_ST( 'e', 3, 410, 0 ), /* 746 tim */ - S_ST( 'i', 3, 748, 746 ), /* 747 tim */ - S_ST( 'n', 3, 749, 0 ), /* 748 timi */ - S_ST( 'g', 3, 750, 0 ), /* 749 timin */ - S_ST( 's', 3, 751, 0 ), /* 750 timing */ - S_ST( 't', 3, 752, 0 ), /* 751 timings */ - S_ST( 'a', 3, 753, 0 ), /* 752 timingst */ - S_ST( 't', 3, 411, 0 ), /* 753 timingsta */ - S_ST( 'n', 3, 755, 745 ), /* 754 ti */ - S_ST( 'k', 3, 756, 0 ), /* 755 tin */ - S_ST( 'e', 3, 412, 0 ), /* 756 tink */ - S_ST( 'o', 3, 413, 743 ), /* 757 t */ - S_ST( 'r', 3, 760, 757 ), /* 758 t */ - S_ST( 'a', 3, 414, 0 ), /* 759 tr */ - S_ST( 'u', 3, 761, 759 ), /* 760 tr */ - S_ST( 's', 3, 762, 415 ), /* 761 tru */ - S_ST( 't', 3, 763, 0 ), /* 762 trus */ - S_ST( 'e', 3, 764, 0 ), /* 763 trust */ - S_ST( 'd', 3, 765, 0 ), /* 764 truste */ - S_ST( 'k', 3, 766, 0 ), /* 765 trusted */ - S_ST( 'e', 3, 416, 0 ), /* 766 trustedk */ - S_ST( 't', 3, 417, 758 ), /* 767 t */ - S_ST( 'y', 3, 769, 767 ), /* 768 t */ - S_ST( 'p', 3, 418, 0 ), /* 769 ty */ - S_ST( 'u', 3, 771, 742 ), /* 770 */ - S_ST( 'n', 3, 777, 0 ), /* 771 u */ - S_ST( 'c', 3, 773, 0 ), /* 772 un */ - S_ST( 'o', 3, 774, 0 ), /* 773 unc */ - S_ST( 'n', 3, 775, 0 ), /* 774 unco */ - S_ST( 'f', 3, 776, 0 ), /* 775 uncon */ - S_ST( 'i', 3, 420, 0 ), /* 776 unconf */ - S_ST( 'p', 3, 778, 772 ), /* 777 un */ - S_ST( 'e', 3, 779, 0 ), /* 778 unp */ - S_ST( 'e', 3, 421, 0 ), /* 779 unpe */ - S_ST( 'v', 3, 781, 770 ), /* 780 */ - S_ST( 'e', 3, 782, 0 ), /* 781 v */ - S_ST( 'r', 3, 783, 0 ), /* 782 ve */ - S_ST( 's', 3, 784, 0 ), /* 783 ver */ - S_ST( 'i', 3, 785, 0 ), /* 784 vers */ - S_ST( 'o', 3, 422, 0 ), /* 785 versi */ - S_ST( 'w', 3, 793, 780 ), /* 786 */ - S_ST( 'a', 3, 788, 0 ), /* 787 w */ - S_ST( 'n', 3, 789, 0 ), /* 788 wa */ - S_ST( 'd', 3, 790, 0 ), /* 789 wan */ - S_ST( 'e', 3, 436, 0 ), /* 790 wand */ - S_ST( 'e', 3, 792, 787 ), /* 791 w */ - S_ST( 'e', 3, 424, 0 ), /* 792 we */ - S_ST( 'i', 3, 794, 791 ), /* 793 w */ - S_ST( 'l', 3, 795, 0 ), /* 794 wi */ - S_ST( 'd', 3, 796, 0 ), /* 795 wil */ - S_ST( 'c', 3, 797, 0 ), /* 796 wild */ - S_ST( 'a', 3, 798, 0 ), /* 797 wildc */ - S_ST( 'r', 3, 425, 0 ), /* 798 wildca */ - S_ST( 'x', 3, 800, 786 ), /* 799 */ - S_ST( 'l', 3, 801, 0 ), /* 800 x */ - S_ST( 'e', 3, 802, 0 ), /* 801 xl */ - S_ST( 'a', 3, 803, 0 ), /* 802 xle */ - S_ST( 'v', 3, 426, 0 ), /* 803 xlea */ - S_ST( 'y', 3, 805, 799 ), /* 804 [initial state] */ - S_ST( 'e', 3, 806, 0 ), /* 805 y */ - S_ST( 'a', 3, 427, 0 ) /* 806 ye */ + S_ST( 'm', 0, 489, 0 ), /* 345 T_Mem */ + S_ST( 'k', 0, 0, 0 ), /* 346 T_Memlock */ + S_ST( 'k', 0, 0, 0 ), /* 347 T_Minclock */ + S_ST( 'h', 0, 0, 0 ), /* 348 T_Mindepth */ + S_ST( 't', 0, 0, 0 ), /* 349 T_Mindist */ + S_ST( 'm', 0, 0, 0 ), /* 350 T_Minimum */ + S_ST( 'l', 0, 0, 0 ), /* 351 T_Minpoll */ + S_ST( 'e', 0, 0, 0 ), /* 352 T_Minsane */ + S_ST( 'e', 0, 354, 0 ), /* 353 T_Mode */ + S_ST( '7', 0, 0, 0 ), /* 354 T_Mode7 */ + S_ST( 'r', 0, 0, 0 ), /* 355 T_Monitor */ + S_ST( 'h', 0, 0, 0 ), /* 356 T_Month */ + S_ST( 'u', 0, 0, 0 ), /* 357 T_Mru */ + S_ST( 't', 2, 0, 0 ), /* 358 T_Multicastclient */ + S_ST( 'c', 0, 0, 0 ), /* 359 T_Nic */ + S_ST( 'k', 0, 0, 0 ), /* 360 T_Nolink */ + S_ST( 'y', 0, 0, 0 ), /* 361 T_Nomodify */ + S_ST( 't', 0, 0, 0 ), /* 362 T_Nomrulist */ + S_ST( 'e', 0, 0, 0 ), /* 363 T_None */ + S_ST( 'e', 0, 0, 0 ), /* 364 T_Nonvolatile */ + S_ST( 'r', 0, 0, 0 ), /* 365 T_Nopeer */ + S_ST( 'y', 0, 0, 0 ), /* 366 T_Noquery */ + S_ST( 't', 0, 0, 0 ), /* 367 T_Noselect */ + S_ST( 'e', 0, 0, 0 ), /* 368 T_Noserve */ + S_ST( 'p', 0, 0, 0 ), /* 369 T_Notrap */ + S_ST( 't', 0, 0, 0 ), /* 370 T_Notrust */ + S_ST( 'p', 0, 585, 0 ), /* 371 T_Ntp */ + S_ST( 't', 0, 0, 0 ), /* 372 T_Ntpport */ + S_ST( 't', 1, 0, 0 ), /* 373 T_NtpSignDsocket */ + S_ST( 'n', 0, 600, 0 ), /* 374 T_Orphan */ + S_ST( 't', 0, 0, 0 ), /* 375 T_Orphanwait */ + S_ST( 'c', 0, 0, 0 ), /* 376 T_Panic */ + S_ST( 'r', 1, 609, 0 ), /* 377 T_Peer */ + S_ST( 's', 0, 0, 0 ), /* 378 T_Peerstats */ + S_ST( 'e', 2, 0, 0 ), /* 379 T_Phone */ + S_ST( 'd', 0, 617, 0 ), /* 380 T_Pid */ + S_ST( 'e', 1, 0, 0 ), /* 381 T_Pidfile */ + S_ST( 'l', 1, 0, 0 ), /* 382 T_Pool */ + S_ST( 't', 0, 0, 0 ), /* 383 T_Port */ + S_ST( 't', 0, 0, 0 ), /* 384 T_Preempt */ + S_ST( 'r', 0, 0, 0 ), /* 385 T_Prefer */ + S_ST( 's', 0, 0, 0 ), /* 386 T_Protostats */ + S_ST( 'w', 1, 0, 623 ), /* 387 T_Pw */ + S_ST( 'e', 1, 0, 0 ), /* 388 T_Randfile */ + S_ST( 's', 0, 0, 0 ), /* 389 T_Rawstats */ + S_ST( 'd', 1, 0, 0 ), /* 390 T_Refid */ + S_ST( 'y', 0, 0, 0 ), /* 391 T_Requestkey */ + S_ST( 't', 0, 0, 0 ), /* 392 T_Reset */ + S_ST( 't', 0, 0, 0 ), /* 393 T_Restrict */ + S_ST( 'e', 0, 0, 0 ), /* 394 T_Revoke */ + S_ST( 't', 0, 0, 0 ), /* 395 T_Rlimit */ + S_ST( 'r', 1, 0, 0 ), /* 396 T_Saveconfigdir */ + S_ST( 'r', 1, 700, 0 ), /* 397 T_Server */ + S_ST( 'r', 1, 0, 0 ), /* 398 T_Setvar */ + S_ST( 'e', 0, 0, 0 ), /* 399 T_Source */ + S_ST( 'e', 0, 0, 0 ), /* 400 T_Stacksize */ + S_ST( 's', 0, 0, 0 ), /* 401 T_Statistics */ + S_ST( 's', 0, 743, 738 ), /* 402 T_Stats */ + S_ST( 'r', 1, 0, 0 ), /* 403 T_Statsdir */ + S_ST( 'p', 0, 746, 0 ), /* 404 T_Step */ + S_ST( 't', 0, 0, 0 ), /* 405 T_Stepout */ + S_ST( 'm', 0, 0, 0 ), /* 406 T_Stratum */ + S_ST( 'p', 3, 422, 0 ), /* 407 loo */ + S_ST( 's', 0, 753, 0 ), /* 408 T_Sys */ + S_ST( 's', 0, 0, 0 ), /* 409 T_Sysstats */ + S_ST( 'k', 0, 0, 0 ), /* 410 T_Tick */ + S_ST( '1', 0, 0, 0 ), /* 411 T_Time1 */ + S_ST( '2', 0, 0, 411 ), /* 412 T_Time2 */ + S_ST( 'r', 0, 0, 412 ), /* 413 T_Timer */ + S_ST( 's', 0, 0, 0 ), /* 414 T_Timingstats */ + S_ST( 'r', 0, 0, 0 ), /* 415 T_Tinker */ + S_ST( 's', 0, 0, 0 ), /* 416 T_Tos */ + S_ST( 'p', 1, 0, 0 ), /* 417 T_Trap */ + S_ST( 'e', 0, 0, 0 ), /* 418 T_True */ + S_ST( 'y', 0, 0, 0 ), /* 419 T_Trustedkey */ + S_ST( 'l', 0, 0, 0 ), /* 420 T_Ttl */ + S_ST( 'e', 0, 0, 0 ), /* 421 T_Type */ + S_ST( 's', 3, 426, 0 ), /* 422 loop */ + S_ST( 'g', 1, 0, 0 ), /* 423 T_Unconfig */ + S_ST( 'r', 1, 0, 0 ), /* 424 T_Unpeer */ + S_ST( 'n', 0, 0, 0 ), /* 425 T_Version */ + S_ST( 't', 3, 431, 0 ), /* 426 loops */ + S_ST( 'k', 0, 0, 0 ), /* 427 T_Week */ + S_ST( 'd', 0, 0, 0 ), /* 428 T_Wildcard */ + S_ST( 'e', 0, 0, 0 ), /* 429 T_Xleave */ + S_ST( 'r', 0, 0, 0 ), /* 430 T_Year */ + S_ST( 'a', 3, 432, 0 ), /* 431 loopst */ + S_ST( 't', 3, 334, 0 ), /* 432 loopsta */ + S_ST( 'e', 0, 0, 0 ), /* 433 T_Simulate */ + S_ST( 'y', 0, 0, 0 ), /* 434 T_Beep_Delay */ + S_ST( 'n', 0, 0, 0 ), /* 435 T_Sim_Duration */ + S_ST( 't', 0, 0, 0 ), /* 436 T_Server_Offset */ + S_ST( 'n', 0, 0, 0 ), /* 437 T_Duration */ + S_ST( 't', 0, 0, 0 ), /* 438 T_Freq_Offset */ + S_ST( 'r', 0, 0, 0 ), /* 439 T_Wander */ + S_ST( 'r', 0, 0, 0 ), /* 440 T_Jitter */ + S_ST( 'y', 0, 0, 0 ), /* 441 T_Prop_Delay */ + S_ST( 'y', 0, 0, 0 ), /* 442 T_Proc_Delay */ + S_ST( 'w', 3, 444, 316 ), /* 443 lo */ + S_ST( 'p', 3, 445, 0 ), /* 444 low */ + S_ST( 'r', 3, 446, 0 ), /* 445 lowp */ + S_ST( 'i', 3, 447, 0 ), /* 446 lowpr */ + S_ST( 'o', 3, 448, 0 ), /* 447 lowpri */ + S_ST( 't', 3, 449, 0 ), /* 448 lowprio */ + S_ST( 'r', 3, 450, 0 ), /* 449 lowpriot */ + S_ST( 'a', 3, 335, 0 ), /* 450 lowpriotr */ + S_ST( 'm', 3, 525, 235 ), /* 451 */ + S_ST( 'a', 3, 470, 0 ), /* 452 m */ + S_ST( 'n', 3, 454, 0 ), /* 453 ma */ + S_ST( 'y', 3, 455, 0 ), /* 454 man */ + S_ST( 'c', 3, 456, 0 ), /* 455 many */ + S_ST( 'a', 3, 457, 0 ), /* 456 manyc */ + S_ST( 's', 3, 458, 0 ), /* 457 manyca */ + S_ST( 't', 3, 464, 0 ), /* 458 manycas */ + S_ST( 'c', 3, 460, 0 ), /* 459 manycast */ + S_ST( 'l', 3, 461, 0 ), /* 460 manycastc */ + S_ST( 'i', 3, 462, 0 ), /* 461 manycastcl */ + S_ST( 'e', 3, 463, 0 ), /* 462 manycastcli */ + S_ST( 'n', 3, 336, 0 ), /* 463 manycastclie */ + S_ST( 's', 3, 465, 459 ), /* 464 manycast */ + S_ST( 'e', 3, 466, 0 ), /* 465 manycasts */ + S_ST( 'r', 3, 467, 0 ), /* 466 manycastse */ + S_ST( 'v', 3, 468, 0 ), /* 467 manycastser */ + S_ST( 'e', 3, 337, 0 ), /* 468 manycastserv */ + S_ST( 's', 3, 338, 453 ), /* 469 ma */ + S_ST( 'x', 3, 485, 469 ), /* 470 ma */ + S_ST( 'a', 3, 472, 0 ), /* 471 max */ + S_ST( 'g', 3, 339, 0 ), /* 472 maxa */ + S_ST( 'c', 3, 474, 471 ), /* 473 max */ + S_ST( 'l', 3, 475, 0 ), /* 474 maxc */ + S_ST( 'o', 3, 476, 0 ), /* 475 maxcl */ + S_ST( 'c', 3, 340, 0 ), /* 476 maxclo */ + S_ST( 'd', 3, 481, 473 ), /* 477 max */ + S_ST( 'e', 3, 479, 0 ), /* 478 maxd */ + S_ST( 'p', 3, 480, 0 ), /* 479 maxde */ + S_ST( 't', 3, 341, 0 ), /* 480 maxdep */ + S_ST( 'i', 3, 482, 478 ), /* 481 maxd */ + S_ST( 's', 3, 342, 0 ), /* 482 maxdi */ + S_ST( 'm', 3, 484, 477 ), /* 483 max */ + S_ST( 'e', 3, 343, 0 ), /* 484 maxm */ + S_ST( 'p', 3, 486, 483 ), /* 485 max */ + S_ST( 'o', 3, 487, 0 ), /* 486 maxp */ + S_ST( 'l', 3, 344, 0 ), /* 487 maxpo */ + S_ST( 'e', 3, 345, 452 ), /* 488 m */ + S_ST( 'l', 3, 490, 0 ), /* 489 mem */ + S_ST( 'o', 3, 491, 0 ), /* 490 meml */ + S_ST( 'c', 3, 346, 0 ), /* 491 memlo */ + S_ST( 'i', 3, 493, 488 ), /* 492 m */ + S_ST( 'n', 3, 510, 0 ), /* 493 mi */ + S_ST( 'c', 3, 495, 0 ), /* 494 min */ + S_ST( 'l', 3, 496, 0 ), /* 495 minc */ + S_ST( 'o', 3, 497, 0 ), /* 496 mincl */ + S_ST( 'c', 3, 347, 0 ), /* 497 minclo */ + S_ST( 'd', 3, 502, 494 ), /* 498 min */ + S_ST( 'e', 3, 500, 0 ), /* 499 mind */ + S_ST( 'p', 3, 501, 0 ), /* 500 minde */ + S_ST( 't', 3, 348, 0 ), /* 501 mindep */ + S_ST( 'i', 3, 503, 499 ), /* 502 mind */ + S_ST( 's', 3, 349, 0 ), /* 503 mindi */ + S_ST( 'i', 3, 505, 498 ), /* 504 min */ + S_ST( 'm', 3, 506, 0 ), /* 505 mini */ + S_ST( 'u', 3, 350, 0 ), /* 506 minim */ + S_ST( 'p', 3, 508, 504 ), /* 507 min */ + S_ST( 'o', 3, 509, 0 ), /* 508 minp */ + S_ST( 'l', 3, 351, 0 ), /* 509 minpo */ + S_ST( 's', 3, 511, 507 ), /* 510 min */ + S_ST( 'a', 3, 512, 0 ), /* 511 mins */ + S_ST( 'n', 3, 352, 0 ), /* 512 minsa */ + S_ST( 'o', 3, 515, 492 ), /* 513 m */ + S_ST( 'd', 3, 353, 0 ), /* 514 mo */ + S_ST( 'n', 3, 519, 514 ), /* 515 mo */ + S_ST( 'i', 3, 517, 0 ), /* 516 mon */ + S_ST( 't', 3, 518, 0 ), /* 517 moni */ + S_ST( 'o', 3, 355, 0 ), /* 518 monit */ + S_ST( 't', 3, 356, 516 ), /* 519 mon */ + S_ST( 'r', 3, 357, 513 ), /* 520 m */ + S_ST( 's', 3, 522, 520 ), /* 521 m */ + S_ST( 's', 3, 523, 0 ), /* 522 ms */ + S_ST( 'n', 3, 524, 0 ), /* 523 mss */ + S_ST( 't', 3, 327, 0 ), /* 524 mssn */ + S_ST( 'u', 3, 526, 521 ), /* 525 m */ + S_ST( 'l', 3, 527, 0 ), /* 526 mu */ + S_ST( 't', 3, 528, 0 ), /* 527 mul */ + S_ST( 'i', 3, 529, 0 ), /* 528 mult */ + S_ST( 'c', 3, 530, 0 ), /* 529 multi */ + S_ST( 'a', 3, 531, 0 ), /* 530 multic */ + S_ST( 's', 3, 532, 0 ), /* 531 multica */ + S_ST( 't', 3, 533, 0 ), /* 532 multicas */ + S_ST( 'c', 3, 534, 0 ), /* 533 multicast */ + S_ST( 'l', 3, 535, 0 ), /* 534 multicastc */ + S_ST( 'i', 3, 536, 0 ), /* 535 multicastcl */ + S_ST( 'e', 3, 537, 0 ), /* 536 multicastcli */ + S_ST( 'n', 3, 358, 0 ), /* 537 multicastclie */ + S_ST( 'n', 3, 581, 451 ), /* 538 */ + S_ST( 'i', 3, 359, 0 ), /* 539 n */ + S_ST( 'o', 3, 576, 539 ), /* 540 n */ + S_ST( 'l', 3, 542, 0 ), /* 541 no */ + S_ST( 'i', 3, 543, 0 ), /* 542 nol */ + S_ST( 'n', 3, 360, 0 ), /* 543 noli */ + S_ST( 'm', 3, 549, 541 ), /* 544 no */ + S_ST( 'o', 3, 546, 0 ), /* 545 nom */ + S_ST( 'd', 3, 547, 0 ), /* 546 nomo */ + S_ST( 'i', 3, 548, 0 ), /* 547 nomod */ + S_ST( 'f', 3, 361, 0 ), /* 548 nomodi */ + S_ST( 'r', 3, 550, 545 ), /* 549 nom */ + S_ST( 'u', 3, 551, 0 ), /* 550 nomr */ + S_ST( 'l', 3, 552, 0 ), /* 551 nomru */ + S_ST( 'i', 3, 553, 0 ), /* 552 nomrul */ + S_ST( 's', 3, 362, 0 ), /* 553 nomruli */ + S_ST( 'n', 3, 555, 544 ), /* 554 no */ + S_ST( 'v', 3, 556, 363 ), /* 555 non */ + S_ST( 'o', 3, 557, 0 ), /* 556 nonv */ + S_ST( 'l', 3, 558, 0 ), /* 557 nonvo */ + S_ST( 'a', 3, 559, 0 ), /* 558 nonvol */ + S_ST( 't', 3, 560, 0 ), /* 559 nonvola */ + S_ST( 'i', 3, 561, 0 ), /* 560 nonvolat */ + S_ST( 'l', 3, 364, 0 ), /* 561 nonvolati */ + S_ST( 'p', 3, 563, 554 ), /* 562 no */ + S_ST( 'e', 3, 564, 0 ), /* 563 nop */ + S_ST( 'e', 3, 365, 0 ), /* 564 nope */ + S_ST( 'q', 3, 566, 562 ), /* 565 no */ + S_ST( 'u', 3, 567, 0 ), /* 566 noq */ + S_ST( 'e', 3, 568, 0 ), /* 567 noqu */ + S_ST( 'r', 3, 366, 0 ), /* 568 noque */ + S_ST( 's', 3, 570, 565 ), /* 569 no */ + S_ST( 'e', 3, 574, 0 ), /* 570 nos */ + S_ST( 'l', 3, 572, 0 ), /* 571 nose */ + S_ST( 'e', 3, 573, 0 ), /* 572 nosel */ + S_ST( 'c', 3, 367, 0 ), /* 573 nosele */ + S_ST( 'r', 3, 575, 571 ), /* 574 nose */ + S_ST( 'v', 3, 368, 0 ), /* 575 noser */ + S_ST( 't', 3, 577, 569 ), /* 576 no */ + S_ST( 'r', 3, 579, 0 ), /* 577 not */ + S_ST( 'a', 3, 369, 0 ), /* 578 notr */ + S_ST( 'u', 3, 580, 578 ), /* 579 notr */ + S_ST( 's', 3, 370, 0 ), /* 580 notru */ + S_ST( 't', 3, 371, 540 ), /* 581 n */ + S_ST( 'p', 3, 583, 0 ), /* 582 ntp */ + S_ST( 'o', 3, 584, 0 ), /* 583 ntpp */ + S_ST( 'r', 3, 372, 0 ), /* 584 ntppo */ + S_ST( 's', 3, 586, 582 ), /* 585 ntp */ + S_ST( 'i', 3, 587, 0 ), /* 586 ntps */ + S_ST( 'g', 3, 588, 0 ), /* 587 ntpsi */ + S_ST( 'n', 3, 589, 0 ), /* 588 ntpsig */ + S_ST( 'd', 3, 590, 0 ), /* 589 ntpsign */ + S_ST( 's', 3, 591, 0 ), /* 590 ntpsignd */ + S_ST( 'o', 3, 592, 0 ), /* 591 ntpsignds */ + S_ST( 'c', 3, 593, 0 ), /* 592 ntpsigndso */ + S_ST( 'k', 3, 594, 0 ), /* 593 ntpsigndsoc */ + S_ST( 'e', 3, 373, 0 ), /* 594 ntpsigndsock */ + S_ST( 'o', 3, 596, 538 ), /* 595 */ + S_ST( 'r', 3, 597, 0 ), /* 596 o */ + S_ST( 'p', 3, 598, 0 ), /* 597 or */ + S_ST( 'h', 3, 599, 0 ), /* 598 orp */ + S_ST( 'a', 3, 374, 0 ), /* 599 orph */ + S_ST( 'w', 3, 601, 0 ), /* 600 orphan */ + S_ST( 'a', 3, 602, 0 ), /* 601 orphanw */ + S_ST( 'i', 3, 375, 0 ), /* 602 orphanwa */ + S_ST( 'p', 3, 387, 595 ), /* 603 */ + S_ST( 'a', 3, 605, 0 ), /* 604 p */ + S_ST( 'n', 3, 606, 0 ), /* 605 pa */ + S_ST( 'i', 3, 376, 0 ), /* 606 pan */ + S_ST( 'e', 3, 608, 604 ), /* 607 p */ + S_ST( 'e', 3, 377, 0 ), /* 608 pe */ + S_ST( 's', 3, 610, 0 ), /* 609 peer */ + S_ST( 't', 3, 611, 0 ), /* 610 peers */ + S_ST( 'a', 3, 612, 0 ), /* 611 peerst */ + S_ST( 't', 3, 378, 0 ), /* 612 peersta */ + S_ST( 'h', 3, 614, 607 ), /* 613 p */ + S_ST( 'o', 3, 615, 0 ), /* 614 ph */ + S_ST( 'n', 3, 379, 0 ), /* 615 pho */ + S_ST( 'i', 3, 380, 613 ), /* 616 p */ + S_ST( 'f', 3, 618, 0 ), /* 617 pid */ + S_ST( 'i', 3, 619, 0 ), /* 618 pidf */ + S_ST( 'l', 3, 381, 0 ), /* 619 pidfi */ + S_ST( 'o', 3, 622, 616 ), /* 620 p */ + S_ST( 'o', 3, 382, 0 ), /* 621 po */ + S_ST( 'r', 3, 383, 621 ), /* 622 po */ + S_ST( 'r', 3, 630, 620 ), /* 623 p */ + S_ST( 'e', 3, 628, 0 ), /* 624 pr */ + S_ST( 'e', 3, 626, 0 ), /* 625 pre */ + S_ST( 'm', 3, 627, 0 ), /* 626 pree */ + S_ST( 'p', 3, 384, 0 ), /* 627 preem */ + S_ST( 'f', 3, 629, 625 ), /* 628 pre */ + S_ST( 'e', 3, 385, 0 ), /* 629 pref */ + S_ST( 'o', 3, 643, 624 ), /* 630 pr */ + S_ST( 'c', 3, 632, 0 ), /* 631 pro */ + S_ST( '_', 3, 633, 0 ), /* 632 proc */ + S_ST( 'd', 3, 634, 0 ), /* 633 proc_ */ + S_ST( 'e', 3, 635, 0 ), /* 634 proc_d */ + S_ST( 'l', 3, 636, 0 ), /* 635 proc_de */ + S_ST( 'a', 3, 442, 0 ), /* 636 proc_del */ + S_ST( 'p', 3, 638, 631 ), /* 637 pro */ + S_ST( '_', 3, 639, 0 ), /* 638 prop */ + S_ST( 'd', 3, 640, 0 ), /* 639 prop_ */ + S_ST( 'e', 3, 641, 0 ), /* 640 prop_d */ + S_ST( 'l', 3, 642, 0 ), /* 641 prop_de */ + S_ST( 'a', 3, 441, 0 ), /* 642 prop_del */ + S_ST( 't', 3, 644, 637 ), /* 643 pro */ + S_ST( 'o', 3, 645, 0 ), /* 644 prot */ + S_ST( 's', 3, 646, 0 ), /* 645 proto */ + S_ST( 't', 3, 647, 0 ), /* 646 protos */ + S_ST( 'a', 3, 648, 0 ), /* 647 protost */ + S_ST( 't', 3, 386, 0 ), /* 648 protosta */ + S_ST( 'r', 3, 680, 603 ), /* 649 */ + S_ST( 'a', 3, 656, 0 ), /* 650 r */ + S_ST( 'n', 3, 652, 0 ), /* 651 ra */ + S_ST( 'd', 3, 653, 0 ), /* 652 ran */ + S_ST( 'f', 3, 654, 0 ), /* 653 rand */ + S_ST( 'i', 3, 655, 0 ), /* 654 randf */ + S_ST( 'l', 3, 388, 0 ), /* 655 randfi */ + S_ST( 'w', 3, 657, 651 ), /* 656 ra */ + S_ST( 's', 3, 658, 0 ), /* 657 raw */ + S_ST( 't', 3, 659, 0 ), /* 658 raws */ + S_ST( 'a', 3, 660, 0 ), /* 659 rawst */ + S_ST( 't', 3, 389, 0 ), /* 660 rawsta */ + S_ST( 'e', 3, 677, 650 ), /* 661 r */ + S_ST( 'f', 3, 663, 0 ), /* 662 re */ + S_ST( 'i', 3, 390, 0 ), /* 663 ref */ + S_ST( 'q', 3, 665, 662 ), /* 664 re */ + S_ST( 'u', 3, 666, 0 ), /* 665 req */ + S_ST( 'e', 3, 667, 0 ), /* 666 requ */ + S_ST( 's', 3, 668, 0 ), /* 667 reque */ + S_ST( 't', 3, 669, 0 ), /* 668 reques */ + S_ST( 'k', 3, 670, 0 ), /* 669 request */ + S_ST( 'e', 3, 391, 0 ), /* 670 requestk */ + S_ST( 's', 3, 673, 664 ), /* 671 re */ + S_ST( 'e', 3, 392, 0 ), /* 672 res */ + S_ST( 't', 3, 674, 672 ), /* 673 res */ + S_ST( 'r', 3, 675, 0 ), /* 674 rest */ + S_ST( 'i', 3, 676, 0 ), /* 675 restr */ + S_ST( 'c', 3, 393, 0 ), /* 676 restri */ + S_ST( 'v', 3, 678, 671 ), /* 677 re */ + S_ST( 'o', 3, 679, 0 ), /* 678 rev */ + S_ST( 'k', 3, 394, 0 ), /* 679 revo */ + S_ST( 'l', 3, 681, 661 ), /* 680 r */ + S_ST( 'i', 3, 682, 0 ), /* 681 rl */ + S_ST( 'm', 3, 683, 0 ), /* 682 rli */ + S_ST( 'i', 3, 395, 0 ), /* 683 rlim */ + S_ST( 's', 3, 752, 649 ), /* 684 */ + S_ST( 'a', 3, 686, 0 ), /* 685 s */ + S_ST( 'v', 3, 687, 0 ), /* 686 sa */ + S_ST( 'e', 3, 688, 0 ), /* 687 sav */ + S_ST( 'c', 3, 689, 0 ), /* 688 save */ + S_ST( 'o', 3, 690, 0 ), /* 689 savec */ + S_ST( 'n', 3, 691, 0 ), /* 690 saveco */ + S_ST( 'f', 3, 692, 0 ), /* 691 savecon */ + S_ST( 'i', 3, 693, 0 ), /* 692 saveconf */ + S_ST( 'g', 3, 694, 0 ), /* 693 saveconfi */ + S_ST( 'd', 3, 695, 0 ), /* 694 saveconfig */ + S_ST( 'i', 3, 396, 0 ), /* 695 saveconfigd */ + S_ST( 'e', 3, 706, 685 ), /* 696 s */ + S_ST( 'r', 3, 698, 0 ), /* 697 se */ + S_ST( 'v', 3, 699, 0 ), /* 698 ser */ + S_ST( 'e', 3, 397, 0 ), /* 699 serv */ + S_ST( '_', 3, 701, 0 ), /* 700 server */ + S_ST( 'o', 3, 702, 0 ), /* 701 server_ */ + S_ST( 'f', 3, 703, 0 ), /* 702 server_o */ + S_ST( 'f', 3, 704, 0 ), /* 703 server_of */ + S_ST( 's', 3, 705, 0 ), /* 704 server_off */ + S_ST( 'e', 3, 436, 0 ), /* 705 server_offs */ + S_ST( 't', 3, 707, 697 ), /* 706 se */ + S_ST( 'v', 3, 708, 0 ), /* 707 set */ + S_ST( 'a', 3, 398, 0 ), /* 708 setv */ + S_ST( 'i', 3, 710, 696 ), /* 709 s */ + S_ST( 'm', 3, 711, 0 ), /* 710 si */ + S_ST( 'u', 3, 712, 0 ), /* 711 sim */ + S_ST( 'l', 3, 713, 0 ), /* 712 simu */ + S_ST( 'a', 3, 714, 0 ), /* 713 simul */ + S_ST( 't', 3, 715, 0 ), /* 714 simula */ + S_ST( 'i', 3, 716, 433 ), /* 715 simulat */ + S_ST( 'o', 3, 717, 0 ), /* 716 simulati */ + S_ST( 'n', 3, 718, 0 ), /* 717 simulatio */ + S_ST( '_', 3, 719, 0 ), /* 718 simulation */ + S_ST( 'd', 3, 720, 0 ), /* 719 simulation_ */ + S_ST( 'u', 3, 721, 0 ), /* 720 simulation_d */ + S_ST( 'r', 3, 722, 0 ), /* 721 simulation_du */ + S_ST( 'a', 3, 723, 0 ), /* 722 simulation_dur */ + S_ST( 't', 3, 724, 0 ), /* 723 simulation_dura */ + S_ST( 'i', 3, 725, 0 ), /* 724 simulation_durat */ + S_ST( 'o', 3, 435, 0 ), /* 725 simulation_durati */ + S_ST( 'o', 3, 727, 709 ), /* 726 s */ + S_ST( 'u', 3, 728, 0 ), /* 727 so */ + S_ST( 'r', 3, 729, 0 ), /* 728 sou */ + S_ST( 'c', 3, 399, 0 ), /* 729 sour */ + S_ST( 't', 3, 748, 726 ), /* 730 s */ + S_ST( 'a', 3, 737, 0 ), /* 731 st */ + S_ST( 'c', 3, 733, 0 ), /* 732 sta */ + S_ST( 'k', 3, 734, 0 ), /* 733 stac */ + S_ST( 's', 3, 735, 0 ), /* 734 stack */ + S_ST( 'i', 3, 736, 0 ), /* 735 stacks */ + S_ST( 'z', 3, 400, 0 ), /* 736 stacksi */ + S_ST( 't', 3, 402, 732 ), /* 737 sta */ + S_ST( 'i', 3, 739, 0 ), /* 738 stat */ + S_ST( 's', 3, 740, 0 ), /* 739 stati */ + S_ST( 't', 3, 741, 0 ), /* 740 statis */ + S_ST( 'i', 3, 742, 0 ), /* 741 statist */ + S_ST( 'c', 3, 401, 0 ), /* 742 statisti */ + S_ST( 'd', 3, 744, 0 ), /* 743 stats */ + S_ST( 'i', 3, 403, 0 ), /* 744 statsd */ + S_ST( 'e', 3, 404, 731 ), /* 745 st */ + S_ST( 'o', 3, 747, 0 ), /* 746 step */ + S_ST( 'u', 3, 405, 0 ), /* 747 stepo */ + S_ST( 'r', 3, 749, 745 ), /* 748 st */ + S_ST( 'a', 3, 750, 0 ), /* 749 str */ + S_ST( 't', 3, 751, 0 ), /* 750 stra */ + S_ST( 'u', 3, 406, 0 ), /* 751 strat */ + S_ST( 'y', 3, 408, 730 ), /* 752 s */ + S_ST( 's', 3, 754, 0 ), /* 753 sys */ + S_ST( 't', 3, 755, 0 ), /* 754 syss */ + S_ST( 'a', 3, 756, 0 ), /* 755 sysst */ + S_ST( 't', 3, 409, 0 ), /* 756 syssta */ + S_ST( 't', 3, 783, 684 ), /* 757 */ + S_ST( 'i', 3, 769, 0 ), /* 758 t */ + S_ST( 'c', 3, 410, 0 ), /* 759 ti */ + S_ST( 'm', 3, 762, 759 ), /* 760 ti */ + S_ST( 'e', 3, 413, 0 ), /* 761 tim */ + S_ST( 'i', 3, 763, 761 ), /* 762 tim */ + S_ST( 'n', 3, 764, 0 ), /* 763 timi */ + S_ST( 'g', 3, 765, 0 ), /* 764 timin */ + S_ST( 's', 3, 766, 0 ), /* 765 timing */ + S_ST( 't', 3, 767, 0 ), /* 766 timings */ + S_ST( 'a', 3, 768, 0 ), /* 767 timingst */ + S_ST( 't', 3, 414, 0 ), /* 768 timingsta */ + S_ST( 'n', 3, 770, 760 ), /* 769 ti */ + S_ST( 'k', 3, 771, 0 ), /* 770 tin */ + S_ST( 'e', 3, 415, 0 ), /* 771 tink */ + S_ST( 'o', 3, 416, 758 ), /* 772 t */ + S_ST( 'r', 3, 775, 772 ), /* 773 t */ + S_ST( 'a', 3, 417, 0 ), /* 774 tr */ + S_ST( 'u', 3, 776, 774 ), /* 775 tr */ + S_ST( 's', 3, 777, 418 ), /* 776 tru */ + S_ST( 't', 3, 778, 0 ), /* 777 trus */ + S_ST( 'e', 3, 779, 0 ), /* 778 trust */ + S_ST( 'd', 3, 780, 0 ), /* 779 truste */ + S_ST( 'k', 3, 781, 0 ), /* 780 trusted */ + S_ST( 'e', 3, 419, 0 ), /* 781 trustedk */ + S_ST( 't', 3, 420, 773 ), /* 782 t */ + S_ST( 'y', 3, 784, 782 ), /* 783 t */ + S_ST( 'p', 3, 421, 0 ), /* 784 ty */ + S_ST( 'u', 3, 786, 757 ), /* 785 */ + S_ST( 'n', 3, 792, 0 ), /* 786 u */ + S_ST( 'c', 3, 788, 0 ), /* 787 un */ + S_ST( 'o', 3, 789, 0 ), /* 788 unc */ + S_ST( 'n', 3, 790, 0 ), /* 789 unco */ + S_ST( 'f', 3, 791, 0 ), /* 790 uncon */ + S_ST( 'i', 3, 423, 0 ), /* 791 unconf */ + S_ST( 'p', 3, 793, 787 ), /* 792 un */ + S_ST( 'e', 3, 794, 0 ), /* 793 unp */ + S_ST( 'e', 3, 424, 0 ), /* 794 unpe */ + S_ST( 'v', 3, 796, 785 ), /* 795 */ + S_ST( 'e', 3, 797, 0 ), /* 796 v */ + S_ST( 'r', 3, 798, 0 ), /* 797 ve */ + S_ST( 's', 3, 799, 0 ), /* 798 ver */ + S_ST( 'i', 3, 800, 0 ), /* 799 vers */ + S_ST( 'o', 3, 425, 0 ), /* 800 versi */ + S_ST( 'w', 3, 808, 795 ), /* 801 */ + S_ST( 'a', 3, 803, 0 ), /* 802 w */ + S_ST( 'n', 3, 804, 0 ), /* 803 wa */ + S_ST( 'd', 3, 805, 0 ), /* 804 wan */ + S_ST( 'e', 3, 439, 0 ), /* 805 wand */ + S_ST( 'e', 3, 807, 802 ), /* 806 w */ + S_ST( 'e', 3, 427, 0 ), /* 807 we */ + S_ST( 'i', 3, 809, 806 ), /* 808 w */ + S_ST( 'l', 3, 810, 0 ), /* 809 wi */ + S_ST( 'd', 3, 811, 0 ), /* 810 wil */ + S_ST( 'c', 3, 812, 0 ), /* 811 wild */ + S_ST( 'a', 3, 813, 0 ), /* 812 wildc */ + S_ST( 'r', 3, 428, 0 ), /* 813 wildca */ + S_ST( 'x', 3, 815, 801 ), /* 814 */ + S_ST( 'l', 3, 816, 0 ), /* 815 x */ + S_ST( 'e', 3, 817, 0 ), /* 816 xl */ + S_ST( 'a', 3, 818, 0 ), /* 817 xle */ + S_ST( 'v', 3, 429, 0 ), /* 818 xlea */ + S_ST( 'y', 3, 820, 814 ), /* 819 [initial state] */ + S_ST( 'e', 3, 821, 0 ), /* 820 y */ + S_ST( 'a', 3, 430, 0 ) /* 821 ye */ }; diff --git a/ntpd/ntp_parser.c b/ntpd/ntp_parser.c index 653c9ea69..4ecb555ef 100644 --- a/ntpd/ntp_parser.c +++ b/ntpd/ntp_parser.c @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.3. */ + +/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.3" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -101,7 +102,7 @@ /* Line 189 of yacc.c */ -#line 105 "../../ntpd/ntp_parser.c" +#line 106 "../../ntpd/ntp_parser.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -216,100 +217,103 @@ T_Maxmem = 343, T_Maxpoll = 344, T_Mem = 345, - T_Minclock = 346, - T_Mindepth = 347, - T_Mindist = 348, - T_Minimum = 349, - T_Minpoll = 350, - T_Minsane = 351, - T_Mode = 352, - T_Mode7 = 353, - T_Monitor = 354, - T_Month = 355, - T_Mru = 356, - T_Multicastclient = 357, - T_Nic = 358, - T_Nolink = 359, - T_Nomodify = 360, - T_Nomrulist = 361, - T_None = 362, - T_Nonvolatile = 363, - T_Nopeer = 364, - T_Noquery = 365, - T_Noselect = 366, - T_Noserve = 367, - T_Notrap = 368, - T_Notrust = 369, - T_Ntp = 370, - T_Ntpport = 371, - T_NtpSignDsocket = 372, - T_Orphan = 373, - T_Orphanwait = 374, - T_Panic = 375, - T_Peer = 376, - T_Peerstats = 377, - T_Phone = 378, - T_Pid = 379, - T_Pidfile = 380, - T_Pool = 381, - T_Port = 382, - T_Preempt = 383, - T_Prefer = 384, - T_Protostats = 385, - T_Pw = 386, - T_Randfile = 387, - T_Rawstats = 388, - T_Refid = 389, - T_Requestkey = 390, - T_Reset = 391, - T_Restrict = 392, - T_Revoke = 393, - T_Saveconfigdir = 394, - T_Server = 395, - T_Setvar = 396, - T_Source = 397, - T_Statistics = 398, - T_Stats = 399, - T_Statsdir = 400, - T_Step = 401, - T_Stepout = 402, - T_Stratum = 403, - T_String = 404, - T_Sys = 405, - T_Sysstats = 406, - T_Tick = 407, - T_Time1 = 408, - T_Time2 = 409, - T_Timer = 410, - T_Timingstats = 411, - T_Tinker = 412, - T_Tos = 413, - T_Trap = 414, - T_True = 415, - T_Trustedkey = 416, - T_Ttl = 417, - T_Type = 418, - T_U_int = 419, - T_Unconfig = 420, - T_Unpeer = 421, - T_Version = 422, - T_WanderThreshold = 423, - T_Week = 424, - T_Wildcard = 425, - T_Xleave = 426, - T_Year = 427, - T_Flag = 428, - T_EOC = 429, - T_Simulate = 430, - T_Beep_Delay = 431, - T_Sim_Duration = 432, - T_Server_Offset = 433, - T_Duration = 434, - T_Freq_Offset = 435, - T_Wander = 436, - T_Jitter = 437, - T_Prop_Delay = 438, - T_Proc_Delay = 439 + T_Memlock = 346, + T_Minclock = 347, + T_Mindepth = 348, + T_Mindist = 349, + T_Minimum = 350, + T_Minpoll = 351, + T_Minsane = 352, + T_Mode = 353, + T_Mode7 = 354, + T_Monitor = 355, + T_Month = 356, + T_Mru = 357, + T_Multicastclient = 358, + T_Nic = 359, + T_Nolink = 360, + T_Nomodify = 361, + T_Nomrulist = 362, + T_None = 363, + T_Nonvolatile = 364, + T_Nopeer = 365, + T_Noquery = 366, + T_Noselect = 367, + T_Noserve = 368, + T_Notrap = 369, + T_Notrust = 370, + T_Ntp = 371, + T_Ntpport = 372, + T_NtpSignDsocket = 373, + T_Orphan = 374, + T_Orphanwait = 375, + T_Panic = 376, + T_Peer = 377, + T_Peerstats = 378, + T_Phone = 379, + T_Pid = 380, + T_Pidfile = 381, + T_Pool = 382, + T_Port = 383, + T_Preempt = 384, + T_Prefer = 385, + T_Protostats = 386, + T_Pw = 387, + T_Randfile = 388, + T_Rawstats = 389, + T_Refid = 390, + T_Requestkey = 391, + T_Reset = 392, + T_Restrict = 393, + T_Revoke = 394, + T_Rlimit = 395, + T_Saveconfigdir = 396, + T_Server = 397, + T_Setvar = 398, + T_Source = 399, + T_Stacksize = 400, + T_Statistics = 401, + T_Stats = 402, + T_Statsdir = 403, + T_Step = 404, + T_Stepout = 405, + T_Stratum = 406, + T_String = 407, + T_Sys = 408, + T_Sysstats = 409, + T_Tick = 410, + T_Time1 = 411, + T_Time2 = 412, + T_Timer = 413, + T_Timingstats = 414, + T_Tinker = 415, + T_Tos = 416, + T_Trap = 417, + T_True = 418, + T_Trustedkey = 419, + T_Ttl = 420, + T_Type = 421, + T_U_int = 422, + T_Unconfig = 423, + T_Unpeer = 424, + T_Version = 425, + T_WanderThreshold = 426, + T_Week = 427, + T_Wildcard = 428, + T_Xleave = 429, + T_Year = 430, + T_Flag = 431, + T_EOC = 432, + T_Simulate = 433, + T_Beep_Delay = 434, + T_Sim_Duration = 435, + T_Server_Offset = 436, + T_Duration = 437, + T_Freq_Offset = 438, + T_Wander = 439, + T_Jitter = 440, + T_Prop_Delay = 441, + T_Proc_Delay = 442 }; #endif /* Tokens. */ @@ -401,100 +405,103 @@ #define T_Maxmem 343 #define T_Maxpoll 344 #define T_Mem 345 -#define T_Minclock 346 -#define T_Mindepth 347 -#define T_Mindist 348 -#define T_Minimum 349 -#define T_Minpoll 350 -#define T_Minsane 351 -#define T_Mode 352 -#define T_Mode7 353 -#define T_Monitor 354 -#define T_Month 355 -#define T_Mru 356 -#define T_Multicastclient 357 -#define T_Nic 358 -#define T_Nolink 359 -#define T_Nomodify 360 -#define T_Nomrulist 361 -#define T_None 362 -#define T_Nonvolatile 363 -#define T_Nopeer 364 -#define T_Noquery 365 -#define T_Noselect 366 -#define T_Noserve 367 -#define T_Notrap 368 -#define T_Notrust 369 -#define T_Ntp 370 -#define T_Ntpport 371 -#define T_NtpSignDsocket 372 -#define T_Orphan 373 -#define T_Orphanwait 374 -#define T_Panic 375 -#define T_Peer 376 -#define T_Peerstats 377 -#define T_Phone 378 -#define T_Pid 379 -#define T_Pidfile 380 -#define T_Pool 381 -#define T_Port 382 -#define T_Preempt 383 -#define T_Prefer 384 -#define T_Protostats 385 -#define T_Pw 386 -#define T_Randfile 387 -#define T_Rawstats 388 -#define T_Refid 389 -#define T_Requestkey 390 -#define T_Reset 391 -#define T_Restrict 392 -#define T_Revoke 393 -#define T_Saveconfigdir 394 -#define T_Server 395 -#define T_Setvar 396 -#define T_Source 397 -#define T_Statistics 398 -#define T_Stats 399 -#define T_Statsdir 400 -#define T_Step 401 -#define T_Stepout 402 -#define T_Stratum 403 -#define T_String 404 -#define T_Sys 405 -#define T_Sysstats 406 -#define T_Tick 407 -#define T_Time1 408 -#define T_Time2 409 -#define T_Timer 410 -#define T_Timingstats 411 -#define T_Tinker 412 -#define T_Tos 413 -#define T_Trap 414 -#define T_True 415 -#define T_Trustedkey 416 -#define T_Ttl 417 -#define T_Type 418 -#define T_U_int 419 -#define T_Unconfig 420 -#define T_Unpeer 421 -#define T_Version 422 -#define T_WanderThreshold 423 -#define T_Week 424 -#define T_Wildcard 425 -#define T_Xleave 426 -#define T_Year 427 -#define T_Flag 428 -#define T_EOC 429 -#define T_Simulate 430 -#define T_Beep_Delay 431 -#define T_Sim_Duration 432 -#define T_Server_Offset 433 -#define T_Duration 434 -#define T_Freq_Offset 435 -#define T_Wander 436 -#define T_Jitter 437 -#define T_Prop_Delay 438 -#define T_Proc_Delay 439 +#define T_Memlock 346 +#define T_Minclock 347 +#define T_Mindepth 348 +#define T_Mindist 349 +#define T_Minimum 350 +#define T_Minpoll 351 +#define T_Minsane 352 +#define T_Mode 353 +#define T_Mode7 354 +#define T_Monitor 355 +#define T_Month 356 +#define T_Mru 357 +#define T_Multicastclient 358 +#define T_Nic 359 +#define T_Nolink 360 +#define T_Nomodify 361 +#define T_Nomrulist 362 +#define T_None 363 +#define T_Nonvolatile 364 +#define T_Nopeer 365 +#define T_Noquery 366 +#define T_Noselect 367 +#define T_Noserve 368 +#define T_Notrap 369 +#define T_Notrust 370 +#define T_Ntp 371 +#define T_Ntpport 372 +#define T_NtpSignDsocket 373 +#define T_Orphan 374 +#define T_Orphanwait 375 +#define T_Panic 376 +#define T_Peer 377 +#define T_Peerstats 378 +#define T_Phone 379 +#define T_Pid 380 +#define T_Pidfile 381 +#define T_Pool 382 +#define T_Port 383 +#define T_Preempt 384 +#define T_Prefer 385 +#define T_Protostats 386 +#define T_Pw 387 +#define T_Randfile 388 +#define T_Rawstats 389 +#define T_Refid 390 +#define T_Requestkey 391 +#define T_Reset 392 +#define T_Restrict 393 +#define T_Revoke 394 +#define T_Rlimit 395 +#define T_Saveconfigdir 396 +#define T_Server 397 +#define T_Setvar 398 +#define T_Source 399 +#define T_Stacksize 400 +#define T_Statistics 401 +#define T_Stats 402 +#define T_Statsdir 403 +#define T_Step 404 +#define T_Stepout 405 +#define T_Stratum 406 +#define T_String 407 +#define T_Sys 408 +#define T_Sysstats 409 +#define T_Tick 410 +#define T_Time1 411 +#define T_Time2 412 +#define T_Timer 413 +#define T_Timingstats 414 +#define T_Tinker 415 +#define T_Tos 416 +#define T_Trap 417 +#define T_True 418 +#define T_Trustedkey 419 +#define T_Ttl 420 +#define T_Type 421 +#define T_U_int 422 +#define T_Unconfig 423 +#define T_Unpeer 424 +#define T_Version 425 +#define T_WanderThreshold 426 +#define T_Week 427 +#define T_Wildcard 428 +#define T_Xleave 429 +#define T_Year 430 +#define T_Flag 431 +#define T_EOC 432 +#define T_Simulate 433 +#define T_Beep_Delay 434 +#define T_Sim_Duration 435 +#define T_Server_Offset 436 +#define T_Duration 437 +#define T_Freq_Offset 438 +#define T_Wander 439 +#define T_Jitter 440 +#define T_Prop_Delay 441 +#define T_Proc_Delay 442 @@ -526,7 +533,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 530 "../../ntpd/ntp_parser.c" +#line 537 "../../ntpd/ntp_parser.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -538,7 +545,7 @@ typedef union YYSTYPE /* Line 264 of yacc.c */ -#line 542 "../../ntpd/ntp_parser.c" +#line 549 "../../ntpd/ntp_parser.c" #ifdef short # undef short @@ -588,7 +595,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -751,22 +758,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 195 +#define YYFINAL 201 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 612 +#define YYLAST 584 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 190 +#define YYNTOKENS 193 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 100 +#define YYNNTS 104 /* YYNRULES -- Number of rules. */ -#define YYNRULES 299 +#define YYNRULES 306 /* YYNRULES -- Number of states. */ -#define YYNSTATES 401 +#define YYNSTATES 409 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 439 +#define YYMAXUTOK 442 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -778,15 +785,15 @@ static const yytype_uint8 yytranslate[] = 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, - 186, 187, 2, 2, 2, 2, 2, 2, 2, 2, + 189, 190, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 185, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 188, 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, 188, 2, 189, 2, 2, 2, 2, + 2, 2, 2, 191, 2, 192, 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, @@ -817,7 +824,8 @@ static const yytype_uint8 yytranslate[] = 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184 + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187 }; #if YYDEBUG @@ -827,148 +835,151 @@ static const yytype_uint16 yyprhs[] = { 0, 0, 3, 5, 9, 12, 15, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, - 44, 46, 48, 50, 52, 54, 56, 59, 61, 63, - 65, 66, 69, 71, 73, 75, 77, 79, 81, 83, - 85, 87, 89, 91, 93, 96, 99, 101, 103, 105, - 107, 109, 111, 114, 116, 119, 121, 123, 125, 128, - 131, 134, 137, 140, 143, 146, 149, 152, 155, 158, - 159, 162, 165, 168, 170, 172, 174, 176, 178, 181, - 184, 186, 189, 192, 195, 197, 199, 201, 203, 205, - 207, 209, 211, 213, 215, 218, 221, 225, 228, 230, - 232, 234, 236, 238, 240, 242, 244, 246, 247, 250, - 253, 256, 258, 260, 262, 264, 266, 268, 270, 272, - 274, 276, 278, 280, 282, 285, 288, 292, 298, 302, - 307, 312, 316, 317, 320, 322, 324, 326, 328, 330, + 42, 46, 48, 50, 52, 54, 56, 58, 61, 63, + 65, 67, 68, 71, 73, 75, 77, 79, 81, 83, + 85, 87, 89, 91, 93, 95, 98, 101, 103, 105, + 107, 109, 111, 113, 116, 118, 121, 123, 125, 127, + 130, 133, 136, 139, 142, 145, 148, 151, 154, 157, + 160, 161, 164, 167, 170, 172, 174, 176, 178, 180, + 183, 186, 188, 191, 194, 197, 199, 201, 203, 205, + 207, 209, 211, 213, 215, 217, 220, 223, 227, 230, + 232, 234, 236, 238, 240, 242, 244, 246, 248, 249, + 252, 255, 258, 260, 262, 264, 266, 268, 270, 272, + 274, 276, 278, 280, 282, 284, 287, 290, 294, 300, + 304, 309, 314, 318, 319, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, - 353, 355, 358, 360, 362, 364, 367, 369, 372, 374, - 376, 378, 380, 382, 384, 386, 388, 392, 395, 397, - 400, 403, 406, 409, 412, 414, 416, 418, 420, 422, - 424, 427, 430, 433, 435, 437, 439, 441, 443, 445, - 447, 449, 451, 453, 455, 458, 461, 463, 466, 468, - 470, 472, 474, 476, 478, 480, 482, 484, 486, 489, - 492, 495, 499, 501, 504, 507, 510, 513, 517, 520, - 522, 524, 526, 528, 530, 532, 534, 536, 538, 541, - 542, 547, 549, 550, 551, 554, 557, 560, 563, 565, - 567, 571, 575, 577, 579, 581, 583, 585, 587, 589, - 591, 593, 596, 599, 601, 603, 605, 607, 609, 611, - 613, 615, 618, 620, 623, 625, 627, 629, 635, 638, - 640, 643, 645, 647, 649, 651, 653, 655, 661, 663, - 667, 670, 674, 676, 678, 681, 683, 689, 694, 698, - 701, 703, 710, 714, 717, 721, 723, 725, 727, 729 + 352, 355, 357, 360, 362, 364, 366, 369, 371, 374, + 376, 378, 380, 382, 384, 386, 388, 390, 394, 397, + 399, 402, 405, 408, 411, 414, 416, 418, 420, 422, + 424, 426, 429, 432, 434, 437, 439, 441, 444, 447, + 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, + 470, 472, 475, 478, 480, 483, 485, 487, 489, 491, + 493, 495, 497, 499, 501, 503, 506, 509, 512, 516, + 518, 521, 524, 527, 530, 534, 537, 539, 541, 543, + 545, 547, 549, 551, 553, 555, 558, 559, 564, 566, + 567, 568, 571, 574, 577, 580, 582, 584, 588, 592, + 594, 596, 598, 600, 602, 604, 606, 608, 610, 613, + 616, 618, 620, 622, 624, 626, 628, 630, 632, 635, + 637, 640, 642, 644, 646, 652, 655, 657, 660, 662, + 664, 666, 668, 670, 672, 678, 680, 684, 687, 691, + 693, 695, 698, 700, 706, 711, 715, 718, 720, 727, + 731, 734, 738, 740, 742, 744, 746 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 191, 0, -1, 192, -1, 192, 193, 174, -1, 193, - 174, -1, 1, 174, -1, -1, 194, -1, 207, -1, - 209, -1, 210, -1, 219, -1, 227, -1, 214, -1, - 236, -1, 241, -1, 246, -1, 250, -1, 276, -1, - 195, 196, 199, -1, 140, -1, 126, -1, 121, -1, - 14, -1, 81, -1, 197, -1, 198, 149, -1, 149, - -1, 64, -1, 66, -1, -1, 199, 200, -1, 201, - -1, 203, -1, 205, -1, 202, -1, 9, -1, 17, - -1, 51, -1, 111, -1, 128, -1, 129, -1, 160, - -1, 171, -1, 204, 59, -1, 204, 164, -1, 68, - -1, 95, -1, 89, -1, 162, -1, 97, -1, 167, - -1, 206, 149, -1, 52, -1, 208, 196, -1, 165, - -1, 166, -1, 15, -1, 82, 273, -1, 102, 273, - -1, 10, 59, -1, 22, 59, -1, 23, 211, -1, - 69, 149, -1, 70, 149, -1, 135, 59, -1, 138, - 59, -1, 161, 269, -1, 117, 149, -1, -1, 211, - 212, -1, 213, 149, -1, 138, 59, -1, 49, -1, - 52, -1, 131, -1, 132, -1, 28, -1, 158, 215, - -1, 215, 216, -1, 216, -1, 217, 59, -1, 218, - 275, -1, 21, 274, -1, 19, -1, 46, -1, 118, - -1, 119, -1, 96, -1, 13, -1, 93, -1, 87, - -1, 91, -1, 85, -1, 143, 220, -1, 145, 149, - -1, 40, 221, 222, -1, 220, 221, -1, 221, -1, - 20, -1, 24, -1, 79, -1, 122, -1, 133, -1, - 151, -1, 156, -1, 130, -1, -1, 222, 223, -1, - 39, 149, -1, 163, 226, -1, 224, -1, 225, -1, - 75, -1, 104, -1, 36, -1, 29, -1, 107, -1, - 124, -1, 26, -1, 169, -1, 100, -1, 172, -1, - 4, -1, 30, 230, -1, 101, 233, -1, 137, 196, - 228, -1, 137, 197, 83, 197, 228, -1, 137, 27, - 228, -1, 137, 64, 27, 228, -1, 137, 66, 27, - 228, -1, 137, 142, 228, -1, -1, 228, 229, -1, - 45, -1, 53, -1, 71, -1, 72, -1, 74, -1, - 80, -1, 105, -1, 106, -1, 109, -1, 110, -1, - 112, -1, 113, -1, 114, -1, 116, -1, 167, -1, - 230, 231, -1, 231, -1, 232, 59, -1, 11, -1, - 94, -1, 99, -1, 233, 234, -1, 234, -1, 235, - 59, -1, 54, -1, 55, -1, 56, -1, 57, -1, - 84, -1, 86, -1, 88, -1, 92, -1, 48, 196, - 237, -1, 237, 238, -1, 238, -1, 239, 275, -1, - 240, 274, -1, 148, 59, -1, 3, 149, -1, 134, - 149, -1, 153, -1, 154, -1, 41, -1, 42, -1, - 43, -1, 44, -1, 36, 242, -1, 29, 242, -1, - 242, 243, -1, 243, -1, 244, -1, 245, -1, 8, - -1, 12, -1, 18, -1, 67, -1, 99, -1, 115, - -1, 98, -1, 144, -1, 157, 247, -1, 247, 248, - -1, 248, -1, 249, 275, -1, 6, -1, 31, -1, - 47, -1, 50, -1, 120, -1, 146, -1, 147, -1, - 152, -1, 261, -1, 265, -1, 251, 275, -1, 252, - 149, -1, 253, 149, -1, 58, 149, 193, -1, 37, - -1, 33, 254, -1, 77, 259, -1, 123, 272, -1, - 141, 255, -1, 159, 197, 257, -1, 162, 268, -1, - 16, -1, 108, -1, 152, -1, 52, -1, 73, -1, - 125, -1, 78, -1, 139, -1, 149, -1, 149, 32, - -1, -1, 149, 185, 149, 256, -1, 27, -1, -1, - -1, 257, 258, -1, 127, 59, -1, 60, 197, -1, - 259, 260, -1, 260, -1, 149, -1, 262, 264, 263, - -1, 262, 264, 149, -1, 60, -1, 103, -1, 5, - -1, 63, -1, 65, -1, 170, -1, 76, -1, 53, - -1, 34, -1, 136, 266, -1, 266, 267, -1, 267, - -1, 7, -1, 8, -1, 25, -1, 62, -1, 90, - -1, 150, -1, 155, -1, 268, 59, -1, 59, -1, - 269, 270, -1, 270, -1, 59, -1, 271, -1, 186, - 59, 35, 59, 187, -1, 272, 149, -1, 149, -1, - 273, 196, -1, 196, -1, 59, -1, 160, -1, 38, - -1, 59, -1, 32, -1, 277, 188, 278, 281, 189, - -1, 175, -1, 278, 279, 174, -1, 279, 174, -1, - 280, 185, 275, -1, 176, -1, 177, -1, 281, 282, - -1, 282, -1, 284, 188, 283, 285, 189, -1, 178, - 185, 275, 174, -1, 140, 185, 196, -1, 285, 286, - -1, 286, -1, 179, 185, 275, 188, 287, 189, -1, - 287, 288, 174, -1, 288, 174, -1, 289, 185, 275, - -1, 180, -1, 181, -1, 182, -1, 183, -1, 184, - -1 + 194, 0, -1, 195, -1, 195, 196, 177, -1, 196, + 177, -1, 1, 177, -1, -1, 197, -1, 210, -1, + 212, -1, 213, -1, 222, -1, 230, -1, 217, -1, + 239, -1, 244, -1, 248, -1, 253, -1, 257, -1, + 283, -1, 198, 199, 202, -1, 142, -1, 127, -1, + 122, -1, 14, -1, 81, -1, 200, -1, 201, 152, + -1, 152, -1, 64, -1, 66, -1, -1, 202, 203, + -1, 204, -1, 206, -1, 208, -1, 205, -1, 9, + -1, 17, -1, 51, -1, 112, -1, 129, -1, 130, + -1, 163, -1, 174, -1, 207, 59, -1, 207, 167, + -1, 68, -1, 96, -1, 89, -1, 165, -1, 98, + -1, 170, -1, 209, 152, -1, 52, -1, 211, 199, + -1, 168, -1, 169, -1, 15, -1, 82, 280, -1, + 103, 280, -1, 10, 59, -1, 22, 59, -1, 23, + 214, -1, 69, 152, -1, 70, 152, -1, 136, 59, + -1, 139, 59, -1, 164, 276, -1, 118, 152, -1, + -1, 214, 215, -1, 216, 152, -1, 139, 59, -1, + 49, -1, 52, -1, 132, -1, 133, -1, 28, -1, + 161, 218, -1, 218, 219, -1, 219, -1, 220, 59, + -1, 221, 282, -1, 21, 281, -1, 19, -1, 46, + -1, 119, -1, 120, -1, 97, -1, 13, -1, 94, + -1, 87, -1, 92, -1, 85, -1, 146, 223, -1, + 148, 152, -1, 40, 224, 225, -1, 223, 224, -1, + 224, -1, 20, -1, 24, -1, 79, -1, 123, -1, + 134, -1, 154, -1, 159, -1, 131, -1, -1, 225, + 226, -1, 39, 152, -1, 166, 229, -1, 227, -1, + 228, -1, 75, -1, 105, -1, 36, -1, 29, -1, + 108, -1, 125, -1, 26, -1, 172, -1, 101, -1, + 175, -1, 4, -1, 30, 233, -1, 102, 236, -1, + 138, 199, 231, -1, 138, 200, 83, 200, 231, -1, + 138, 27, 231, -1, 138, 64, 27, 231, -1, 138, + 66, 27, 231, -1, 138, 144, 231, -1, -1, 231, + 232, -1, 45, -1, 53, -1, 71, -1, 72, -1, + 74, -1, 80, -1, 106, -1, 107, -1, 110, -1, + 111, -1, 113, -1, 114, -1, 115, -1, 117, -1, + 170, -1, 233, 234, -1, 234, -1, 235, 59, -1, + 11, -1, 95, -1, 100, -1, 236, 237, -1, 237, + -1, 238, 59, -1, 54, -1, 55, -1, 56, -1, + 57, -1, 84, -1, 86, -1, 88, -1, 93, -1, + 48, 199, 240, -1, 240, 241, -1, 241, -1, 242, + 282, -1, 243, 281, -1, 151, 59, -1, 3, 152, + -1, 135, 152, -1, 156, -1, 157, -1, 41, -1, + 42, -1, 43, -1, 44, -1, 160, 245, -1, 245, + 246, -1, 246, -1, 247, 59, -1, 91, -1, 145, + -1, 36, 249, -1, 29, 249, -1, 249, 250, -1, + 250, -1, 251, -1, 252, -1, 8, -1, 12, -1, + 18, -1, 67, -1, 100, -1, 116, -1, 99, -1, + 147, -1, 160, 254, -1, 254, 255, -1, 255, -1, + 256, 282, -1, 6, -1, 31, -1, 47, -1, 50, + -1, 121, -1, 149, -1, 150, -1, 155, -1, 268, + -1, 272, -1, 258, 282, -1, 259, 152, -1, 260, + 152, -1, 58, 152, 196, -1, 37, -1, 33, 261, + -1, 77, 266, -1, 124, 279, -1, 143, 262, -1, + 162, 200, 264, -1, 165, 275, -1, 16, -1, 109, + -1, 155, -1, 52, -1, 73, -1, 126, -1, 78, + -1, 141, -1, 152, -1, 152, 32, -1, -1, 152, + 188, 152, 263, -1, 27, -1, -1, -1, 264, 265, + -1, 128, 59, -1, 60, 200, -1, 266, 267, -1, + 267, -1, 152, -1, 269, 271, 270, -1, 269, 271, + 152, -1, 60, -1, 104, -1, 5, -1, 63, -1, + 65, -1, 173, -1, 76, -1, 53, -1, 34, -1, + 137, 273, -1, 273, 274, -1, 274, -1, 7, -1, + 8, -1, 25, -1, 62, -1, 90, -1, 153, -1, + 158, -1, 275, 59, -1, 59, -1, 276, 277, -1, + 277, -1, 59, -1, 278, -1, 189, 59, 35, 59, + 190, -1, 279, 152, -1, 152, -1, 280, 199, -1, + 199, -1, 59, -1, 163, -1, 38, -1, 59, -1, + 32, -1, 284, 191, 285, 288, 192, -1, 178, -1, + 285, 286, 177, -1, 286, 177, -1, 287, 188, 282, + -1, 179, -1, 180, -1, 288, 289, -1, 289, -1, + 291, 191, 290, 292, 192, -1, 181, 188, 282, 177, + -1, 142, 188, 199, -1, 292, 293, -1, 293, -1, + 182, 188, 282, 191, 294, 192, -1, 294, 295, 177, + -1, 295, 177, -1, 296, 188, 282, -1, 183, -1, + 184, -1, 185, -1, 186, -1, 187, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 351, 351, 355, 356, 357, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 391, - 401, 402, 403, 404, 405, 409, 410, 415, 420, 422, - 428, 429, 437, 438, 439, 443, 448, 449, 450, 451, - 452, 453, 454, 455, 459, 461, 466, 467, 468, 469, - 470, 471, 475, 480, 489, 499, 500, 510, 512, 514, - 525, 532, 534, 539, 541, 543, 545, 547, 549, 555, - 556, 564, 566, 578, 579, 580, 581, 582, 591, 596, - 601, 609, 611, 613, 618, 619, 620, 621, 622, 623, - 627, 628, 629, 630, 639, 641, 650, 660, 665, 673, - 674, 675, 676, 677, 678, 679, 680, 685, 686, 694, - 704, 713, 728, 733, 734, 738, 739, 743, 744, 745, - 746, 747, 748, 749, 758, 762, 766, 774, 782, 790, - 805, 820, 833, 834, 842, 843, 844, 845, 846, 847, - 848, 849, 850, 851, 852, 853, 854, 855, 856, 860, - 865, 873, 878, 879, 880, 884, 889, 897, 902, 903, - 904, 905, 906, 907, 908, 909, 917, 927, 932, 940, - 942, 944, 946, 948, 953, 954, 958, 959, 960, 961, - 969, 971, 976, 981, 989, 991, 1008, 1009, 1010, 1011, - 1012, 1013, 1017, 1018, 1026, 1031, 1036, 1044, 1049, 1050, - 1051, 1052, 1053, 1054, 1055, 1056, 1065, 1066, 1067, 1074, - 1081, 1097, 1116, 1121, 1123, 1125, 1127, 1129, 1136, 1141, - 1142, 1143, 1147, 1148, 1149, 1153, 1154, 1158, 1165, 1175, - 1184, 1189, 1191, 1196, 1197, 1205, 1207, 1215, 1220, 1228, - 1253, 1260, 1270, 1271, 1275, 1276, 1277, 1278, 1282, 1283, - 1284, 1288, 1293, 1298, 1306, 1307, 1308, 1309, 1310, 1311, - 1312, 1322, 1327, 1335, 1340, 1348, 1350, 1354, 1359, 1364, - 1372, 1377, 1385, 1394, 1395, 1399, 1400, 1409, 1427, 1431, - 1436, 1444, 1449, 1450, 1454, 1459, 1467, 1472, 1477, 1482, - 1487, 1495, 1500, 1505, 1513, 1518, 1519, 1520, 1521, 1522 + 0, 357, 357, 361, 362, 363, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 398, 408, 409, 410, 411, 412, 416, 417, 422, 427, + 429, 435, 436, 444, 445, 446, 450, 455, 456, 457, + 458, 459, 460, 461, 462, 466, 468, 473, 474, 475, + 476, 477, 478, 482, 487, 496, 506, 507, 517, 519, + 521, 532, 539, 541, 546, 548, 550, 552, 554, 563, + 569, 570, 578, 580, 592, 593, 594, 595, 596, 605, + 610, 615, 623, 625, 627, 632, 633, 634, 635, 636, + 637, 641, 642, 643, 644, 653, 655, 664, 674, 679, + 687, 688, 689, 690, 691, 692, 693, 694, 699, 700, + 708, 718, 727, 742, 747, 748, 752, 753, 757, 758, + 759, 760, 761, 762, 763, 772, 776, 780, 788, 796, + 804, 819, 834, 847, 848, 856, 857, 858, 859, 860, + 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, + 874, 879, 887, 892, 893, 894, 898, 903, 911, 916, + 917, 918, 919, 920, 921, 922, 923, 931, 941, 946, + 954, 956, 958, 960, 962, 967, 968, 972, 973, 974, + 975, 983, 988, 993, 1001, 1006, 1007, 1016, 1018, 1023, + 1028, 1036, 1038, 1055, 1056, 1057, 1058, 1059, 1060, 1064, + 1065, 1073, 1078, 1083, 1091, 1096, 1097, 1098, 1099, 1100, + 1101, 1102, 1103, 1112, 1113, 1114, 1121, 1128, 1144, 1163, + 1168, 1170, 1172, 1174, 1176, 1183, 1188, 1189, 1190, 1194, + 1195, 1196, 1200, 1201, 1205, 1212, 1222, 1231, 1236, 1238, + 1243, 1244, 1252, 1254, 1262, 1267, 1275, 1300, 1307, 1317, + 1318, 1322, 1323, 1324, 1325, 1329, 1330, 1331, 1335, 1340, + 1345, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1369, 1374, + 1382, 1387, 1395, 1397, 1401, 1406, 1411, 1419, 1424, 1432, + 1441, 1442, 1446, 1447, 1456, 1474, 1478, 1483, 1491, 1496, + 1497, 1501, 1506, 1514, 1519, 1524, 1529, 1534, 1542, 1547, + 1552, 1560, 1565, 1566, 1567, 1568, 1569 }; #endif @@ -994,55 +1005,56 @@ static const char *const yytname[] = "T_Listen", "T_Logconfig", "T_Logfile", "T_Loopstats", "T_Lowpriotrap", "T_Manycastclient", "T_Manycastserver", "T_Mask", "T_Maxage", "T_Maxclock", "T_Maxdepth", "T_Maxdist", "T_Maxmem", "T_Maxpoll", - "T_Mem", "T_Minclock", "T_Mindepth", "T_Mindist", "T_Minimum", - "T_Minpoll", "T_Minsane", "T_Mode", "T_Mode7", "T_Monitor", "T_Month", - "T_Mru", "T_Multicastclient", "T_Nic", "T_Nolink", "T_Nomodify", - "T_Nomrulist", "T_None", "T_Nonvolatile", "T_Nopeer", "T_Noquery", - "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport", - "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_Panic", "T_Peer", - "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", "T_Port", - "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile", + "T_Mem", "T_Memlock", "T_Minclock", "T_Mindepth", "T_Mindist", + "T_Minimum", "T_Minpoll", "T_Minsane", "T_Mode", "T_Mode7", "T_Monitor", + "T_Month", "T_Mru", "T_Multicastclient", "T_Nic", "T_Nolink", + "T_Nomodify", "T_Nomrulist", "T_None", "T_Nonvolatile", "T_Nopeer", + "T_Noquery", "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", + "T_Ntpport", "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_Panic", + "T_Peer", "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", + "T_Port", "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile", "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict", - "T_Revoke", "T_Saveconfigdir", "T_Server", "T_Setvar", "T_Source", - "T_Statistics", "T_Stats", "T_Statsdir", "T_Step", "T_Stepout", - "T_Stratum", "T_String", "T_Sys", "T_Sysstats", "T_Tick", "T_Time1", - "T_Time2", "T_Timer", "T_Timingstats", "T_Tinker", "T_Tos", "T_Trap", - "T_True", "T_Trustedkey", "T_Ttl", "T_Type", "T_U_int", "T_Unconfig", - "T_Unpeer", "T_Version", "T_WanderThreshold", "T_Week", "T_Wildcard", - "T_Xleave", "T_Year", "T_Flag", "T_EOC", "T_Simulate", "T_Beep_Delay", - "T_Sim_Duration", "T_Server_Offset", "T_Duration", "T_Freq_Offset", - "T_Wander", "T_Jitter", "T_Prop_Delay", "T_Proc_Delay", "'='", "'('", - "')'", "'{'", "'}'", "$accept", "configuration", "command_list", - "command", "server_command", "client_type", "address", "ip_address", - "address_fam", "option_list", "option", "option_flag", - "option_flag_keyword", "option_int", "option_int_keyword", "option_str", - "option_str_keyword", "unpeer_command", "unpeer_keyword", - "other_mode_command", "authentication_command", "crypto_command_list", - "crypto_command", "crypto_str_keyword", "orphan_mode_command", - "tos_option_list", "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", "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", - "system_option_command", "system_option_list", "system_option", - "system_option_flag_keyword", "system_option_local_flag_keyword", - "tinker_command", "tinker_option_list", "tinker_option", - "tinker_option_keyword", "miscellaneous_command", "misc_cmd_dbl_keyword", - "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword", "drift_parm", - "variable_assign", "t_default_or_zero", "trap_option_list", - "trap_option", "log_config_list", "log_config_command", - "interface_command", "interface_nic", "nic_rule_class", - "nic_rule_action", "reset_command", "counter_set_list", - "counter_set_keyword", "integer_list", "integer_list_range", - "integer_list_range_elt", "integer_range", "string_list", "address_list", - "boolean", "number", "simulate_command", "sim_conf_start", - "sim_init_statement_list", "sim_init_statement", "sim_init_keyword", - "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name", - "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt", - "sim_act_keyword", 0 + "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar", + "T_Source", "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir", + "T_Step", "T_Stepout", "T_Stratum", "T_String", "T_Sys", "T_Sysstats", + "T_Tick", "T_Time1", "T_Time2", "T_Timer", "T_Timingstats", "T_Tinker", + "T_Tos", "T_Trap", "T_True", "T_Trustedkey", "T_Ttl", "T_Type", + "T_U_int", "T_Unconfig", "T_Unpeer", "T_Version", "T_WanderThreshold", + "T_Week", "T_Wildcard", "T_Xleave", "T_Year", "T_Flag", "T_EOC", + "T_Simulate", "T_Beep_Delay", "T_Sim_Duration", "T_Server_Offset", + "T_Duration", "T_Freq_Offset", "T_Wander", "T_Jitter", "T_Prop_Delay", + "T_Proc_Delay", "'='", "'('", "')'", "'{'", "'}'", "$accept", + "configuration", "command_list", "command", "server_command", + "client_type", "address", "ip_address", "address_fam", "option_list", + "option", "option_flag", "option_flag_keyword", "option_int", + "option_int_keyword", "option_str", "option_str_keyword", + "unpeer_command", "unpeer_keyword", "other_mode_command", + "authentication_command", "crypto_command_list", "crypto_command", + "crypto_str_keyword", "orphan_mode_command", "tos_option_list", + "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", "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", "rlimit_command", "rlimit_option_list", + "rlimit_option", "rlimit_option_keyword", "system_option_command", + "system_option_list", "system_option", "system_option_flag_keyword", + "system_option_local_flag_keyword", "tinker_command", + "tinker_option_list", "tinker_option", "tinker_option_keyword", + "miscellaneous_command", "misc_cmd_dbl_keyword", "misc_cmd_str_keyword", + "misc_cmd_str_lcl_keyword", "drift_parm", "variable_assign", + "t_default_or_zero", "trap_option_list", "trap_option", + "log_config_list", "log_config_command", "interface_command", + "interface_nic", "nic_rule_class", "nic_rule_action", "reset_command", + "counter_set_list", "counter_set_keyword", "integer_list", + "integer_list_range", "integer_list_range_elt", "integer_range", + "string_list", "address_list", "boolean", "number", "simulate_command", + "sim_conf_start", "sim_init_statement_list", "sim_init_statement", + "sim_init_keyword", "sim_server_list", "sim_server", "sim_server_offset", + "sim_server_name", "sim_act_list", "sim_act", "sim_act_stmt_list", + "sim_act_stmt", "sim_act_keyword", 0 }; #endif @@ -1069,78 +1081,81 @@ static const yytype_uint16 yytoknum[] = 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 439, 61, 40, 41, 123, 125 + 435, 436, 437, 438, 439, 440, 441, 442, 61, 40, + 41, 123, 125 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 190, 191, 192, 192, 192, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 194, - 195, 195, 195, 195, 195, 196, 196, 197, 198, 198, - 199, 199, 200, 200, 200, 201, 202, 202, 202, 202, - 202, 202, 202, 202, 203, 203, 204, 204, 204, 204, - 204, 204, 205, 206, 207, 208, 208, 209, 209, 209, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 211, - 211, 212, 212, 213, 213, 213, 213, 213, 214, 215, - 215, 216, 216, 216, 217, 217, 217, 217, 217, 217, - 218, 218, 218, 218, 219, 219, 219, 220, 220, 221, - 221, 221, 221, 221, 221, 221, 221, 222, 222, 223, - 223, 223, 223, 224, 224, 225, 225, 226, 226, 226, - 226, 226, 226, 226, 227, 227, 227, 227, 227, 227, - 227, 227, 228, 228, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, - 230, 231, 232, 232, 232, 233, 233, 234, 235, 235, - 235, 235, 235, 235, 235, 235, 236, 237, 237, 238, - 238, 238, 238, 238, 239, 239, 240, 240, 240, 240, - 241, 241, 242, 242, 243, 243, 244, 244, 244, 244, - 244, 244, 245, 245, 246, 247, 247, 248, 249, 249, - 249, 249, 249, 249, 249, 249, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 250, 251, - 251, 251, 252, 252, 252, 253, 253, 254, 254, 254, - 255, 256, 256, 257, 257, 258, 258, 259, 259, 260, - 261, 261, 262, 262, 263, 263, 263, 263, 264, 264, - 264, 265, 266, 266, 267, 267, 267, 267, 267, 267, - 267, 268, 268, 269, 269, 270, 270, 271, 272, 272, - 273, 273, 274, 274, 274, 275, 275, 276, 277, 278, - 278, 279, 280, 280, 281, 281, 282, 283, 284, 285, - 285, 286, 287, 287, 288, 289, 289, 289, 289, 289 + 0, 193, 194, 195, 195, 195, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 197, 198, 198, 198, 198, 198, 199, 199, 200, 201, + 201, 202, 202, 203, 203, 203, 204, 205, 205, 205, + 205, 205, 205, 205, 205, 206, 206, 207, 207, 207, + 207, 207, 207, 208, 209, 210, 211, 211, 212, 212, + 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 214, 214, 215, 215, 216, 216, 216, 216, 216, 217, + 218, 218, 219, 219, 219, 220, 220, 220, 220, 220, + 220, 221, 221, 221, 221, 222, 222, 222, 223, 223, + 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, + 226, 226, 226, 226, 227, 227, 228, 228, 229, 229, + 229, 229, 229, 229, 229, 230, 230, 230, 230, 230, + 230, 230, 230, 231, 231, 232, 232, 232, 232, 232, + 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 233, 233, 234, 235, 235, 235, 236, 236, 237, 238, + 238, 238, 238, 238, 238, 238, 238, 239, 240, 240, + 241, 241, 241, 241, 241, 242, 242, 243, 243, 243, + 243, 244, 245, 245, 246, 247, 247, 248, 248, 249, + 249, 250, 250, 251, 251, 251, 251, 251, 251, 252, + 252, 253, 254, 254, 255, 256, 256, 256, 256, 256, + 256, 256, 256, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 257, 257, 257, 258, 258, 258, 259, + 259, 259, 260, 260, 261, 261, 261, 262, 263, 263, + 264, 264, 265, 265, 266, 266, 267, 268, 268, 269, + 269, 270, 270, 270, 270, 271, 271, 271, 272, 273, + 273, 274, 274, 274, 274, 274, 274, 274, 275, 275, + 276, 276, 277, 277, 278, 279, 279, 280, 280, 281, + 281, 281, 282, 282, 283, 284, 285, 285, 286, 287, + 287, 288, 288, 289, 290, 291, 292, 292, 293, 294, + 294, 295, 296, 296, 296, 296, 296 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 3, 2, 2, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, - 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, - 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, - 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, - 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 3, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 3, 5, 3, 4, - 4, 3, 0, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 2, 1, 2, - 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 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, + 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, + 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 2, 2, 2, 1, 1, 1, 1, 1, 2, + 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 3, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, + 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 3, 5, 3, + 4, 4, 3, 0, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, + 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, + 1, 2, 2, 1, 2, 1, 1, 2, 2, 2, + 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, 2, 2, 2, 3, 1, + 2, 2, 2, 2, 3, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 0, 4, 1, 0, + 0, 2, 2, 2, 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 2, 3, 1, 2, 2, 2, 2, 3, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, - 4, 1, 0, 0, 2, 2, 2, 2, 1, 1, - 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 2, 1, 1, 1, 5, 2, 1, - 2, 1, 1, 1, 1, 1, 1, 5, 1, 3, - 2, 3, 1, 1, 2, 1, 5, 4, 3, 2, - 1, 6, 3, 2, 3, 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, + 2, 1, 1, 1, 5, 2, 1, 2, 1, 1, + 1, 1, 1, 1, 5, 1, 3, 2, 3, 1, + 1, 2, 1, 5, 4, 3, 2, 1, 6, 3, + 2, 3, 1, 1, 1, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1148,125 +1163,127 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 0, 0, 23, 57, 219, 0, 69, 0, 0, - 229, 0, 212, 0, 0, 222, 0, 242, 0, 0, - 223, 0, 225, 24, 0, 0, 0, 243, 220, 0, - 22, 0, 224, 21, 0, 0, 0, 0, 226, 20, - 0, 0, 0, 221, 0, 0, 0, 0, 0, 55, - 56, 278, 0, 2, 0, 7, 0, 8, 0, 9, - 10, 13, 11, 12, 14, 15, 16, 17, 0, 0, - 0, 206, 0, 207, 18, 0, 5, 60, 61, 62, - 186, 187, 188, 189, 192, 190, 191, 193, 181, 183, - 184, 185, 152, 153, 154, 124, 150, 0, 227, 213, - 180, 99, 100, 101, 102, 106, 103, 104, 105, 107, - 28, 29, 27, 0, 25, 0, 6, 63, 64, 239, - 214, 238, 271, 58, 158, 159, 160, 161, 162, 163, - 164, 165, 125, 156, 0, 59, 68, 269, 215, 65, - 254, 255, 256, 257, 258, 259, 260, 251, 253, 132, - 28, 29, 132, 132, 25, 66, 0, 216, 94, 98, - 95, 198, 199, 200, 201, 202, 203, 204, 205, 194, - 196, 0, 89, 84, 0, 85, 93, 91, 92, 90, - 88, 86, 87, 78, 80, 0, 0, 233, 265, 0, - 67, 264, 266, 262, 218, 1, 0, 4, 30, 54, - 276, 275, 208, 209, 210, 250, 249, 248, 0, 0, - 77, 73, 74, 75, 76, 0, 70, 0, 182, 149, - 151, 228, 96, 0, 176, 177, 178, 179, 0, 0, - 174, 175, 166, 168, 0, 0, 26, 211, 237, 270, - 155, 157, 268, 252, 128, 132, 132, 131, 126, 0, - 0, 97, 195, 197, 274, 272, 273, 83, 79, 81, - 82, 217, 0, 263, 261, 3, 19, 244, 245, 246, - 241, 247, 240, 282, 283, 0, 0, 0, 72, 71, - 116, 115, 0, 113, 114, 0, 108, 111, 112, 172, - 173, 171, 167, 169, 170, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 133, 129, 130, 132, 232, 0, 0, 234, 0, 36, - 37, 38, 53, 46, 48, 47, 50, 39, 40, 41, - 42, 49, 51, 43, 31, 32, 35, 33, 0, 34, - 0, 0, 0, 0, 285, 0, 280, 0, 109, 123, - 119, 121, 117, 118, 120, 122, 110, 127, 231, 230, - 236, 235, 0, 44, 45, 52, 0, 279, 277, 284, - 0, 281, 267, 288, 0, 0, 0, 0, 0, 290, - 0, 0, 286, 289, 287, 0, 0, 295, 296, 297, - 298, 299, 0, 0, 0, 291, 0, 293, 0, 292, - 294 + 0, 0, 0, 24, 58, 226, 0, 70, 0, 0, + 236, 0, 219, 0, 0, 229, 0, 249, 0, 0, + 230, 0, 232, 25, 0, 0, 0, 250, 227, 0, + 23, 0, 231, 22, 0, 0, 0, 0, 233, 21, + 0, 0, 0, 228, 0, 0, 0, 0, 0, 56, + 57, 285, 0, 2, 0, 7, 0, 8, 0, 9, + 10, 13, 11, 12, 14, 15, 16, 17, 18, 0, + 0, 0, 213, 0, 214, 19, 0, 5, 61, 62, + 63, 193, 194, 195, 196, 199, 197, 198, 200, 188, + 190, 191, 192, 153, 154, 155, 125, 151, 0, 234, + 220, 187, 100, 101, 102, 103, 107, 104, 105, 106, + 108, 29, 30, 28, 0, 26, 0, 6, 64, 65, + 246, 221, 245, 278, 59, 159, 160, 161, 162, 163, + 164, 165, 166, 126, 157, 0, 60, 69, 276, 222, + 66, 261, 262, 263, 264, 265, 266, 267, 258, 260, + 133, 29, 30, 133, 133, 26, 67, 0, 223, 95, + 99, 96, 205, 206, 207, 208, 185, 209, 186, 210, + 211, 212, 181, 183, 0, 201, 203, 0, 90, 85, + 0, 86, 94, 92, 93, 91, 89, 87, 88, 79, + 81, 0, 0, 240, 272, 0, 68, 271, 273, 269, + 225, 1, 0, 4, 31, 55, 283, 282, 215, 216, + 217, 257, 256, 255, 0, 0, 78, 74, 75, 76, + 77, 0, 71, 0, 189, 150, 152, 235, 97, 0, + 177, 178, 179, 180, 0, 0, 175, 176, 167, 169, + 0, 0, 27, 218, 244, 277, 156, 158, 275, 259, + 129, 133, 133, 132, 127, 0, 0, 98, 182, 184, + 202, 204, 281, 279, 280, 84, 80, 82, 83, 224, + 0, 270, 268, 3, 20, 251, 252, 253, 248, 254, + 247, 289, 290, 0, 0, 0, 73, 72, 117, 116, + 0, 114, 115, 0, 109, 112, 113, 173, 174, 172, + 168, 170, 171, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 134, 130, + 131, 133, 239, 0, 0, 241, 0, 37, 38, 39, + 54, 47, 49, 48, 51, 40, 41, 42, 43, 50, + 52, 44, 32, 33, 36, 34, 0, 35, 0, 0, + 0, 0, 292, 0, 287, 0, 110, 124, 120, 122, + 118, 119, 121, 123, 111, 128, 238, 237, 243, 242, + 0, 45, 46, 53, 0, 286, 284, 291, 0, 288, + 274, 295, 0, 0, 0, 0, 0, 297, 0, 0, + 293, 296, 294, 0, 0, 302, 303, 304, 305, 306, + 0, 0, 0, 298, 0, 300, 0, 299, 301 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 52, 53, 54, 55, 56, 122, 114, 115, 266, - 334, 335, 336, 337, 338, 339, 340, 57, 58, 59, - 60, 79, 216, 217, 61, 183, 184, 185, 186, 62, - 158, 109, 222, 286, 287, 288, 356, 63, 244, 310, - 95, 96, 97, 132, 133, 134, 64, 232, 233, 234, - 235, 65, 88, 89, 90, 91, 66, 169, 170, 171, - 67, 68, 69, 70, 99, 157, 359, 261, 317, 120, - 121, 71, 72, 272, 208, 73, 147, 148, 194, 190, - 191, 192, 138, 123, 257, 202, 74, 75, 275, 276, - 277, 343, 344, 375, 345, 378, 379, 392, 393, 394 + -1, 52, 53, 54, 55, 56, 123, 115, 116, 274, + 342, 343, 344, 345, 346, 347, 348, 57, 58, 59, + 60, 80, 222, 223, 61, 189, 190, 191, 192, 62, + 159, 110, 228, 294, 295, 296, 364, 63, 250, 318, + 96, 97, 98, 133, 134, 135, 64, 238, 239, 240, + 241, 65, 172, 173, 174, 66, 89, 90, 91, 92, + 67, 175, 176, 177, 68, 69, 70, 71, 100, 158, + 367, 269, 325, 121, 122, 72, 73, 280, 214, 74, + 148, 149, 200, 196, 197, 198, 139, 124, 265, 208, + 75, 76, 283, 284, 285, 351, 352, 383, 353, 386, + 387, 400, 401, 402 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -170 +#define YYPACT_NINF -176 static const yytype_int16 yypact[] = { - 23, -143, -27, -170, -170, -170, -18, -170, 286, 8, - -102, 286, -170, 287, -46, -170, -101, -170, -98, -94, - -170, -87, -170, -170, -46, 305, -46, -170, -170, -81, - -170, -79, -170, -170, -5, 110, 3, 13, -170, -170, - -76, 287, -72, -170, 123, 493, -67, -52, 31, -170, - -170, -170, 91, 180, -75, -170, -46, -170, -46, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -9, -54, - -43, -170, -19, -170, -170, -80, -170, -170, -170, 195, - -170, -170, -170, -170, -170, -170, -170, -170, 286, -170, - -170, -170, -170, -170, -170, 8, -170, 51, 79, -170, - 286, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, 71, -170, -33, 334, -170, -170, -170, - -87, -170, -170, -46, -170, -170, -170, -170, -170, -170, - -170, -170, 305, -170, 61, -46, -170, -170, -22, -170, - -170, -170, -170, -170, -170, -170, -170, 110, -170, -170, - 95, 96, -170, -170, 45, -170, -49, -170, 287, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, 123, - -170, -9, -170, -170, -30, -170, -170, -170, -170, -170, - -170, -170, -170, 493, -170, 82, -9, -170, -170, 83, - -52, -170, -170, -170, 84, -170, -36, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, 1, -150, - -170, -170, -170, -170, -170, 88, -170, 2, -170, -170, - -170, -170, -26, 4, -170, -170, -170, -170, 6, 98, - -170, -170, 71, -170, -9, -30, -170, -170, -170, -170, - -170, -170, -170, -170, 431, -170, -170, 431, 431, -67, - 18, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -51, 134, -170, -170, -170, 393, -170, -170, -170, - -170, -170, -170, -170, -170, -97, 0, -8, -170, -170, - -170, -170, 27, -170, -170, 32, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, 431, 431, -170, 152, -67, 124, -170, 127, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -45, -170, - 38, 7, 17, -128, -170, 5, -170, -9, -170, -170, - -170, -170, -170, -170, -170, -170, -170, 431, -170, -170, - -170, -170, 12, -170, -170, -170, -46, -170, -170, -170, - 28, -170, -170, -170, 26, 29, -9, 30, -154, -170, - 44, -9, -170, -170, -170, 33, 53, -170, -170, -170, - -170, -170, -95, 48, 41, -170, 56, -170, -9, -170, - -170 + 23, -159, -34, -176, -176, -176, -25, -176, 106, 3, + -111, 106, -176, 111, -43, -176, -109, -176, -104, -102, + -176, -95, -176, -176, -43, 462, -43, -176, -176, -91, + -176, -86, -176, -176, 17, 5, 4, 20, -176, -176, + -70, 111, -68, -176, 146, 464, -67, -53, 27, -176, + -176, -176, 91, 203, -83, -176, -43, -176, -43, -176, + -176, -176, -176, -176, -176, -176, -176, -176, -176, -12, + -55, -44, -176, -2, -176, -176, -92, -176, -176, -176, + 222, -176, -176, -176, -176, -176, -176, -176, -176, 106, + -176, -176, -176, -176, -176, -176, 3, -176, 43, 79, + -176, 106, -176, -176, -176, -176, -176, -176, -176, -176, + -176, -176, -176, -176, 46, -176, -40, 360, -176, -176, + -176, -95, -176, -176, -43, -176, -176, -176, -176, -176, + -176, -176, -176, 462, -176, 54, -43, -176, -176, -36, + -176, -176, -176, -176, -176, -176, -176, -176, 5, -176, + -176, 90, 92, -176, -176, 37, -176, -65, -176, 111, + -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, + -176, -176, -76, -176, 69, 148, -176, -12, -176, -176, + -33, -176, -176, -176, -176, -176, -176, -176, -176, 464, + -176, 70, -12, -176, -176, 75, -53, -176, -176, -176, + 78, -176, -39, -176, -176, -176, -176, -176, -176, -176, + -176, -176, -176, -176, -1, -125, -176, -176, -176, -176, + -176, 80, -176, -10, -176, -176, -176, -176, 218, -9, + -176, -176, -176, -176, -8, 87, -176, -176, 46, -176, + -12, -33, -176, -176, -176, -176, -176, -176, -176, -176, + 342, -176, -176, 342, 342, -67, 1, -176, -176, -176, + -176, -176, -176, -176, -176, -176, -176, -176, -176, -50, + 120, -176, -176, -176, 305, -176, -176, -176, -176, -176, + -176, -176, -176, -107, -7, -21, -176, -176, -176, -176, + 16, -176, -176, 32, -176, -176, -176, -176, -176, -176, + -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, + -176, -176, -176, -176, -176, -176, -176, -176, -176, 342, + 342, -176, 147, -67, 116, -176, 123, -176, -176, -176, + -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, + -176, -176, -176, -176, -176, -176, -52, -176, 34, 6, + 12, -115, -176, 8, -176, -12, -176, -176, -176, -176, + -176, -176, -176, -176, -176, 342, -176, -176, -176, -176, + 18, -176, -176, -176, -43, -176, -176, -176, 29, -176, + -176, -176, 24, 33, -12, 28, -163, -176, 44, -12, + -176, -176, -176, 36, 149, -176, -176, -176, -176, -176, + 132, 47, 35, -176, 51, -176, -12, -176, -176 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -170, -170, -170, -32, -170, -170, -14, -35, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, 58, -170, -170, -170, - -170, -25, -170, -170, -170, -170, -170, -170, -148, -170, - -170, 132, -170, -170, 99, -170, -170, -170, 10, -170, - -170, -170, 228, -60, -170, -170, -170, -170, 76, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - 126, -170, -170, -170, -170, -170, -170, 101, -170, -170, - 62, -170, -170, 225, 19, -169, -170, -170, -170, -20, - -170, -170, -84, -170, -170, -170, -122, -170, -129, -170 + -176, -176, -176, -37, -176, -176, -14, -35, -176, -176, + -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, + -176, -176, -176, -176, -176, -176, 22, -176, -176, -176, + -176, -38, -176, -176, -176, -176, -176, -176, -145, -176, + -176, 133, -176, -176, 97, -176, -176, -176, -3, -176, + -176, -176, -176, 66, -176, -176, 230, -61, -176, -176, + -176, -176, 71, -176, -176, -176, -176, -176, -176, -176, + -176, -176, -176, -176, 127, -176, -176, -176, -176, -176, + -176, 96, -176, -176, 53, -176, -176, 226, 15, -175, + -176, -176, -176, -24, -176, -176, -93, -176, -176, -176, + -126, -176, -138, -176 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1276,134 +1293,128 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -7 static const yytype_int16 yytable[] = { - 113, 154, 253, 280, 247, 248, 267, 188, 254, 315, - 281, 187, 341, 282, 363, 205, 159, 260, 110, 92, - 111, 196, 153, 200, 1, 377, 273, 274, 218, 255, - 149, 76, 77, 2, 206, 382, 349, 3, 4, 5, - 218, 78, 198, 341, 199, 6, 7, 98, 116, 283, - 201, 117, 8, 9, 139, 118, 10, 207, 350, 11, - 12, 368, 119, 13, 268, 293, 269, 150, 136, 151, - 137, 14, 155, 156, 223, 15, 316, 160, 284, 273, - 274, 16, 112, 17, 237, 387, 388, 389, 390, 391, - 193, 195, 18, 19, 395, 203, 20, 311, 312, 197, - 21, 22, 93, 112, 23, 24, 204, 94, 209, 239, - 220, 221, 224, 225, 226, 227, 236, 140, 141, 364, - 241, 239, 245, 246, 25, 26, 27, 242, 249, 161, - 256, 28, 351, 251, 189, 142, 250, 285, 265, 352, - 29, 259, 262, 264, 30, 152, 31, 278, 32, 33, - 270, 279, 112, 289, 162, 290, 353, 291, 34, 35, - 36, 37, 38, 39, 40, 357, 41, 314, 42, 318, - 163, 271, 143, 164, 346, 43, 348, 347, 371, 358, - 44, 45, 46, 361, 47, 48, 362, 365, 49, 50, - 2, 367, 366, 370, 3, 4, 5, -6, 51, 372, - 144, 354, 6, 7, 355, 228, 374, 380, 377, 8, - 9, 376, 385, 10, 313, 381, 11, 12, 384, 229, - 13, 386, 397, 210, 230, 231, 398, 219, 14, 400, - 399, 240, 15, 387, 388, 389, 390, 391, 16, 100, - 17, 258, 292, 165, 211, 252, 238, 212, 243, 18, - 19, 135, 263, 20, 294, 342, 383, 21, 22, 369, - 145, 23, 24, 396, 0, 146, 0, 0, 0, 166, - 167, 0, 0, 0, 0, 168, 0, 0, 0, 0, - 360, 25, 26, 27, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 80, 0, 0, 29, 81, 0, - 0, 30, 0, 31, 82, 32, 33, 101, 0, 0, - 0, 102, 0, 0, 0, 34, 35, 36, 37, 38, - 39, 40, 0, 41, 0, 42, 213, 214, 0, 0, - 0, 0, 43, 215, 0, 0, 0, 44, 45, 46, - 0, 47, 48, 0, 2, 49, 50, 0, 3, 4, - 5, 0, 373, 83, -6, 51, 6, 7, 0, 124, - 125, 126, 127, 8, 9, 0, 103, 10, 0, 0, - 11, 12, 0, 0, 13, 0, 0, 0, 0, 0, - 0, 0, 14, 0, 84, 85, 15, 0, 0, 128, - 0, 129, 16, 130, 17, 0, 0, 131, 0, 0, - 0, 86, 319, 18, 19, 0, 0, 20, 0, 104, - 320, 21, 22, 0, 0, 23, 24, 105, 0, 0, - 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 0, 0, 0, 0, 25, 26, 27, 107, 0, - 0, 0, 28, 108, 321, 322, 0, 0, 0, 0, - 0, 29, 0, 0, 0, 30, 0, 31, 0, 32, - 33, 323, 0, 0, 0, 0, 0, 0, 0, 34, - 35, 36, 37, 38, 39, 40, 295, 41, 0, 42, - 0, 0, 324, 0, 296, 0, 43, 0, 325, 0, - 326, 44, 45, 46, 0, 47, 48, 0, 0, 49, - 50, 0, 297, 298, 327, 299, 172, 0, 0, 51, - 0, 300, 173, 0, 174, 0, 0, 0, 0, 0, - 0, 328, 329, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 0, 175, - 303, 304, 0, 305, 306, 307, 0, 308, 0, 0, - 0, 0, 0, 330, 0, 331, 0, 0, 0, 0, - 332, 0, 0, 0, 333, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, - 177, 0, 0, 0, 178, 0, 179, 0, 0, 180, - 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, + 114, 155, 261, 160, 275, 262, 194, 371, 253, 254, + 323, 193, 141, 142, 93, 166, 202, 268, 77, 385, + 206, 111, 154, 112, 1, 78, 263, 349, 224, 390, + 143, 150, 211, 2, 79, 349, 357, 3, 4, 5, + 224, 99, 204, 117, 205, 6, 7, 207, 118, 229, + 119, 212, 8, 9, 281, 282, 10, 120, 358, 11, + 12, 137, 276, 13, 277, 301, 138, 144, 151, 168, + 152, 14, 281, 282, 213, 15, 140, 376, 324, 156, + 243, 16, 157, 17, 161, 113, 199, 230, 231, 232, + 233, 201, 18, 19, 203, 145, 20, 209, 94, 215, + 21, 22, 226, 95, 23, 24, 319, 320, 210, 113, + 245, 227, 242, 247, 81, 372, 248, 251, 82, 252, + 255, 257, 245, 256, 83, 25, 26, 27, 259, 267, + 264, 102, 28, 359, 270, 103, 195, 272, 273, 286, + 360, 29, 287, 297, 298, 30, 299, 31, 153, 32, + 33, 278, 162, 322, 162, 326, 113, 361, 146, 34, + 35, 36, 37, 147, 38, 39, 40, 355, 356, 41, + 354, 42, 279, 84, 366, 369, 365, 163, 43, 163, + 379, 234, 370, 44, 45, 46, 373, 47, 48, 375, + 104, 49, 50, 164, 374, 164, 165, 235, 165, 378, + -6, 51, 236, 237, 362, 85, 86, 363, 380, 388, + 382, 266, 384, 2, 393, 385, 389, 3, 4, 5, + 321, 392, 87, 406, 405, 6, 7, 394, 407, 225, + 246, 408, 8, 9, 105, 300, 10, 166, 258, 11, + 12, 101, 106, 13, 249, 107, 260, 288, 244, 271, + 216, 14, 136, 88, 289, 15, 302, 290, 377, 350, + 391, 16, 404, 17, 0, 108, 0, 167, 0, 167, + 109, 217, 18, 19, 218, 0, 20, 0, 0, 0, + 21, 22, 0, 0, 23, 24, 0, 0, 368, 0, + 0, 168, 0, 291, 0, 169, 170, 169, 170, 0, + 0, 171, 0, 171, 0, 25, 26, 27, 0, 0, + 0, 0, 28, 0, 327, 395, 396, 397, 398, 399, + 0, 29, 328, 292, 403, 30, 0, 31, 0, 32, + 33, 0, 395, 396, 397, 398, 399, 0, 0, 34, + 35, 36, 37, 0, 38, 39, 40, 0, 0, 41, + 0, 42, 0, 0, 219, 220, 329, 330, 43, 0, + 381, 221, 0, 44, 45, 46, 0, 47, 48, 0, + 2, 49, 50, 331, 3, 4, 5, 0, 0, 0, + -6, 51, 6, 7, 293, 0, 0, 303, 0, 8, + 9, 0, 0, 10, 332, 304, 11, 12, 0, 0, + 13, 333, 0, 334, 0, 0, 0, 0, 14, 0, + 0, 0, 15, 305, 306, 0, 307, 335, 16, 0, + 17, 0, 308, 0, 0, 0, 0, 0, 0, 18, + 19, 0, 0, 20, 336, 337, 0, 21, 22, 0, + 0, 23, 24, 0, 0, 0, 0, 0, 309, 310, + 0, 0, 311, 312, 0, 313, 314, 315, 0, 316, + 0, 0, 25, 26, 27, 0, 0, 0, 338, 28, + 339, 0, 0, 0, 0, 340, 0, 178, 29, 341, + 0, 0, 30, 179, 31, 180, 32, 33, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, + 0, 38, 39, 40, 0, 0, 41, 0, 42, 0, + 181, 0, 317, 0, 0, 43, 125, 126, 127, 128, + 44, 45, 46, 0, 47, 48, 0, 0, 49, 50, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, + 0, 0, 0, 0, 0, 0, 129, 0, 130, 182, + 131, 183, 0, 0, 0, 132, 184, 0, 185, 0, + 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 181, 182 + 0, 0, 0, 187, 188 }; static const yytype_int16 yycheck[] = { - 14, 36, 171, 29, 152, 153, 5, 59, 38, 60, - 36, 46, 140, 39, 59, 34, 41, 186, 64, 11, - 66, 53, 36, 32, 1, 179, 176, 177, 88, 59, - 27, 174, 59, 10, 53, 189, 4, 14, 15, 16, - 100, 59, 56, 140, 58, 22, 23, 149, 149, 75, - 59, 149, 29, 30, 59, 149, 33, 76, 26, 36, - 37, 189, 149, 40, 63, 234, 65, 64, 149, 66, - 149, 48, 59, 149, 3, 52, 127, 149, 104, 176, - 177, 58, 149, 60, 116, 180, 181, 182, 183, 184, - 59, 0, 69, 70, 189, 149, 73, 245, 246, 174, - 77, 78, 94, 149, 81, 82, 149, 99, 188, 123, - 59, 32, 41, 42, 43, 44, 149, 7, 8, 164, - 59, 135, 27, 27, 101, 102, 103, 149, 83, 6, - 160, 108, 100, 158, 186, 25, 185, 163, 174, 107, - 117, 59, 59, 59, 121, 142, 123, 59, 125, 126, - 149, 149, 149, 149, 31, 149, 124, 59, 135, 136, - 137, 138, 139, 140, 141, 313, 143, 149, 145, 35, - 47, 170, 62, 50, 174, 152, 149, 185, 347, 27, - 157, 158, 159, 59, 161, 162, 59, 149, 165, 166, - 10, 174, 185, 188, 14, 15, 16, 174, 175, 187, - 90, 169, 22, 23, 172, 134, 178, 376, 179, 29, - 30, 185, 381, 33, 249, 185, 36, 37, 174, 148, - 40, 188, 174, 28, 153, 154, 185, 95, 48, 398, - 174, 132, 52, 180, 181, 182, 183, 184, 58, 11, - 60, 183, 232, 120, 49, 169, 120, 52, 147, 69, - 70, 26, 190, 73, 235, 275, 378, 77, 78, 343, - 150, 81, 82, 392, -1, 155, -1, -1, -1, 146, - 147, -1, -1, -1, -1, 152, -1, -1, -1, -1, - 315, 101, 102, 103, -1, -1, -1, -1, 108, -1, - -1, -1, -1, -1, 8, -1, -1, 117, 12, -1, - -1, 121, -1, 123, 18, 125, 126, 20, -1, -1, - -1, 24, -1, -1, -1, 135, 136, 137, 138, 139, - 140, 141, -1, 143, -1, 145, 131, 132, -1, -1, - -1, -1, 152, 138, -1, -1, -1, 157, 158, 159, - -1, 161, 162, -1, 10, 165, 166, -1, 14, 15, - 16, -1, 366, 67, 174, 175, 22, 23, -1, 54, - 55, 56, 57, 29, 30, -1, 79, 33, -1, -1, - 36, 37, -1, -1, 40, -1, -1, -1, -1, -1, - -1, -1, 48, -1, 98, 99, 52, -1, -1, 84, - -1, 86, 58, 88, 60, -1, -1, 92, -1, -1, - -1, 115, 9, 69, 70, -1, -1, 73, -1, 122, - 17, 77, 78, -1, -1, 81, 82, 130, -1, -1, - 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 144, -1, -1, -1, -1, 101, 102, 103, 151, -1, - -1, -1, 108, 156, 51, 52, -1, -1, -1, -1, - -1, 117, -1, -1, -1, 121, -1, 123, -1, 125, - 126, 68, -1, -1, -1, -1, -1, -1, -1, 135, - 136, 137, 138, 139, 140, 141, 45, 143, -1, 145, - -1, -1, 89, -1, 53, -1, 152, -1, 95, -1, - 97, 157, 158, 159, -1, 161, 162, -1, -1, 165, - 166, -1, 71, 72, 111, 74, 13, -1, -1, 175, - -1, 80, 19, -1, 21, -1, -1, -1, -1, -1, - -1, 128, 129, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 105, 106, -1, 46, - 109, 110, -1, 112, 113, 114, -1, 116, -1, -1, - -1, -1, -1, 160, -1, 162, -1, -1, -1, -1, - 167, -1, -1, -1, 171, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 85, -1, - 87, -1, -1, -1, 91, -1, 93, -1, -1, 96, - -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, + 14, 36, 177, 41, 5, 38, 59, 59, 153, 154, + 60, 46, 7, 8, 11, 91, 53, 192, 177, 182, + 32, 64, 36, 66, 1, 59, 59, 142, 89, 192, + 25, 27, 34, 10, 59, 142, 4, 14, 15, 16, + 101, 152, 56, 152, 58, 22, 23, 59, 152, 3, + 152, 53, 29, 30, 179, 180, 33, 152, 26, 36, + 37, 152, 63, 40, 65, 240, 152, 62, 64, 145, + 66, 48, 179, 180, 76, 52, 59, 192, 128, 59, + 117, 58, 152, 60, 152, 152, 59, 41, 42, 43, + 44, 0, 69, 70, 177, 90, 73, 152, 95, 191, + 77, 78, 59, 100, 81, 82, 251, 252, 152, 152, + 124, 32, 152, 59, 8, 167, 152, 27, 12, 27, + 83, 159, 136, 188, 18, 102, 103, 104, 59, 59, + 163, 20, 109, 101, 59, 24, 189, 59, 177, 59, + 108, 118, 152, 152, 152, 122, 59, 124, 144, 126, + 127, 152, 6, 152, 6, 35, 152, 125, 153, 136, + 137, 138, 139, 158, 141, 142, 143, 188, 152, 146, + 177, 148, 173, 67, 27, 59, 321, 31, 155, 31, + 355, 135, 59, 160, 161, 162, 152, 164, 165, 177, + 79, 168, 169, 47, 188, 47, 50, 151, 50, 191, + 177, 178, 156, 157, 172, 99, 100, 175, 190, 384, + 181, 189, 188, 10, 389, 182, 188, 14, 15, 16, + 255, 177, 116, 188, 177, 22, 23, 191, 177, 96, + 133, 406, 29, 30, 123, 238, 33, 91, 172, 36, + 37, 11, 131, 40, 148, 134, 175, 29, 121, 196, + 28, 48, 26, 147, 36, 52, 241, 39, 351, 283, + 386, 58, 400, 60, -1, 154, -1, 121, -1, 121, + 159, 49, 69, 70, 52, -1, 73, -1, -1, -1, + 77, 78, -1, -1, 81, 82, -1, -1, 323, -1, + -1, 145, -1, 75, -1, 149, 150, 149, 150, -1, + -1, 155, -1, 155, -1, 102, 103, 104, -1, -1, + -1, -1, 109, -1, 9, 183, 184, 185, 186, 187, + -1, 118, 17, 105, 192, 122, -1, 124, -1, 126, + 127, -1, 183, 184, 185, 186, 187, -1, -1, 136, + 137, 138, 139, -1, 141, 142, 143, -1, -1, 146, + -1, 148, -1, -1, 132, 133, 51, 52, 155, -1, + 374, 139, -1, 160, 161, 162, -1, 164, 165, -1, + 10, 168, 169, 68, 14, 15, 16, -1, -1, -1, + 177, 178, 22, 23, 166, -1, -1, 45, -1, 29, + 30, -1, -1, 33, 89, 53, 36, 37, -1, -1, + 40, 96, -1, 98, -1, -1, -1, -1, 48, -1, + -1, -1, 52, 71, 72, -1, 74, 112, 58, -1, + 60, -1, 80, -1, -1, -1, -1, -1, -1, 69, + 70, -1, -1, 73, 129, 130, -1, 77, 78, -1, + -1, 81, 82, -1, -1, -1, -1, -1, 106, 107, + -1, -1, 110, 111, -1, 113, 114, 115, -1, 117, + -1, -1, 102, 103, 104, -1, -1, -1, 163, 109, + 165, -1, -1, -1, -1, 170, -1, 13, 118, 174, + -1, -1, 122, 19, 124, 21, 126, 127, -1, -1, + -1, -1, -1, -1, -1, -1, 136, 137, 138, 139, + -1, 141, 142, 143, -1, -1, 146, -1, 148, -1, + 46, -1, 170, -1, -1, 155, 54, 55, 56, 57, + 160, 161, 162, -1, 164, 165, -1, -1, 168, 169, + -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, + -1, -1, -1, -1, -1, -1, 84, -1, 86, 85, + 88, 87, -1, -1, -1, 93, 92, -1, 94, -1, + -1, 97, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 118, 119 + -1, -1, -1, 119, 120 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1412,45 +1423,45 @@ static const yytype_uint16 yystos[] = { 0, 1, 10, 14, 15, 16, 22, 23, 29, 30, 33, 36, 37, 40, 48, 52, 58, 60, 69, 70, - 73, 77, 78, 81, 82, 101, 102, 103, 108, 117, - 121, 123, 125, 126, 135, 136, 137, 138, 139, 140, - 141, 143, 145, 152, 157, 158, 159, 161, 162, 165, - 166, 175, 191, 192, 193, 194, 195, 207, 208, 209, - 210, 214, 219, 227, 236, 241, 246, 250, 251, 252, - 253, 261, 262, 265, 276, 277, 174, 59, 59, 211, - 8, 12, 18, 67, 98, 99, 115, 144, 242, 243, - 244, 245, 11, 94, 99, 230, 231, 232, 149, 254, - 242, 20, 24, 79, 122, 130, 133, 151, 156, 221, - 64, 66, 149, 196, 197, 198, 149, 149, 149, 149, - 259, 260, 196, 273, 54, 55, 56, 57, 84, 86, - 88, 92, 233, 234, 235, 273, 149, 149, 272, 59, - 7, 8, 25, 62, 90, 150, 155, 266, 267, 27, - 64, 66, 142, 196, 197, 59, 149, 255, 220, 221, - 149, 6, 31, 47, 50, 120, 146, 147, 152, 247, - 248, 249, 13, 19, 21, 46, 85, 87, 91, 93, - 96, 118, 119, 215, 216, 217, 218, 197, 59, 186, - 269, 270, 271, 59, 268, 0, 193, 174, 196, 196, - 32, 59, 275, 149, 149, 34, 53, 76, 264, 188, - 28, 49, 52, 131, 132, 138, 212, 213, 243, 231, - 59, 32, 222, 3, 41, 42, 43, 44, 134, 148, - 153, 154, 237, 238, 239, 240, 149, 193, 260, 196, - 234, 59, 149, 267, 228, 27, 27, 228, 228, 83, - 185, 221, 248, 275, 38, 59, 160, 274, 216, 59, - 275, 257, 59, 270, 59, 174, 199, 5, 63, 65, - 149, 170, 263, 176, 177, 278, 279, 280, 59, 149, - 29, 36, 39, 75, 104, 163, 223, 224, 225, 149, - 149, 59, 238, 275, 274, 45, 53, 71, 72, 74, - 80, 105, 106, 109, 110, 112, 113, 114, 116, 167, - 229, 228, 228, 197, 149, 60, 127, 258, 35, 9, - 17, 51, 52, 68, 89, 95, 97, 111, 128, 129, - 160, 162, 167, 171, 200, 201, 202, 203, 204, 205, - 206, 140, 279, 281, 282, 284, 174, 185, 149, 4, - 26, 100, 107, 124, 169, 172, 226, 228, 27, 256, - 197, 59, 59, 59, 164, 149, 185, 174, 189, 282, - 188, 275, 187, 196, 178, 283, 185, 179, 285, 286, - 275, 185, 189, 286, 174, 275, 188, 180, 181, 182, - 183, 184, 287, 288, 289, 189, 288, 174, 185, 174, - 275 + 73, 77, 78, 81, 82, 102, 103, 104, 109, 118, + 122, 124, 126, 127, 136, 137, 138, 139, 141, 142, + 143, 146, 148, 155, 160, 161, 162, 164, 165, 168, + 169, 178, 194, 195, 196, 197, 198, 210, 211, 212, + 213, 217, 222, 230, 239, 244, 248, 253, 257, 258, + 259, 260, 268, 269, 272, 283, 284, 177, 59, 59, + 214, 8, 12, 18, 67, 99, 100, 116, 147, 249, + 250, 251, 252, 11, 95, 100, 233, 234, 235, 152, + 261, 249, 20, 24, 79, 123, 131, 134, 154, 159, + 224, 64, 66, 152, 199, 200, 201, 152, 152, 152, + 152, 266, 267, 199, 280, 54, 55, 56, 57, 84, + 86, 88, 93, 236, 237, 238, 280, 152, 152, 279, + 59, 7, 8, 25, 62, 90, 153, 158, 273, 274, + 27, 64, 66, 144, 199, 200, 59, 152, 262, 223, + 224, 152, 6, 31, 47, 50, 91, 121, 145, 149, + 150, 155, 245, 246, 247, 254, 255, 256, 13, 19, + 21, 46, 85, 87, 92, 94, 97, 119, 120, 218, + 219, 220, 221, 200, 59, 189, 276, 277, 278, 59, + 275, 0, 196, 177, 199, 199, 32, 59, 282, 152, + 152, 34, 53, 76, 271, 191, 28, 49, 52, 132, + 133, 139, 215, 216, 250, 234, 59, 32, 225, 3, + 41, 42, 43, 44, 135, 151, 156, 157, 240, 241, + 242, 243, 152, 196, 267, 199, 237, 59, 152, 274, + 231, 27, 27, 231, 231, 83, 188, 224, 246, 59, + 255, 282, 38, 59, 163, 281, 219, 59, 282, 264, + 59, 277, 59, 177, 202, 5, 63, 65, 152, 173, + 270, 179, 180, 285, 286, 287, 59, 152, 29, 36, + 39, 75, 105, 166, 226, 227, 228, 152, 152, 59, + 241, 282, 281, 45, 53, 71, 72, 74, 80, 106, + 107, 110, 111, 113, 114, 115, 117, 170, 232, 231, + 231, 200, 152, 60, 128, 265, 35, 9, 17, 51, + 52, 68, 89, 96, 98, 112, 129, 130, 163, 165, + 170, 174, 203, 204, 205, 206, 207, 208, 209, 142, + 286, 288, 289, 291, 177, 188, 152, 4, 26, 101, + 108, 125, 172, 175, 229, 231, 27, 263, 200, 59, + 59, 59, 167, 152, 188, 177, 192, 289, 191, 282, + 190, 199, 181, 290, 188, 182, 292, 293, 282, 188, + 192, 293, 177, 282, 191, 183, 184, 185, 186, 187, + 294, 295, 296, 192, 295, 177, 188, 177, 282 }; #define yyerrok (yyerrstatus = 0) @@ -1465,18 +1476,9 @@ static const yytype_uint16 yystos[] = /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ + Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif #define YYRECOVERING() (!!yyerrstatus) @@ -1533,7 +1535,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -2272,8 +2274,8 @@ yyreduce: { case 5: -/* Line 1464 of yacc.c */ -#line 358 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 364 "ntp_parser.y" { /* I will need to incorporate much more fine grained * error messages. The following should suffice for @@ -2287,10 +2289,10 @@ yyreduce: } break; - case 19: + case 20: -/* Line 1464 of yacc.c */ -#line 392 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 399 "ntp_parser.y" { peer_node *my_node; @@ -2299,83 +2301,83 @@ yyreduce: } break; - case 26: + case 27: -/* Line 1464 of yacc.c */ -#line 411 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 418 "ntp_parser.y" { (yyval.Address_node) = create_address_node((yyvsp[(2) - (2)].String), (yyvsp[(1) - (2)].Integer)); } break; - case 27: + case 28: -/* Line 1464 of yacc.c */ -#line 416 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 423 "ntp_parser.y" { (yyval.Address_node) = create_address_node((yyvsp[(1) - (1)].String), AF_UNSPEC); } break; - case 28: + case 29: -/* Line 1464 of yacc.c */ -#line 421 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 428 "ntp_parser.y" { (yyval.Integer) = AF_INET; } break; - case 29: + case 30: -/* Line 1464 of yacc.c */ -#line 423 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 430 "ntp_parser.y" { (yyval.Integer) = AF_INET6; } break; - case 30: + case 31: -/* Line 1464 of yacc.c */ -#line 428 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 435 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 31: + case 32: -/* Line 1464 of yacc.c */ -#line 430 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 437 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 35: + case 36: -/* Line 1464 of yacc.c */ -#line 444 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 451 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } break; - case 44: + case 45: -/* Line 1464 of yacc.c */ -#line 460 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 467 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 45: + case 46: -/* Line 1464 of yacc.c */ -#line 462 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 469 "ntp_parser.y" { (yyval.Attr_val) = create_attr_uval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 52: + case 53: -/* Line 1464 of yacc.c */ -#line 476 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 483 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } break; - case 54: + case 55: -/* Line 1464 of yacc.c */ -#line 490 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 497 "ntp_parser.y" { unpeer_node *my_node; @@ -2385,31 +2387,31 @@ yyreduce: } break; - case 57: + case 58: -/* Line 1464 of yacc.c */ -#line 511 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 518 "ntp_parser.y" { cfgt.broadcastclient = 1; } break; - case 58: + case 59: -/* Line 1464 of yacc.c */ -#line 513 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 520 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[(2) - (2)].Address_fifo)); } break; - case 59: + case 60: -/* Line 1464 of yacc.c */ -#line 515 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 522 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[(2) - (2)].Address_fifo)); } break; - case 60: + case 61: -/* Line 1464 of yacc.c */ -#line 526 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 533 "ntp_parser.y" { attr_val *atrv; @@ -2418,93 +2420,100 @@ yyreduce: } break; - case 61: + case 62: -/* Line 1464 of yacc.c */ -#line 533 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 540 "ntp_parser.y" { cfgt.auth.control_key = (yyvsp[(2) - (2)].Integer); } break; - case 62: + case 63: -/* Line 1464 of yacc.c */ -#line 535 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 542 "ntp_parser.y" { cfgt.auth.cryptosw++; CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 63: + case 64: -/* Line 1464 of yacc.c */ -#line 540 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 547 "ntp_parser.y" { cfgt.auth.keys = (yyvsp[(2) - (2)].String); } break; - case 64: + case 65: -/* Line 1464 of yacc.c */ -#line 542 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 549 "ntp_parser.y" { cfgt.auth.keysdir = (yyvsp[(2) - (2)].String); } break; - case 65: + case 66: -/* Line 1464 of yacc.c */ -#line 544 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 551 "ntp_parser.y" { cfgt.auth.request_key = (yyvsp[(2) - (2)].Integer); } break; - case 66: + case 67: -/* Line 1464 of yacc.c */ -#line 546 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 553 "ntp_parser.y" { cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); } break; - case 67: + case 68: + +/* Line 1455 of yacc.c */ +#line 555 "ntp_parser.y" + { + cfgt.auth.trusted_key_list = (yyvsp[(2) - (2)].Attr_val_fifo); -/* Line 1464 of yacc.c */ -#line 548 "ntp_parser.y" - { cfgt.auth.trusted_key_list = (yyvsp[(2) - (2)].Attr_val_fifo); } + // if (!cfgt.auth.trusted_key_list) + // cfgt.auth.trusted_key_list = $2; + // else + // LINK_SLIST(cfgt.auth.trusted_key_list, $2, link); + } break; - case 68: + case 69: -/* Line 1464 of yacc.c */ -#line 550 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 564 "ntp_parser.y" { cfgt.auth.ntp_signd_socket = (yyvsp[(2) - (2)].String); } break; - case 69: + case 70: -/* Line 1464 of yacc.c */ -#line 555 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 569 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 70: + case 71: -/* Line 1464 of yacc.c */ -#line 557 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 571 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 71: + case 72: -/* Line 1464 of yacc.c */ -#line 565 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 579 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } break; - case 72: + case 73: -/* Line 1464 of yacc.c */ -#line 567 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 581 "ntp_parser.y" { (yyval.Attr_val) = NULL; cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); @@ -2515,65 +2524,65 @@ yyreduce: } break; - case 78: + case 79: -/* Line 1464 of yacc.c */ -#line 592 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 606 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 79: + case 80: -/* Line 1464 of yacc.c */ -#line 597 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 611 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 80: + case 81: -/* Line 1464 of yacc.c */ -#line 602 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 616 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 81: + case 82: -/* Line 1464 of yacc.c */ -#line 610 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 624 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); } break; - case 82: + case 83: -/* Line 1464 of yacc.c */ -#line 612 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 626 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } break; - case 83: + case 84: -/* Line 1464 of yacc.c */ -#line 614 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 628 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); } break; - case 94: + case 95: -/* Line 1464 of yacc.c */ -#line 640 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 654 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[(2) - (2)].Int_fifo)); } break; - case 95: + case 96: -/* Line 1464 of yacc.c */ -#line 642 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 656 "ntp_parser.y" { if (input_from_file) { cfgt.stats_dir = (yyvsp[(2) - (2)].String); @@ -2584,10 +2593,10 @@ yyreduce: } break; - case 96: + case 97: -/* Line 1464 of yacc.c */ -#line 651 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 665 "ntp_parser.y" { filegen_node *fgn; @@ -2596,47 +2605,47 @@ yyreduce: } break; - case 97: + case 98: -/* Line 1464 of yacc.c */ -#line 661 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 675 "ntp_parser.y" { (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); } break; - case 98: + case 99: -/* Line 1464 of yacc.c */ -#line 666 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 680 "ntp_parser.y" { (yyval.Int_fifo) = NULL; APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); } break; - case 107: + case 108: -/* Line 1464 of yacc.c */ -#line 685 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 699 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 108: + case 109: -/* Line 1464 of yacc.c */ -#line 687 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 701 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 109: + case 110: -/* Line 1464 of yacc.c */ -#line 695 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 709 "ntp_parser.y" { if (input_from_file) { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); @@ -2648,10 +2657,10 @@ yyreduce: } break; - case 110: + case 111: -/* Line 1464 of yacc.c */ -#line 705 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 719 "ntp_parser.y" { if (input_from_file) { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); @@ -2662,10 +2671,10 @@ yyreduce: } break; - case 111: + case 112: -/* Line 1464 of yacc.c */ -#line 714 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 728 "ntp_parser.y" { const char *err; @@ -2682,35 +2691,35 @@ yyreduce: } break; - case 112: + case 113: -/* Line 1464 of yacc.c */ -#line 729 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 743 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } break; - case 124: + case 125: -/* Line 1464 of yacc.c */ -#line 759 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 773 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 125: + case 126: -/* Line 1464 of yacc.c */ -#line 763 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 777 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 126: + case 127: -/* Line 1464 of yacc.c */ -#line 767 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 781 "ntp_parser.y" { restrict_node *rn; @@ -2720,10 +2729,10 @@ yyreduce: } break; - case 127: + case 128: -/* Line 1464 of yacc.c */ -#line 775 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 789 "ntp_parser.y" { restrict_node *rn; @@ -2733,10 +2742,10 @@ yyreduce: } break; - case 128: + case 129: -/* Line 1464 of yacc.c */ -#line 783 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 797 "ntp_parser.y" { restrict_node *rn; @@ -2746,10 +2755,10 @@ yyreduce: } break; - case 129: + case 130: -/* Line 1464 of yacc.c */ -#line 791 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 805 "ntp_parser.y" { restrict_node *rn; @@ -2766,10 +2775,10 @@ yyreduce: } break; - case 130: + case 131: -/* Line 1464 of yacc.c */ -#line 806 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 820 "ntp_parser.y" { restrict_node *rn; @@ -2786,10 +2795,10 @@ yyreduce: } break; - case 131: + case 132: -/* Line 1464 of yacc.c */ -#line 821 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 835 "ntp_parser.y" { restrict_node * rn; @@ -2800,81 +2809,81 @@ yyreduce: } break; - case 132: + case 133: -/* Line 1464 of yacc.c */ -#line 833 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 847 "ntp_parser.y" { (yyval.Int_fifo) = NULL; } break; - case 133: + case 134: -/* Line 1464 of yacc.c */ -#line 835 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 849 "ntp_parser.y" { (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); } break; - case 149: + case 150: -/* Line 1464 of yacc.c */ -#line 861 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 875 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 150: + case 151: -/* Line 1464 of yacc.c */ -#line 866 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 880 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 151: + case 152: -/* Line 1464 of yacc.c */ -#line 874 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 888 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 155: + case 156: -/* Line 1464 of yacc.c */ -#line 885 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 899 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 156: + case 157: -/* Line 1464 of yacc.c */ -#line 890 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 904 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 157: + case 158: -/* Line 1464 of yacc.c */ -#line 898 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 912 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 166: + case 167: -/* Line 1464 of yacc.c */ -#line 918 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 932 "ntp_parser.y" { addr_opts_node *aon; @@ -2883,79 +2892,72 @@ yyreduce: } break; - case 167: + case 168: -/* Line 1464 of yacc.c */ -#line 928 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 942 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 168: + case 169: -/* Line 1464 of yacc.c */ -#line 933 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 947 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 169: - -/* Line 1464 of yacc.c */ -#line 941 "ntp_parser.y" - { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } - break; - case 170: -/* Line 1464 of yacc.c */ -#line 943 "ntp_parser.y" - { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } +/* Line 1455 of yacc.c */ +#line 955 "ntp_parser.y" + { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } break; case 171: -/* Line 1464 of yacc.c */ -#line 945 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 957 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; case 172: -/* Line 1464 of yacc.c */ -#line 947 "ntp_parser.y" - { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } +/* Line 1455 of yacc.c */ +#line 959 "ntp_parser.y" + { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; case 173: -/* Line 1464 of yacc.c */ -#line 949 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 961 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } break; - case 180: + case 174: -/* Line 1464 of yacc.c */ -#line 970 "ntp_parser.y" - { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } +/* Line 1455 of yacc.c */ +#line 963 "ntp_parser.y" + { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } break; case 181: -/* Line 1464 of yacc.c */ -#line 972 "ntp_parser.y" - { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } +/* Line 1455 of yacc.c */ +#line 984 "ntp_parser.y" + { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; case 182: -/* Line 1464 of yacc.c */ -#line 977 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 989 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); @@ -2964,8 +2966,8 @@ yyreduce: case 183: -/* Line 1464 of yacc.c */ -#line 982 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 994 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); @@ -2974,15 +2976,56 @@ yyreduce: case 184: -/* Line 1464 of yacc.c */ -#line 990 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1002 "ntp_parser.y" + { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } + break; + + case 187: + +/* Line 1455 of yacc.c */ +#line 1017 "ntp_parser.y" + { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } + break; + + case 188: + +/* Line 1455 of yacc.c */ +#line 1019 "ntp_parser.y" + { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } + break; + + case 189: + +/* Line 1455 of yacc.c */ +#line 1024 "ntp_parser.y" + { + (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); + APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); + } + break; + + case 190: + +/* Line 1455 of yacc.c */ +#line 1029 "ntp_parser.y" + { + (yyval.Attr_val_fifo) = NULL; + APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); + } + break; + + case 191: + +/* Line 1455 of yacc.c */ +#line 1037 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } break; - case 185: + case 192: -/* Line 1464 of yacc.c */ -#line 992 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1039 "ntp_parser.y" { if (input_from_file) { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); @@ -2998,44 +3041,44 @@ yyreduce: } break; - case 194: + case 201: -/* Line 1464 of yacc.c */ -#line 1027 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1074 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 195: + case 202: -/* Line 1464 of yacc.c */ -#line 1032 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1079 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 196: + case 203: -/* Line 1464 of yacc.c */ -#line 1037 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1084 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 197: + case 204: -/* Line 1464 of yacc.c */ -#line 1045 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1092 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } break; - case 208: + case 215: -/* Line 1464 of yacc.c */ -#line 1068 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1115 "ntp_parser.y" { attr_val *av; @@ -3044,10 +3087,10 @@ yyreduce: } break; - case 209: + case 216: -/* Line 1464 of yacc.c */ -#line 1075 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1122 "ntp_parser.y" { attr_val *av; @@ -3056,10 +3099,10 @@ yyreduce: } break; - case 210: + case 217: -/* Line 1464 of yacc.c */ -#line 1082 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1129 "ntp_parser.y" { char error_text[64]; attr_val *av; @@ -3077,10 +3120,10 @@ yyreduce: } break; - case 211: + case 218: -/* Line 1464 of yacc.c */ -#line 1098 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1145 "ntp_parser.y" { if (!input_from_file) { yyerror("remote includefile ignored"); @@ -3101,48 +3144,48 @@ yyreduce: } break; - case 212: + case 219: -/* Line 1464 of yacc.c */ -#line 1117 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1164 "ntp_parser.y" { while (curr_include_level != -1) FCLOSE(fp[curr_include_level--]); } break; - case 213: + case 220: -/* Line 1464 of yacc.c */ -#line 1122 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1169 "ntp_parser.y" { /* see drift_parm below for actions */ } break; - case 214: + case 221: -/* Line 1464 of yacc.c */ -#line 1124 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1171 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 215: + case 222: -/* Line 1464 of yacc.c */ -#line 1126 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1173 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[(2) - (2)].String_fifo)); } break; - case 216: + case 223: -/* Line 1464 of yacc.c */ -#line 1128 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1175 "ntp_parser.y" { APPEND_G_FIFO(cfgt.setvar, (yyvsp[(2) - (2)].Set_var)); } break; - case 217: + case 224: -/* Line 1464 of yacc.c */ -#line 1130 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1177 "ntp_parser.y" { addr_opts_node *aon; @@ -3151,17 +3194,17 @@ yyreduce: } break; - case 218: + case 225: -/* Line 1464 of yacc.c */ -#line 1137 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1184 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 227: + case 234: -/* Line 1464 of yacc.c */ -#line 1159 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1206 "ntp_parser.y" { attr_val *av; @@ -3170,10 +3213,10 @@ yyreduce: } break; - case 228: + case 235: -/* Line 1464 of yacc.c */ -#line 1166 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1213 "ntp_parser.y" { attr_val *av; @@ -3184,10 +3227,10 @@ yyreduce: } break; - case 229: + case 236: -/* Line 1464 of yacc.c */ -#line 1175 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1222 "ntp_parser.y" { attr_val *av; @@ -3196,78 +3239,78 @@ yyreduce: } break; - case 230: + case 237: -/* Line 1464 of yacc.c */ -#line 1185 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1232 "ntp_parser.y" { (yyval.Set_var) = create_setvar_node((yyvsp[(1) - (4)].String), (yyvsp[(3) - (4)].String), (yyvsp[(4) - (4)].Integer)); } break; - case 232: + case 239: -/* Line 1464 of yacc.c */ -#line 1191 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1238 "ntp_parser.y" { (yyval.Integer) = 0; } break; - case 233: + case 240: -/* Line 1464 of yacc.c */ -#line 1196 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1243 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 234: + case 241: -/* Line 1464 of yacc.c */ -#line 1198 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1245 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 235: + case 242: -/* Line 1464 of yacc.c */ -#line 1206 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1253 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 236: + case 243: -/* Line 1464 of yacc.c */ -#line 1208 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1255 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), estrdup((yyvsp[(2) - (2)].Address_node)->address)); destroy_address_node((yyvsp[(2) - (2)].Address_node)); } break; - case 237: + case 244: -/* Line 1464 of yacc.c */ -#line 1216 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1263 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 238: + case 245: -/* Line 1464 of yacc.c */ -#line 1221 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1268 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 239: + case 246: -/* Line 1464 of yacc.c */ -#line 1229 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1276 "ntp_parser.y" { char prefix; char * type; @@ -3291,10 +3334,10 @@ yyreduce: } break; - case 240: + case 247: -/* Line 1464 of yacc.c */ -#line 1254 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1301 "ntp_parser.y" { nic_rule_node *nrn; @@ -3303,10 +3346,10 @@ yyreduce: } break; - case 241: + case 248: -/* Line 1464 of yacc.c */ -#line 1261 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1308 "ntp_parser.y" { nic_rule_node *nrn; @@ -3315,131 +3358,131 @@ yyreduce: } break; - case 251: + case 258: -/* Line 1464 of yacc.c */ -#line 1289 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1336 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[(2) - (2)].Int_fifo)); } break; - case 252: + case 259: -/* Line 1464 of yacc.c */ -#line 1294 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1341 "ntp_parser.y" { (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); } break; - case 253: + case 260: -/* Line 1464 of yacc.c */ -#line 1299 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1346 "ntp_parser.y" { (yyval.Int_fifo) = NULL; APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); } break; - case 261: + case 268: -/* Line 1464 of yacc.c */ -#line 1323 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1370 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); } break; - case 262: + case 269: -/* Line 1464 of yacc.c */ -#line 1328 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1375 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); } break; - case 263: + case 270: -/* Line 1464 of yacc.c */ -#line 1336 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1383 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 264: + case 271: -/* Line 1464 of yacc.c */ -#line 1341 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1388 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 265: + case 272: -/* Line 1464 of yacc.c */ -#line 1349 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1396 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[(1) - (1)].Integer)); } break; - case 267: + case 274: -/* Line 1464 of yacc.c */ -#line 1355 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1402 "ntp_parser.y" { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[(2) - (5)].Integer), (yyvsp[(4) - (5)].Integer)); } break; - case 268: + case 275: -/* Line 1464 of yacc.c */ -#line 1360 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1407 "ntp_parser.y" { (yyval.String_fifo) = (yyvsp[(1) - (2)].String_fifo); APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(2) - (2)].String))); } break; - case 269: + case 276: -/* Line 1464 of yacc.c */ -#line 1365 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1412 "ntp_parser.y" { (yyval.String_fifo) = NULL; APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(1) - (1)].String))); } break; - case 270: + case 277: -/* Line 1464 of yacc.c */ -#line 1373 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1420 "ntp_parser.y" { (yyval.Address_fifo) = (yyvsp[(1) - (2)].Address_fifo); APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(2) - (2)].Address_node)); } break; - case 271: + case 278: -/* Line 1464 of yacc.c */ -#line 1378 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1425 "ntp_parser.y" { (yyval.Address_fifo) = NULL; APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(1) - (1)].Address_node)); } break; - case 272: + case 279: -/* Line 1464 of yacc.c */ -#line 1386 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1433 "ntp_parser.y" { if ((yyvsp[(1) - (1)].Integer) != 0 && (yyvsp[(1) - (1)].Integer) != 1) { yyerror("Integer value is not boolean (0 or 1). Assuming 1"); @@ -3450,31 +3493,31 @@ yyreduce: } break; - case 273: + case 280: -/* Line 1464 of yacc.c */ -#line 1394 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1441 "ntp_parser.y" { (yyval.Integer) = 1; } break; - case 274: + case 281: -/* Line 1464 of yacc.c */ -#line 1395 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1442 "ntp_parser.y" { (yyval.Integer) = 0; } break; - case 275: + case 282: -/* Line 1464 of yacc.c */ -#line 1399 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1446 "ntp_parser.y" { (yyval.Double) = (double)(yyvsp[(1) - (1)].Integer); } break; - case 277: + case 284: -/* Line 1464 of yacc.c */ -#line 1410 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1457 "ntp_parser.y" { sim_node *sn; @@ -3486,139 +3529,139 @@ yyreduce: } break; - case 278: + case 285: -/* Line 1464 of yacc.c */ -#line 1427 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1474 "ntp_parser.y" { old_config_style = 0; } break; - case 279: + case 286: -/* Line 1464 of yacc.c */ -#line 1432 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1479 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val)); } break; - case 280: + case 287: -/* Line 1464 of yacc.c */ -#line 1437 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1484 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val)); } break; - case 281: + case 288: -/* Line 1464 of yacc.c */ -#line 1445 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1492 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); } break; - case 284: + case 291: -/* Line 1464 of yacc.c */ -#line 1455 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1502 "ntp_parser.y" { (yyval.Sim_server_fifo) = (yyvsp[(1) - (2)].Sim_server_fifo); APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(2) - (2)].Sim_server)); } break; - case 285: + case 292: -/* Line 1464 of yacc.c */ -#line 1460 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1507 "ntp_parser.y" { (yyval.Sim_server_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(1) - (1)].Sim_server)); } break; - case 286: + case 293: -/* Line 1464 of yacc.c */ -#line 1468 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1515 "ntp_parser.y" { (yyval.Sim_server) = create_sim_server((yyvsp[(1) - (5)].Address_node), (yyvsp[(3) - (5)].Double), (yyvsp[(4) - (5)].Sim_script_fifo)); } break; - case 287: + case 294: -/* Line 1464 of yacc.c */ -#line 1473 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1520 "ntp_parser.y" { (yyval.Double) = (yyvsp[(3) - (4)].Double); } break; - case 288: + case 295: -/* Line 1464 of yacc.c */ -#line 1478 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1525 "ntp_parser.y" { (yyval.Address_node) = (yyvsp[(3) - (3)].Address_node); } break; - case 289: + case 296: -/* Line 1464 of yacc.c */ -#line 1483 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1530 "ntp_parser.y" { (yyval.Sim_script_fifo) = (yyvsp[(1) - (2)].Sim_script_fifo); APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(2) - (2)].Sim_script)); } break; - case 290: + case 297: -/* Line 1464 of yacc.c */ -#line 1488 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1535 "ntp_parser.y" { (yyval.Sim_script_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(1) - (1)].Sim_script)); } break; - case 291: + case 298: -/* Line 1464 of yacc.c */ -#line 1496 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1543 "ntp_parser.y" { (yyval.Sim_script) = create_sim_script_info((yyvsp[(3) - (6)].Double), (yyvsp[(5) - (6)].Attr_val_fifo)); } break; - case 292: + case 299: -/* Line 1464 of yacc.c */ -#line 1501 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1548 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val)); } break; - case 293: + case 300: -/* Line 1464 of yacc.c */ -#line 1506 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1553 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val)); } break; - case 294: + case 301: -/* Line 1464 of yacc.c */ -#line 1514 "ntp_parser.y" +/* Line 1455 of yacc.c */ +#line 1561 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); } break; -/* Line 1464 of yacc.c */ -#line 3622 "../../ntpd/ntp_parser.c" +/* Line 1455 of yacc.c */ +#line 3665 "../../ntpd/ntp_parser.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3829,8 +3872,8 @@ yyreturn: -/* Line 1684 of yacc.c */ -#line 1525 "ntp_parser.y" +/* Line 1675 of yacc.c */ +#line 1572 "ntp_parser.y" void diff --git a/ntpd/ntp_parser.h b/ntpd/ntp_parser.h index d6b70d6ad..2ad990165 100644 --- a/ntpd/ntp_parser.h +++ b/ntpd/ntp_parser.h @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.3. */ + +/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton interface for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -126,100 +127,103 @@ T_Maxmem = 343, T_Maxpoll = 344, T_Mem = 345, - T_Minclock = 346, - T_Mindepth = 347, - T_Mindist = 348, - T_Minimum = 349, - T_Minpoll = 350, - T_Minsane = 351, - T_Mode = 352, - T_Mode7 = 353, - T_Monitor = 354, - T_Month = 355, - T_Mru = 356, - T_Multicastclient = 357, - T_Nic = 358, - T_Nolink = 359, - T_Nomodify = 360, - T_Nomrulist = 361, - T_None = 362, - T_Nonvolatile = 363, - T_Nopeer = 364, - T_Noquery = 365, - T_Noselect = 366, - T_Noserve = 367, - T_Notrap = 368, - T_Notrust = 369, - T_Ntp = 370, - T_Ntpport = 371, - T_NtpSignDsocket = 372, - T_Orphan = 373, - T_Orphanwait = 374, - T_Panic = 375, - T_Peer = 376, - T_Peerstats = 377, - T_Phone = 378, - T_Pid = 379, - T_Pidfile = 380, - T_Pool = 381, - T_Port = 382, - T_Preempt = 383, - T_Prefer = 384, - T_Protostats = 385, - T_Pw = 386, - T_Randfile = 387, - T_Rawstats = 388, - T_Refid = 389, - T_Requestkey = 390, - T_Reset = 391, - T_Restrict = 392, - T_Revoke = 393, - T_Saveconfigdir = 394, - T_Server = 395, - T_Setvar = 396, - T_Source = 397, - T_Statistics = 398, - T_Stats = 399, - T_Statsdir = 400, - T_Step = 401, - T_Stepout = 402, - T_Stratum = 403, - T_String = 404, - T_Sys = 405, - T_Sysstats = 406, - T_Tick = 407, - T_Time1 = 408, - T_Time2 = 409, - T_Timer = 410, - T_Timingstats = 411, - T_Tinker = 412, - T_Tos = 413, - T_Trap = 414, - T_True = 415, - T_Trustedkey = 416, - T_Ttl = 417, - T_Type = 418, - T_U_int = 419, - T_Unconfig = 420, - T_Unpeer = 421, - T_Version = 422, - T_WanderThreshold = 423, - T_Week = 424, - T_Wildcard = 425, - T_Xleave = 426, - T_Year = 427, - T_Flag = 428, - T_EOC = 429, - T_Simulate = 430, - T_Beep_Delay = 431, - T_Sim_Duration = 432, - T_Server_Offset = 433, - T_Duration = 434, - T_Freq_Offset = 435, - T_Wander = 436, - T_Jitter = 437, - T_Prop_Delay = 438, - T_Proc_Delay = 439 + T_Memlock = 346, + T_Minclock = 347, + T_Mindepth = 348, + T_Mindist = 349, + T_Minimum = 350, + T_Minpoll = 351, + T_Minsane = 352, + T_Mode = 353, + T_Mode7 = 354, + T_Monitor = 355, + T_Month = 356, + T_Mru = 357, + T_Multicastclient = 358, + T_Nic = 359, + T_Nolink = 360, + T_Nomodify = 361, + T_Nomrulist = 362, + T_None = 363, + T_Nonvolatile = 364, + T_Nopeer = 365, + T_Noquery = 366, + T_Noselect = 367, + T_Noserve = 368, + T_Notrap = 369, + T_Notrust = 370, + T_Ntp = 371, + T_Ntpport = 372, + T_NtpSignDsocket = 373, + T_Orphan = 374, + T_Orphanwait = 375, + T_Panic = 376, + T_Peer = 377, + T_Peerstats = 378, + T_Phone = 379, + T_Pid = 380, + T_Pidfile = 381, + T_Pool = 382, + T_Port = 383, + T_Preempt = 384, + T_Prefer = 385, + T_Protostats = 386, + T_Pw = 387, + T_Randfile = 388, + T_Rawstats = 389, + T_Refid = 390, + T_Requestkey = 391, + T_Reset = 392, + T_Restrict = 393, + T_Revoke = 394, + T_Rlimit = 395, + T_Saveconfigdir = 396, + T_Server = 397, + T_Setvar = 398, + T_Source = 399, + T_Stacksize = 400, + T_Statistics = 401, + T_Stats = 402, + T_Statsdir = 403, + T_Step = 404, + T_Stepout = 405, + T_Stratum = 406, + T_String = 407, + T_Sys = 408, + T_Sysstats = 409, + T_Tick = 410, + T_Time1 = 411, + T_Time2 = 412, + T_Timer = 413, + T_Timingstats = 414, + T_Tinker = 415, + T_Tos = 416, + T_Trap = 417, + T_True = 418, + T_Trustedkey = 419, + T_Ttl = 420, + T_Type = 421, + T_U_int = 422, + T_Unconfig = 423, + T_Unpeer = 424, + T_Version = 425, + T_WanderThreshold = 426, + T_Week = 427, + T_Wildcard = 428, + T_Xleave = 429, + T_Year = 430, + T_Flag = 431, + T_EOC = 432, + T_Simulate = 433, + T_Beep_Delay = 434, + T_Sim_Duration = 435, + T_Server_Offset = 436, + T_Duration = 437, + T_Freq_Offset = 438, + T_Wander = 439, + T_Jitter = 440, + T_Prop_Delay = 441, + T_Proc_Delay = 442 }; #endif /* Tokens. */ @@ -311,100 +315,103 @@ #define T_Maxmem 343 #define T_Maxpoll 344 #define T_Mem 345 -#define T_Minclock 346 -#define T_Mindepth 347 -#define T_Mindist 348 -#define T_Minimum 349 -#define T_Minpoll 350 -#define T_Minsane 351 -#define T_Mode 352 -#define T_Mode7 353 -#define T_Monitor 354 -#define T_Month 355 -#define T_Mru 356 -#define T_Multicastclient 357 -#define T_Nic 358 -#define T_Nolink 359 -#define T_Nomodify 360 -#define T_Nomrulist 361 -#define T_None 362 -#define T_Nonvolatile 363 -#define T_Nopeer 364 -#define T_Noquery 365 -#define T_Noselect 366 -#define T_Noserve 367 -#define T_Notrap 368 -#define T_Notrust 369 -#define T_Ntp 370 -#define T_Ntpport 371 -#define T_NtpSignDsocket 372 -#define T_Orphan 373 -#define T_Orphanwait 374 -#define T_Panic 375 -#define T_Peer 376 -#define T_Peerstats 377 -#define T_Phone 378 -#define T_Pid 379 -#define T_Pidfile 380 -#define T_Pool 381 -#define T_Port 382 -#define T_Preempt 383 -#define T_Prefer 384 -#define T_Protostats 385 -#define T_Pw 386 -#define T_Randfile 387 -#define T_Rawstats 388 -#define T_Refid 389 -#define T_Requestkey 390 -#define T_Reset 391 -#define T_Restrict 392 -#define T_Revoke 393 -#define T_Saveconfigdir 394 -#define T_Server 395 -#define T_Setvar 396 -#define T_Source 397 -#define T_Statistics 398 -#define T_Stats 399 -#define T_Statsdir 400 -#define T_Step 401 -#define T_Stepout 402 -#define T_Stratum 403 -#define T_String 404 -#define T_Sys 405 -#define T_Sysstats 406 -#define T_Tick 407 -#define T_Time1 408 -#define T_Time2 409 -#define T_Timer 410 -#define T_Timingstats 411 -#define T_Tinker 412 -#define T_Tos 413 -#define T_Trap 414 -#define T_True 415 -#define T_Trustedkey 416 -#define T_Ttl 417 -#define T_Type 418 -#define T_U_int 419 -#define T_Unconfig 420 -#define T_Unpeer 421 -#define T_Version 422 -#define T_WanderThreshold 423 -#define T_Week 424 -#define T_Wildcard 425 -#define T_Xleave 426 -#define T_Year 427 -#define T_Flag 428 -#define T_EOC 429 -#define T_Simulate 430 -#define T_Beep_Delay 431 -#define T_Sim_Duration 432 -#define T_Server_Offset 433 -#define T_Duration 434 -#define T_Freq_Offset 435 -#define T_Wander 436 -#define T_Jitter 437 -#define T_Prop_Delay 438 -#define T_Proc_Delay 439 +#define T_Memlock 346 +#define T_Minclock 347 +#define T_Mindepth 348 +#define T_Mindist 349 +#define T_Minimum 350 +#define T_Minpoll 351 +#define T_Minsane 352 +#define T_Mode 353 +#define T_Mode7 354 +#define T_Monitor 355 +#define T_Month 356 +#define T_Mru 357 +#define T_Multicastclient 358 +#define T_Nic 359 +#define T_Nolink 360 +#define T_Nomodify 361 +#define T_Nomrulist 362 +#define T_None 363 +#define T_Nonvolatile 364 +#define T_Nopeer 365 +#define T_Noquery 366 +#define T_Noselect 367 +#define T_Noserve 368 +#define T_Notrap 369 +#define T_Notrust 370 +#define T_Ntp 371 +#define T_Ntpport 372 +#define T_NtpSignDsocket 373 +#define T_Orphan 374 +#define T_Orphanwait 375 +#define T_Panic 376 +#define T_Peer 377 +#define T_Peerstats 378 +#define T_Phone 379 +#define T_Pid 380 +#define T_Pidfile 381 +#define T_Pool 382 +#define T_Port 383 +#define T_Preempt 384 +#define T_Prefer 385 +#define T_Protostats 386 +#define T_Pw 387 +#define T_Randfile 388 +#define T_Rawstats 389 +#define T_Refid 390 +#define T_Requestkey 391 +#define T_Reset 392 +#define T_Restrict 393 +#define T_Revoke 394 +#define T_Rlimit 395 +#define T_Saveconfigdir 396 +#define T_Server 397 +#define T_Setvar 398 +#define T_Source 399 +#define T_Stacksize 400 +#define T_Statistics 401 +#define T_Stats 402 +#define T_Statsdir 403 +#define T_Step 404 +#define T_Stepout 405 +#define T_Stratum 406 +#define T_String 407 +#define T_Sys 408 +#define T_Sysstats 409 +#define T_Tick 410 +#define T_Time1 411 +#define T_Time2 412 +#define T_Timer 413 +#define T_Timingstats 414 +#define T_Tinker 415 +#define T_Tos 416 +#define T_Trap 417 +#define T_True 418 +#define T_Trustedkey 419 +#define T_Ttl 420 +#define T_Type 421 +#define T_U_int 422 +#define T_Unconfig 423 +#define T_Unpeer 424 +#define T_Version 425 +#define T_WanderThreshold 426 +#define T_Week 427 +#define T_Wildcard 428 +#define T_Xleave 429 +#define T_Year 430 +#define T_Flag 431 +#define T_EOC 432 +#define T_Simulate 433 +#define T_Beep_Delay 434 +#define T_Sim_Duration 435 +#define T_Server_Offset 436 +#define T_Duration 437 +#define T_Freq_Offset 438 +#define T_Wander 439 +#define T_Jitter 440 +#define T_Prop_Delay 441 +#define T_Proc_Delay 442 @@ -413,7 +420,7 @@ typedef union YYSTYPE { -/* Line 1685 of yacc.c */ +/* Line 1676 of yacc.c */ #line 49 "ntp_parser.y" char * String; @@ -435,8 +442,8 @@ typedef union YYSTYPE -/* Line 1685 of yacc.c */ -#line 440 "../../ntpd/ntp_parser.h" +/* Line 1676 of yacc.c */ +#line 447 "../../ntpd/ntp_parser.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ diff --git a/ntpd/ntp_parser.y b/ntpd/ntp_parser.y index 57d3846f5..ebd6dc4a0 100644 --- a/ntpd/ntp_parser.y +++ b/ntpd/ntp_parser.y @@ -154,6 +154,7 @@ %token T_Maxmem %token T_Maxpoll %token T_Mem +%token T_Memlock %token T_Minclock %token T_Mindepth %token T_Mindist @@ -202,10 +203,12 @@ %token T_Reset %token T_Restrict %token T_Revoke +%token T_Rlimit %token T_Saveconfigdir %token T_Server %token T_Setvar %token T_Source +%token T_Stacksize %token T_Statistics %token T_Stats %token T_Statsdir @@ -306,6 +309,9 @@ %type option_str %type option_str_keyword %type reset_command +%type rlimit_option_keyword +%type rlimit_option +%type rlimit_option_list %type stat %type stats_list %type string_list @@ -377,6 +383,7 @@ command : /* NULL STATEMENT */ | access_control_command | orphan_mode_command | fudge_command + | rlimit_command | system_option_command | tinker_command | miscellaneous_command @@ -545,7 +552,14 @@ authentication_command | T_Revoke T_Integer { cfgt.auth.revoke = $2; } | T_Trustedkey integer_list_range - { cfgt.auth.trusted_key_list = $2; } + { + cfgt.auth.trusted_key_list = $2; + + // if (!cfgt.auth.trusted_key_list) + // cfgt.auth.trusted_key_list = $2; + // else + // LINK_SLIST(cfgt.auth.trusted_key_list, $2, link); + } | T_NtpSignDsocket T_String { cfgt.auth.ntp_signd_socket = $2; } ; @@ -961,6 +975,39 @@ fudge_factor_bool_keyword | T_Flag4 ; +/* rlimit Commands + * --------------- + */ + +rlimit_command + : T_Tinker rlimit_option_list + { CONCAT_G_FIFOS(cfgt.rlimit, $2); } + ; + +rlimit_option_list + : rlimit_option_list rlimit_option + { + $$ = $1; + APPEND_G_FIFO($$, $2); + } + | rlimit_option + { + $$ = NULL; + APPEND_G_FIFO($$, $1); + } + ; + +rlimit_option + : rlimit_option_keyword T_Integer + { $$ = create_attr_ival($1, $2); } + ; + +rlimit_option_keyword + : T_Memlock + | T_Stacksize + ; + + /* Command for System Options * -------------------------- */ diff --git a/ntpd/ntpd.c b/ntpd/ntpd.c index e58a1dbce..8b5976740 100644 --- a/ntpd/ntpd.c +++ b/ntpd/ntpd.c @@ -436,11 +436,6 @@ ntpdmain( int fd; int zero; # endif -# if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && defined(MCL_FUTURE) -# ifdef HAVE_SETRLIMIT - struct rlimit rl; -# endif -# endif # ifdef HAVE_UMASK uv = umask(0); @@ -672,16 +667,7 @@ ntpdmain( # if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && defined(MCL_FUTURE) # ifdef HAVE_SETRLIMIT - /* - * Set the stack limit to something smaller, so that we don't lock a lot - * of unused stack memory. - */ - /* HMS: must make the rlim_cur amount configurable */ - if (getrlimit(RLIMIT_STACK, &rl) != -1 - && (rl.rlim_cur = 50 * 4096) < rl.rlim_max - && setrlimit(RLIMIT_STACK, &rl) == -1) - msyslog(LOG_ERR, - "Cannot adjust stack limit for mlockall: %m"); + ntp_rlimit(RLIMIT_STACK, DFLT_RLIMIT_STACK * 4096); # ifdef RLIMIT_MEMLOCK /* * The default RLIMIT_MEMLOCK is very low on Linux systems. @@ -689,9 +675,7 @@ ntpdmain( * fail if we drop root privilege. To be useful the value * has to be larger than the largest ntpd resident set size. */ - rl.rlim_cur = rl.rlim_max = 32 * 1024 * 1024; - if (setrlimit(RLIMIT_MEMLOCK, &rl) == -1) - msyslog(LOG_ERR, "Cannot set RLIMIT_MEMLOCK: %m"); + ntp_rlimit(RLIMIT_MEMLOCK, DFLT_RLIMIT_MEMLOCK * 1024 * 1024); # endif /* RLIMIT_MEMLOCK */ # endif /* HAVE_SETRLIMIT */ /*