From: Harlan Stenn Date: Tue, 16 Jan 2018 07:35:22 +0000 (-0800) Subject: Bug 3415: implement ippeerlimit X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29e5e8c3683576479a64ce31b4112f6548d10c39;p=thirdparty%2Fntp.git Bug 3415: implement ippeerlimit bk: 5a5dab3a2_FQ3mvEDDduCKFCgMUHxg --- diff --git a/ChangeLog b/ChangeLog index eef0d17c78..47f84cfc27 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ --- * [Sec 3415] Permit blocking authenticated symmetric/passive associations. - - HStenn, JPerlinger. + Implement ippeerlimit. HStenn, JPerlinger. * [Sec 3414] ntpq: decodearr() can write beyond its 'buf' limits - initial patch by , extended by * [Sec 3412] ctl_getitem(): Don't compare names past NUL. diff --git a/include/ntp.h b/include/ntp.h index b6b0a751c4..c29cad1661 100644 --- a/include/ntp.h +++ b/include/ntp.h @@ -824,11 +824,12 @@ typedef struct res_addr6_tag { typedef struct restrict_u_tag restrict_u; struct restrict_u_tag { - restrict_u * link; /* link to next entry */ - u_int32 count; /* number of packets matched */ - u_short flags; /* accesslist flags */ - u_short mflags; /* match flags */ - u_long expire; /* valid until time */ + restrict_u * link; /* link to next entry */ + u_int32 count; /* number of packets matched */ + u_short flags; /* accesslist flags */ + u_short mflags; /* match flags */ + short ippeerlimit; /* IP peer limit */ + u_long expire; /* valid until time */ union { /* variant starting here */ res_addr4 v4; res_addr6 v6; diff --git a/include/ntp_config.h b/include/ntp_config.h index bb400ddb6f..0fef409a08 100644 --- a/include/ntp_config.h +++ b/include/ntp_config.h @@ -62,7 +62,7 @@ struct any_node_tag { typedef DECL_FIFO_ANCHOR(any_node) any_node_fifo; -/* Structure for storing an attribute-value pair */ +/* Structure for storing an attribute-value pair */ typedef struct attr_val_tag attr_val; struct attr_val_tag { attr_val * link; @@ -112,6 +112,7 @@ struct restrict_node_tag { address_node * mask; int_fifo * flags; int line_no; + short ippeerlimit; }; typedef DECL_FIFO_ANCHOR(restrict_node) restrict_fifo; @@ -276,11 +277,11 @@ const char * token_name(int token); /* generic fifo routines for structs linked by 1st member */ typedef void (*fifo_deleter)(void*); -void* destroy_gen_fifo(void *fifo, fifo_deleter func); -void* append_gen_fifo(void *fifo, void *entry); +void * destroy_gen_fifo(void *fifo, fifo_deleter func); +void * append_gen_fifo(void *fifo, void *entry); void * concat_gen_fifos(void *first, void *second); #define DESTROY_G_FIFO(pf, func) \ - ((pf) = destroy_gen_fifo((pf), (fifo_deleter)(func))) + ((pf) = destroy_gen_fifo((pf), (fifo_deleter)(func))) #define APPEND_G_FIFO(pf, pe) \ ((pf) = append_gen_fifo((pf), (pe))) #define CONCAT_G_FIFOS(first, second) \ @@ -300,12 +301,13 @@ attr_val *create_attr_ival(int attr, int value); attr_val *create_attr_uval(int attr, u_int value); attr_val *create_attr_rangeval(int attr, int first, int last); attr_val *create_attr_sval(int attr, const char *s); -void destroy_attr_val(attr_val *node); +void destroy_attr_val(attr_val *node); filegen_node *create_filegen_node(int filegen_token, attr_val_fifo *options); string_node *create_string_node(char *str); restrict_node *create_restrict_node(address_node *addr, address_node *mask, + short ippeerlimit, int_fifo *flags, int line_no); int_node *create_int_node(int val); addr_opts_node *create_addr_opts_node(address_node *addr, diff --git a/include/ntp_request.h b/include/ntp_request.h index 52c973f0a3..f5406b650b 100644 --- a/include/ntp_request.h +++ b/include/ntp_request.h @@ -669,6 +669,7 @@ struct info_restrict { struct conf_restrict { u_int32 addr; /* match address */ u_int32 mask; /* match mask */ + short ippeerlimit; /* ip peer limit */ u_short flags; /* restrict flags */ u_short mflags; /* match flags */ u_int v6_flag; /* is this v6 or not */ diff --git a/include/ntpd.h b/include/ntpd.h index 39266ffcb8..b059658686 100644 --- a/include/ntpd.h +++ b/include/ntpd.h @@ -259,7 +259,7 @@ extern void reset_auth_stats(void); extern void init_restrict (void); extern u_short restrictions (sockaddr_u *); extern void hack_restrict (int, sockaddr_u *, sockaddr_u *, - u_short, u_short, u_long); + short, u_short, u_short, u_long); extern void restrict_source (sockaddr_u *, int, u_long); /* ntp_timer.c */ diff --git a/ntpd/complete.conf.in b/ntpd/complete.conf.in index 4c6c0459b5..2747098d7f 100644 --- a/ntpd/complete.conf.in +++ b/ntpd/complete.conf.in @@ -46,14 +46,14 @@ manycastserver 224.0.1.1 ff05::101 multicastclient 224.0.1.1 ff05::101 mru maxage 64 mindepth 600 initalloc 600 initmem 16 incalloc 99 incmem 4 maxdepth 1024 maxmem 4096 discard minimum 1 average 3 monitor 3000 -restrict default -restrict default nomodify limited kod noserve nomrulist -restrict source -restrict source nomodify limited kod -restrict trusted.host.name.example.com. nomodify -restrict [fe80::1] mask [ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff] -restrict 127.0.0.1 mask 255.255.255.255 -restrict ::1 +restrict default ippeerlimit -1 +restrict default ippeerlimit 0 nomodify limited kod noserve nomrulist +restrict source ippeerlimit 1 +restrict source ippeerlimit 2 nomodify limited kod +restrict trusted.host.name.example.com. ippeerlimit -1 nomodify +restrict [fe80::1] mask [ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff] ippeerlimit -1 +restrict 127.0.0.1 mask 255.255.255.255 ippeerlimit -1 +restrict ::1 ippeerlimit -1 interface drop ipv6 interface ignore ipv4 interface drop wildcard diff --git a/ntpd/keyword-gen-utd b/ntpd/keyword-gen-utd index fda75bb1b2..9b836ba4dc 100644 --- a/ntpd/keyword-gen-utd +++ b/ntpd/keyword-gen-utd @@ -1 +1 @@ - * Generated 2018-01-05 08:53:56 UTC diff_ignore_line + * Generated 2018-01-14 03:53:33 UTC diff_ignore_line diff --git a/ntpd/keyword-gen.c b/ntpd/keyword-gen.c index e9873636a5..e07548a1e4 100644 --- a/ntpd/keyword-gen.c +++ b/ntpd/keyword-gen.c @@ -161,6 +161,7 @@ struct key_tok ntp_keywords[] = { { "noepeer", T_Noepeer, FOLLBY_TOKEN }, { "flake", T_Flake, FOLLBY_TOKEN }, { "ignore", T_Ignore, FOLLBY_TOKEN }, +{ "ippeerlimit", T_Ippeerlimit, FOLLBY_TOKEN }, { "limited", T_Limited, FOLLBY_TOKEN }, { "mssntp", T_Mssntp, FOLLBY_TOKEN }, { "kod", T_Kod, FOLLBY_TOKEN }, diff --git a/ntpd/ntp_config.c b/ntpd/ntp_config.c index 1fde656af6..477c40c37f 100644 --- a/ntpd/ntp_config.c +++ b/ntpd/ntp_config.c @@ -920,7 +920,6 @@ dump_config_tree( fprintf(df, "\n"); } - for (rest_node = HEAD_PFIFO(ptree->restrict_opts); rest_node != NULL; rest_node = rest_node->link) { @@ -928,11 +927,12 @@ dump_config_tree( if (NULL == rest_node->addr) { s = "default"; flags = HEAD_PFIFO(rest_node->flags); - for ( ; flags != NULL; flags = flags->link) + for ( ; flags != NULL; flags = flags->link) { if (T_Source == flags->i) { s = "source"; break; - } + } + } } else { s = rest_node->addr->address; } @@ -940,6 +940,7 @@ dump_config_tree( if (rest_node->mask != NULL) fprintf(df, " mask %s", rest_node->mask->address); + fprintf(df, " ippeerlimit %d", rest_node->ippeerlimit); flags = HEAD_PFIFO(rest_node->flags); for ( ; flags != NULL; flags = flags->link) if (T_Source != flags->i) @@ -1452,6 +1453,7 @@ restrict_node * create_restrict_node( address_node * addr, address_node * mask, + short ippeerlimit, int_fifo * flags, int line_no ) @@ -1461,6 +1463,7 @@ create_restrict_node( my_node = emalloc_zero(sizeof(*my_node)); my_node->addr = addr; my_node->mask = mask; + my_node->ippeerlimit = ippeerlimit; my_node->flags = flags; my_node->line_no = line_no; @@ -2445,6 +2448,7 @@ config_access( int restrict_default; u_short flags; u_short mflags; + short ippeerlimit; int range_err; const char * signd_warning = #ifdef HAVE_NTP_SIGND @@ -2562,7 +2566,9 @@ config_access( } /* Configure the restrict options */ + ippeerlimit = -1; my_node = HEAD_PFIFO(ptree->restrict_opts); + /* Grab the ippeerlmit */ for (; my_node != NULL; my_node = my_node->link) { /* Parse the flags */ flags = 0; @@ -2680,10 +2686,10 @@ config_access( restrict_default = 1; } else { /* apply "restrict source ..." */ - DPRINTF(1, ("restrict source template mflags %x flags %x\n", - mflags, flags)); - hack_restrict(RESTRICT_FLAGS, NULL, - NULL, mflags, flags, 0); + DPRINTF(1, ("restrict source template ippeerlimit %d mflags %x flags %x\n", + ippeerlimit, mflags, flags)); + hack_restrict(RESTRICT_FLAGS, NULL, NULL, + ippeerlimit, mflags, flags, 0); continue; } } else { @@ -2752,15 +2758,15 @@ config_access( if (restrict_default) { AF(&addr) = AF_INET; AF(&mask) = AF_INET; - hack_restrict(RESTRICT_FLAGS, &addr, - &mask, mflags, flags, 0); + hack_restrict(RESTRICT_FLAGS, &addr, &mask, + ippeerlimit, mflags, flags, 0); AF(&addr) = AF_INET6; AF(&mask) = AF_INET6; } do { - hack_restrict(RESTRICT_FLAGS, &addr, - &mask, mflags, flags, 0); + hack_restrict(RESTRICT_FLAGS, &addr, &mask, + ippeerlimit, mflags, flags, 0); if (pai != NULL && NULL != (pai = pai->ai_next)) { INSIST(pai->ai_addr != NULL); diff --git a/ntpd/ntp_io.c b/ntpd/ntp_io.c index fab8d4f44e..b738de84e5 100644 --- a/ntpd/ntp_io.c +++ b/ntpd/ntp_io.c @@ -1043,7 +1043,7 @@ remove_interface( /* remove restrict interface entry */ SET_HOSTMASK(&resmask, AF(&ep->sin)); hack_restrict(RESTRICT_REMOVEIF, &ep->sin, &resmask, - RESM_NTPONLY | RESM_INTERFACE, RES_IGNORE, 0); + -2, RESM_NTPONLY | RESM_INTERFACE, RES_IGNORE, 0); } @@ -2093,7 +2093,7 @@ create_interface( */ SET_HOSTMASK(&resmask, AF(&iface->sin)); hack_restrict(RESTRICT_FLAGS, &iface->sin, &resmask, - RESM_NTPONLY | RESM_INTERFACE, RES_IGNORE, 0); + -2, RESM_NTPONLY | RESM_INTERFACE, RES_IGNORE, 0); /* * set globals with the first found diff --git a/ntpd/ntp_keyword.h b/ntpd/ntp_keyword.h index b48d963724..663881006a 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 2018-01-05 08:53:56 UTC diff_ignore_line + * Generated 2018-01-14 03:53:33 UTC diff_ignore_line * */ #include "ntp_scanner.h" @@ -10,7 +10,7 @@ #define LOWEST_KEYWORD_ID 258 -const char * const keyword_text[199] = { +const char * const keyword_text[200] = { /* 0 258 T_Abbrev */ "abbrev", /* 1 259 T_Age */ "age", /* 2 260 T_All */ "all", @@ -76,148 +76,149 @@ const char * const keyword_text[199] = { /* 62 320 T_Interface */ "interface", /* 63 321 T_Intrange */ NULL, /* 64 322 T_Io */ "io", - /* 65 323 T_Ipv4 */ "ipv4", - /* 66 324 T_Ipv4_flag */ "-4", - /* 67 325 T_Ipv6 */ "ipv6", - /* 68 326 T_Ipv6_flag */ "-6", - /* 69 327 T_Kernel */ "kernel", - /* 70 328 T_Key */ "key", - /* 71 329 T_Keys */ "keys", - /* 72 330 T_Keysdir */ "keysdir", - /* 73 331 T_Kod */ "kod", - /* 74 332 T_Mssntp */ "mssntp", - /* 75 333 T_Leapfile */ "leapfile", - /* 76 334 T_Leapsmearinterval */ "leapsmearinterval", - /* 77 335 T_Limited */ "limited", - /* 78 336 T_Link */ "link", - /* 79 337 T_Listen */ "listen", - /* 80 338 T_Logconfig */ "logconfig", - /* 81 339 T_Logfile */ "logfile", - /* 82 340 T_Loopstats */ "loopstats", - /* 83 341 T_Lowpriotrap */ "lowpriotrap", - /* 84 342 T_Manycastclient */ "manycastclient", - /* 85 343 T_Manycastserver */ "manycastserver", - /* 86 344 T_Mask */ "mask", - /* 87 345 T_Maxage */ "maxage", - /* 88 346 T_Maxclock */ "maxclock", - /* 89 347 T_Maxdepth */ "maxdepth", - /* 90 348 T_Maxdist */ "maxdist", - /* 91 349 T_Maxmem */ "maxmem", - /* 92 350 T_Maxpoll */ "maxpoll", - /* 93 351 T_Mdnstries */ "mdnstries", - /* 94 352 T_Mem */ "mem", - /* 95 353 T_Memlock */ "memlock", - /* 96 354 T_Minclock */ "minclock", - /* 97 355 T_Mindepth */ "mindepth", - /* 98 356 T_Mindist */ "mindist", - /* 99 357 T_Minimum */ "minimum", - /* 100 358 T_Minpoll */ "minpoll", - /* 101 359 T_Minsane */ "minsane", - /* 102 360 T_Mode */ "mode", - /* 103 361 T_Mode7 */ "mode7", - /* 104 362 T_Monitor */ "monitor", - /* 105 363 T_Month */ "month", - /* 106 364 T_Mru */ "mru", - /* 107 365 T_Multicastclient */ "multicastclient", - /* 108 366 T_Nic */ "nic", - /* 109 367 T_Nolink */ "nolink", - /* 110 368 T_Nomodify */ "nomodify", - /* 111 369 T_Nomrulist */ "nomrulist", - /* 112 370 T_None */ "none", - /* 113 371 T_Nonvolatile */ "nonvolatile", - /* 114 372 T_Noepeer */ "noepeer", - /* 115 373 T_Nopeer */ "nopeer", - /* 116 374 T_Noquery */ "noquery", - /* 117 375 T_Noselect */ "noselect", - /* 118 376 T_Noserve */ "noserve", - /* 119 377 T_Notrap */ "notrap", - /* 120 378 T_Notrust */ "notrust", - /* 121 379 T_Ntp */ "ntp", - /* 122 380 T_Ntpport */ "ntpport", - /* 123 381 T_NtpSignDsocket */ "ntpsigndsocket", - /* 124 382 T_Orphan */ "orphan", - /* 125 383 T_Orphanwait */ "orphanwait", - /* 126 384 T_PCEdigest */ "peer_clear_digest_early", - /* 127 385 T_Panic */ "panic", - /* 128 386 T_Peer */ "peer", - /* 129 387 T_Peerstats */ "peerstats", - /* 130 388 T_Phone */ "phone", - /* 131 389 T_Pid */ "pid", - /* 132 390 T_Pidfile */ "pidfile", - /* 133 391 T_Pool */ "pool", - /* 134 392 T_Port */ "port", - /* 135 393 T_Preempt */ "preempt", - /* 136 394 T_Prefer */ "prefer", - /* 137 395 T_Protostats */ "protostats", - /* 138 396 T_Pw */ "pw", - /* 139 397 T_Randfile */ "randfile", - /* 140 398 T_Rawstats */ "rawstats", - /* 141 399 T_Refid */ "refid", - /* 142 400 T_Requestkey */ "requestkey", - /* 143 401 T_Reset */ "reset", - /* 144 402 T_Restrict */ "restrict", - /* 145 403 T_Revoke */ "revoke", - /* 146 404 T_Rlimit */ "rlimit", - /* 147 405 T_Saveconfigdir */ "saveconfigdir", - /* 148 406 T_Server */ "server", - /* 149 407 T_Setvar */ "setvar", - /* 150 408 T_Source */ "source", - /* 151 409 T_Stacksize */ "stacksize", - /* 152 410 T_Statistics */ "statistics", - /* 153 411 T_Stats */ "stats", - /* 154 412 T_Statsdir */ "statsdir", - /* 155 413 T_Step */ "step", - /* 156 414 T_Stepback */ "stepback", - /* 157 415 T_Stepfwd */ "stepfwd", - /* 158 416 T_Stepout */ "stepout", - /* 159 417 T_Stratum */ "stratum", - /* 160 418 T_String */ NULL, - /* 161 419 T_Sys */ "sys", - /* 162 420 T_Sysstats */ "sysstats", - /* 163 421 T_Tick */ "tick", - /* 164 422 T_Time1 */ "time1", - /* 165 423 T_Time2 */ "time2", - /* 166 424 T_Timer */ "timer", - /* 167 425 T_Timingstats */ "timingstats", - /* 168 426 T_Tinker */ "tinker", - /* 169 427 T_Tos */ "tos", - /* 170 428 T_Trap */ "trap", - /* 171 429 T_True */ "true", - /* 172 430 T_Trustedkey */ "trustedkey", - /* 173 431 T_Ttl */ "ttl", - /* 174 432 T_Type */ "type", - /* 175 433 T_U_int */ NULL, - /* 176 434 T_UEcrypto */ "unpeer_crypto_early", - /* 177 435 T_UEcryptonak */ "unpeer_crypto_nak_early", - /* 178 436 T_UEdigest */ "unpeer_digest_early", - /* 179 437 T_Unconfig */ "unconfig", - /* 180 438 T_Unpeer */ "unpeer", - /* 181 439 T_Version */ "version", - /* 182 440 T_WanderThreshold */ NULL, - /* 183 441 T_Week */ "week", - /* 184 442 T_Wildcard */ "wildcard", - /* 185 443 T_Xleave */ "xleave", - /* 186 444 T_Year */ "year", - /* 187 445 T_Flag */ NULL, - /* 188 446 T_EOC */ NULL, - /* 189 447 T_Simulate */ "simulate", - /* 190 448 T_Beep_Delay */ "beep_delay", - /* 191 449 T_Sim_Duration */ "simulation_duration", - /* 192 450 T_Server_Offset */ "server_offset", - /* 193 451 T_Duration */ "duration", - /* 194 452 T_Freq_Offset */ "freq_offset", - /* 195 453 T_Wander */ "wander", - /* 196 454 T_Jitter */ "jitter", - /* 197 455 T_Prop_Delay */ "prop_delay", - /* 198 456 T_Proc_Delay */ "proc_delay" + /* 65 323 T_Ippeerlimit */ "ippeerlimit", + /* 66 324 T_Ipv4 */ "ipv4", + /* 67 325 T_Ipv4_flag */ "-4", + /* 68 326 T_Ipv6 */ "ipv6", + /* 69 327 T_Ipv6_flag */ "-6", + /* 70 328 T_Kernel */ "kernel", + /* 71 329 T_Key */ "key", + /* 72 330 T_Keys */ "keys", + /* 73 331 T_Keysdir */ "keysdir", + /* 74 332 T_Kod */ "kod", + /* 75 333 T_Mssntp */ "mssntp", + /* 76 334 T_Leapfile */ "leapfile", + /* 77 335 T_Leapsmearinterval */ "leapsmearinterval", + /* 78 336 T_Limited */ "limited", + /* 79 337 T_Link */ "link", + /* 80 338 T_Listen */ "listen", + /* 81 339 T_Logconfig */ "logconfig", + /* 82 340 T_Logfile */ "logfile", + /* 83 341 T_Loopstats */ "loopstats", + /* 84 342 T_Lowpriotrap */ "lowpriotrap", + /* 85 343 T_Manycastclient */ "manycastclient", + /* 86 344 T_Manycastserver */ "manycastserver", + /* 87 345 T_Mask */ "mask", + /* 88 346 T_Maxage */ "maxage", + /* 89 347 T_Maxclock */ "maxclock", + /* 90 348 T_Maxdepth */ "maxdepth", + /* 91 349 T_Maxdist */ "maxdist", + /* 92 350 T_Maxmem */ "maxmem", + /* 93 351 T_Maxpoll */ "maxpoll", + /* 94 352 T_Mdnstries */ "mdnstries", + /* 95 353 T_Mem */ "mem", + /* 96 354 T_Memlock */ "memlock", + /* 97 355 T_Minclock */ "minclock", + /* 98 356 T_Mindepth */ "mindepth", + /* 99 357 T_Mindist */ "mindist", + /* 100 358 T_Minimum */ "minimum", + /* 101 359 T_Minpoll */ "minpoll", + /* 102 360 T_Minsane */ "minsane", + /* 103 361 T_Mode */ "mode", + /* 104 362 T_Mode7 */ "mode7", + /* 105 363 T_Monitor */ "monitor", + /* 106 364 T_Month */ "month", + /* 107 365 T_Mru */ "mru", + /* 108 366 T_Multicastclient */ "multicastclient", + /* 109 367 T_Nic */ "nic", + /* 110 368 T_Nolink */ "nolink", + /* 111 369 T_Nomodify */ "nomodify", + /* 112 370 T_Nomrulist */ "nomrulist", + /* 113 371 T_None */ "none", + /* 114 372 T_Nonvolatile */ "nonvolatile", + /* 115 373 T_Noepeer */ "noepeer", + /* 116 374 T_Nopeer */ "nopeer", + /* 117 375 T_Noquery */ "noquery", + /* 118 376 T_Noselect */ "noselect", + /* 119 377 T_Noserve */ "noserve", + /* 120 378 T_Notrap */ "notrap", + /* 121 379 T_Notrust */ "notrust", + /* 122 380 T_Ntp */ "ntp", + /* 123 381 T_Ntpport */ "ntpport", + /* 124 382 T_NtpSignDsocket */ "ntpsigndsocket", + /* 125 383 T_Orphan */ "orphan", + /* 126 384 T_Orphanwait */ "orphanwait", + /* 127 385 T_PCEdigest */ "peer_clear_digest_early", + /* 128 386 T_Panic */ "panic", + /* 129 387 T_Peer */ "peer", + /* 130 388 T_Peerstats */ "peerstats", + /* 131 389 T_Phone */ "phone", + /* 132 390 T_Pid */ "pid", + /* 133 391 T_Pidfile */ "pidfile", + /* 134 392 T_Pool */ "pool", + /* 135 393 T_Port */ "port", + /* 136 394 T_Preempt */ "preempt", + /* 137 395 T_Prefer */ "prefer", + /* 138 396 T_Protostats */ "protostats", + /* 139 397 T_Pw */ "pw", + /* 140 398 T_Randfile */ "randfile", + /* 141 399 T_Rawstats */ "rawstats", + /* 142 400 T_Refid */ "refid", + /* 143 401 T_Requestkey */ "requestkey", + /* 144 402 T_Reset */ "reset", + /* 145 403 T_Restrict */ "restrict", + /* 146 404 T_Revoke */ "revoke", + /* 147 405 T_Rlimit */ "rlimit", + /* 148 406 T_Saveconfigdir */ "saveconfigdir", + /* 149 407 T_Server */ "server", + /* 150 408 T_Setvar */ "setvar", + /* 151 409 T_Source */ "source", + /* 152 410 T_Stacksize */ "stacksize", + /* 153 411 T_Statistics */ "statistics", + /* 154 412 T_Stats */ "stats", + /* 155 413 T_Statsdir */ "statsdir", + /* 156 414 T_Step */ "step", + /* 157 415 T_Stepback */ "stepback", + /* 158 416 T_Stepfwd */ "stepfwd", + /* 159 417 T_Stepout */ "stepout", + /* 160 418 T_Stratum */ "stratum", + /* 161 419 T_String */ NULL, + /* 162 420 T_Sys */ "sys", + /* 163 421 T_Sysstats */ "sysstats", + /* 164 422 T_Tick */ "tick", + /* 165 423 T_Time1 */ "time1", + /* 166 424 T_Time2 */ "time2", + /* 167 425 T_Timer */ "timer", + /* 168 426 T_Timingstats */ "timingstats", + /* 169 427 T_Tinker */ "tinker", + /* 170 428 T_Tos */ "tos", + /* 171 429 T_Trap */ "trap", + /* 172 430 T_True */ "true", + /* 173 431 T_Trustedkey */ "trustedkey", + /* 174 432 T_Ttl */ "ttl", + /* 175 433 T_Type */ "type", + /* 176 434 T_U_int */ NULL, + /* 177 435 T_UEcrypto */ "unpeer_crypto_early", + /* 178 436 T_UEcryptonak */ "unpeer_crypto_nak_early", + /* 179 437 T_UEdigest */ "unpeer_digest_early", + /* 180 438 T_Unconfig */ "unconfig", + /* 181 439 T_Unpeer */ "unpeer", + /* 182 440 T_Version */ "version", + /* 183 441 T_WanderThreshold */ NULL, + /* 184 442 T_Week */ "week", + /* 185 443 T_Wildcard */ "wildcard", + /* 186 444 T_Xleave */ "xleave", + /* 187 445 T_Year */ "year", + /* 188 446 T_Flag */ NULL, + /* 189 447 T_EOC */ NULL, + /* 190 448 T_Simulate */ "simulate", + /* 191 449 T_Beep_Delay */ "beep_delay", + /* 192 450 T_Sim_Duration */ "simulation_duration", + /* 193 451 T_Server_Offset */ "server_offset", + /* 194 452 T_Duration */ "duration", + /* 195 453 T_Freq_Offset */ "freq_offset", + /* 196 454 T_Wander */ "wander", + /* 197 455 T_Jitter */ "jitter", + /* 198 456 T_Prop_Delay */ "prop_delay", + /* 199 457 T_Proc_Delay */ "proc_delay" }; -#define SCANNER_INIT_S 931 +#define SCANNER_INIT_S 940 -const scan_state sst[934] = { +const scan_state sst[943] = { /*SS_T( ch, f-by, match, other ), */ 0, /* 0 */ - S_ST( '-', 3, 326, 0 ), /* 1 */ + S_ST( '-', 3, 327, 0 ), /* 1 */ S_ST( '.', 3, 3, 1 ), /* 2 */ S_ST( '.', 3, 293, 0 ), /* 3 . */ S_ST( 'a', 3, 23, 2 ), /* 4 */ @@ -274,7 +275,7 @@ const scan_state sst[934] = { S_ST( 'd', 3, 56, 0 ), /* 55 beep_ */ S_ST( 'e', 3, 57, 0 ), /* 56 beep_d */ S_ST( 'l', 3, 58, 0 ), /* 57 beep_de */ - S_ST( 'a', 3, 448, 0 ), /* 58 beep_del */ + S_ST( 'a', 3, 449, 0 ), /* 58 beep_del */ S_ST( 'r', 3, 60, 48 ), /* 59 b */ S_ST( 'o', 3, 61, 0 ), /* 60 br */ S_ST( 'a', 3, 62, 0 ), /* 61 bro */ @@ -374,7 +375,7 @@ const scan_state sst[934] = { S_ST( 'a', 3, 156, 0 ), /* 155 dur */ S_ST( 't', 3, 157, 0 ), /* 156 dura */ S_ST( 'i', 3, 158, 0 ), /* 157 durat */ - S_ST( 'o', 3, 451, 0 ), /* 158 durati */ + S_ST( 'o', 3, 452, 0 ), /* 158 durati */ S_ST( 'e', 3, 164, 119 ), /* 159 */ S_ST( 'n', 3, 295, 0 ), /* 160 e */ S_ST( 'a', 3, 162, 0 ), /* 161 en */ @@ -403,7 +404,7 @@ const scan_state sst[934] = { S_ST( 'f', 3, 185, 0 ), /* 184 freq_o */ S_ST( 'f', 3, 186, 0 ), /* 185 freq_of */ S_ST( 's', 3, 187, 0 ), /* 186 freq_off */ - S_ST( 'e', 3, 452, 0 ), /* 187 freq_offs */ + S_ST( 'e', 3, 453, 0 ), /* 187 freq_offs */ S_ST( 'u', 3, 189, 180 ), /* 188 f */ S_ST( 'd', 3, 190, 0 ), /* 189 fu */ S_ST( 'g', 3, 308, 0 ), /* 190 fud */ @@ -457,23 +458,23 @@ const scan_state sst[934] = { S_ST( 'f', 3, 239, 0 ), /* 238 inter */ S_ST( 'a', 3, 240, 0 ), /* 239 interf */ S_ST( 'c', 3, 320, 0 ), /* 240 interfa */ - S_ST( 'p', 3, 242, 322 ), /* 241 i */ - S_ST( 'v', 3, 325, 0 ), /* 242 ip */ - S_ST( 'j', 3, 244, 200 ), /* 243 */ - S_ST( 'i', 3, 245, 0 ), /* 244 j */ - S_ST( 't', 3, 246, 0 ), /* 245 ji */ - S_ST( 't', 3, 247, 0 ), /* 246 jit */ - S_ST( 'e', 3, 454, 0 ), /* 247 jitt */ - S_ST( 'k', 3, 255, 243 ), /* 248 */ - S_ST( 'e', 3, 328, 0 ), /* 249 k */ - S_ST( 'r', 3, 251, 0 ), /* 250 ke */ - S_ST( 'n', 3, 252, 0 ), /* 251 ker */ - S_ST( 'e', 3, 327, 0 ), /* 252 kern */ - S_ST( 'd', 3, 254, 0 ), /* 253 keys */ - S_ST( 'i', 3, 330, 0 ), /* 254 keysd */ - S_ST( 'o', 3, 331, 249 ), /* 255 k */ - S_ST( 'l', 3, 474, 248 ), /* 256 */ - S_ST( 'e', 3, 289, 0 ), /* 257 l */ + S_ST( 'p', 3, 250, 322 ), /* 241 i */ + S_ST( 'p', 3, 243, 0 ), /* 242 ip */ + S_ST( 'e', 3, 244, 0 ), /* 243 ipp */ + S_ST( 'e', 3, 245, 0 ), /* 244 ippe */ + S_ST( 'r', 3, 246, 0 ), /* 245 ippee */ + S_ST( 'l', 3, 247, 0 ), /* 246 ippeer */ + S_ST( 'i', 3, 248, 0 ), /* 247 ippeerl */ + S_ST( 'm', 3, 249, 0 ), /* 248 ippeerli */ + S_ST( 'i', 3, 323, 0 ), /* 249 ippeerlim */ + S_ST( 'v', 3, 326, 242 ), /* 250 ip */ + S_ST( 'j', 3, 252, 200 ), /* 251 */ + S_ST( 'i', 3, 253, 0 ), /* 252 j */ + S_ST( 't', 3, 254, 0 ), /* 253 ji */ + S_ST( 't', 3, 255, 0 ), /* 254 jit */ + S_ST( 'e', 3, 455, 0 ), /* 255 jitt */ + S_ST( 'k', 3, 434, 251 ), /* 256 */ + S_ST( 'e', 3, 329, 0 ), /* 257 k */ S_ST( 'v', 1, 0, 0 ), /* 258 T_Abbrev */ S_ST( 'e', 0, 0, 0 ), /* 259 T_Age */ S_ST( 'l', 0, 12, 0 ), /* 260 T_All */ @@ -505,7 +506,7 @@ const scan_state sst[934] = { S_ST( 'e', 0, 0, 0 ), /* 286 T_Disable */ S_ST( 'd', 0, 0, 0 ), /* 287 T_Discard */ S_ST( 'n', 0, 0, 0 ), /* 288 T_Dispersion */ - S_ST( 'a', 3, 297, 0 ), /* 289 le */ + S_ST( 'r', 3, 297, 0 ), /* 289 ke */ S_ST( 'e', 1, 0, 0 ), /* 290 T_Driftfile */ S_ST( 'p', 0, 0, 0 ), /* 291 T_Drop */ S_ST( 'p', 0, 0, 0 ), /* 292 T_Dscp */ @@ -513,7 +514,7 @@ const scan_state sst[934] = { S_ST( 'e', 0, 0, 0 ), /* 294 T_Enable */ S_ST( 'd', 0, 0, 161 ), /* 295 T_End */ S_ST( 'r', 0, 0, 0 ), /* 296 T_Epeer */ - S_ST( 'p', 3, 433, 0 ), /* 297 lea */ + S_ST( 'n', 3, 319, 0 ), /* 297 ker */ S_ST( 'e', 1, 172, 0 ), /* 298 T_File */ S_ST( 'n', 0, 0, 0 ), /* 299 T_Filegen */ S_ST( 'm', 0, 0, 0 ), /* 300 T_Filenum */ @@ -535,620 +536,629 @@ const scan_state sst[934] = { S_ST( 'c', 0, 0, 0 ), /* 316 T_Initalloc */ S_ST( 'm', 0, 0, 0 ), /* 317 T_Initmem */ S_ST( 'e', 1, 0, 0 ), /* 318 T_Includefile */ - S_ST( 'f', 3, 321, 0 ), /* 319 leap */ + S_ST( 'e', 3, 328, 0 ), /* 319 kern */ S_ST( 'e', 0, 0, 0 ), /* 320 T_Interface */ - S_ST( 'i', 3, 418, 0 ), /* 321 leapf */ + S_ST( 'd', 3, 419, 0 ), /* 321 keys */ S_ST( 'o', 0, 0, 212 ), /* 322 T_Io */ - S_ST( '4', 0, 0, 0 ), /* 323 T_Ipv4 */ - S_ST( '4', 0, 0, 0 ), /* 324 T_Ipv4_flag */ - S_ST( '6', 0, 0, 323 ), /* 325 T_Ipv6 */ - S_ST( '6', 0, 0, 324 ), /* 326 T_Ipv6_flag */ - S_ST( 'l', 0, 0, 0 ), /* 327 T_Kernel */ - S_ST( 'y', 0, 329, 250 ), /* 328 T_Key */ - S_ST( 's', 1, 253, 0 ), /* 329 T_Keys */ - S_ST( 'r', 1, 0, 0 ), /* 330 T_Keysdir */ - S_ST( 'd', 0, 0, 0 ), /* 331 T_Kod */ - S_ST( 'p', 0, 0, 0 ), /* 332 T_Mssntp */ - S_ST( 'e', 1, 0, 0 ), /* 333 T_Leapfile */ - S_ST( 'l', 0, 0, 0 ), /* 334 T_Leapsmearinterval */ - S_ST( 'd', 0, 0, 0 ), /* 335 T_Limited */ - S_ST( 'k', 0, 0, 0 ), /* 336 T_Link */ - S_ST( 'n', 0, 0, 0 ), /* 337 T_Listen */ - S_ST( 'g', 2, 0, 0 ), /* 338 T_Logconfig */ - S_ST( 'e', 1, 0, 0 ), /* 339 T_Logfile */ - S_ST( 's', 0, 0, 0 ), /* 340 T_Loopstats */ - S_ST( 'p', 0, 0, 0 ), /* 341 T_Lowpriotrap */ - S_ST( 't', 1, 0, 0 ), /* 342 T_Manycastclient */ - S_ST( 'r', 2, 0, 0 ), /* 343 T_Manycastserver */ - S_ST( 'k', 0, 0, 0 ), /* 344 T_Mask */ - S_ST( 'e', 0, 0, 0 ), /* 345 T_Maxage */ - S_ST( 'k', 0, 0, 0 ), /* 346 T_Maxclock */ - S_ST( 'h', 0, 0, 0 ), /* 347 T_Maxdepth */ - S_ST( 't', 0, 0, 0 ), /* 348 T_Maxdist */ - S_ST( 'm', 0, 0, 0 ), /* 349 T_Maxmem */ - S_ST( 'l', 0, 0, 0 ), /* 350 T_Maxpoll */ - S_ST( 's', 0, 0, 0 ), /* 351 T_Mdnstries */ - S_ST( 'm', 0, 543, 0 ), /* 352 T_Mem */ - S_ST( 'k', 0, 0, 0 ), /* 353 T_Memlock */ - S_ST( 'k', 0, 0, 0 ), /* 354 T_Minclock */ - S_ST( 'h', 0, 0, 0 ), /* 355 T_Mindepth */ - S_ST( 't', 0, 0, 0 ), /* 356 T_Mindist */ - S_ST( 'm', 0, 0, 0 ), /* 357 T_Minimum */ - S_ST( 'l', 0, 0, 0 ), /* 358 T_Minpoll */ - S_ST( 'e', 0, 0, 0 ), /* 359 T_Minsane */ - S_ST( 'e', 0, 361, 0 ), /* 360 T_Mode */ - S_ST( '7', 0, 0, 0 ), /* 361 T_Mode7 */ - S_ST( 'r', 0, 0, 0 ), /* 362 T_Monitor */ - S_ST( 'h', 0, 0, 0 ), /* 363 T_Month */ - S_ST( 'u', 0, 0, 0 ), /* 364 T_Mru */ - S_ST( 't', 2, 0, 0 ), /* 365 T_Multicastclient */ - S_ST( 'c', 0, 0, 0 ), /* 366 T_Nic */ - S_ST( 'k', 0, 0, 0 ), /* 367 T_Nolink */ - S_ST( 'y', 0, 0, 0 ), /* 368 T_Nomodify */ - S_ST( 't', 0, 0, 0 ), /* 369 T_Nomrulist */ - S_ST( 'e', 0, 0, 0 ), /* 370 T_None */ - S_ST( 'e', 0, 0, 0 ), /* 371 T_Nonvolatile */ - S_ST( 'r', 0, 0, 0 ), /* 372 T_Noepeer */ - S_ST( 'r', 0, 0, 0 ), /* 373 T_Nopeer */ - S_ST( 'y', 0, 0, 0 ), /* 374 T_Noquery */ - S_ST( 't', 0, 0, 0 ), /* 375 T_Noselect */ - S_ST( 'e', 0, 0, 0 ), /* 376 T_Noserve */ - S_ST( 'p', 0, 0, 0 ), /* 377 T_Notrap */ - S_ST( 't', 0, 0, 0 ), /* 378 T_Notrust */ - S_ST( 'p', 0, 643, 0 ), /* 379 T_Ntp */ - S_ST( 't', 0, 0, 0 ), /* 380 T_Ntpport */ - S_ST( 't', 1, 0, 0 ), /* 381 T_NtpSignDsocket */ - S_ST( 'n', 0, 658, 0 ), /* 382 T_Orphan */ - S_ST( 't', 0, 0, 0 ), /* 383 T_Orphanwait */ - S_ST( 'y', 0, 0, 0 ), /* 384 T_PCEdigest */ - S_ST( 'c', 0, 0, 0 ), /* 385 T_Panic */ - S_ST( 'r', 1, 685, 0 ), /* 386 T_Peer */ - S_ST( 's', 0, 0, 0 ), /* 387 T_Peerstats */ - S_ST( 'e', 2, 0, 0 ), /* 388 T_Phone */ - S_ST( 'd', 0, 693, 0 ), /* 389 T_Pid */ - S_ST( 'e', 1, 0, 0 ), /* 390 T_Pidfile */ - S_ST( 'l', 1, 0, 0 ), /* 391 T_Pool */ - S_ST( 't', 0, 0, 0 ), /* 392 T_Port */ - S_ST( 't', 0, 0, 0 ), /* 393 T_Preempt */ - S_ST( 'r', 0, 0, 0 ), /* 394 T_Prefer */ - S_ST( 's', 0, 0, 0 ), /* 395 T_Protostats */ - S_ST( 'w', 1, 0, 699 ), /* 396 T_Pw */ - S_ST( 'e', 1, 0, 0 ), /* 397 T_Randfile */ - S_ST( 's', 0, 0, 0 ), /* 398 T_Rawstats */ - S_ST( 'd', 1, 0, 0 ), /* 399 T_Refid */ - S_ST( 'y', 0, 0, 0 ), /* 400 T_Requestkey */ - S_ST( 't', 0, 0, 0 ), /* 401 T_Reset */ - S_ST( 't', 0, 0, 0 ), /* 402 T_Restrict */ - S_ST( 'e', 0, 0, 0 ), /* 403 T_Revoke */ - S_ST( 't', 0, 0, 0 ), /* 404 T_Rlimit */ - S_ST( 'r', 1, 0, 0 ), /* 405 T_Saveconfigdir */ - S_ST( 'r', 1, 776, 0 ), /* 406 T_Server */ - S_ST( 'r', 1, 0, 0 ), /* 407 T_Setvar */ - S_ST( 'e', 0, 0, 0 ), /* 408 T_Source */ - S_ST( 'e', 0, 0, 0 ), /* 409 T_Stacksize */ - S_ST( 's', 0, 0, 0 ), /* 410 T_Statistics */ - S_ST( 's', 0, 819, 814 ), /* 411 T_Stats */ - S_ST( 'r', 1, 0, 0 ), /* 412 T_Statsdir */ - S_ST( 'p', 0, 827, 0 ), /* 413 T_Step */ - S_ST( 'k', 0, 0, 0 ), /* 414 T_Stepback */ - S_ST( 'd', 0, 0, 0 ), /* 415 T_Stepfwd */ - S_ST( 't', 0, 0, 0 ), /* 416 T_Stepout */ - S_ST( 'm', 0, 0, 0 ), /* 417 T_Stratum */ - S_ST( 'l', 3, 333, 0 ), /* 418 leapfi */ - S_ST( 's', 0, 834, 0 ), /* 419 T_Sys */ - S_ST( 's', 0, 0, 0 ), /* 420 T_Sysstats */ - S_ST( 'k', 0, 0, 0 ), /* 421 T_Tick */ - S_ST( '1', 0, 0, 0 ), /* 422 T_Time1 */ - S_ST( '2', 0, 0, 422 ), /* 423 T_Time2 */ - S_ST( 'r', 0, 0, 423 ), /* 424 T_Timer */ - S_ST( 's', 0, 0, 0 ), /* 425 T_Timingstats */ - S_ST( 'r', 0, 0, 0 ), /* 426 T_Tinker */ - S_ST( 's', 0, 0, 0 ), /* 427 T_Tos */ - S_ST( 'p', 1, 0, 0 ), /* 428 T_Trap */ - S_ST( 'e', 0, 0, 0 ), /* 429 T_True */ - S_ST( 'y', 0, 0, 0 ), /* 430 T_Trustedkey */ - S_ST( 'l', 0, 0, 0 ), /* 431 T_Ttl */ - S_ST( 'e', 0, 0, 0 ), /* 432 T_Type */ - S_ST( 's', 3, 440, 319 ), /* 433 leap */ - S_ST( 'y', 0, 0, 0 ), /* 434 T_UEcrypto */ - S_ST( 'y', 0, 0, 0 ), /* 435 T_UEcryptonak */ - S_ST( 'y', 0, 0, 0 ), /* 436 T_UEdigest */ - S_ST( 'g', 1, 0, 0 ), /* 437 T_Unconfig */ - S_ST( 'r', 1, 876, 0 ), /* 438 T_Unpeer */ - S_ST( 'n', 0, 0, 0 ), /* 439 T_Version */ - S_ST( 'm', 3, 445, 0 ), /* 440 leaps */ - S_ST( 'k', 0, 0, 0 ), /* 441 T_Week */ - S_ST( 'd', 0, 0, 0 ), /* 442 T_Wildcard */ - S_ST( 'e', 0, 0, 0 ), /* 443 T_Xleave */ - S_ST( 'r', 0, 0, 0 ), /* 444 T_Year */ - S_ST( 'e', 3, 446, 0 ), /* 445 leapsm */ - S_ST( 'a', 3, 457, 0 ), /* 446 leapsme */ - S_ST( 'e', 0, 0, 0 ), /* 447 T_Simulate */ - S_ST( 'y', 0, 0, 0 ), /* 448 T_Beep_Delay */ - S_ST( 'n', 0, 0, 0 ), /* 449 T_Sim_Duration */ - S_ST( 't', 0, 0, 0 ), /* 450 T_Server_Offset */ - S_ST( 'n', 0, 0, 0 ), /* 451 T_Duration */ - S_ST( 't', 0, 0, 0 ), /* 452 T_Freq_Offset */ - S_ST( 'r', 0, 0, 0 ), /* 453 T_Wander */ - S_ST( 'r', 0, 0, 0 ), /* 454 T_Jitter */ - S_ST( 'y', 0, 0, 0 ), /* 455 T_Prop_Delay */ - S_ST( 'y', 0, 0, 0 ), /* 456 T_Proc_Delay */ - S_ST( 'r', 3, 458, 0 ), /* 457 leapsmea */ - S_ST( 'i', 3, 459, 0 ), /* 458 leapsmear */ - S_ST( 'n', 3, 460, 0 ), /* 459 leapsmeari */ - S_ST( 't', 3, 461, 0 ), /* 460 leapsmearin */ - S_ST( 'e', 3, 462, 0 ), /* 461 leapsmearint */ - S_ST( 'r', 3, 463, 0 ), /* 462 leapsmearinte */ - S_ST( 'v', 3, 464, 0 ), /* 463 leapsmearinter */ - S_ST( 'a', 3, 334, 0 ), /* 464 leapsmearinterv */ - S_ST( 'i', 3, 471, 257 ), /* 465 l */ - S_ST( 'm', 3, 467, 0 ), /* 466 li */ - S_ST( 'i', 3, 468, 0 ), /* 467 lim */ - S_ST( 't', 3, 469, 0 ), /* 468 limi */ - S_ST( 'e', 3, 335, 0 ), /* 469 limit */ - S_ST( 'n', 3, 336, 466 ), /* 470 li */ - S_ST( 's', 3, 472, 470 ), /* 471 li */ - S_ST( 't', 3, 473, 0 ), /* 472 lis */ - S_ST( 'e', 3, 337, 0 ), /* 473 list */ - S_ST( 'o', 3, 490, 465 ), /* 474 l */ - S_ST( 'g', 3, 481, 0 ), /* 475 lo */ - S_ST( 'c', 3, 477, 0 ), /* 476 log */ - S_ST( 'o', 3, 478, 0 ), /* 477 logc */ - S_ST( 'n', 3, 479, 0 ), /* 478 logco */ - S_ST( 'f', 3, 480, 0 ), /* 479 logcon */ - S_ST( 'i', 3, 338, 0 ), /* 480 logconf */ - S_ST( 'f', 3, 482, 476 ), /* 481 log */ - S_ST( 'i', 3, 483, 0 ), /* 482 logf */ - S_ST( 'l', 3, 339, 0 ), /* 483 logfi */ - S_ST( 'o', 3, 485, 475 ), /* 484 lo */ - S_ST( 'p', 3, 486, 0 ), /* 485 loo */ - S_ST( 's', 3, 487, 0 ), /* 486 loop */ - S_ST( 't', 3, 488, 0 ), /* 487 loops */ - S_ST( 'a', 3, 489, 0 ), /* 488 loopst */ - S_ST( 't', 3, 340, 0 ), /* 489 loopsta */ - S_ST( 'w', 3, 491, 484 ), /* 490 lo */ - S_ST( 'p', 3, 492, 0 ), /* 491 low */ - S_ST( 'r', 3, 493, 0 ), /* 492 lowp */ - S_ST( 'i', 3, 494, 0 ), /* 493 lowpr */ - S_ST( 'o', 3, 495, 0 ), /* 494 lowpri */ - S_ST( 't', 3, 496, 0 ), /* 495 lowprio */ - S_ST( 'r', 3, 497, 0 ), /* 496 lowpriot */ - S_ST( 'a', 3, 341, 0 ), /* 497 lowpriotr */ - S_ST( 'm', 3, 579, 256 ), /* 498 */ - S_ST( 'a', 3, 517, 0 ), /* 499 m */ - S_ST( 'n', 3, 501, 0 ), /* 500 ma */ - S_ST( 'y', 3, 502, 0 ), /* 501 man */ - S_ST( 'c', 3, 503, 0 ), /* 502 many */ - S_ST( 'a', 3, 504, 0 ), /* 503 manyc */ - S_ST( 's', 3, 505, 0 ), /* 504 manyca */ - S_ST( 't', 3, 511, 0 ), /* 505 manycas */ - S_ST( 'c', 3, 507, 0 ), /* 506 manycast */ - S_ST( 'l', 3, 508, 0 ), /* 507 manycastc */ - S_ST( 'i', 3, 509, 0 ), /* 508 manycastcl */ - S_ST( 'e', 3, 510, 0 ), /* 509 manycastcli */ - S_ST( 'n', 3, 342, 0 ), /* 510 manycastclie */ - S_ST( 's', 3, 512, 506 ), /* 511 manycast */ - S_ST( 'e', 3, 513, 0 ), /* 512 manycasts */ - S_ST( 'r', 3, 514, 0 ), /* 513 manycastse */ - S_ST( 'v', 3, 515, 0 ), /* 514 manycastser */ - S_ST( 'e', 3, 343, 0 ), /* 515 manycastserv */ - S_ST( 's', 3, 344, 500 ), /* 516 ma */ - S_ST( 'x', 3, 532, 516 ), /* 517 ma */ - S_ST( 'a', 3, 519, 0 ), /* 518 max */ - S_ST( 'g', 3, 345, 0 ), /* 519 maxa */ - S_ST( 'c', 3, 521, 518 ), /* 520 max */ - S_ST( 'l', 3, 522, 0 ), /* 521 maxc */ - S_ST( 'o', 3, 523, 0 ), /* 522 maxcl */ - S_ST( 'c', 3, 346, 0 ), /* 523 maxclo */ - S_ST( 'd', 3, 528, 520 ), /* 524 max */ - S_ST( 'e', 3, 526, 0 ), /* 525 maxd */ - S_ST( 'p', 3, 527, 0 ), /* 526 maxde */ - S_ST( 't', 3, 347, 0 ), /* 527 maxdep */ - S_ST( 'i', 3, 529, 525 ), /* 528 maxd */ - S_ST( 's', 3, 348, 0 ), /* 529 maxdi */ - S_ST( 'm', 3, 531, 524 ), /* 530 max */ - S_ST( 'e', 3, 349, 0 ), /* 531 maxm */ - S_ST( 'p', 3, 533, 530 ), /* 532 max */ - S_ST( 'o', 3, 534, 0 ), /* 533 maxp */ - S_ST( 'l', 3, 350, 0 ), /* 534 maxpo */ - S_ST( 'd', 3, 536, 499 ), /* 535 m */ - S_ST( 'n', 3, 537, 0 ), /* 536 md */ - S_ST( 's', 3, 538, 0 ), /* 537 mdn */ - S_ST( 't', 3, 539, 0 ), /* 538 mdns */ - S_ST( 'r', 3, 540, 0 ), /* 539 mdnst */ - S_ST( 'i', 3, 541, 0 ), /* 540 mdnstr */ - S_ST( 'e', 3, 351, 0 ), /* 541 mdnstri */ - S_ST( 'e', 3, 352, 535 ), /* 542 m */ - S_ST( 'l', 3, 544, 0 ), /* 543 mem */ - S_ST( 'o', 3, 545, 0 ), /* 544 meml */ - S_ST( 'c', 3, 353, 0 ), /* 545 memlo */ - S_ST( 'i', 3, 547, 542 ), /* 546 m */ - S_ST( 'n', 3, 564, 0 ), /* 547 mi */ - S_ST( 'c', 3, 549, 0 ), /* 548 min */ - S_ST( 'l', 3, 550, 0 ), /* 549 minc */ - S_ST( 'o', 3, 551, 0 ), /* 550 mincl */ - S_ST( 'c', 3, 354, 0 ), /* 551 minclo */ - S_ST( 'd', 3, 556, 548 ), /* 552 min */ - S_ST( 'e', 3, 554, 0 ), /* 553 mind */ - S_ST( 'p', 3, 555, 0 ), /* 554 minde */ - S_ST( 't', 3, 355, 0 ), /* 555 mindep */ - S_ST( 'i', 3, 557, 553 ), /* 556 mind */ - S_ST( 's', 3, 356, 0 ), /* 557 mindi */ - S_ST( 'i', 3, 559, 552 ), /* 558 min */ - S_ST( 'm', 3, 560, 0 ), /* 559 mini */ - S_ST( 'u', 3, 357, 0 ), /* 560 minim */ - S_ST( 'p', 3, 562, 558 ), /* 561 min */ - S_ST( 'o', 3, 563, 0 ), /* 562 minp */ - S_ST( 'l', 3, 358, 0 ), /* 563 minpo */ - S_ST( 's', 3, 565, 561 ), /* 564 min */ - S_ST( 'a', 3, 566, 0 ), /* 565 mins */ - S_ST( 'n', 3, 359, 0 ), /* 566 minsa */ - S_ST( 'o', 3, 569, 546 ), /* 567 m */ - S_ST( 'd', 3, 360, 0 ), /* 568 mo */ - S_ST( 'n', 3, 573, 568 ), /* 569 mo */ - S_ST( 'i', 3, 571, 0 ), /* 570 mon */ - S_ST( 't', 3, 572, 0 ), /* 571 moni */ - S_ST( 'o', 3, 362, 0 ), /* 572 monit */ - S_ST( 't', 3, 363, 570 ), /* 573 mon */ - S_ST( 'r', 3, 364, 567 ), /* 574 m */ - S_ST( 's', 3, 576, 574 ), /* 575 m */ - S_ST( 's', 3, 577, 0 ), /* 576 ms */ - S_ST( 'n', 3, 578, 0 ), /* 577 mss */ - S_ST( 't', 3, 332, 0 ), /* 578 mssn */ - S_ST( 'u', 3, 580, 575 ), /* 579 m */ - S_ST( 'l', 3, 581, 0 ), /* 580 mu */ - S_ST( 't', 3, 582, 0 ), /* 581 mul */ - S_ST( 'i', 3, 583, 0 ), /* 582 mult */ - S_ST( 'c', 3, 584, 0 ), /* 583 multi */ - S_ST( 'a', 3, 585, 0 ), /* 584 multic */ - S_ST( 's', 3, 586, 0 ), /* 585 multica */ - S_ST( 't', 3, 587, 0 ), /* 586 multicas */ - S_ST( 'c', 3, 588, 0 ), /* 587 multicast */ - S_ST( 'l', 3, 589, 0 ), /* 588 multicastc */ - S_ST( 'i', 3, 590, 0 ), /* 589 multicastcl */ - S_ST( 'e', 3, 591, 0 ), /* 590 multicastcli */ - S_ST( 'n', 3, 365, 0 ), /* 591 multicastclie */ - S_ST( 'n', 3, 639, 498 ), /* 592 */ - S_ST( 'i', 3, 366, 0 ), /* 593 n */ - S_ST( 'o', 3, 634, 593 ), /* 594 n */ - S_ST( 'e', 3, 596, 0 ), /* 595 no */ - S_ST( 'p', 3, 597, 0 ), /* 596 noe */ - S_ST( 'e', 3, 598, 0 ), /* 597 noep */ - S_ST( 'e', 3, 372, 0 ), /* 598 noepe */ - S_ST( 'l', 3, 600, 595 ), /* 599 no */ - S_ST( 'i', 3, 601, 0 ), /* 600 nol */ - S_ST( 'n', 3, 367, 0 ), /* 601 noli */ - S_ST( 'm', 3, 607, 599 ), /* 602 no */ - S_ST( 'o', 3, 604, 0 ), /* 603 nom */ - S_ST( 'd', 3, 605, 0 ), /* 604 nomo */ - S_ST( 'i', 3, 606, 0 ), /* 605 nomod */ - S_ST( 'f', 3, 368, 0 ), /* 606 nomodi */ - S_ST( 'r', 3, 608, 603 ), /* 607 nom */ - S_ST( 'u', 3, 609, 0 ), /* 608 nomr */ - S_ST( 'l', 3, 610, 0 ), /* 609 nomru */ - S_ST( 'i', 3, 611, 0 ), /* 610 nomrul */ - S_ST( 's', 3, 369, 0 ), /* 611 nomruli */ - S_ST( 'n', 3, 613, 602 ), /* 612 no */ - S_ST( 'v', 3, 614, 370 ), /* 613 non */ - S_ST( 'o', 3, 615, 0 ), /* 614 nonv */ - S_ST( 'l', 3, 616, 0 ), /* 615 nonvo */ - S_ST( 'a', 3, 617, 0 ), /* 616 nonvol */ - S_ST( 't', 3, 618, 0 ), /* 617 nonvola */ - S_ST( 'i', 3, 619, 0 ), /* 618 nonvolat */ - S_ST( 'l', 3, 371, 0 ), /* 619 nonvolati */ - S_ST( 'p', 3, 621, 612 ), /* 620 no */ - S_ST( 'e', 3, 622, 0 ), /* 621 nop */ - S_ST( 'e', 3, 373, 0 ), /* 622 nope */ - S_ST( 'q', 3, 624, 620 ), /* 623 no */ - S_ST( 'u', 3, 625, 0 ), /* 624 noq */ - S_ST( 'e', 3, 626, 0 ), /* 625 noqu */ - S_ST( 'r', 3, 374, 0 ), /* 626 noque */ - S_ST( 's', 3, 628, 623 ), /* 627 no */ - S_ST( 'e', 3, 632, 0 ), /* 628 nos */ - S_ST( 'l', 3, 630, 0 ), /* 629 nose */ - S_ST( 'e', 3, 631, 0 ), /* 630 nosel */ - S_ST( 'c', 3, 375, 0 ), /* 631 nosele */ - S_ST( 'r', 3, 633, 629 ), /* 632 nose */ - S_ST( 'v', 3, 376, 0 ), /* 633 noser */ - S_ST( 't', 3, 635, 627 ), /* 634 no */ - S_ST( 'r', 3, 637, 0 ), /* 635 not */ - S_ST( 'a', 3, 377, 0 ), /* 636 notr */ - S_ST( 'u', 3, 638, 636 ), /* 637 notr */ - S_ST( 's', 3, 378, 0 ), /* 638 notru */ - S_ST( 't', 3, 379, 594 ), /* 639 n */ - S_ST( 'p', 3, 641, 0 ), /* 640 ntp */ - S_ST( 'o', 3, 642, 0 ), /* 641 ntpp */ - S_ST( 'r', 3, 380, 0 ), /* 642 ntppo */ - S_ST( 's', 3, 644, 640 ), /* 643 ntp */ - S_ST( 'i', 3, 645, 0 ), /* 644 ntps */ - S_ST( 'g', 3, 646, 0 ), /* 645 ntpsi */ - S_ST( 'n', 3, 647, 0 ), /* 646 ntpsig */ - S_ST( 'd', 3, 648, 0 ), /* 647 ntpsign */ - S_ST( 's', 3, 649, 0 ), /* 648 ntpsignd */ - S_ST( 'o', 3, 650, 0 ), /* 649 ntpsignds */ - S_ST( 'c', 3, 651, 0 ), /* 650 ntpsigndso */ - S_ST( 'k', 3, 652, 0 ), /* 651 ntpsigndsoc */ - S_ST( 'e', 3, 381, 0 ), /* 652 ntpsigndsock */ - S_ST( 'o', 3, 654, 592 ), /* 653 */ - S_ST( 'r', 3, 655, 0 ), /* 654 o */ - S_ST( 'p', 3, 656, 0 ), /* 655 or */ - S_ST( 'h', 3, 657, 0 ), /* 656 orp */ - S_ST( 'a', 3, 382, 0 ), /* 657 orph */ - S_ST( 'w', 3, 659, 0 ), /* 658 orphan */ - S_ST( 'a', 3, 660, 0 ), /* 659 orphanw */ - S_ST( 'i', 3, 383, 0 ), /* 660 orphanwa */ - S_ST( 'p', 3, 396, 653 ), /* 661 */ - S_ST( 'a', 3, 663, 0 ), /* 662 p */ - S_ST( 'n', 3, 664, 0 ), /* 663 pa */ - S_ST( 'i', 3, 385, 0 ), /* 664 pan */ - S_ST( 'e', 3, 666, 662 ), /* 665 p */ - S_ST( 'e', 3, 386, 0 ), /* 666 pe */ - S_ST( '_', 3, 668, 0 ), /* 667 peer */ - S_ST( 'c', 3, 669, 0 ), /* 668 peer_ */ - S_ST( 'l', 3, 670, 0 ), /* 669 peer_c */ - S_ST( 'e', 3, 671, 0 ), /* 670 peer_cl */ - S_ST( 'a', 3, 672, 0 ), /* 671 peer_cle */ - S_ST( 'r', 3, 673, 0 ), /* 672 peer_clea */ - S_ST( '_', 3, 674, 0 ), /* 673 peer_clear */ - S_ST( 'd', 3, 675, 0 ), /* 674 peer_clear_ */ - S_ST( 'i', 3, 676, 0 ), /* 675 peer_clear_d */ - S_ST( 'g', 3, 677, 0 ), /* 676 peer_clear_di */ - S_ST( 'e', 3, 678, 0 ), /* 677 peer_clear_dig */ - S_ST( 's', 3, 679, 0 ), /* 678 peer_clear_dige */ - S_ST( 't', 3, 680, 0 ), /* 679 peer_clear_diges */ - S_ST( '_', 3, 681, 0 ), /* 680 peer_clear_digest */ - S_ST( 'e', 3, 682, 0 ), /* 681 peer_clear_digest_ */ - S_ST( 'a', 3, 683, 0 ), /* 682 peer_clear_digest_e */ - S_ST( 'r', 3, 684, 0 ), /* 683 peer_clear_digest_ea */ - S_ST( 'l', 3, 384, 0 ), /* 684 peer_clear_digest_ear */ - S_ST( 's', 3, 686, 667 ), /* 685 peer */ - S_ST( 't', 3, 687, 0 ), /* 686 peers */ - S_ST( 'a', 3, 688, 0 ), /* 687 peerst */ - S_ST( 't', 3, 387, 0 ), /* 688 peersta */ - S_ST( 'h', 3, 690, 665 ), /* 689 p */ - S_ST( 'o', 3, 691, 0 ), /* 690 ph */ - S_ST( 'n', 3, 388, 0 ), /* 691 pho */ - S_ST( 'i', 3, 389, 689 ), /* 692 p */ - S_ST( 'f', 3, 694, 0 ), /* 693 pid */ - S_ST( 'i', 3, 695, 0 ), /* 694 pidf */ - S_ST( 'l', 3, 390, 0 ), /* 695 pidfi */ - S_ST( 'o', 3, 698, 692 ), /* 696 p */ - S_ST( 'o', 3, 391, 0 ), /* 697 po */ - S_ST( 'r', 3, 392, 697 ), /* 698 po */ - S_ST( 'r', 3, 706, 696 ), /* 699 p */ - S_ST( 'e', 3, 704, 0 ), /* 700 pr */ - S_ST( 'e', 3, 702, 0 ), /* 701 pre */ - S_ST( 'm', 3, 703, 0 ), /* 702 pree */ - S_ST( 'p', 3, 393, 0 ), /* 703 preem */ - S_ST( 'f', 3, 705, 701 ), /* 704 pre */ - S_ST( 'e', 3, 394, 0 ), /* 705 pref */ - S_ST( 'o', 3, 719, 700 ), /* 706 pr */ - S_ST( 'c', 3, 708, 0 ), /* 707 pro */ - S_ST( '_', 3, 709, 0 ), /* 708 proc */ - S_ST( 'd', 3, 710, 0 ), /* 709 proc_ */ - S_ST( 'e', 3, 711, 0 ), /* 710 proc_d */ - S_ST( 'l', 3, 712, 0 ), /* 711 proc_de */ - S_ST( 'a', 3, 456, 0 ), /* 712 proc_del */ - S_ST( 'p', 3, 714, 707 ), /* 713 pro */ - S_ST( '_', 3, 715, 0 ), /* 714 prop */ - S_ST( 'd', 3, 716, 0 ), /* 715 prop_ */ - S_ST( 'e', 3, 717, 0 ), /* 716 prop_d */ - S_ST( 'l', 3, 718, 0 ), /* 717 prop_de */ - S_ST( 'a', 3, 455, 0 ), /* 718 prop_del */ - S_ST( 't', 3, 720, 713 ), /* 719 pro */ - S_ST( 'o', 3, 721, 0 ), /* 720 prot */ - S_ST( 's', 3, 722, 0 ), /* 721 proto */ - S_ST( 't', 3, 723, 0 ), /* 722 protos */ - S_ST( 'a', 3, 724, 0 ), /* 723 protost */ - S_ST( 't', 3, 395, 0 ), /* 724 protosta */ - S_ST( 'r', 3, 756, 661 ), /* 725 */ - S_ST( 'a', 3, 732, 0 ), /* 726 r */ - S_ST( 'n', 3, 728, 0 ), /* 727 ra */ - S_ST( 'd', 3, 729, 0 ), /* 728 ran */ - S_ST( 'f', 3, 730, 0 ), /* 729 rand */ - S_ST( 'i', 3, 731, 0 ), /* 730 randf */ - S_ST( 'l', 3, 397, 0 ), /* 731 randfi */ - S_ST( 'w', 3, 733, 727 ), /* 732 ra */ - S_ST( 's', 3, 734, 0 ), /* 733 raw */ - S_ST( 't', 3, 735, 0 ), /* 734 raws */ - S_ST( 'a', 3, 736, 0 ), /* 735 rawst */ - S_ST( 't', 3, 398, 0 ), /* 736 rawsta */ - S_ST( 'e', 3, 753, 726 ), /* 737 r */ - S_ST( 'f', 3, 739, 0 ), /* 738 re */ - S_ST( 'i', 3, 399, 0 ), /* 739 ref */ - S_ST( 'q', 3, 741, 738 ), /* 740 re */ - S_ST( 'u', 3, 742, 0 ), /* 741 req */ - S_ST( 'e', 3, 743, 0 ), /* 742 requ */ - S_ST( 's', 3, 744, 0 ), /* 743 reque */ - S_ST( 't', 3, 745, 0 ), /* 744 reques */ - S_ST( 'k', 3, 746, 0 ), /* 745 request */ - S_ST( 'e', 3, 400, 0 ), /* 746 requestk */ - S_ST( 's', 3, 749, 740 ), /* 747 re */ - S_ST( 'e', 3, 401, 0 ), /* 748 res */ - S_ST( 't', 3, 750, 748 ), /* 749 res */ - S_ST( 'r', 3, 751, 0 ), /* 750 rest */ - S_ST( 'i', 3, 752, 0 ), /* 751 restr */ - S_ST( 'c', 3, 402, 0 ), /* 752 restri */ - S_ST( 'v', 3, 754, 747 ), /* 753 re */ - S_ST( 'o', 3, 755, 0 ), /* 754 rev */ - S_ST( 'k', 3, 403, 0 ), /* 755 revo */ - S_ST( 'l', 3, 757, 737 ), /* 756 r */ - S_ST( 'i', 3, 758, 0 ), /* 757 rl */ - S_ST( 'm', 3, 759, 0 ), /* 758 rli */ - S_ST( 'i', 3, 404, 0 ), /* 759 rlim */ - S_ST( 's', 3, 833, 725 ), /* 760 */ - S_ST( 'a', 3, 762, 0 ), /* 761 s */ - S_ST( 'v', 3, 763, 0 ), /* 762 sa */ - S_ST( 'e', 3, 764, 0 ), /* 763 sav */ - S_ST( 'c', 3, 765, 0 ), /* 764 save */ - S_ST( 'o', 3, 766, 0 ), /* 765 savec */ - S_ST( 'n', 3, 767, 0 ), /* 766 saveco */ - S_ST( 'f', 3, 768, 0 ), /* 767 savecon */ - S_ST( 'i', 3, 769, 0 ), /* 768 saveconf */ - S_ST( 'g', 3, 770, 0 ), /* 769 saveconfi */ - S_ST( 'd', 3, 771, 0 ), /* 770 saveconfig */ - S_ST( 'i', 3, 405, 0 ), /* 771 saveconfigd */ - S_ST( 'e', 3, 782, 761 ), /* 772 s */ - S_ST( 'r', 3, 774, 0 ), /* 773 se */ - S_ST( 'v', 3, 775, 0 ), /* 774 ser */ - S_ST( 'e', 3, 406, 0 ), /* 775 serv */ - S_ST( '_', 3, 777, 0 ), /* 776 server */ - S_ST( 'o', 3, 778, 0 ), /* 777 server_ */ - S_ST( 'f', 3, 779, 0 ), /* 778 server_o */ - S_ST( 'f', 3, 780, 0 ), /* 779 server_of */ - S_ST( 's', 3, 781, 0 ), /* 780 server_off */ - S_ST( 'e', 3, 450, 0 ), /* 781 server_offs */ - S_ST( 't', 3, 783, 773 ), /* 782 se */ - S_ST( 'v', 3, 784, 0 ), /* 783 set */ - S_ST( 'a', 3, 407, 0 ), /* 784 setv */ - S_ST( 'i', 3, 786, 772 ), /* 785 s */ - S_ST( 'm', 3, 787, 0 ), /* 786 si */ - S_ST( 'u', 3, 788, 0 ), /* 787 sim */ - S_ST( 'l', 3, 789, 0 ), /* 788 simu */ - S_ST( 'a', 3, 790, 0 ), /* 789 simul */ - S_ST( 't', 3, 791, 0 ), /* 790 simula */ - S_ST( 'i', 3, 792, 447 ), /* 791 simulat */ - S_ST( 'o', 3, 793, 0 ), /* 792 simulati */ - S_ST( 'n', 3, 794, 0 ), /* 793 simulatio */ - S_ST( '_', 3, 795, 0 ), /* 794 simulation */ - S_ST( 'd', 3, 796, 0 ), /* 795 simulation_ */ - S_ST( 'u', 3, 797, 0 ), /* 796 simulation_d */ - S_ST( 'r', 3, 798, 0 ), /* 797 simulation_du */ - S_ST( 'a', 3, 799, 0 ), /* 798 simulation_dur */ - S_ST( 't', 3, 800, 0 ), /* 799 simulation_dura */ - S_ST( 'i', 3, 801, 0 ), /* 800 simulation_durat */ - S_ST( 'o', 3, 449, 0 ), /* 801 simulation_durati */ - S_ST( 'o', 3, 803, 785 ), /* 802 s */ - S_ST( 'u', 3, 804, 0 ), /* 803 so */ - S_ST( 'r', 3, 805, 0 ), /* 804 sou */ - S_ST( 'c', 3, 408, 0 ), /* 805 sour */ - S_ST( 't', 3, 829, 802 ), /* 806 s */ - S_ST( 'a', 3, 813, 0 ), /* 807 st */ - S_ST( 'c', 3, 809, 0 ), /* 808 sta */ - S_ST( 'k', 3, 810, 0 ), /* 809 stac */ - S_ST( 's', 3, 811, 0 ), /* 810 stack */ - S_ST( 'i', 3, 812, 0 ), /* 811 stacks */ - S_ST( 'z', 3, 409, 0 ), /* 812 stacksi */ - S_ST( 't', 3, 411, 808 ), /* 813 sta */ - S_ST( 'i', 3, 815, 0 ), /* 814 stat */ - S_ST( 's', 3, 816, 0 ), /* 815 stati */ - S_ST( 't', 3, 817, 0 ), /* 816 statis */ - S_ST( 'i', 3, 818, 0 ), /* 817 statist */ - S_ST( 'c', 3, 410, 0 ), /* 818 statisti */ - S_ST( 'd', 3, 820, 0 ), /* 819 stats */ - S_ST( 'i', 3, 412, 0 ), /* 820 statsd */ - S_ST( 'e', 3, 413, 807 ), /* 821 st */ - S_ST( 'b', 3, 823, 0 ), /* 822 step */ - S_ST( 'a', 3, 824, 0 ), /* 823 stepb */ - S_ST( 'c', 3, 414, 0 ), /* 824 stepba */ - S_ST( 'f', 3, 826, 822 ), /* 825 step */ - S_ST( 'w', 3, 415, 0 ), /* 826 stepf */ - S_ST( 'o', 3, 828, 825 ), /* 827 step */ - S_ST( 'u', 3, 416, 0 ), /* 828 stepo */ - S_ST( 'r', 3, 830, 821 ), /* 829 st */ - S_ST( 'a', 3, 831, 0 ), /* 830 str */ - S_ST( 't', 3, 832, 0 ), /* 831 stra */ - S_ST( 'u', 3, 417, 0 ), /* 832 strat */ - S_ST( 'y', 3, 419, 806 ), /* 833 s */ - S_ST( 's', 3, 835, 0 ), /* 834 sys */ - S_ST( 't', 3, 836, 0 ), /* 835 syss */ - S_ST( 'a', 3, 837, 0 ), /* 836 sysst */ - S_ST( 't', 3, 420, 0 ), /* 837 syssta */ - S_ST( 't', 3, 864, 760 ), /* 838 */ - S_ST( 'i', 3, 850, 0 ), /* 839 t */ - S_ST( 'c', 3, 421, 0 ), /* 840 ti */ - S_ST( 'm', 3, 843, 840 ), /* 841 ti */ - S_ST( 'e', 3, 424, 0 ), /* 842 tim */ - S_ST( 'i', 3, 844, 842 ), /* 843 tim */ - S_ST( 'n', 3, 845, 0 ), /* 844 timi */ - S_ST( 'g', 3, 846, 0 ), /* 845 timin */ - S_ST( 's', 3, 847, 0 ), /* 846 timing */ - S_ST( 't', 3, 848, 0 ), /* 847 timings */ - S_ST( 'a', 3, 849, 0 ), /* 848 timingst */ - S_ST( 't', 3, 425, 0 ), /* 849 timingsta */ - S_ST( 'n', 3, 851, 841 ), /* 850 ti */ - S_ST( 'k', 3, 852, 0 ), /* 851 tin */ - S_ST( 'e', 3, 426, 0 ), /* 852 tink */ - S_ST( 'o', 3, 427, 839 ), /* 853 t */ - S_ST( 'r', 3, 856, 853 ), /* 854 t */ - S_ST( 'a', 3, 428, 0 ), /* 855 tr */ - S_ST( 'u', 3, 857, 855 ), /* 856 tr */ - S_ST( 's', 3, 858, 429 ), /* 857 tru */ - S_ST( 't', 3, 859, 0 ), /* 858 trus */ - S_ST( 'e', 3, 860, 0 ), /* 859 trust */ - S_ST( 'd', 3, 861, 0 ), /* 860 truste */ - S_ST( 'k', 3, 862, 0 ), /* 861 trusted */ - S_ST( 'e', 3, 430, 0 ), /* 862 trustedk */ - S_ST( 't', 3, 431, 854 ), /* 863 t */ - S_ST( 'y', 3, 865, 863 ), /* 864 t */ - S_ST( 'p', 3, 432, 0 ), /* 865 ty */ - S_ST( 'u', 3, 867, 838 ), /* 866 */ - S_ST( 'n', 3, 873, 0 ), /* 867 u */ - S_ST( 'c', 3, 869, 0 ), /* 868 un */ - S_ST( 'o', 3, 870, 0 ), /* 869 unc */ - S_ST( 'n', 3, 871, 0 ), /* 870 unco */ - S_ST( 'f', 3, 872, 0 ), /* 871 uncon */ - S_ST( 'i', 3, 437, 0 ), /* 872 unconf */ - S_ST( 'p', 3, 874, 868 ), /* 873 un */ - S_ST( 'e', 3, 875, 0 ), /* 874 unp */ - S_ST( 'e', 3, 438, 0 ), /* 875 unpe */ - S_ST( '_', 3, 896, 0 ), /* 876 unpeer */ - S_ST( 'c', 3, 878, 0 ), /* 877 unpeer_ */ - S_ST( 'r', 3, 879, 0 ), /* 878 unpeer_c */ - S_ST( 'y', 3, 880, 0 ), /* 879 unpeer_cr */ - S_ST( 'p', 3, 881, 0 ), /* 880 unpeer_cry */ - S_ST( 't', 3, 882, 0 ), /* 881 unpeer_cryp */ - S_ST( 'o', 3, 883, 0 ), /* 882 unpeer_crypt */ - S_ST( '_', 3, 888, 0 ), /* 883 unpeer_crypto */ - S_ST( 'e', 3, 885, 0 ), /* 884 unpeer_crypto_ */ - S_ST( 'a', 3, 886, 0 ), /* 885 unpeer_crypto_e */ - S_ST( 'r', 3, 887, 0 ), /* 886 unpeer_crypto_ea */ - S_ST( 'l', 3, 434, 0 ), /* 887 unpeer_crypto_ear */ - S_ST( 'n', 3, 889, 884 ), /* 888 unpeer_crypto_ */ - S_ST( 'a', 3, 890, 0 ), /* 889 unpeer_crypto_n */ - S_ST( 'k', 3, 891, 0 ), /* 890 unpeer_crypto_na */ - S_ST( '_', 3, 892, 0 ), /* 891 unpeer_crypto_nak */ - S_ST( 'e', 3, 893, 0 ), /* 892 unpeer_crypto_nak_ */ - S_ST( 'a', 3, 894, 0 ), /* 893 unpeer_crypto_nak_e */ - S_ST( 'r', 3, 895, 0 ), /* 894 unpeer_crypto_nak_ea */ - S_ST( 'l', 3, 435, 0 ), /* 895 unpeer_crypto_nak_ear */ - S_ST( 'd', 3, 897, 877 ), /* 896 unpeer_ */ - S_ST( 'i', 3, 898, 0 ), /* 897 unpeer_d */ - S_ST( 'g', 3, 899, 0 ), /* 898 unpeer_di */ - S_ST( 'e', 3, 900, 0 ), /* 899 unpeer_dig */ - S_ST( 's', 3, 901, 0 ), /* 900 unpeer_dige */ - S_ST( 't', 3, 902, 0 ), /* 901 unpeer_diges */ - S_ST( '_', 3, 903, 0 ), /* 902 unpeer_digest */ - S_ST( 'e', 3, 904, 0 ), /* 903 unpeer_digest_ */ - S_ST( 'a', 3, 905, 0 ), /* 904 unpeer_digest_e */ - S_ST( 'r', 3, 906, 0 ), /* 905 unpeer_digest_ea */ - S_ST( 'l', 3, 436, 0 ), /* 906 unpeer_digest_ear */ - S_ST( 'v', 3, 908, 866 ), /* 907 */ - S_ST( 'e', 3, 909, 0 ), /* 908 v */ - S_ST( 'r', 3, 910, 0 ), /* 909 ve */ - S_ST( 's', 3, 911, 0 ), /* 910 ver */ - S_ST( 'i', 3, 912, 0 ), /* 911 vers */ - S_ST( 'o', 3, 439, 0 ), /* 912 versi */ - S_ST( 'w', 3, 920, 907 ), /* 913 */ - S_ST( 'a', 3, 915, 0 ), /* 914 w */ - S_ST( 'n', 3, 916, 0 ), /* 915 wa */ - S_ST( 'd', 3, 917, 0 ), /* 916 wan */ - S_ST( 'e', 3, 453, 0 ), /* 917 wand */ - S_ST( 'e', 3, 919, 914 ), /* 918 w */ - S_ST( 'e', 3, 441, 0 ), /* 919 we */ - S_ST( 'i', 3, 921, 918 ), /* 920 w */ - S_ST( 'l', 3, 922, 0 ), /* 921 wi */ - S_ST( 'd', 3, 923, 0 ), /* 922 wil */ - S_ST( 'c', 3, 924, 0 ), /* 923 wild */ - S_ST( 'a', 3, 925, 0 ), /* 924 wildc */ - S_ST( 'r', 3, 442, 0 ), /* 925 wildca */ - S_ST( 'x', 3, 927, 913 ), /* 926 */ - S_ST( 'l', 3, 928, 0 ), /* 927 x */ - S_ST( 'e', 3, 929, 0 ), /* 928 xl */ - S_ST( 'a', 3, 930, 0 ), /* 929 xle */ - S_ST( 'v', 3, 443, 0 ), /* 930 xlea */ - S_ST( 'y', 3, 932, 926 ), /* 931 [initial state] */ - S_ST( 'e', 3, 933, 0 ), /* 932 y */ - S_ST( 'a', 3, 444, 0 ) /* 933 ye */ + S_ST( 't', 0, 0, 0 ), /* 323 T_Ippeerlimit */ + S_ST( '4', 0, 0, 0 ), /* 324 T_Ipv4 */ + S_ST( '4', 0, 0, 0 ), /* 325 T_Ipv4_flag */ + S_ST( '6', 0, 0, 324 ), /* 326 T_Ipv6 */ + S_ST( '6', 0, 0, 325 ), /* 327 T_Ipv6_flag */ + S_ST( 'l', 0, 0, 0 ), /* 328 T_Kernel */ + S_ST( 'y', 0, 330, 289 ), /* 329 T_Key */ + S_ST( 's', 1, 321, 0 ), /* 330 T_Keys */ + S_ST( 'r', 1, 0, 0 ), /* 331 T_Keysdir */ + S_ST( 'd', 0, 0, 0 ), /* 332 T_Kod */ + S_ST( 'p', 0, 0, 0 ), /* 333 T_Mssntp */ + S_ST( 'e', 1, 0, 0 ), /* 334 T_Leapfile */ + S_ST( 'l', 0, 0, 0 ), /* 335 T_Leapsmearinterval */ + S_ST( 'd', 0, 0, 0 ), /* 336 T_Limited */ + S_ST( 'k', 0, 0, 0 ), /* 337 T_Link */ + S_ST( 'n', 0, 0, 0 ), /* 338 T_Listen */ + S_ST( 'g', 2, 0, 0 ), /* 339 T_Logconfig */ + S_ST( 'e', 1, 0, 0 ), /* 340 T_Logfile */ + S_ST( 's', 0, 0, 0 ), /* 341 T_Loopstats */ + S_ST( 'p', 0, 0, 0 ), /* 342 T_Lowpriotrap */ + S_ST( 't', 1, 0, 0 ), /* 343 T_Manycastclient */ + S_ST( 'r', 2, 0, 0 ), /* 344 T_Manycastserver */ + S_ST( 'k', 0, 0, 0 ), /* 345 T_Mask */ + S_ST( 'e', 0, 0, 0 ), /* 346 T_Maxage */ + S_ST( 'k', 0, 0, 0 ), /* 347 T_Maxclock */ + S_ST( 'h', 0, 0, 0 ), /* 348 T_Maxdepth */ + S_ST( 't', 0, 0, 0 ), /* 349 T_Maxdist */ + S_ST( 'm', 0, 0, 0 ), /* 350 T_Maxmem */ + S_ST( 'l', 0, 0, 0 ), /* 351 T_Maxpoll */ + S_ST( 's', 0, 0, 0 ), /* 352 T_Mdnstries */ + S_ST( 'm', 0, 552, 0 ), /* 353 T_Mem */ + S_ST( 'k', 0, 0, 0 ), /* 354 T_Memlock */ + S_ST( 'k', 0, 0, 0 ), /* 355 T_Minclock */ + S_ST( 'h', 0, 0, 0 ), /* 356 T_Mindepth */ + S_ST( 't', 0, 0, 0 ), /* 357 T_Mindist */ + S_ST( 'm', 0, 0, 0 ), /* 358 T_Minimum */ + S_ST( 'l', 0, 0, 0 ), /* 359 T_Minpoll */ + S_ST( 'e', 0, 0, 0 ), /* 360 T_Minsane */ + S_ST( 'e', 0, 362, 0 ), /* 361 T_Mode */ + S_ST( '7', 0, 0, 0 ), /* 362 T_Mode7 */ + S_ST( 'r', 0, 0, 0 ), /* 363 T_Monitor */ + S_ST( 'h', 0, 0, 0 ), /* 364 T_Month */ + S_ST( 'u', 0, 0, 0 ), /* 365 T_Mru */ + S_ST( 't', 2, 0, 0 ), /* 366 T_Multicastclient */ + S_ST( 'c', 0, 0, 0 ), /* 367 T_Nic */ + S_ST( 'k', 0, 0, 0 ), /* 368 T_Nolink */ + S_ST( 'y', 0, 0, 0 ), /* 369 T_Nomodify */ + S_ST( 't', 0, 0, 0 ), /* 370 T_Nomrulist */ + S_ST( 'e', 0, 0, 0 ), /* 371 T_None */ + S_ST( 'e', 0, 0, 0 ), /* 372 T_Nonvolatile */ + S_ST( 'r', 0, 0, 0 ), /* 373 T_Noepeer */ + S_ST( 'r', 0, 0, 0 ), /* 374 T_Nopeer */ + S_ST( 'y', 0, 0, 0 ), /* 375 T_Noquery */ + S_ST( 't', 0, 0, 0 ), /* 376 T_Noselect */ + S_ST( 'e', 0, 0, 0 ), /* 377 T_Noserve */ + S_ST( 'p', 0, 0, 0 ), /* 378 T_Notrap */ + S_ST( 't', 0, 0, 0 ), /* 379 T_Notrust */ + S_ST( 'p', 0, 652, 0 ), /* 380 T_Ntp */ + S_ST( 't', 0, 0, 0 ), /* 381 T_Ntpport */ + S_ST( 't', 1, 0, 0 ), /* 382 T_NtpSignDsocket */ + S_ST( 'n', 0, 667, 0 ), /* 383 T_Orphan */ + S_ST( 't', 0, 0, 0 ), /* 384 T_Orphanwait */ + S_ST( 'y', 0, 0, 0 ), /* 385 T_PCEdigest */ + S_ST( 'c', 0, 0, 0 ), /* 386 T_Panic */ + S_ST( 'r', 1, 694, 0 ), /* 387 T_Peer */ + S_ST( 's', 0, 0, 0 ), /* 388 T_Peerstats */ + S_ST( 'e', 2, 0, 0 ), /* 389 T_Phone */ + S_ST( 'd', 0, 702, 0 ), /* 390 T_Pid */ + S_ST( 'e', 1, 0, 0 ), /* 391 T_Pidfile */ + S_ST( 'l', 1, 0, 0 ), /* 392 T_Pool */ + S_ST( 't', 0, 0, 0 ), /* 393 T_Port */ + S_ST( 't', 0, 0, 0 ), /* 394 T_Preempt */ + S_ST( 'r', 0, 0, 0 ), /* 395 T_Prefer */ + S_ST( 's', 0, 0, 0 ), /* 396 T_Protostats */ + S_ST( 'w', 1, 0, 708 ), /* 397 T_Pw */ + S_ST( 'e', 1, 0, 0 ), /* 398 T_Randfile */ + S_ST( 's', 0, 0, 0 ), /* 399 T_Rawstats */ + S_ST( 'd', 1, 0, 0 ), /* 400 T_Refid */ + S_ST( 'y', 0, 0, 0 ), /* 401 T_Requestkey */ + S_ST( 't', 0, 0, 0 ), /* 402 T_Reset */ + S_ST( 't', 0, 0, 0 ), /* 403 T_Restrict */ + S_ST( 'e', 0, 0, 0 ), /* 404 T_Revoke */ + S_ST( 't', 0, 0, 0 ), /* 405 T_Rlimit */ + S_ST( 'r', 1, 0, 0 ), /* 406 T_Saveconfigdir */ + S_ST( 'r', 1, 785, 0 ), /* 407 T_Server */ + S_ST( 'r', 1, 0, 0 ), /* 408 T_Setvar */ + S_ST( 'e', 0, 0, 0 ), /* 409 T_Source */ + S_ST( 'e', 0, 0, 0 ), /* 410 T_Stacksize */ + S_ST( 's', 0, 0, 0 ), /* 411 T_Statistics */ + S_ST( 's', 0, 828, 823 ), /* 412 T_Stats */ + S_ST( 'r', 1, 0, 0 ), /* 413 T_Statsdir */ + S_ST( 'p', 0, 836, 0 ), /* 414 T_Step */ + S_ST( 'k', 0, 0, 0 ), /* 415 T_Stepback */ + S_ST( 'd', 0, 0, 0 ), /* 416 T_Stepfwd */ + S_ST( 't', 0, 0, 0 ), /* 417 T_Stepout */ + S_ST( 'm', 0, 0, 0 ), /* 418 T_Stratum */ + S_ST( 'i', 3, 331, 0 ), /* 419 keysd */ + S_ST( 's', 0, 843, 0 ), /* 420 T_Sys */ + S_ST( 's', 0, 0, 0 ), /* 421 T_Sysstats */ + S_ST( 'k', 0, 0, 0 ), /* 422 T_Tick */ + S_ST( '1', 0, 0, 0 ), /* 423 T_Time1 */ + S_ST( '2', 0, 0, 423 ), /* 424 T_Time2 */ + S_ST( 'r', 0, 0, 424 ), /* 425 T_Timer */ + S_ST( 's', 0, 0, 0 ), /* 426 T_Timingstats */ + S_ST( 'r', 0, 0, 0 ), /* 427 T_Tinker */ + S_ST( 's', 0, 0, 0 ), /* 428 T_Tos */ + S_ST( 'p', 1, 0, 0 ), /* 429 T_Trap */ + S_ST( 'e', 0, 0, 0 ), /* 430 T_True */ + S_ST( 'y', 0, 0, 0 ), /* 431 T_Trustedkey */ + S_ST( 'l', 0, 0, 0 ), /* 432 T_Ttl */ + S_ST( 'e', 0, 0, 0 ), /* 433 T_Type */ + S_ST( 'o', 3, 332, 257 ), /* 434 k */ + S_ST( 'y', 0, 0, 0 ), /* 435 T_UEcrypto */ + S_ST( 'y', 0, 0, 0 ), /* 436 T_UEcryptonak */ + S_ST( 'y', 0, 0, 0 ), /* 437 T_UEdigest */ + S_ST( 'g', 1, 0, 0 ), /* 438 T_Unconfig */ + S_ST( 'r', 1, 885, 0 ), /* 439 T_Unpeer */ + S_ST( 'n', 0, 0, 0 ), /* 440 T_Version */ + S_ST( 'l', 3, 483, 256 ), /* 441 */ + S_ST( 'k', 0, 0, 0 ), /* 442 T_Week */ + S_ST( 'd', 0, 0, 0 ), /* 443 T_Wildcard */ + S_ST( 'e', 0, 0, 0 ), /* 444 T_Xleave */ + S_ST( 'r', 0, 0, 0 ), /* 445 T_Year */ + S_ST( 'e', 3, 447, 0 ), /* 446 l */ + S_ST( 'a', 3, 458, 0 ), /* 447 le */ + S_ST( 'e', 0, 0, 0 ), /* 448 T_Simulate */ + S_ST( 'y', 0, 0, 0 ), /* 449 T_Beep_Delay */ + S_ST( 'n', 0, 0, 0 ), /* 450 T_Sim_Duration */ + S_ST( 't', 0, 0, 0 ), /* 451 T_Server_Offset */ + S_ST( 'n', 0, 0, 0 ), /* 452 T_Duration */ + S_ST( 't', 0, 0, 0 ), /* 453 T_Freq_Offset */ + S_ST( 'r', 0, 0, 0 ), /* 454 T_Wander */ + S_ST( 'r', 0, 0, 0 ), /* 455 T_Jitter */ + S_ST( 'y', 0, 0, 0 ), /* 456 T_Prop_Delay */ + S_ST( 'y', 0, 0, 0 ), /* 457 T_Proc_Delay */ + S_ST( 'p', 3, 462, 0 ), /* 458 lea */ + S_ST( 'f', 3, 460, 0 ), /* 459 leap */ + S_ST( 'i', 3, 461, 0 ), /* 460 leapf */ + S_ST( 'l', 3, 334, 0 ), /* 461 leapfi */ + S_ST( 's', 3, 463, 459 ), /* 462 leap */ + S_ST( 'm', 3, 464, 0 ), /* 463 leaps */ + S_ST( 'e', 3, 465, 0 ), /* 464 leapsm */ + S_ST( 'a', 3, 466, 0 ), /* 465 leapsme */ + S_ST( 'r', 3, 467, 0 ), /* 466 leapsmea */ + S_ST( 'i', 3, 468, 0 ), /* 467 leapsmear */ + S_ST( 'n', 3, 469, 0 ), /* 468 leapsmeari */ + S_ST( 't', 3, 470, 0 ), /* 469 leapsmearin */ + S_ST( 'e', 3, 471, 0 ), /* 470 leapsmearint */ + S_ST( 'r', 3, 472, 0 ), /* 471 leapsmearinte */ + S_ST( 'v', 3, 473, 0 ), /* 472 leapsmearinter */ + S_ST( 'a', 3, 335, 0 ), /* 473 leapsmearinterv */ + S_ST( 'i', 3, 480, 446 ), /* 474 l */ + S_ST( 'm', 3, 476, 0 ), /* 475 li */ + S_ST( 'i', 3, 477, 0 ), /* 476 lim */ + S_ST( 't', 3, 478, 0 ), /* 477 limi */ + S_ST( 'e', 3, 336, 0 ), /* 478 limit */ + S_ST( 'n', 3, 337, 475 ), /* 479 li */ + S_ST( 's', 3, 481, 479 ), /* 480 li */ + S_ST( 't', 3, 482, 0 ), /* 481 lis */ + S_ST( 'e', 3, 338, 0 ), /* 482 list */ + S_ST( 'o', 3, 499, 474 ), /* 483 l */ + S_ST( 'g', 3, 490, 0 ), /* 484 lo */ + S_ST( 'c', 3, 486, 0 ), /* 485 log */ + S_ST( 'o', 3, 487, 0 ), /* 486 logc */ + S_ST( 'n', 3, 488, 0 ), /* 487 logco */ + S_ST( 'f', 3, 489, 0 ), /* 488 logcon */ + S_ST( 'i', 3, 339, 0 ), /* 489 logconf */ + S_ST( 'f', 3, 491, 485 ), /* 490 log */ + S_ST( 'i', 3, 492, 0 ), /* 491 logf */ + S_ST( 'l', 3, 340, 0 ), /* 492 logfi */ + S_ST( 'o', 3, 494, 484 ), /* 493 lo */ + S_ST( 'p', 3, 495, 0 ), /* 494 loo */ + S_ST( 's', 3, 496, 0 ), /* 495 loop */ + S_ST( 't', 3, 497, 0 ), /* 496 loops */ + S_ST( 'a', 3, 498, 0 ), /* 497 loopst */ + S_ST( 't', 3, 341, 0 ), /* 498 loopsta */ + S_ST( 'w', 3, 500, 493 ), /* 499 lo */ + S_ST( 'p', 3, 501, 0 ), /* 500 low */ + S_ST( 'r', 3, 502, 0 ), /* 501 lowp */ + S_ST( 'i', 3, 503, 0 ), /* 502 lowpr */ + S_ST( 'o', 3, 504, 0 ), /* 503 lowpri */ + S_ST( 't', 3, 505, 0 ), /* 504 lowprio */ + S_ST( 'r', 3, 506, 0 ), /* 505 lowpriot */ + S_ST( 'a', 3, 342, 0 ), /* 506 lowpriotr */ + S_ST( 'm', 3, 588, 441 ), /* 507 */ + S_ST( 'a', 3, 526, 0 ), /* 508 m */ + S_ST( 'n', 3, 510, 0 ), /* 509 ma */ + S_ST( 'y', 3, 511, 0 ), /* 510 man */ + S_ST( 'c', 3, 512, 0 ), /* 511 many */ + S_ST( 'a', 3, 513, 0 ), /* 512 manyc */ + S_ST( 's', 3, 514, 0 ), /* 513 manyca */ + S_ST( 't', 3, 520, 0 ), /* 514 manycas */ + S_ST( 'c', 3, 516, 0 ), /* 515 manycast */ + S_ST( 'l', 3, 517, 0 ), /* 516 manycastc */ + S_ST( 'i', 3, 518, 0 ), /* 517 manycastcl */ + S_ST( 'e', 3, 519, 0 ), /* 518 manycastcli */ + S_ST( 'n', 3, 343, 0 ), /* 519 manycastclie */ + S_ST( 's', 3, 521, 515 ), /* 520 manycast */ + S_ST( 'e', 3, 522, 0 ), /* 521 manycasts */ + S_ST( 'r', 3, 523, 0 ), /* 522 manycastse */ + S_ST( 'v', 3, 524, 0 ), /* 523 manycastser */ + S_ST( 'e', 3, 344, 0 ), /* 524 manycastserv */ + S_ST( 's', 3, 345, 509 ), /* 525 ma */ + S_ST( 'x', 3, 541, 525 ), /* 526 ma */ + S_ST( 'a', 3, 528, 0 ), /* 527 max */ + S_ST( 'g', 3, 346, 0 ), /* 528 maxa */ + S_ST( 'c', 3, 530, 527 ), /* 529 max */ + S_ST( 'l', 3, 531, 0 ), /* 530 maxc */ + S_ST( 'o', 3, 532, 0 ), /* 531 maxcl */ + S_ST( 'c', 3, 347, 0 ), /* 532 maxclo */ + S_ST( 'd', 3, 537, 529 ), /* 533 max */ + S_ST( 'e', 3, 535, 0 ), /* 534 maxd */ + S_ST( 'p', 3, 536, 0 ), /* 535 maxde */ + S_ST( 't', 3, 348, 0 ), /* 536 maxdep */ + S_ST( 'i', 3, 538, 534 ), /* 537 maxd */ + S_ST( 's', 3, 349, 0 ), /* 538 maxdi */ + S_ST( 'm', 3, 540, 533 ), /* 539 max */ + S_ST( 'e', 3, 350, 0 ), /* 540 maxm */ + S_ST( 'p', 3, 542, 539 ), /* 541 max */ + S_ST( 'o', 3, 543, 0 ), /* 542 maxp */ + S_ST( 'l', 3, 351, 0 ), /* 543 maxpo */ + S_ST( 'd', 3, 545, 508 ), /* 544 m */ + S_ST( 'n', 3, 546, 0 ), /* 545 md */ + S_ST( 's', 3, 547, 0 ), /* 546 mdn */ + S_ST( 't', 3, 548, 0 ), /* 547 mdns */ + S_ST( 'r', 3, 549, 0 ), /* 548 mdnst */ + S_ST( 'i', 3, 550, 0 ), /* 549 mdnstr */ + S_ST( 'e', 3, 352, 0 ), /* 550 mdnstri */ + S_ST( 'e', 3, 353, 544 ), /* 551 m */ + S_ST( 'l', 3, 553, 0 ), /* 552 mem */ + S_ST( 'o', 3, 554, 0 ), /* 553 meml */ + S_ST( 'c', 3, 354, 0 ), /* 554 memlo */ + S_ST( 'i', 3, 556, 551 ), /* 555 m */ + S_ST( 'n', 3, 573, 0 ), /* 556 mi */ + S_ST( 'c', 3, 558, 0 ), /* 557 min */ + S_ST( 'l', 3, 559, 0 ), /* 558 minc */ + S_ST( 'o', 3, 560, 0 ), /* 559 mincl */ + S_ST( 'c', 3, 355, 0 ), /* 560 minclo */ + S_ST( 'd', 3, 565, 557 ), /* 561 min */ + S_ST( 'e', 3, 563, 0 ), /* 562 mind */ + S_ST( 'p', 3, 564, 0 ), /* 563 minde */ + S_ST( 't', 3, 356, 0 ), /* 564 mindep */ + S_ST( 'i', 3, 566, 562 ), /* 565 mind */ + S_ST( 's', 3, 357, 0 ), /* 566 mindi */ + S_ST( 'i', 3, 568, 561 ), /* 567 min */ + S_ST( 'm', 3, 569, 0 ), /* 568 mini */ + S_ST( 'u', 3, 358, 0 ), /* 569 minim */ + S_ST( 'p', 3, 571, 567 ), /* 570 min */ + S_ST( 'o', 3, 572, 0 ), /* 571 minp */ + S_ST( 'l', 3, 359, 0 ), /* 572 minpo */ + S_ST( 's', 3, 574, 570 ), /* 573 min */ + S_ST( 'a', 3, 575, 0 ), /* 574 mins */ + S_ST( 'n', 3, 360, 0 ), /* 575 minsa */ + S_ST( 'o', 3, 578, 555 ), /* 576 m */ + S_ST( 'd', 3, 361, 0 ), /* 577 mo */ + S_ST( 'n', 3, 582, 577 ), /* 578 mo */ + S_ST( 'i', 3, 580, 0 ), /* 579 mon */ + S_ST( 't', 3, 581, 0 ), /* 580 moni */ + S_ST( 'o', 3, 363, 0 ), /* 581 monit */ + S_ST( 't', 3, 364, 579 ), /* 582 mon */ + S_ST( 'r', 3, 365, 576 ), /* 583 m */ + S_ST( 's', 3, 585, 583 ), /* 584 m */ + S_ST( 's', 3, 586, 0 ), /* 585 ms */ + S_ST( 'n', 3, 587, 0 ), /* 586 mss */ + S_ST( 't', 3, 333, 0 ), /* 587 mssn */ + S_ST( 'u', 3, 589, 584 ), /* 588 m */ + S_ST( 'l', 3, 590, 0 ), /* 589 mu */ + S_ST( 't', 3, 591, 0 ), /* 590 mul */ + S_ST( 'i', 3, 592, 0 ), /* 591 mult */ + S_ST( 'c', 3, 593, 0 ), /* 592 multi */ + S_ST( 'a', 3, 594, 0 ), /* 593 multic */ + S_ST( 's', 3, 595, 0 ), /* 594 multica */ + S_ST( 't', 3, 596, 0 ), /* 595 multicas */ + S_ST( 'c', 3, 597, 0 ), /* 596 multicast */ + S_ST( 'l', 3, 598, 0 ), /* 597 multicastc */ + S_ST( 'i', 3, 599, 0 ), /* 598 multicastcl */ + S_ST( 'e', 3, 600, 0 ), /* 599 multicastcli */ + S_ST( 'n', 3, 366, 0 ), /* 600 multicastclie */ + S_ST( 'n', 3, 648, 507 ), /* 601 */ + S_ST( 'i', 3, 367, 0 ), /* 602 n */ + S_ST( 'o', 3, 643, 602 ), /* 603 n */ + S_ST( 'e', 3, 605, 0 ), /* 604 no */ + S_ST( 'p', 3, 606, 0 ), /* 605 noe */ + S_ST( 'e', 3, 607, 0 ), /* 606 noep */ + S_ST( 'e', 3, 373, 0 ), /* 607 noepe */ + S_ST( 'l', 3, 609, 604 ), /* 608 no */ + S_ST( 'i', 3, 610, 0 ), /* 609 nol */ + S_ST( 'n', 3, 368, 0 ), /* 610 noli */ + S_ST( 'm', 3, 616, 608 ), /* 611 no */ + S_ST( 'o', 3, 613, 0 ), /* 612 nom */ + S_ST( 'd', 3, 614, 0 ), /* 613 nomo */ + S_ST( 'i', 3, 615, 0 ), /* 614 nomod */ + S_ST( 'f', 3, 369, 0 ), /* 615 nomodi */ + S_ST( 'r', 3, 617, 612 ), /* 616 nom */ + S_ST( 'u', 3, 618, 0 ), /* 617 nomr */ + S_ST( 'l', 3, 619, 0 ), /* 618 nomru */ + S_ST( 'i', 3, 620, 0 ), /* 619 nomrul */ + S_ST( 's', 3, 370, 0 ), /* 620 nomruli */ + S_ST( 'n', 3, 622, 611 ), /* 621 no */ + S_ST( 'v', 3, 623, 371 ), /* 622 non */ + S_ST( 'o', 3, 624, 0 ), /* 623 nonv */ + S_ST( 'l', 3, 625, 0 ), /* 624 nonvo */ + S_ST( 'a', 3, 626, 0 ), /* 625 nonvol */ + S_ST( 't', 3, 627, 0 ), /* 626 nonvola */ + S_ST( 'i', 3, 628, 0 ), /* 627 nonvolat */ + S_ST( 'l', 3, 372, 0 ), /* 628 nonvolati */ + S_ST( 'p', 3, 630, 621 ), /* 629 no */ + S_ST( 'e', 3, 631, 0 ), /* 630 nop */ + S_ST( 'e', 3, 374, 0 ), /* 631 nope */ + S_ST( 'q', 3, 633, 629 ), /* 632 no */ + S_ST( 'u', 3, 634, 0 ), /* 633 noq */ + S_ST( 'e', 3, 635, 0 ), /* 634 noqu */ + S_ST( 'r', 3, 375, 0 ), /* 635 noque */ + S_ST( 's', 3, 637, 632 ), /* 636 no */ + S_ST( 'e', 3, 641, 0 ), /* 637 nos */ + S_ST( 'l', 3, 639, 0 ), /* 638 nose */ + S_ST( 'e', 3, 640, 0 ), /* 639 nosel */ + S_ST( 'c', 3, 376, 0 ), /* 640 nosele */ + S_ST( 'r', 3, 642, 638 ), /* 641 nose */ + S_ST( 'v', 3, 377, 0 ), /* 642 noser */ + S_ST( 't', 3, 644, 636 ), /* 643 no */ + S_ST( 'r', 3, 646, 0 ), /* 644 not */ + S_ST( 'a', 3, 378, 0 ), /* 645 notr */ + S_ST( 'u', 3, 647, 645 ), /* 646 notr */ + S_ST( 's', 3, 379, 0 ), /* 647 notru */ + S_ST( 't', 3, 380, 603 ), /* 648 n */ + S_ST( 'p', 3, 650, 0 ), /* 649 ntp */ + S_ST( 'o', 3, 651, 0 ), /* 650 ntpp */ + S_ST( 'r', 3, 381, 0 ), /* 651 ntppo */ + S_ST( 's', 3, 653, 649 ), /* 652 ntp */ + S_ST( 'i', 3, 654, 0 ), /* 653 ntps */ + S_ST( 'g', 3, 655, 0 ), /* 654 ntpsi */ + S_ST( 'n', 3, 656, 0 ), /* 655 ntpsig */ + S_ST( 'd', 3, 657, 0 ), /* 656 ntpsign */ + S_ST( 's', 3, 658, 0 ), /* 657 ntpsignd */ + S_ST( 'o', 3, 659, 0 ), /* 658 ntpsignds */ + S_ST( 'c', 3, 660, 0 ), /* 659 ntpsigndso */ + S_ST( 'k', 3, 661, 0 ), /* 660 ntpsigndsoc */ + S_ST( 'e', 3, 382, 0 ), /* 661 ntpsigndsock */ + S_ST( 'o', 3, 663, 601 ), /* 662 */ + S_ST( 'r', 3, 664, 0 ), /* 663 o */ + S_ST( 'p', 3, 665, 0 ), /* 664 or */ + S_ST( 'h', 3, 666, 0 ), /* 665 orp */ + S_ST( 'a', 3, 383, 0 ), /* 666 orph */ + S_ST( 'w', 3, 668, 0 ), /* 667 orphan */ + S_ST( 'a', 3, 669, 0 ), /* 668 orphanw */ + S_ST( 'i', 3, 384, 0 ), /* 669 orphanwa */ + S_ST( 'p', 3, 397, 662 ), /* 670 */ + S_ST( 'a', 3, 672, 0 ), /* 671 p */ + S_ST( 'n', 3, 673, 0 ), /* 672 pa */ + S_ST( 'i', 3, 386, 0 ), /* 673 pan */ + S_ST( 'e', 3, 675, 671 ), /* 674 p */ + S_ST( 'e', 3, 387, 0 ), /* 675 pe */ + S_ST( '_', 3, 677, 0 ), /* 676 peer */ + S_ST( 'c', 3, 678, 0 ), /* 677 peer_ */ + S_ST( 'l', 3, 679, 0 ), /* 678 peer_c */ + S_ST( 'e', 3, 680, 0 ), /* 679 peer_cl */ + S_ST( 'a', 3, 681, 0 ), /* 680 peer_cle */ + S_ST( 'r', 3, 682, 0 ), /* 681 peer_clea */ + S_ST( '_', 3, 683, 0 ), /* 682 peer_clear */ + S_ST( 'd', 3, 684, 0 ), /* 683 peer_clear_ */ + S_ST( 'i', 3, 685, 0 ), /* 684 peer_clear_d */ + S_ST( 'g', 3, 686, 0 ), /* 685 peer_clear_di */ + S_ST( 'e', 3, 687, 0 ), /* 686 peer_clear_dig */ + S_ST( 's', 3, 688, 0 ), /* 687 peer_clear_dige */ + S_ST( 't', 3, 689, 0 ), /* 688 peer_clear_diges */ + S_ST( '_', 3, 690, 0 ), /* 689 peer_clear_digest */ + S_ST( 'e', 3, 691, 0 ), /* 690 peer_clear_digest_ */ + S_ST( 'a', 3, 692, 0 ), /* 691 peer_clear_digest_e */ + S_ST( 'r', 3, 693, 0 ), /* 692 peer_clear_digest_ea */ + S_ST( 'l', 3, 385, 0 ), /* 693 peer_clear_digest_ear */ + S_ST( 's', 3, 695, 676 ), /* 694 peer */ + S_ST( 't', 3, 696, 0 ), /* 695 peers */ + S_ST( 'a', 3, 697, 0 ), /* 696 peerst */ + S_ST( 't', 3, 388, 0 ), /* 697 peersta */ + S_ST( 'h', 3, 699, 674 ), /* 698 p */ + S_ST( 'o', 3, 700, 0 ), /* 699 ph */ + S_ST( 'n', 3, 389, 0 ), /* 700 pho */ + S_ST( 'i', 3, 390, 698 ), /* 701 p */ + S_ST( 'f', 3, 703, 0 ), /* 702 pid */ + S_ST( 'i', 3, 704, 0 ), /* 703 pidf */ + S_ST( 'l', 3, 391, 0 ), /* 704 pidfi */ + S_ST( 'o', 3, 707, 701 ), /* 705 p */ + S_ST( 'o', 3, 392, 0 ), /* 706 po */ + S_ST( 'r', 3, 393, 706 ), /* 707 po */ + S_ST( 'r', 3, 715, 705 ), /* 708 p */ + S_ST( 'e', 3, 713, 0 ), /* 709 pr */ + S_ST( 'e', 3, 711, 0 ), /* 710 pre */ + S_ST( 'm', 3, 712, 0 ), /* 711 pree */ + S_ST( 'p', 3, 394, 0 ), /* 712 preem */ + S_ST( 'f', 3, 714, 710 ), /* 713 pre */ + S_ST( 'e', 3, 395, 0 ), /* 714 pref */ + S_ST( 'o', 3, 728, 709 ), /* 715 pr */ + S_ST( 'c', 3, 717, 0 ), /* 716 pro */ + S_ST( '_', 3, 718, 0 ), /* 717 proc */ + S_ST( 'd', 3, 719, 0 ), /* 718 proc_ */ + S_ST( 'e', 3, 720, 0 ), /* 719 proc_d */ + S_ST( 'l', 3, 721, 0 ), /* 720 proc_de */ + S_ST( 'a', 3, 457, 0 ), /* 721 proc_del */ + S_ST( 'p', 3, 723, 716 ), /* 722 pro */ + S_ST( '_', 3, 724, 0 ), /* 723 prop */ + S_ST( 'd', 3, 725, 0 ), /* 724 prop_ */ + S_ST( 'e', 3, 726, 0 ), /* 725 prop_d */ + S_ST( 'l', 3, 727, 0 ), /* 726 prop_de */ + S_ST( 'a', 3, 456, 0 ), /* 727 prop_del */ + S_ST( 't', 3, 729, 722 ), /* 728 pro */ + S_ST( 'o', 3, 730, 0 ), /* 729 prot */ + S_ST( 's', 3, 731, 0 ), /* 730 proto */ + S_ST( 't', 3, 732, 0 ), /* 731 protos */ + S_ST( 'a', 3, 733, 0 ), /* 732 protost */ + S_ST( 't', 3, 396, 0 ), /* 733 protosta */ + S_ST( 'r', 3, 765, 670 ), /* 734 */ + S_ST( 'a', 3, 741, 0 ), /* 735 r */ + S_ST( 'n', 3, 737, 0 ), /* 736 ra */ + S_ST( 'd', 3, 738, 0 ), /* 737 ran */ + S_ST( 'f', 3, 739, 0 ), /* 738 rand */ + S_ST( 'i', 3, 740, 0 ), /* 739 randf */ + S_ST( 'l', 3, 398, 0 ), /* 740 randfi */ + S_ST( 'w', 3, 742, 736 ), /* 741 ra */ + S_ST( 's', 3, 743, 0 ), /* 742 raw */ + S_ST( 't', 3, 744, 0 ), /* 743 raws */ + S_ST( 'a', 3, 745, 0 ), /* 744 rawst */ + S_ST( 't', 3, 399, 0 ), /* 745 rawsta */ + S_ST( 'e', 3, 762, 735 ), /* 746 r */ + S_ST( 'f', 3, 748, 0 ), /* 747 re */ + S_ST( 'i', 3, 400, 0 ), /* 748 ref */ + S_ST( 'q', 3, 750, 747 ), /* 749 re */ + S_ST( 'u', 3, 751, 0 ), /* 750 req */ + S_ST( 'e', 3, 752, 0 ), /* 751 requ */ + S_ST( 's', 3, 753, 0 ), /* 752 reque */ + S_ST( 't', 3, 754, 0 ), /* 753 reques */ + S_ST( 'k', 3, 755, 0 ), /* 754 request */ + S_ST( 'e', 3, 401, 0 ), /* 755 requestk */ + S_ST( 's', 3, 758, 749 ), /* 756 re */ + S_ST( 'e', 3, 402, 0 ), /* 757 res */ + S_ST( 't', 3, 759, 757 ), /* 758 res */ + S_ST( 'r', 3, 760, 0 ), /* 759 rest */ + S_ST( 'i', 3, 761, 0 ), /* 760 restr */ + S_ST( 'c', 3, 403, 0 ), /* 761 restri */ + S_ST( 'v', 3, 763, 756 ), /* 762 re */ + S_ST( 'o', 3, 764, 0 ), /* 763 rev */ + S_ST( 'k', 3, 404, 0 ), /* 764 revo */ + S_ST( 'l', 3, 766, 746 ), /* 765 r */ + S_ST( 'i', 3, 767, 0 ), /* 766 rl */ + S_ST( 'm', 3, 768, 0 ), /* 767 rli */ + S_ST( 'i', 3, 405, 0 ), /* 768 rlim */ + S_ST( 's', 3, 842, 734 ), /* 769 */ + S_ST( 'a', 3, 771, 0 ), /* 770 s */ + S_ST( 'v', 3, 772, 0 ), /* 771 sa */ + S_ST( 'e', 3, 773, 0 ), /* 772 sav */ + S_ST( 'c', 3, 774, 0 ), /* 773 save */ + S_ST( 'o', 3, 775, 0 ), /* 774 savec */ + S_ST( 'n', 3, 776, 0 ), /* 775 saveco */ + S_ST( 'f', 3, 777, 0 ), /* 776 savecon */ + S_ST( 'i', 3, 778, 0 ), /* 777 saveconf */ + S_ST( 'g', 3, 779, 0 ), /* 778 saveconfi */ + S_ST( 'd', 3, 780, 0 ), /* 779 saveconfig */ + S_ST( 'i', 3, 406, 0 ), /* 780 saveconfigd */ + S_ST( 'e', 3, 791, 770 ), /* 781 s */ + S_ST( 'r', 3, 783, 0 ), /* 782 se */ + S_ST( 'v', 3, 784, 0 ), /* 783 ser */ + S_ST( 'e', 3, 407, 0 ), /* 784 serv */ + S_ST( '_', 3, 786, 0 ), /* 785 server */ + S_ST( 'o', 3, 787, 0 ), /* 786 server_ */ + S_ST( 'f', 3, 788, 0 ), /* 787 server_o */ + S_ST( 'f', 3, 789, 0 ), /* 788 server_of */ + S_ST( 's', 3, 790, 0 ), /* 789 server_off */ + S_ST( 'e', 3, 451, 0 ), /* 790 server_offs */ + S_ST( 't', 3, 792, 782 ), /* 791 se */ + S_ST( 'v', 3, 793, 0 ), /* 792 set */ + S_ST( 'a', 3, 408, 0 ), /* 793 setv */ + S_ST( 'i', 3, 795, 781 ), /* 794 s */ + S_ST( 'm', 3, 796, 0 ), /* 795 si */ + S_ST( 'u', 3, 797, 0 ), /* 796 sim */ + S_ST( 'l', 3, 798, 0 ), /* 797 simu */ + S_ST( 'a', 3, 799, 0 ), /* 798 simul */ + S_ST( 't', 3, 800, 0 ), /* 799 simula */ + S_ST( 'i', 3, 801, 448 ), /* 800 simulat */ + S_ST( 'o', 3, 802, 0 ), /* 801 simulati */ + S_ST( 'n', 3, 803, 0 ), /* 802 simulatio */ + S_ST( '_', 3, 804, 0 ), /* 803 simulation */ + S_ST( 'd', 3, 805, 0 ), /* 804 simulation_ */ + S_ST( 'u', 3, 806, 0 ), /* 805 simulation_d */ + S_ST( 'r', 3, 807, 0 ), /* 806 simulation_du */ + S_ST( 'a', 3, 808, 0 ), /* 807 simulation_dur */ + S_ST( 't', 3, 809, 0 ), /* 808 simulation_dura */ + S_ST( 'i', 3, 810, 0 ), /* 809 simulation_durat */ + S_ST( 'o', 3, 450, 0 ), /* 810 simulation_durati */ + S_ST( 'o', 3, 812, 794 ), /* 811 s */ + S_ST( 'u', 3, 813, 0 ), /* 812 so */ + S_ST( 'r', 3, 814, 0 ), /* 813 sou */ + S_ST( 'c', 3, 409, 0 ), /* 814 sour */ + S_ST( 't', 3, 838, 811 ), /* 815 s */ + S_ST( 'a', 3, 822, 0 ), /* 816 st */ + S_ST( 'c', 3, 818, 0 ), /* 817 sta */ + S_ST( 'k', 3, 819, 0 ), /* 818 stac */ + S_ST( 's', 3, 820, 0 ), /* 819 stack */ + S_ST( 'i', 3, 821, 0 ), /* 820 stacks */ + S_ST( 'z', 3, 410, 0 ), /* 821 stacksi */ + S_ST( 't', 3, 412, 817 ), /* 822 sta */ + S_ST( 'i', 3, 824, 0 ), /* 823 stat */ + S_ST( 's', 3, 825, 0 ), /* 824 stati */ + S_ST( 't', 3, 826, 0 ), /* 825 statis */ + S_ST( 'i', 3, 827, 0 ), /* 826 statist */ + S_ST( 'c', 3, 411, 0 ), /* 827 statisti */ + S_ST( 'd', 3, 829, 0 ), /* 828 stats */ + S_ST( 'i', 3, 413, 0 ), /* 829 statsd */ + S_ST( 'e', 3, 414, 816 ), /* 830 st */ + S_ST( 'b', 3, 832, 0 ), /* 831 step */ + S_ST( 'a', 3, 833, 0 ), /* 832 stepb */ + S_ST( 'c', 3, 415, 0 ), /* 833 stepba */ + S_ST( 'f', 3, 835, 831 ), /* 834 step */ + S_ST( 'w', 3, 416, 0 ), /* 835 stepf */ + S_ST( 'o', 3, 837, 834 ), /* 836 step */ + S_ST( 'u', 3, 417, 0 ), /* 837 stepo */ + S_ST( 'r', 3, 839, 830 ), /* 838 st */ + S_ST( 'a', 3, 840, 0 ), /* 839 str */ + S_ST( 't', 3, 841, 0 ), /* 840 stra */ + S_ST( 'u', 3, 418, 0 ), /* 841 strat */ + S_ST( 'y', 3, 420, 815 ), /* 842 s */ + S_ST( 's', 3, 844, 0 ), /* 843 sys */ + S_ST( 't', 3, 845, 0 ), /* 844 syss */ + S_ST( 'a', 3, 846, 0 ), /* 845 sysst */ + S_ST( 't', 3, 421, 0 ), /* 846 syssta */ + S_ST( 't', 3, 873, 769 ), /* 847 */ + S_ST( 'i', 3, 859, 0 ), /* 848 t */ + S_ST( 'c', 3, 422, 0 ), /* 849 ti */ + S_ST( 'm', 3, 852, 849 ), /* 850 ti */ + S_ST( 'e', 3, 425, 0 ), /* 851 tim */ + S_ST( 'i', 3, 853, 851 ), /* 852 tim */ + S_ST( 'n', 3, 854, 0 ), /* 853 timi */ + S_ST( 'g', 3, 855, 0 ), /* 854 timin */ + S_ST( 's', 3, 856, 0 ), /* 855 timing */ + S_ST( 't', 3, 857, 0 ), /* 856 timings */ + S_ST( 'a', 3, 858, 0 ), /* 857 timingst */ + S_ST( 't', 3, 426, 0 ), /* 858 timingsta */ + S_ST( 'n', 3, 860, 850 ), /* 859 ti */ + S_ST( 'k', 3, 861, 0 ), /* 860 tin */ + S_ST( 'e', 3, 427, 0 ), /* 861 tink */ + S_ST( 'o', 3, 428, 848 ), /* 862 t */ + S_ST( 'r', 3, 865, 862 ), /* 863 t */ + S_ST( 'a', 3, 429, 0 ), /* 864 tr */ + S_ST( 'u', 3, 866, 864 ), /* 865 tr */ + S_ST( 's', 3, 867, 430 ), /* 866 tru */ + S_ST( 't', 3, 868, 0 ), /* 867 trus */ + S_ST( 'e', 3, 869, 0 ), /* 868 trust */ + S_ST( 'd', 3, 870, 0 ), /* 869 truste */ + S_ST( 'k', 3, 871, 0 ), /* 870 trusted */ + S_ST( 'e', 3, 431, 0 ), /* 871 trustedk */ + S_ST( 't', 3, 432, 863 ), /* 872 t */ + S_ST( 'y', 3, 874, 872 ), /* 873 t */ + S_ST( 'p', 3, 433, 0 ), /* 874 ty */ + S_ST( 'u', 3, 876, 847 ), /* 875 */ + S_ST( 'n', 3, 882, 0 ), /* 876 u */ + S_ST( 'c', 3, 878, 0 ), /* 877 un */ + S_ST( 'o', 3, 879, 0 ), /* 878 unc */ + S_ST( 'n', 3, 880, 0 ), /* 879 unco */ + S_ST( 'f', 3, 881, 0 ), /* 880 uncon */ + S_ST( 'i', 3, 438, 0 ), /* 881 unconf */ + S_ST( 'p', 3, 883, 877 ), /* 882 un */ + S_ST( 'e', 3, 884, 0 ), /* 883 unp */ + S_ST( 'e', 3, 439, 0 ), /* 884 unpe */ + S_ST( '_', 3, 905, 0 ), /* 885 unpeer */ + S_ST( 'c', 3, 887, 0 ), /* 886 unpeer_ */ + S_ST( 'r', 3, 888, 0 ), /* 887 unpeer_c */ + S_ST( 'y', 3, 889, 0 ), /* 888 unpeer_cr */ + S_ST( 'p', 3, 890, 0 ), /* 889 unpeer_cry */ + S_ST( 't', 3, 891, 0 ), /* 890 unpeer_cryp */ + S_ST( 'o', 3, 892, 0 ), /* 891 unpeer_crypt */ + S_ST( '_', 3, 897, 0 ), /* 892 unpeer_crypto */ + S_ST( 'e', 3, 894, 0 ), /* 893 unpeer_crypto_ */ + S_ST( 'a', 3, 895, 0 ), /* 894 unpeer_crypto_e */ + S_ST( 'r', 3, 896, 0 ), /* 895 unpeer_crypto_ea */ + S_ST( 'l', 3, 435, 0 ), /* 896 unpeer_crypto_ear */ + S_ST( 'n', 3, 898, 893 ), /* 897 unpeer_crypto_ */ + S_ST( 'a', 3, 899, 0 ), /* 898 unpeer_crypto_n */ + S_ST( 'k', 3, 900, 0 ), /* 899 unpeer_crypto_na */ + S_ST( '_', 3, 901, 0 ), /* 900 unpeer_crypto_nak */ + S_ST( 'e', 3, 902, 0 ), /* 901 unpeer_crypto_nak_ */ + S_ST( 'a', 3, 903, 0 ), /* 902 unpeer_crypto_nak_e */ + S_ST( 'r', 3, 904, 0 ), /* 903 unpeer_crypto_nak_ea */ + S_ST( 'l', 3, 436, 0 ), /* 904 unpeer_crypto_nak_ear */ + S_ST( 'd', 3, 906, 886 ), /* 905 unpeer_ */ + S_ST( 'i', 3, 907, 0 ), /* 906 unpeer_d */ + S_ST( 'g', 3, 908, 0 ), /* 907 unpeer_di */ + S_ST( 'e', 3, 909, 0 ), /* 908 unpeer_dig */ + S_ST( 's', 3, 910, 0 ), /* 909 unpeer_dige */ + S_ST( 't', 3, 911, 0 ), /* 910 unpeer_diges */ + S_ST( '_', 3, 912, 0 ), /* 911 unpeer_digest */ + S_ST( 'e', 3, 913, 0 ), /* 912 unpeer_digest_ */ + S_ST( 'a', 3, 914, 0 ), /* 913 unpeer_digest_e */ + S_ST( 'r', 3, 915, 0 ), /* 914 unpeer_digest_ea */ + S_ST( 'l', 3, 437, 0 ), /* 915 unpeer_digest_ear */ + S_ST( 'v', 3, 917, 875 ), /* 916 */ + S_ST( 'e', 3, 918, 0 ), /* 917 v */ + S_ST( 'r', 3, 919, 0 ), /* 918 ve */ + S_ST( 's', 3, 920, 0 ), /* 919 ver */ + S_ST( 'i', 3, 921, 0 ), /* 920 vers */ + S_ST( 'o', 3, 440, 0 ), /* 921 versi */ + S_ST( 'w', 3, 929, 916 ), /* 922 */ + S_ST( 'a', 3, 924, 0 ), /* 923 w */ + S_ST( 'n', 3, 925, 0 ), /* 924 wa */ + S_ST( 'd', 3, 926, 0 ), /* 925 wan */ + S_ST( 'e', 3, 454, 0 ), /* 926 wand */ + S_ST( 'e', 3, 928, 923 ), /* 927 w */ + S_ST( 'e', 3, 442, 0 ), /* 928 we */ + S_ST( 'i', 3, 930, 927 ), /* 929 w */ + S_ST( 'l', 3, 931, 0 ), /* 930 wi */ + S_ST( 'd', 3, 932, 0 ), /* 931 wil */ + S_ST( 'c', 3, 933, 0 ), /* 932 wild */ + S_ST( 'a', 3, 934, 0 ), /* 933 wildc */ + S_ST( 'r', 3, 443, 0 ), /* 934 wildca */ + S_ST( 'x', 3, 936, 922 ), /* 935 */ + S_ST( 'l', 3, 937, 0 ), /* 936 x */ + S_ST( 'e', 3, 938, 0 ), /* 937 xl */ + S_ST( 'a', 3, 939, 0 ), /* 938 xle */ + S_ST( 'v', 3, 444, 0 ), /* 939 xlea */ + S_ST( 'y', 3, 941, 935 ), /* 940 [initial state] */ + S_ST( 'e', 3, 942, 0 ), /* 941 y */ + S_ST( 'a', 3, 445, 0 ) /* 942 ye */ }; diff --git a/ntpd/ntp_parser.c b/ntpd/ntp_parser.c index a8a8c20c48..f2d54f32e1 100644 --- a/ntpd/ntp_parser.c +++ b/ntpd/ntp_parser.c @@ -96,7 +96,7 @@ # define ONLY_SIM(a) NULL #endif -#line 100 "../../ntpd/ntp_parser.c" /* yacc.c:339 */ +#line 100 "ntp_parser.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -116,8 +116,8 @@ /* In a future release of Bison, this section will be replaced by #include "y.tab.h". */ -#ifndef YY_YY_Y_TAB_H_INCLUDED -# define YY_YY_Y_TAB_H_INCLUDED +#ifndef YY_YY_NTP_PARSER_H_INCLUDED +# define YY_YY_NTP_PARSER_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 @@ -196,140 +196,141 @@ extern int yydebug; T_Interface = 320, T_Intrange = 321, T_Io = 322, - T_Ipv4 = 323, - T_Ipv4_flag = 324, - T_Ipv6 = 325, - T_Ipv6_flag = 326, - T_Kernel = 327, - T_Key = 328, - T_Keys = 329, - T_Keysdir = 330, - T_Kod = 331, - T_Mssntp = 332, - T_Leapfile = 333, - T_Leapsmearinterval = 334, - T_Limited = 335, - T_Link = 336, - T_Listen = 337, - T_Logconfig = 338, - T_Logfile = 339, - T_Loopstats = 340, - T_Lowpriotrap = 341, - T_Manycastclient = 342, - T_Manycastserver = 343, - T_Mask = 344, - T_Maxage = 345, - T_Maxclock = 346, - T_Maxdepth = 347, - T_Maxdist = 348, - T_Maxmem = 349, - T_Maxpoll = 350, - T_Mdnstries = 351, - T_Mem = 352, - T_Memlock = 353, - T_Minclock = 354, - T_Mindepth = 355, - T_Mindist = 356, - T_Minimum = 357, - T_Minpoll = 358, - T_Minsane = 359, - T_Mode = 360, - T_Mode7 = 361, - T_Monitor = 362, - T_Month = 363, - T_Mru = 364, - T_Multicastclient = 365, - T_Nic = 366, - T_Nolink = 367, - T_Nomodify = 368, - T_Nomrulist = 369, - T_None = 370, - T_Nonvolatile = 371, - T_Noepeer = 372, - T_Nopeer = 373, - T_Noquery = 374, - T_Noselect = 375, - T_Noserve = 376, - T_Notrap = 377, - T_Notrust = 378, - T_Ntp = 379, - T_Ntpport = 380, - T_NtpSignDsocket = 381, - T_Orphan = 382, - T_Orphanwait = 383, - T_PCEdigest = 384, - T_Panic = 385, - T_Peer = 386, - T_Peerstats = 387, - T_Phone = 388, - T_Pid = 389, - T_Pidfile = 390, - T_Pool = 391, - T_Port = 392, - T_Preempt = 393, - T_Prefer = 394, - T_Protostats = 395, - T_Pw = 396, - T_Randfile = 397, - T_Rawstats = 398, - T_Refid = 399, - T_Requestkey = 400, - T_Reset = 401, - T_Restrict = 402, - T_Revoke = 403, - T_Rlimit = 404, - T_Saveconfigdir = 405, - T_Server = 406, - T_Setvar = 407, - T_Source = 408, - T_Stacksize = 409, - T_Statistics = 410, - T_Stats = 411, - T_Statsdir = 412, - T_Step = 413, - T_Stepback = 414, - T_Stepfwd = 415, - T_Stepout = 416, - T_Stratum = 417, - T_String = 418, - T_Sys = 419, - T_Sysstats = 420, - T_Tick = 421, - T_Time1 = 422, - T_Time2 = 423, - T_Timer = 424, - T_Timingstats = 425, - T_Tinker = 426, - T_Tos = 427, - T_Trap = 428, - T_True = 429, - T_Trustedkey = 430, - T_Ttl = 431, - T_Type = 432, - T_U_int = 433, - T_UEcrypto = 434, - T_UEcryptonak = 435, - T_UEdigest = 436, - T_Unconfig = 437, - T_Unpeer = 438, - T_Version = 439, - T_WanderThreshold = 440, - T_Week = 441, - T_Wildcard = 442, - T_Xleave = 443, - T_Year = 444, - T_Flag = 445, - T_EOC = 446, - T_Simulate = 447, - T_Beep_Delay = 448, - T_Sim_Duration = 449, - T_Server_Offset = 450, - T_Duration = 451, - T_Freq_Offset = 452, - T_Wander = 453, - T_Jitter = 454, - T_Prop_Delay = 455, - T_Proc_Delay = 456 + T_Ippeerlimit = 323, + T_Ipv4 = 324, + T_Ipv4_flag = 325, + T_Ipv6 = 326, + T_Ipv6_flag = 327, + T_Kernel = 328, + T_Key = 329, + T_Keys = 330, + T_Keysdir = 331, + T_Kod = 332, + T_Mssntp = 333, + T_Leapfile = 334, + T_Leapsmearinterval = 335, + T_Limited = 336, + T_Link = 337, + T_Listen = 338, + T_Logconfig = 339, + T_Logfile = 340, + T_Loopstats = 341, + T_Lowpriotrap = 342, + T_Manycastclient = 343, + T_Manycastserver = 344, + T_Mask = 345, + T_Maxage = 346, + T_Maxclock = 347, + T_Maxdepth = 348, + T_Maxdist = 349, + T_Maxmem = 350, + T_Maxpoll = 351, + T_Mdnstries = 352, + T_Mem = 353, + T_Memlock = 354, + T_Minclock = 355, + T_Mindepth = 356, + T_Mindist = 357, + T_Minimum = 358, + T_Minpoll = 359, + T_Minsane = 360, + T_Mode = 361, + T_Mode7 = 362, + T_Monitor = 363, + T_Month = 364, + T_Mru = 365, + T_Multicastclient = 366, + T_Nic = 367, + T_Nolink = 368, + T_Nomodify = 369, + T_Nomrulist = 370, + T_None = 371, + T_Nonvolatile = 372, + T_Noepeer = 373, + T_Nopeer = 374, + T_Noquery = 375, + T_Noselect = 376, + T_Noserve = 377, + T_Notrap = 378, + T_Notrust = 379, + T_Ntp = 380, + T_Ntpport = 381, + T_NtpSignDsocket = 382, + T_Orphan = 383, + T_Orphanwait = 384, + T_PCEdigest = 385, + T_Panic = 386, + T_Peer = 387, + T_Peerstats = 388, + T_Phone = 389, + T_Pid = 390, + T_Pidfile = 391, + T_Pool = 392, + T_Port = 393, + T_Preempt = 394, + T_Prefer = 395, + T_Protostats = 396, + T_Pw = 397, + T_Randfile = 398, + T_Rawstats = 399, + T_Refid = 400, + T_Requestkey = 401, + T_Reset = 402, + T_Restrict = 403, + T_Revoke = 404, + T_Rlimit = 405, + T_Saveconfigdir = 406, + T_Server = 407, + T_Setvar = 408, + T_Source = 409, + T_Stacksize = 410, + T_Statistics = 411, + T_Stats = 412, + T_Statsdir = 413, + T_Step = 414, + T_Stepback = 415, + T_Stepfwd = 416, + T_Stepout = 417, + T_Stratum = 418, + T_String = 419, + T_Sys = 420, + T_Sysstats = 421, + T_Tick = 422, + T_Time1 = 423, + T_Time2 = 424, + T_Timer = 425, + T_Timingstats = 426, + T_Tinker = 427, + T_Tos = 428, + T_Trap = 429, + T_True = 430, + T_Trustedkey = 431, + T_Ttl = 432, + T_Type = 433, + T_U_int = 434, + T_UEcrypto = 435, + T_UEcryptonak = 436, + T_UEdigest = 437, + T_Unconfig = 438, + T_Unpeer = 439, + T_Version = 440, + T_WanderThreshold = 441, + T_Week = 442, + T_Wildcard = 443, + T_Xleave = 444, + T_Year = 445, + T_Flag = 446, + T_EOC = 447, + T_Simulate = 448, + T_Beep_Delay = 449, + T_Sim_Duration = 450, + T_Server_Offset = 451, + T_Duration = 452, + T_Freq_Offset = 453, + T_Wander = 454, + T_Jitter = 455, + T_Prop_Delay = 456, + T_Proc_Delay = 457 }; #endif /* Tokens. */ @@ -398,140 +399,141 @@ extern int yydebug; #define T_Interface 320 #define T_Intrange 321 #define T_Io 322 -#define T_Ipv4 323 -#define T_Ipv4_flag 324 -#define T_Ipv6 325 -#define T_Ipv6_flag 326 -#define T_Kernel 327 -#define T_Key 328 -#define T_Keys 329 -#define T_Keysdir 330 -#define T_Kod 331 -#define T_Mssntp 332 -#define T_Leapfile 333 -#define T_Leapsmearinterval 334 -#define T_Limited 335 -#define T_Link 336 -#define T_Listen 337 -#define T_Logconfig 338 -#define T_Logfile 339 -#define T_Loopstats 340 -#define T_Lowpriotrap 341 -#define T_Manycastclient 342 -#define T_Manycastserver 343 -#define T_Mask 344 -#define T_Maxage 345 -#define T_Maxclock 346 -#define T_Maxdepth 347 -#define T_Maxdist 348 -#define T_Maxmem 349 -#define T_Maxpoll 350 -#define T_Mdnstries 351 -#define T_Mem 352 -#define T_Memlock 353 -#define T_Minclock 354 -#define T_Mindepth 355 -#define T_Mindist 356 -#define T_Minimum 357 -#define T_Minpoll 358 -#define T_Minsane 359 -#define T_Mode 360 -#define T_Mode7 361 -#define T_Monitor 362 -#define T_Month 363 -#define T_Mru 364 -#define T_Multicastclient 365 -#define T_Nic 366 -#define T_Nolink 367 -#define T_Nomodify 368 -#define T_Nomrulist 369 -#define T_None 370 -#define T_Nonvolatile 371 -#define T_Noepeer 372 -#define T_Nopeer 373 -#define T_Noquery 374 -#define T_Noselect 375 -#define T_Noserve 376 -#define T_Notrap 377 -#define T_Notrust 378 -#define T_Ntp 379 -#define T_Ntpport 380 -#define T_NtpSignDsocket 381 -#define T_Orphan 382 -#define T_Orphanwait 383 -#define T_PCEdigest 384 -#define T_Panic 385 -#define T_Peer 386 -#define T_Peerstats 387 -#define T_Phone 388 -#define T_Pid 389 -#define T_Pidfile 390 -#define T_Pool 391 -#define T_Port 392 -#define T_Preempt 393 -#define T_Prefer 394 -#define T_Protostats 395 -#define T_Pw 396 -#define T_Randfile 397 -#define T_Rawstats 398 -#define T_Refid 399 -#define T_Requestkey 400 -#define T_Reset 401 -#define T_Restrict 402 -#define T_Revoke 403 -#define T_Rlimit 404 -#define T_Saveconfigdir 405 -#define T_Server 406 -#define T_Setvar 407 -#define T_Source 408 -#define T_Stacksize 409 -#define T_Statistics 410 -#define T_Stats 411 -#define T_Statsdir 412 -#define T_Step 413 -#define T_Stepback 414 -#define T_Stepfwd 415 -#define T_Stepout 416 -#define T_Stratum 417 -#define T_String 418 -#define T_Sys 419 -#define T_Sysstats 420 -#define T_Tick 421 -#define T_Time1 422 -#define T_Time2 423 -#define T_Timer 424 -#define T_Timingstats 425 -#define T_Tinker 426 -#define T_Tos 427 -#define T_Trap 428 -#define T_True 429 -#define T_Trustedkey 430 -#define T_Ttl 431 -#define T_Type 432 -#define T_U_int 433 -#define T_UEcrypto 434 -#define T_UEcryptonak 435 -#define T_UEdigest 436 -#define T_Unconfig 437 -#define T_Unpeer 438 -#define T_Version 439 -#define T_WanderThreshold 440 -#define T_Week 441 -#define T_Wildcard 442 -#define T_Xleave 443 -#define T_Year 444 -#define T_Flag 445 -#define T_EOC 446 -#define T_Simulate 447 -#define T_Beep_Delay 448 -#define T_Sim_Duration 449 -#define T_Server_Offset 450 -#define T_Duration 451 -#define T_Freq_Offset 452 -#define T_Wander 453 -#define T_Jitter 454 -#define T_Prop_Delay 455 -#define T_Proc_Delay 456 +#define T_Ippeerlimit 323 +#define T_Ipv4 324 +#define T_Ipv4_flag 325 +#define T_Ipv6 326 +#define T_Ipv6_flag 327 +#define T_Kernel 328 +#define T_Key 329 +#define T_Keys 330 +#define T_Keysdir 331 +#define T_Kod 332 +#define T_Mssntp 333 +#define T_Leapfile 334 +#define T_Leapsmearinterval 335 +#define T_Limited 336 +#define T_Link 337 +#define T_Listen 338 +#define T_Logconfig 339 +#define T_Logfile 340 +#define T_Loopstats 341 +#define T_Lowpriotrap 342 +#define T_Manycastclient 343 +#define T_Manycastserver 344 +#define T_Mask 345 +#define T_Maxage 346 +#define T_Maxclock 347 +#define T_Maxdepth 348 +#define T_Maxdist 349 +#define T_Maxmem 350 +#define T_Maxpoll 351 +#define T_Mdnstries 352 +#define T_Mem 353 +#define T_Memlock 354 +#define T_Minclock 355 +#define T_Mindepth 356 +#define T_Mindist 357 +#define T_Minimum 358 +#define T_Minpoll 359 +#define T_Minsane 360 +#define T_Mode 361 +#define T_Mode7 362 +#define T_Monitor 363 +#define T_Month 364 +#define T_Mru 365 +#define T_Multicastclient 366 +#define T_Nic 367 +#define T_Nolink 368 +#define T_Nomodify 369 +#define T_Nomrulist 370 +#define T_None 371 +#define T_Nonvolatile 372 +#define T_Noepeer 373 +#define T_Nopeer 374 +#define T_Noquery 375 +#define T_Noselect 376 +#define T_Noserve 377 +#define T_Notrap 378 +#define T_Notrust 379 +#define T_Ntp 380 +#define T_Ntpport 381 +#define T_NtpSignDsocket 382 +#define T_Orphan 383 +#define T_Orphanwait 384 +#define T_PCEdigest 385 +#define T_Panic 386 +#define T_Peer 387 +#define T_Peerstats 388 +#define T_Phone 389 +#define T_Pid 390 +#define T_Pidfile 391 +#define T_Pool 392 +#define T_Port 393 +#define T_Preempt 394 +#define T_Prefer 395 +#define T_Protostats 396 +#define T_Pw 397 +#define T_Randfile 398 +#define T_Rawstats 399 +#define T_Refid 400 +#define T_Requestkey 401 +#define T_Reset 402 +#define T_Restrict 403 +#define T_Revoke 404 +#define T_Rlimit 405 +#define T_Saveconfigdir 406 +#define T_Server 407 +#define T_Setvar 408 +#define T_Source 409 +#define T_Stacksize 410 +#define T_Statistics 411 +#define T_Stats 412 +#define T_Statsdir 413 +#define T_Step 414 +#define T_Stepback 415 +#define T_Stepfwd 416 +#define T_Stepout 417 +#define T_Stratum 418 +#define T_String 419 +#define T_Sys 420 +#define T_Sysstats 421 +#define T_Tick 422 +#define T_Time1 423 +#define T_Time2 424 +#define T_Timer 425 +#define T_Timingstats 426 +#define T_Tinker 427 +#define T_Tos 428 +#define T_Trap 429 +#define T_True 430 +#define T_Trustedkey 431 +#define T_Ttl 432 +#define T_Type 433 +#define T_U_int 434 +#define T_UEcrypto 435 +#define T_UEcryptonak 436 +#define T_UEdigest 437 +#define T_Unconfig 438 +#define T_Unpeer 439 +#define T_Version 440 +#define T_WanderThreshold 441 +#define T_Week 442 +#define T_Wildcard 443 +#define T_Xleave 444 +#define T_Year 445 +#define T_Flag 446 +#define T_EOC 447 +#define T_Simulate 448 +#define T_Beep_Delay 449 +#define T_Sim_Duration 450 +#define T_Server_Offset 451 +#define T_Duration 452 +#define T_Freq_Offset 453 +#define T_Wander 454 +#define T_Jitter 455 +#define T_Prop_Delay 456 +#define T_Proc_Delay 457 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -557,7 +559,7 @@ union YYSTYPE script_info * Sim_script; script_info_fifo * Sim_script_fifo; -#line 561 "../../ntpd/ntp_parser.c" /* yacc.c:355 */ +#line 563 "ntp_parser.c" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; @@ -570,11 +572,11 @@ extern YYSTYPE yylval; int yyparse (void); -#endif /* !YY_YY_Y_TAB_H_INCLUDED */ +#endif /* !YY_YY_NTP_PARSER_H_INCLUDED */ /* Copy the second part of user declarations. */ -#line 578 "../../ntpd/ntp_parser.c" /* yacc.c:358 */ +#line 580 "ntp_parser.c" /* yacc.c:358 */ #ifdef short # undef short @@ -816,21 +818,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 216 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 656 +#define YYLAST 662 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 207 +#define YYNTOKENS 208 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 106 +#define YYNNTS 107 /* YYNRULES -- Number of rules. */ -#define YYNRULES 322 +#define YYNRULES 324 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 428 +#define YYNSTATES 436 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 456 +#define YYMAXUTOK 457 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -843,15 +845,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, - 203, 204, 2, 2, 2, 2, 2, 2, 2, 2, + 204, 205, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 202, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 203, 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, 205, 2, 206, 2, 2, 2, 2, + 2, 2, 2, 206, 2, 207, 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, @@ -884,46 +886,46 @@ static const yytype_uint8 yytranslate[] = 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201 + 195, 196, 197, 198, 199, 200, 201, 202 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 375, 375, 379, 380, 381, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 417, 427, 428, 429, 430, 431, 435, 436, 441, 446, - 448, 454, 455, 463, 464, 465, 469, 474, 475, 476, - 477, 478, 479, 480, 481, 485, 487, 492, 493, 494, - 495, 496, 497, 501, 506, 515, 525, 526, 536, 538, - 540, 542, 553, 560, 562, 567, 569, 571, 573, 575, - 585, 591, 592, 600, 602, 614, 615, 616, 617, 618, - 627, 632, 637, 645, 647, 649, 651, 656, 657, 658, - 659, 660, 661, 662, 663, 664, 668, 669, 678, 680, - 689, 699, 704, 712, 713, 714, 715, 716, 717, 718, - 719, 724, 725, 733, 743, 752, 767, 772, 773, 777, - 778, 782, 783, 784, 785, 786, 787, 788, 797, 801, - 805, 813, 821, 829, 844, 859, 872, 873, 881, 882, - 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, - 893, 894, 895, 896, 897, 901, 906, 914, 919, 920, - 921, 925, 930, 938, 943, 944, 945, 946, 947, 948, - 949, 950, 958, 968, 973, 981, 983, 985, 994, 996, - 1001, 1002, 1006, 1007, 1008, 1009, 1017, 1022, 1027, 1035, - 1040, 1041, 1042, 1051, 1053, 1058, 1063, 1071, 1073, 1090, - 1091, 1092, 1093, 1094, 1095, 1099, 1100, 1101, 1102, 1103, - 1104, 1112, 1117, 1122, 1130, 1135, 1136, 1137, 1138, 1139, - 1140, 1141, 1142, 1143, 1144, 1153, 1154, 1155, 1162, 1169, - 1176, 1192, 1211, 1213, 1215, 1217, 1219, 1221, 1228, 1233, - 1234, 1235, 1239, 1243, 1252, 1253, 1257, 1258, 1259, 1263, - 1274, 1288, 1300, 1305, 1307, 1312, 1313, 1321, 1323, 1331, - 1336, 1344, 1369, 1376, 1386, 1387, 1391, 1392, 1393, 1394, - 1398, 1399, 1400, 1404, 1409, 1414, 1422, 1423, 1424, 1425, - 1426, 1427, 1428, 1438, 1443, 1451, 1456, 1464, 1466, 1470, - 1475, 1480, 1488, 1493, 1501, 1510, 1511, 1515, 1516, 1520, - 1528, 1546, 1550, 1555, 1563, 1568, 1569, 1573, 1578, 1586, - 1591, 1596, 1601, 1606, 1614, 1619, 1624, 1632, 1637, 1638, - 1639, 1640, 1641 + 0, 377, 377, 381, 382, 383, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 419, 429, 430, 431, 432, 433, 437, 438, 443, 448, + 450, 456, 457, 465, 466, 467, 471, 476, 477, 478, + 479, 480, 481, 482, 483, 487, 489, 494, 495, 496, + 497, 498, 499, 503, 508, 517, 527, 528, 538, 540, + 542, 544, 555, 562, 564, 569, 571, 573, 575, 577, + 587, 593, 594, 602, 604, 616, 617, 618, 619, 620, + 629, 634, 639, 647, 649, 651, 653, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 670, 671, 680, 682, + 691, 701, 706, 714, 715, 716, 717, 718, 719, 720, + 721, 726, 727, 735, 745, 754, 769, 774, 775, 779, + 780, 784, 785, 786, 787, 788, 789, 790, 799, 803, + 807, 815, 823, 831, 846, 861, 874, 875, 895, 896, + 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, + 914, 915, 916, 917, 918, 919, 920, 924, 929, 937, + 942, 943, 944, 948, 953, 961, 966, 967, 968, 969, + 970, 971, 972, 973, 981, 991, 996, 1004, 1006, 1008, + 1017, 1019, 1024, 1025, 1029, 1030, 1031, 1032, 1040, 1045, + 1050, 1058, 1063, 1064, 1065, 1074, 1076, 1081, 1086, 1094, + 1096, 1113, 1114, 1115, 1116, 1117, 1118, 1122, 1123, 1124, + 1125, 1126, 1127, 1135, 1140, 1145, 1153, 1158, 1159, 1160, + 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1176, 1177, 1178, + 1185, 1192, 1199, 1215, 1234, 1236, 1238, 1240, 1242, 1244, + 1251, 1256, 1257, 1258, 1262, 1266, 1275, 1276, 1280, 1281, + 1282, 1286, 1297, 1311, 1323, 1328, 1330, 1335, 1336, 1344, + 1346, 1354, 1359, 1367, 1392, 1399, 1409, 1410, 1414, 1415, + 1416, 1417, 1421, 1422, 1423, 1427, 1432, 1437, 1445, 1446, + 1447, 1448, 1449, 1450, 1451, 1461, 1466, 1474, 1479, 1487, + 1489, 1493, 1498, 1503, 1511, 1516, 1524, 1533, 1534, 1538, + 1539, 1543, 1551, 1569, 1573, 1578, 1586, 1591, 1592, 1596, + 1601, 1609, 1614, 1619, 1624, 1629, 1637, 1642, 1647, 1655, + 1660, 1661, 1662, 1663, 1664 }; #endif @@ -944,21 +946,21 @@ static const char *const yytname[] = "T_Flag4", "T_Flake", "T_Floor", "T_Freq", "T_Fudge", "T_Host", "T_Huffpuff", "T_Iburst", "T_Ident", "T_Ignore", "T_Incalloc", "T_Incmem", "T_Initalloc", "T_Initmem", "T_Includefile", "T_Integer", - "T_Interface", "T_Intrange", "T_Io", "T_Ipv4", "T_Ipv4_flag", "T_Ipv6", - "T_Ipv6_flag", "T_Kernel", "T_Key", "T_Keys", "T_Keysdir", "T_Kod", - "T_Mssntp", "T_Leapfile", "T_Leapsmearinterval", "T_Limited", "T_Link", - "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_Mdnstries", "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_Noepeer", "T_Nopeer", "T_Noquery", "T_Noselect", "T_Noserve", - "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport", "T_NtpSignDsocket", - "T_Orphan", "T_Orphanwait", "T_PCEdigest", "T_Panic", "T_Peer", - "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", "T_Port", - "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile", + "T_Interface", "T_Intrange", "T_Io", "T_Ippeerlimit", "T_Ipv4", + "T_Ipv4_flag", "T_Ipv6", "T_Ipv6_flag", "T_Kernel", "T_Key", "T_Keys", + "T_Keysdir", "T_Kod", "T_Mssntp", "T_Leapfile", "T_Leapsmearinterval", + "T_Limited", "T_Link", "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_Mdnstries", "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_Noepeer", "T_Nopeer", "T_Noquery", + "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport", + "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_PCEdigest", "T_Panic", + "T_Peer", "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", + "T_Port", "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile", "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict", "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar", "T_Source", "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir", @@ -981,13 +983,14 @@ static const char *const yytname[] = "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", + "access_control_command", "res_ippeerlimit", "ac_flag_list", + "access_control_flag", "discard_option_list", "discard_option", + "discard_option_keyword", "mru_option_list", "mru_option", + "mru_option_keyword", "fudge_command", "fudge_factor_list", + "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_int_keyword", @@ -1031,14 +1034,14 @@ static const yytype_uint16 yytoknum[] = 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, - 455, 456, 61, 40, 41, 123, 125 + 455, 456, 457, 61, 40, 41, 123, 125 }; # endif -#define YYPACT_NINF -187 +#define YYPACT_NINF -215 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-187))) + (!!((Yystate) == (-215))) #define YYTABLE_NINF -7 @@ -1049,49 +1052,50 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 11, -174, -42, -187, -187, -187, -31, -187, 397, 12, - -137, -187, 397, -187, 84, -37, -187, -119, -187, -106, - -104, -187, -187, -98, -187, -187, -37, 3, 331, -37, - -187, -187, -97, -187, -92, -187, -187, 13, 235, -13, - 15, -26, -187, -187, -90, 84, -88, -187, 48, 528, - -81, -58, 24, -187, -187, -187, 93, 194, -95, -187, - -37, -187, -37, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, 5, 37, -61, -59, -187, 2, -187, - -187, -100, -187, -187, -187, 241, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, 397, -187, - -187, -187, -187, -187, -187, 12, -187, 47, 78, -187, - 397, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, 267, -187, -50, 363, -187, -187, -187, - -98, -187, -187, -37, -187, -187, -187, -187, -187, -187, - -187, -187, -187, 331, -187, 51, -37, -187, -187, -47, - -187, -187, -187, -187, -187, -187, -187, -187, 235, -187, - -187, 94, 100, -187, 41, -187, -187, -187, -187, -26, - -187, 68, -69, -187, 84, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, 48, -187, 5, - -28, -187, -187, -187, -33, -187, -187, -187, -187, -187, - -187, -187, -187, 528, -187, 70, 5, -187, -187, -187, - 74, -58, -187, -187, -187, 75, -187, -27, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, - 10, -132, -187, -187, -187, -187, -187, 85, -187, 4, - -187, -187, -187, -187, -29, 7, -187, -187, -187, -187, - 8, 101, -187, -187, 267, -187, 5, -33, -187, -187, - -187, -187, -187, -187, -187, -187, 447, -187, -187, 447, - -81, 447, -187, -187, 16, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -40, 134, -187, -187, - -187, 180, -187, -187, -187, -187, -187, -187, -187, -187, - -102, -17, -22, -187, -187, -187, -187, 22, -187, -187, - 9, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, 447, 447, - -187, 146, -81, 112, -187, 126, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -53, -187, 28, -10, 14, - -143, -187, -9, -187, 5, -187, -187, -187, -187, -187, - -187, -187, -187, -187, 447, -187, -187, -187, -187, -4, - -187, -187, -187, -37, -187, -187, -187, 6, -187, -187, - -187, 18, 17, 5, 21, -166, -187, 39, 5, -187, - -187, -187, 23, -46, -187, -187, -187, -187, -187, 255, - 44, 30, -187, 49, -187, 5, -187, -187 + 11, -175, 2, -215, -215, -215, 3, -215, 93, 9, + -138, -215, 93, -215, 66, -40, -215, -93, -215, -87, + -82, -215, -215, -81, -215, -215, -40, 20, 210, -40, + -215, -215, -70, -215, -67, -215, -215, 34, 6, -13, + 47, -6, -215, -215, -48, 66, -45, -215, 412, 483, + -39, -60, 62, -215, -215, -215, 127, 203, -63, -215, + -40, -215, -40, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -215, -11, 75, -24, -22, -215, -18, -215, + -215, -53, -215, -215, -215, 48, -215, -215, -215, -215, + -215, -215, -215, -215, -215, -215, -215, -215, 93, -215, + -215, -215, -215, -215, -215, 9, -215, 82, 120, -215, + 93, -215, -215, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -215, 86, -215, 4, 373, -215, -215, -215, + -81, -215, -215, -40, -215, -215, -215, -215, -215, -215, + -215, -215, -215, 210, -215, 106, -40, -215, -215, 15, + -215, -215, -215, -215, -215, -215, -215, -215, 6, -215, + 105, 146, 151, 105, -30, -215, -215, -215, -215, -6, + -215, 117, -21, -215, 66, -215, -215, -215, -215, -215, + -215, -215, -215, -215, -215, -215, -215, 412, -215, -11, + 22, -215, -215, -215, -20, -215, -215, -215, -215, -215, + -215, -215, -215, 483, -215, 128, -11, -215, -215, -215, + 129, -60, -215, -215, -215, 132, -215, 10, -215, -215, + -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, + 1, -133, -215, -215, -215, -215, -215, 134, -215, 41, + -215, -215, -215, -215, -28, 42, -215, -215, -215, -215, + 45, 148, -215, -215, 86, -215, -11, -20, -215, -215, + -215, -215, -215, -215, -215, -215, 150, -215, 105, 105, + -215, -39, -215, -215, -215, 51, -215, -215, -215, -215, + -215, -215, -215, -215, -215, -215, -215, -57, 178, -215, + -215, -215, 288, -215, -215, -215, -215, -215, -215, -215, + -215, -115, 25, 23, -215, -215, -215, -215, 61, -215, + -215, 21, -215, -215, -215, -215, -215, -215, -215, -215, + -215, -215, 477, -215, -215, 477, 105, 477, 201, -39, + 169, -215, 172, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -59, -215, 77, 36, 52, -100, -215, 39, + -215, -11, -215, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -215, -215, -215, -215, -215, -215, -215, 477, + 477, -215, -215, -215, -215, -215, 43, -215, -215, -215, + -40, -215, -215, -215, 55, -215, 477, -215, -215, 49, + 56, -11, 54, -166, -215, 67, -11, -215, -215, -215, + 70, 63, -215, -215, -215, -215, -215, 124, 85, 64, + -215, 89, -215, -11, -215, -215 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1099,81 +1103,82 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 0, 0, 24, 58, 239, 0, 71, 0, 0, - 251, 242, 0, 232, 0, 0, 244, 0, 264, 0, - 0, 245, 243, 0, 246, 25, 0, 0, 0, 0, - 265, 240, 0, 23, 0, 247, 22, 0, 0, 0, - 0, 0, 248, 21, 0, 0, 0, 241, 0, 0, - 0, 0, 0, 56, 57, 301, 0, 2, 0, 7, + 0, 0, 0, 24, 58, 241, 0, 71, 0, 0, + 253, 244, 0, 234, 0, 0, 246, 0, 266, 0, + 0, 247, 245, 0, 248, 25, 0, 0, 0, 0, + 267, 242, 0, 23, 0, 249, 22, 0, 0, 0, + 0, 0, 250, 21, 0, 0, 0, 243, 0, 0, + 0, 0, 0, 56, 57, 303, 0, 2, 0, 7, 0, 8, 0, 9, 10, 13, 11, 12, 14, 15, - 16, 17, 18, 0, 0, 0, 0, 225, 0, 226, - 19, 0, 5, 62, 63, 64, 199, 200, 201, 202, - 205, 203, 204, 206, 207, 208, 209, 210, 194, 196, - 197, 198, 158, 159, 160, 128, 156, 0, 249, 233, - 193, 103, 104, 105, 106, 110, 107, 108, 109, 111, - 29, 30, 28, 0, 26, 0, 6, 65, 66, 261, - 234, 260, 293, 59, 61, 164, 165, 166, 167, 168, - 169, 170, 171, 129, 162, 0, 60, 70, 291, 235, - 67, 276, 277, 278, 279, 280, 281, 282, 273, 275, - 136, 29, 30, 136, 136, 68, 192, 190, 191, 186, - 188, 0, 0, 236, 98, 102, 99, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 211, 213, 0, + 16, 17, 18, 0, 0, 0, 0, 227, 0, 228, + 19, 0, 5, 62, 63, 64, 201, 202, 203, 204, + 207, 205, 206, 208, 209, 210, 211, 212, 196, 198, + 199, 200, 160, 161, 162, 128, 158, 0, 251, 235, + 195, 103, 104, 105, 106, 110, 107, 108, 109, 111, + 29, 30, 28, 0, 26, 0, 6, 65, 66, 263, + 236, 262, 295, 59, 61, 166, 167, 168, 169, 170, + 171, 172, 173, 129, 164, 0, 60, 70, 293, 237, + 67, 278, 279, 280, 281, 282, 283, 284, 275, 277, + 136, 29, 30, 136, 136, 68, 194, 192, 193, 188, + 190, 0, 0, 238, 98, 102, 99, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 213, 215, 0, 0, 87, 88, 89, 0, 90, 91, 97, 92, 96, - 93, 94, 95, 80, 82, 0, 0, 86, 255, 287, - 0, 69, 286, 288, 284, 238, 1, 0, 4, 31, - 55, 298, 297, 227, 228, 229, 230, 272, 271, 270, + 93, 94, 95, 80, 82, 0, 0, 86, 257, 289, + 0, 69, 288, 290, 286, 240, 1, 0, 4, 31, + 55, 300, 299, 229, 230, 231, 232, 274, 273, 272, 0, 0, 79, 75, 76, 77, 78, 0, 72, 0, - 195, 155, 157, 250, 100, 0, 182, 183, 184, 185, - 0, 0, 180, 181, 172, 174, 0, 0, 27, 231, - 259, 292, 161, 163, 290, 274, 132, 136, 136, 135, - 0, 130, 187, 189, 0, 101, 212, 214, 299, 296, - 294, 295, 85, 81, 83, 84, 237, 0, 285, 283, - 3, 20, 266, 267, 268, 263, 269, 262, 305, 306, - 0, 0, 0, 74, 73, 120, 119, 0, 117, 118, - 0, 112, 115, 116, 178, 179, 177, 173, 175, 176, - 138, 139, 140, 141, 142, 143, 144, 146, 147, 145, - 148, 149, 150, 151, 152, 153, 154, 137, 133, 134, - 136, 254, 0, 0, 256, 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, 308, 0, 303, 0, 113, 127, 123, 125, 121, - 122, 124, 126, 114, 131, 253, 252, 258, 257, 0, - 45, 46, 53, 0, 302, 300, 307, 0, 304, 289, - 311, 0, 0, 0, 0, 0, 313, 0, 0, 309, - 312, 310, 0, 0, 318, 319, 320, 321, 322, 0, - 0, 0, 314, 0, 316, 0, 315, 317 + 197, 157, 159, 252, 100, 0, 184, 185, 186, 187, + 0, 0, 182, 183, 174, 176, 0, 0, 27, 233, + 261, 294, 163, 165, 292, 276, 0, 138, 136, 136, + 138, 0, 138, 189, 191, 0, 101, 214, 216, 301, + 298, 296, 297, 85, 81, 83, 84, 239, 0, 287, + 285, 3, 20, 268, 269, 270, 265, 271, 264, 307, + 308, 0, 0, 0, 74, 73, 120, 119, 0, 117, + 118, 0, 112, 115, 116, 180, 181, 179, 175, 177, + 178, 137, 132, 138, 138, 135, 136, 130, 256, 0, + 0, 258, 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, 310, 0, + 305, 0, 113, 127, 123, 125, 121, 122, 124, 126, + 114, 140, 141, 142, 143, 144, 145, 146, 148, 149, + 147, 150, 151, 152, 153, 154, 155, 156, 139, 133, + 134, 138, 255, 254, 260, 259, 0, 45, 46, 53, + 0, 304, 302, 309, 0, 306, 131, 291, 313, 0, + 0, 0, 0, 0, 315, 0, 0, 311, 314, 312, + 0, 0, 320, 321, 322, 323, 324, 0, 0, 0, + 316, 0, 318, 0, 317, 319 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -187, -187, -187, -39, -187, -187, -15, -49, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, 38, -187, -187, -187, - -187, -38, -187, -187, -187, -187, -187, -187, -159, -187, - -187, 110, -187, -187, 102, -187, -187, -187, -8, -187, - -187, -187, -187, 79, -187, -187, 232, -57, -187, -187, - -187, -187, 63, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, 122, -187, -187, -187, -187, - -187, -187, 97, -187, -187, 45, -187, -187, 229, 19, - -186, -187, -187, -187, -187, -36, -187, -187, -110, -187, - -187, -187, -144, -187, -156, -187 + -215, -215, -215, -23, -215, -215, -15, -49, -215, -215, + -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -215, -215, -215, -215, 81, -215, -215, -215, + -215, -38, -215, -215, -215, -215, -215, -215, -154, -214, + -215, -215, 153, -215, -215, 142, -215, -215, -215, 32, + -215, -215, -215, -215, 121, -215, -215, 277, -35, -215, + -215, -215, -215, 107, -215, -215, -215, -215, -215, -215, + -215, -215, -215, -215, -215, -215, 163, -215, -215, -215, + -215, -215, -215, 137, -215, -215, 87, -215, -215, 267, + 53, -187, -215, -215, -215, -215, -2, -215, -215, -55, + -215, -215, -215, -109, -215, -121, -215 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 56, 57, 58, 59, 60, 132, 124, 125, 291, - 361, 362, 363, 364, 365, 366, 367, 61, 62, 63, + -1, 56, 57, 58, 59, 60, 132, 124, 125, 292, + 348, 349, 350, 351, 352, 353, 354, 61, 62, 63, 64, 85, 238, 239, 65, 203, 204, 205, 206, 66, - 174, 119, 244, 311, 312, 313, 383, 67, 266, 337, - 105, 106, 107, 143, 144, 145, 68, 254, 255, 256, - 257, 69, 169, 170, 171, 70, 98, 99, 100, 101, - 71, 187, 188, 189, 72, 73, 74, 75, 76, 109, - 173, 386, 286, 344, 130, 131, 77, 78, 297, 230, - 79, 158, 159, 215, 211, 212, 213, 149, 133, 282, - 223, 207, 80, 81, 300, 301, 302, 370, 371, 402, - 372, 405, 406, 419, 420, 421 + 174, 119, 244, 312, 313, 314, 370, 67, 267, 322, + 388, 105, 106, 107, 143, 144, 145, 68, 254, 255, + 256, 257, 69, 169, 170, 171, 70, 98, 99, 100, + 101, 71, 187, 188, 189, 72, 73, 74, 75, 76, + 109, 173, 393, 287, 331, 130, 131, 77, 78, 298, + 230, 79, 158, 159, 215, 211, 212, 213, 149, 133, + 283, 223, 207, 80, 81, 301, 302, 303, 357, 358, + 410, 359, 413, 414, 427, 428, 429 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1181,142 +1186,144 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 123, 208, 305, 277, 269, 271, 209, 175, 368, 279, - 306, 390, 1, 376, 307, 292, 160, 82, 217, 166, - 285, 2, 83, 102, 164, 342, 108, 3, 4, 5, - 404, 280, 120, 84, 121, 6, 7, 377, 227, 221, - 409, 240, 8, 9, 126, 219, 10, 220, 11, 368, - 12, 13, 308, 240, 177, 14, 161, 127, 162, 128, - 228, 298, 299, 395, 15, 129, 147, 134, 16, 222, - 318, 148, 167, 172, 17, 176, 18, 150, 293, 165, - 294, 178, 122, 309, 229, 19, 20, 259, 214, 21, - 22, 298, 299, 216, 23, 24, 218, 343, 25, 26, - 179, 224, 225, 180, 226, 231, 111, 27, 338, 339, - 112, 242, 243, 258, 103, 263, 264, 378, 261, 104, - 28, 29, 30, 267, 379, 391, 122, 31, 168, 268, - 270, 261, 273, 274, 284, 278, 275, 32, 287, 289, - 163, 281, 33, 380, 34, 210, 35, 36, 310, 303, - 122, 414, 415, 416, 417, 418, 37, 38, 39, 40, - 41, 42, 43, 44, 290, 316, 45, 304, 46, 113, - 314, 315, 345, 295, 373, 385, 388, 47, 181, 341, - 374, 384, 48, 49, 50, 375, 51, 52, 398, 346, - 389, 392, 393, 53, 54, 381, 397, 296, 382, 347, - 399, 401, -6, 55, 2, 394, 182, 183, 184, 185, - 3, 4, 5, 404, 186, 241, 114, 407, 6, 7, - 403, 340, 412, 408, 115, 8, 9, 116, 413, 10, - 411, 11, 425, 12, 13, 424, 348, 349, 14, 427, - 426, 283, 151, 152, 110, 262, 317, 15, 272, 117, - 276, 16, 260, 350, 118, 265, 288, 17, 146, 18, - 396, 410, 153, 423, 369, 0, 0, 0, 19, 20, - 245, 232, 21, 22, 0, 351, 319, 23, 24, 0, - 0, 25, 26, 352, 0, 353, 0, 0, 0, 0, - 27, 0, 0, 387, 0, 233, 0, 0, 234, 0, - 354, 0, 154, 28, 29, 30, 0, 0, 0, 0, - 31, 0, 0, 246, 247, 248, 249, 0, 355, 356, - 32, 0, 0, 0, 0, 33, 0, 34, 0, 35, - 36, 0, 155, 0, 0, 0, 0, 0, 0, 37, + 123, 208, 278, 306, 209, 397, 293, 175, 329, 270, + 272, 307, 1, 151, 152, 308, 160, 82, 227, 286, + 102, 2, 280, 221, 164, 363, 108, 3, 4, 5, + 120, 412, 121, 153, 217, 6, 7, 355, 266, 166, + 228, 417, 8, 9, 281, 219, 10, 220, 11, 364, + 12, 13, 355, 222, 309, 14, 325, 161, 327, 162, + 271, 299, 300, 240, 15, 229, 83, 84, 16, 319, + 294, 126, 295, 154, 17, 240, 18, 127, 232, 299, + 300, 330, 128, 129, 134, 310, 19, 20, 111, 245, + 21, 22, 112, 167, 147, 23, 24, 148, 150, 25, + 26, 86, 233, 259, 155, 234, 87, 402, 27, 389, + 390, 165, 103, 88, 323, 324, 172, 104, 261, 176, + 398, 28, 29, 30, 122, 122, 214, 216, 31, 218, + 365, 261, 246, 247, 248, 249, 276, 366, 32, 224, + 225, 163, 226, 33, 210, 34, 242, 35, 36, 168, + 311, 122, 113, 231, 243, 282, 367, 37, 38, 39, + 40, 41, 42, 43, 44, 296, 89, 45, 258, 46, + 263, 156, 391, 266, 405, 268, 157, 406, 47, 264, + 269, 274, 275, 48, 49, 50, 279, 51, 52, 297, + 235, 236, 285, 288, 53, 54, 290, 237, 304, 114, + 90, 91, 291, -6, 55, 305, 315, 115, 368, 316, + 116, 369, 317, 2, 321, 328, 332, 360, 92, 3, + 4, 5, 326, 93, 415, 362, 361, 6, 7, 420, + 392, 250, 117, 395, 8, 9, 396, 118, 10, 400, + 11, 399, 12, 13, 401, 404, 435, 14, 407, 251, + 94, 409, 411, 412, 252, 253, 15, 416, 241, 419, + 16, 422, 423, 424, 425, 426, 17, 433, 18, 135, + 136, 137, 138, 95, 96, 97, 421, 432, 19, 20, + 394, 434, 21, 22, 284, 262, 318, 23, 24, 110, + 273, 25, 26, 260, 277, 265, 146, 333, 289, 356, + 27, 139, 403, 140, 418, 141, 431, 334, 0, 0, + 320, 142, 0, 28, 29, 30, 0, 0, 0, 0, + 31, 0, 422, 423, 424, 425, 426, 0, 0, 0, + 32, 430, 0, 0, 0, 33, 0, 34, 0, 35, + 36, 0, 0, 0, 335, 336, 0, 0, 0, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 45, - 0, 46, 0, 0, 357, 0, 358, 0, 0, 0, - 47, 0, 0, 0, 359, 48, 49, 50, 360, 51, - 52, 0, 0, 2, 0, 0, 53, 54, 400, 3, - 4, 5, 235, 236, 0, -6, 55, 6, 7, 237, - 135, 136, 137, 138, 8, 9, 0, 0, 10, 156, - 11, 0, 12, 13, 157, 86, 0, 14, 0, 0, - 87, 250, 0, 0, 0, 0, 15, 88, 0, 0, - 16, 139, 0, 140, 0, 141, 17, 0, 18, 251, - 0, 142, 0, 0, 252, 253, 0, 19, 20, 0, - 0, 21, 22, 0, 0, 0, 23, 24, 0, 0, - 25, 26, 414, 415, 416, 417, 418, 0, 0, 27, - 0, 422, 0, 0, 0, 0, 0, 0, 0, 89, - 0, 0, 28, 29, 30, 0, 0, 0, 0, 31, - 0, 0, 0, 0, 0, 0, 0, 0, 320, 32, - 0, 0, 0, 0, 33, 0, 34, 321, 35, 36, - 0, 0, 0, 90, 91, 322, 0, 0, 37, 38, - 39, 40, 41, 42, 43, 44, 0, 0, 45, 0, - 46, 92, 0, 323, 324, 0, 93, 325, 0, 47, - 0, 0, 0, 326, 48, 49, 50, 0, 51, 52, - 190, 0, 191, 192, 0, 53, 54, 0, 0, 193, - 0, 194, 0, 94, 0, 55, 0, 0, 0, 0, - 327, 328, 0, 0, 329, 330, 331, 0, 332, 333, - 334, 0, 335, 0, 0, 0, 95, 96, 97, 195, + 0, 46, 337, 0, 0, 0, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 48, 49, 50, 0, 51, + 52, 0, 0, 2, 338, 408, 53, 54, 0, 3, + 4, 5, 339, 0, 340, -6, 55, 6, 7, 0, + 0, 0, 0, 0, 8, 9, 0, 0, 10, 341, + 11, 0, 12, 13, 0, 0, 0, 14, 177, 0, + 0, 0, 0, 0, 0, 0, 15, 342, 343, 0, + 16, 0, 0, 0, 0, 0, 17, 0, 18, 0, + 0, 0, 0, 0, 0, 178, 0, 0, 19, 20, + 0, 0, 21, 22, 0, 0, 0, 23, 24, 0, + 0, 25, 26, 344, 179, 345, 0, 180, 0, 0, + 27, 0, 0, 346, 0, 0, 0, 347, 0, 0, + 0, 0, 0, 28, 29, 30, 0, 0, 0, 0, + 31, 0, 0, 0, 0, 190, 0, 191, 192, 0, + 32, 0, 0, 0, 193, 33, 194, 34, 0, 35, + 36, 0, 0, 0, 0, 0, 0, 0, 371, 37, + 38, 39, 40, 41, 42, 43, 44, 372, 0, 45, + 0, 46, 0, 0, 195, 373, 0, 0, 0, 0, + 47, 0, 0, 181, 0, 48, 49, 50, 0, 51, + 52, 0, 0, 0, 374, 375, 53, 54, 376, 0, + 0, 0, 0, 0, 377, 0, 55, 0, 0, 0, + 0, 182, 183, 184, 185, 196, 0, 197, 0, 186, + 0, 0, 0, 198, 0, 199, 0, 0, 200, 0, + 0, 378, 379, 0, 0, 380, 381, 382, 0, 383, + 384, 385, 0, 386, 0, 0, 0, 0, 0, 0, + 0, 201, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, - 0, 197, 0, 0, 0, 0, 0, 198, 0, 199, - 0, 336, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 201, 202 + 0, 0, 387 }; static const yytype_int16 yycheck[] = { - 15, 50, 31, 189, 163, 164, 64, 45, 151, 42, - 39, 64, 1, 4, 43, 5, 29, 191, 57, 45, - 206, 10, 64, 11, 39, 65, 163, 16, 17, 18, - 196, 64, 69, 64, 71, 24, 25, 28, 36, 34, - 206, 98, 31, 32, 163, 60, 35, 62, 37, 151, - 39, 40, 81, 110, 6, 44, 69, 163, 71, 163, - 58, 193, 194, 206, 53, 163, 163, 64, 57, 64, - 256, 163, 98, 163, 63, 163, 65, 64, 68, 64, - 70, 33, 163, 112, 82, 74, 75, 126, 64, 78, - 79, 193, 194, 0, 83, 84, 191, 137, 87, 88, - 52, 64, 163, 55, 163, 205, 22, 96, 267, 268, - 26, 64, 34, 163, 102, 64, 163, 108, 133, 107, - 109, 110, 111, 29, 115, 178, 163, 116, 154, 29, - 89, 146, 64, 202, 64, 163, 174, 126, 64, 64, - 153, 174, 131, 134, 133, 203, 135, 136, 177, 64, - 163, 197, 198, 199, 200, 201, 145, 146, 147, 148, - 149, 150, 151, 152, 191, 64, 155, 163, 157, 85, - 163, 163, 38, 163, 191, 29, 64, 166, 130, 163, - 202, 340, 171, 172, 173, 163, 175, 176, 374, 9, - 64, 163, 202, 182, 183, 186, 205, 187, 189, 19, - 204, 195, 191, 192, 10, 191, 158, 159, 160, 161, - 16, 17, 18, 196, 166, 105, 132, 403, 24, 25, - 202, 270, 408, 202, 140, 31, 32, 143, 205, 35, - 191, 37, 202, 39, 40, 191, 56, 57, 44, 425, - 191, 203, 7, 8, 12, 143, 254, 53, 169, 165, - 187, 57, 130, 73, 170, 158, 211, 63, 29, 65, - 370, 405, 27, 419, 300, -1, -1, -1, 74, 75, - 3, 30, 78, 79, -1, 95, 257, 83, 84, -1, - -1, 87, 88, 103, -1, 105, -1, -1, -1, -1, - 96, -1, -1, 342, -1, 54, -1, -1, 57, -1, - 120, -1, 67, 109, 110, 111, -1, -1, -1, -1, - 116, -1, -1, 46, 47, 48, 49, -1, 138, 139, - 126, -1, -1, -1, -1, 131, -1, 133, -1, 135, - 136, -1, 97, -1, -1, -1, -1, -1, -1, 145, - 146, 147, 148, 149, 150, 151, 152, -1, -1, 155, - -1, 157, -1, -1, 174, -1, 176, -1, -1, -1, - 166, -1, -1, -1, 184, 171, 172, 173, 188, 175, - 176, -1, -1, 10, -1, -1, 182, 183, 393, 16, - 17, 18, 141, 142, -1, 191, 192, 24, 25, 148, - 59, 60, 61, 62, 31, 32, -1, -1, 35, 164, - 37, -1, 39, 40, 169, 8, -1, 44, -1, -1, - 13, 144, -1, -1, -1, -1, 53, 20, -1, -1, - 57, 90, -1, 92, -1, 94, 63, -1, 65, 162, - -1, 100, -1, -1, 167, 168, -1, 74, 75, -1, - -1, 78, 79, -1, -1, -1, 83, 84, -1, -1, - 87, 88, 197, 198, 199, 200, 201, -1, -1, 96, - -1, 206, -1, -1, -1, -1, -1, -1, -1, 72, - -1, -1, 109, 110, 111, -1, -1, -1, -1, 116, - -1, -1, -1, -1, -1, -1, -1, -1, 41, 126, - -1, -1, -1, -1, 131, -1, 133, 50, 135, 136, - -1, -1, -1, 106, 107, 58, -1, -1, 145, 146, - 147, 148, 149, 150, 151, 152, -1, -1, 155, -1, - 157, 124, -1, 76, 77, -1, 129, 80, -1, 166, - -1, -1, -1, 86, 171, 172, 173, -1, 175, 176, - 12, -1, 14, 15, -1, 182, 183, -1, -1, 21, - -1, 23, -1, 156, -1, 192, -1, -1, -1, -1, - 113, 114, -1, -1, 117, 118, 119, -1, 121, 122, - 123, -1, 125, -1, -1, -1, 179, 180, 181, 51, + 15, 50, 189, 31, 64, 64, 5, 45, 65, 163, + 164, 39, 1, 7, 8, 43, 29, 192, 36, 206, + 11, 10, 42, 34, 39, 4, 164, 16, 17, 18, + 70, 197, 72, 27, 57, 24, 25, 152, 68, 45, + 58, 207, 31, 32, 64, 60, 35, 62, 37, 28, + 39, 40, 152, 64, 82, 44, 270, 70, 272, 72, + 90, 194, 195, 98, 53, 83, 64, 64, 57, 256, + 69, 164, 71, 67, 63, 110, 65, 164, 30, 194, + 195, 138, 164, 164, 64, 113, 75, 76, 22, 3, + 79, 80, 26, 99, 164, 84, 85, 164, 64, 88, + 89, 8, 54, 126, 98, 57, 13, 207, 97, 323, + 324, 64, 103, 20, 268, 269, 164, 108, 133, 164, + 179, 110, 111, 112, 164, 164, 64, 0, 117, 192, + 109, 146, 46, 47, 48, 49, 174, 116, 127, 64, + 164, 154, 164, 132, 204, 134, 64, 136, 137, 155, + 178, 164, 86, 206, 34, 175, 135, 146, 147, 148, + 149, 150, 151, 152, 153, 164, 73, 156, 164, 158, + 64, 165, 326, 68, 361, 29, 170, 391, 167, 164, + 29, 64, 203, 172, 173, 174, 164, 176, 177, 188, + 142, 143, 64, 64, 183, 184, 64, 149, 64, 133, + 107, 108, 192, 192, 193, 164, 164, 141, 187, 164, + 144, 190, 64, 10, 64, 164, 38, 192, 125, 16, + 17, 18, 271, 130, 411, 164, 203, 24, 25, 416, + 29, 145, 166, 64, 31, 32, 64, 171, 35, 203, + 37, 164, 39, 40, 192, 206, 433, 44, 205, 163, + 157, 196, 203, 197, 168, 169, 53, 203, 105, 192, + 57, 198, 199, 200, 201, 202, 63, 203, 65, 59, + 60, 61, 62, 180, 181, 182, 206, 192, 75, 76, + 329, 192, 79, 80, 203, 143, 254, 84, 85, 12, + 169, 88, 89, 130, 187, 158, 29, 9, 211, 301, + 97, 91, 357, 93, 413, 95, 427, 19, -1, -1, + 257, 101, -1, 110, 111, 112, -1, -1, -1, -1, + 117, -1, 198, 199, 200, 201, 202, -1, -1, -1, + 127, 207, -1, -1, -1, 132, -1, 134, -1, 136, + 137, -1, -1, -1, 56, 57, -1, -1, -1, 146, + 147, 148, 149, 150, 151, 152, 153, -1, -1, 156, + -1, 158, 74, -1, -1, -1, -1, -1, -1, -1, + 167, -1, -1, -1, -1, 172, 173, 174, -1, 176, + 177, -1, -1, 10, 96, 400, 183, 184, -1, 16, + 17, 18, 104, -1, 106, 192, 193, 24, 25, -1, + -1, -1, -1, -1, 31, 32, -1, -1, 35, 121, + 37, -1, 39, 40, -1, -1, -1, 44, 6, -1, + -1, -1, -1, -1, -1, -1, 53, 139, 140, -1, + 57, -1, -1, -1, -1, -1, 63, -1, 65, -1, + -1, -1, -1, -1, -1, 33, -1, -1, 75, 76, + -1, -1, 79, 80, -1, -1, -1, 84, 85, -1, + -1, 88, 89, 175, 52, 177, -1, 55, -1, -1, + 97, -1, -1, 185, -1, -1, -1, 189, -1, -1, + -1, -1, -1, 110, 111, 112, -1, -1, -1, -1, + 117, -1, -1, -1, -1, 12, -1, 14, 15, -1, + 127, -1, -1, -1, 21, 132, 23, 134, -1, 136, + 137, -1, -1, -1, -1, -1, -1, -1, 41, 146, + 147, 148, 149, 150, 151, 152, 153, 50, -1, 156, + -1, 158, -1, -1, 51, 58, -1, -1, -1, -1, + 167, -1, -1, 131, -1, 172, 173, 174, -1, 176, + 177, -1, -1, -1, 77, 78, 183, 184, 81, -1, + -1, -1, -1, -1, 87, -1, 193, -1, -1, -1, + -1, 159, 160, 161, 162, 92, -1, 94, -1, 167, + -1, -1, -1, 100, -1, 102, -1, -1, 105, -1, + -1, 114, 115, -1, -1, 118, 119, 120, -1, 122, + 123, 124, -1, 126, -1, -1, -1, -1, -1, -1, + -1, 128, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, - -1, 93, -1, -1, -1, -1, -1, 99, -1, 101, - -1, 184, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 127, 128 + -1, -1, 185 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1324,86 +1331,87 @@ static const yytype_int16 yycheck[] = static const yytype_uint16 yystos[] = { 0, 1, 10, 16, 17, 18, 24, 25, 31, 32, - 35, 37, 39, 40, 44, 53, 57, 63, 65, 74, - 75, 78, 79, 83, 84, 87, 88, 96, 109, 110, - 111, 116, 126, 131, 133, 135, 136, 145, 146, 147, - 148, 149, 150, 151, 152, 155, 157, 166, 171, 172, - 173, 175, 176, 182, 183, 192, 208, 209, 210, 211, - 212, 224, 225, 226, 227, 231, 236, 244, 253, 258, - 262, 267, 271, 272, 273, 274, 275, 283, 284, 287, - 299, 300, 191, 64, 64, 228, 8, 13, 20, 72, - 106, 107, 124, 129, 156, 179, 180, 181, 263, 264, - 265, 266, 11, 102, 107, 247, 248, 249, 163, 276, - 263, 22, 26, 85, 132, 140, 143, 165, 170, 238, - 69, 71, 163, 213, 214, 215, 163, 163, 163, 163, - 281, 282, 213, 295, 64, 59, 60, 61, 62, 90, - 92, 94, 100, 250, 251, 252, 295, 163, 163, 294, - 64, 7, 8, 27, 67, 97, 164, 169, 288, 289, - 29, 69, 71, 153, 213, 64, 45, 98, 154, 259, - 260, 261, 163, 277, 237, 238, 163, 6, 33, 52, - 55, 130, 158, 159, 160, 161, 166, 268, 269, 270, - 12, 14, 15, 21, 23, 51, 91, 93, 99, 101, - 104, 127, 128, 232, 233, 234, 235, 298, 214, 64, - 203, 291, 292, 293, 64, 290, 0, 210, 191, 213, - 213, 34, 64, 297, 64, 163, 163, 36, 58, 82, - 286, 205, 30, 54, 57, 141, 142, 148, 229, 230, - 264, 248, 64, 34, 239, 3, 46, 47, 48, 49, - 144, 162, 167, 168, 254, 255, 256, 257, 163, 210, - 282, 213, 251, 64, 163, 289, 245, 29, 29, 245, - 89, 245, 260, 64, 202, 238, 269, 297, 163, 42, - 64, 174, 296, 233, 64, 297, 279, 64, 292, 64, - 191, 216, 5, 68, 70, 163, 187, 285, 193, 194, - 301, 302, 303, 64, 163, 31, 39, 43, 81, 112, - 177, 240, 241, 242, 163, 163, 64, 255, 297, 296, - 41, 50, 58, 76, 77, 80, 86, 113, 114, 117, - 118, 119, 121, 122, 123, 125, 184, 246, 245, 245, - 214, 163, 65, 137, 280, 38, 9, 19, 56, 57, - 73, 95, 103, 105, 120, 138, 139, 174, 176, 184, - 188, 217, 218, 219, 220, 221, 222, 223, 151, 302, - 304, 305, 307, 191, 202, 163, 4, 28, 108, 115, - 134, 186, 189, 243, 245, 29, 278, 214, 64, 64, - 64, 178, 163, 202, 191, 206, 305, 205, 297, 204, - 213, 195, 306, 202, 196, 308, 309, 297, 202, 206, - 309, 191, 297, 205, 197, 198, 199, 200, 201, 310, - 311, 312, 206, 311, 191, 202, 191, 297 + 35, 37, 39, 40, 44, 53, 57, 63, 65, 75, + 76, 79, 80, 84, 85, 88, 89, 97, 110, 111, + 112, 117, 127, 132, 134, 136, 137, 146, 147, 148, + 149, 150, 151, 152, 153, 156, 158, 167, 172, 173, + 174, 176, 177, 183, 184, 193, 209, 210, 211, 212, + 213, 225, 226, 227, 228, 232, 237, 245, 255, 260, + 264, 269, 273, 274, 275, 276, 277, 285, 286, 289, + 301, 302, 192, 64, 64, 229, 8, 13, 20, 73, + 107, 108, 125, 130, 157, 180, 181, 182, 265, 266, + 267, 268, 11, 103, 108, 249, 250, 251, 164, 278, + 265, 22, 26, 86, 133, 141, 144, 166, 171, 239, + 70, 72, 164, 214, 215, 216, 164, 164, 164, 164, + 283, 284, 214, 297, 64, 59, 60, 61, 62, 91, + 93, 95, 101, 252, 253, 254, 297, 164, 164, 296, + 64, 7, 8, 27, 67, 98, 165, 170, 290, 291, + 29, 70, 72, 154, 214, 64, 45, 99, 155, 261, + 262, 263, 164, 279, 238, 239, 164, 6, 33, 52, + 55, 131, 159, 160, 161, 162, 167, 270, 271, 272, + 12, 14, 15, 21, 23, 51, 92, 94, 100, 102, + 105, 128, 129, 233, 234, 235, 236, 300, 215, 64, + 204, 293, 294, 295, 64, 292, 0, 211, 192, 214, + 214, 34, 64, 299, 64, 164, 164, 36, 58, 83, + 288, 206, 30, 54, 57, 142, 143, 149, 230, 231, + 266, 250, 64, 34, 240, 3, 46, 47, 48, 49, + 145, 163, 168, 169, 256, 257, 258, 259, 164, 211, + 284, 214, 253, 64, 164, 291, 68, 246, 29, 29, + 246, 90, 246, 262, 64, 203, 239, 271, 299, 164, + 42, 64, 175, 298, 234, 64, 299, 281, 64, 294, + 64, 192, 217, 5, 69, 71, 164, 188, 287, 194, + 195, 303, 304, 305, 64, 164, 31, 39, 43, 82, + 113, 178, 241, 242, 243, 164, 164, 64, 257, 299, + 298, 64, 247, 246, 246, 247, 215, 247, 164, 65, + 138, 282, 38, 9, 19, 56, 57, 74, 96, 104, + 106, 121, 139, 140, 175, 177, 185, 189, 218, 219, + 220, 221, 222, 223, 224, 152, 304, 306, 307, 309, + 192, 203, 164, 4, 28, 109, 116, 135, 187, 190, + 244, 41, 50, 58, 77, 78, 81, 87, 114, 115, + 118, 119, 120, 122, 123, 124, 126, 185, 248, 247, + 247, 246, 29, 280, 215, 64, 64, 64, 179, 164, + 203, 192, 207, 307, 206, 299, 247, 205, 214, 196, + 308, 203, 197, 310, 311, 299, 203, 207, 311, 192, + 299, 206, 198, 199, 200, 201, 202, 312, 313, 314, + 207, 313, 192, 203, 192, 299 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 207, 208, 209, 209, 209, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 211, 212, 212, 212, 212, 212, 213, 213, 214, 215, - 215, 216, 216, 217, 217, 217, 218, 219, 219, 219, - 219, 219, 219, 219, 219, 220, 220, 221, 221, 221, - 221, 221, 221, 222, 223, 224, 225, 225, 226, 226, - 226, 226, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 228, 228, 229, 229, 230, 230, 230, 230, 230, - 231, 232, 232, 233, 233, 233, 233, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 235, 235, 236, 236, - 236, 237, 237, 238, 238, 238, 238, 238, 238, 238, - 238, 239, 239, 240, 240, 240, 240, 241, 241, 242, - 242, 243, 243, 243, 243, 243, 243, 243, 244, 244, - 244, 244, 244, 244, 244, 244, 245, 245, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 247, 247, 248, 249, 249, - 249, 250, 250, 251, 252, 252, 252, 252, 252, 252, - 252, 252, 253, 254, 254, 255, 255, 255, 255, 255, - 256, 256, 257, 257, 257, 257, 258, 259, 259, 260, - 261, 261, 261, 262, 262, 263, 263, 264, 264, 265, - 265, 265, 265, 265, 265, 266, 266, 266, 266, 266, - 266, 267, 268, 268, 269, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 272, - 272, 272, 273, 273, 274, 274, 275, 275, 275, 276, - 276, 276, 277, 278, 278, 279, 279, 280, 280, 281, - 281, 282, 283, 283, 284, 284, 285, 285, 285, 285, - 286, 286, 286, 287, 288, 288, 289, 289, 289, 289, - 289, 289, 289, 290, 290, 291, 291, 292, 292, 293, - 294, 294, 295, 295, 296, 296, 296, 297, 297, 298, - 299, 300, 301, 301, 302, 303, 303, 304, 304, 305, - 306, 307, 308, 308, 309, 310, 310, 311, 312, 312, - 312, 312, 312 + 0, 208, 209, 210, 210, 210, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 212, 213, 213, 213, 213, 213, 214, 214, 215, 216, + 216, 217, 217, 218, 218, 218, 219, 220, 220, 220, + 220, 220, 220, 220, 220, 221, 221, 222, 222, 222, + 222, 222, 222, 223, 224, 225, 226, 226, 227, 227, + 227, 227, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 229, 229, 230, 230, 231, 231, 231, 231, 231, + 232, 233, 233, 234, 234, 234, 234, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 236, 236, 237, 237, + 237, 238, 238, 239, 239, 239, 239, 239, 239, 239, + 239, 240, 240, 241, 241, 241, 241, 242, 242, 243, + 243, 244, 244, 244, 244, 244, 244, 244, 245, 245, + 245, 245, 245, 245, 245, 245, 246, 246, 247, 247, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 249, 249, 250, + 251, 251, 251, 252, 252, 253, 254, 254, 254, 254, + 254, 254, 254, 254, 255, 256, 256, 257, 257, 257, + 257, 257, 258, 258, 259, 259, 259, 259, 260, 261, + 261, 262, 263, 263, 263, 264, 264, 265, 265, 266, + 266, 267, 267, 267, 267, 267, 267, 268, 268, 268, + 268, 268, 268, 269, 270, 270, 271, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 273, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 273, 274, 274, 274, 275, 275, 276, 276, 277, 277, + 277, 278, 278, 278, 279, 280, 280, 281, 281, 282, + 282, 283, 283, 284, 285, 285, 286, 286, 287, 287, + 287, 287, 288, 288, 288, 289, 290, 290, 291, 291, + 291, 291, 291, 291, 291, 292, 292, 293, 293, 294, + 294, 295, 296, 296, 297, 297, 298, 298, 298, 299, + 299, 300, 301, 302, 303, 303, 304, 305, 305, 306, + 306, 307, 308, 309, 310, 310, 311, 312, 312, 313, + 314, 314, 314, 314, 314 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1422,26 +1430,26 @@ static const yytype_uint8 yyr2[] = 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, + 4, 6, 4, 5, 5, 4, 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, - 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 2, 1, 2, 2, 2, 2, 2, - 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, - 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, - 2, 3, 1, 2, 2, 2, 2, 3, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, + 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 2, 1, 2, 2, 2, + 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, + 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 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, 2, - 5, 1, 3, 2, 3, 1, 1, 2, 1, 5, - 4, 3, 2, 1, 6, 3, 2, 3, 1, 1, - 1, 1, 1 + 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 2, 2, 3, 1, 2, 2, 2, 2, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 0, 4, 1, 0, 0, 2, 2, + 2, 2, 1, 1, 3, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, + 1, 5, 2, 1, 2, 1, 1, 1, 1, 1, + 1, 2, 5, 1, 3, 2, 3, 1, 1, 2, + 1, 5, 4, 3, 2, 1, 6, 3, 2, 3, + 1, 1, 1, 1, 1 }; @@ -2118,7 +2126,7 @@ yyreduce: switch (yyn) { case 5: -#line 382 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 384 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { /* I will need to incorporate much more fine grained * error messages. The following should suffice for @@ -2131,85 +2139,85 @@ yyreduce: ip_ctx->errpos.nline, ip_ctx->errpos.ncol); } -#line 2135 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2143 "ntp_parser.c" /* yacc.c:1646 */ break; case 20: -#line 418 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 420 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { peer_node *my_node; my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); APPEND_G_FIFO(cfgt.peers, my_node); } -#line 2146 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2154 "ntp_parser.c" /* yacc.c:1646 */ break; case 27: -#line 437 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 439 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); } -#line 2152 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2160 "ntp_parser.c" /* yacc.c:1646 */ break; case 28: -#line 442 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 444 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); } -#line 2158 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2166 "ntp_parser.c" /* yacc.c:1646 */ break; case 29: -#line 447 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 449 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = AF_INET; } -#line 2164 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2172 "ntp_parser.c" /* yacc.c:1646 */ break; case 30: -#line 449 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 451 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = AF_INET6; } -#line 2170 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2178 "ntp_parser.c" /* yacc.c:1646 */ break; case 31: -#line 454 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 456 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; } -#line 2176 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2184 "ntp_parser.c" /* yacc.c:1646 */ break; case 32: -#line 456 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 458 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2185 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2193 "ntp_parser.c" /* yacc.c:1646 */ break; case 36: -#line 470 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 472 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } -#line 2191 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2199 "ntp_parser.c" /* yacc.c:1646 */ break; case 45: -#line 486 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 488 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2197 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2205 "ntp_parser.c" /* yacc.c:1646 */ break; case 46: -#line 488 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 490 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2203 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2211 "ntp_parser.c" /* yacc.c:1646 */ break; case 53: -#line 502 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 504 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } -#line 2209 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2217 "ntp_parser.c" /* yacc.c:1646 */ break; case 55: -#line 516 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 518 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { unpeer_node *my_node; @@ -2217,85 +2225,85 @@ yyreduce: if (my_node) APPEND_G_FIFO(cfgt.unpeers, my_node); } -#line 2221 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2229 "ntp_parser.c" /* yacc.c:1646 */ break; case 58: -#line 537 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 539 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { cfgt.broadcastclient = 1; } -#line 2227 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2235 "ntp_parser.c" /* yacc.c:1646 */ break; case 59: -#line 539 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 541 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); } -#line 2233 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2241 "ntp_parser.c" /* yacc.c:1646 */ break; case 60: -#line 541 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 543 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); } -#line 2239 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2247 "ntp_parser.c" /* yacc.c:1646 */ break; case 61: -#line 543 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 545 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { cfgt.mdnstries = (yyvsp[0].Integer); } -#line 2245 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2253 "ntp_parser.c" /* yacc.c:1646 */ break; case 62: -#line 554 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 556 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { attr_val *atrv; atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); APPEND_G_FIFO(cfgt.vars, atrv); } -#line 2256 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2264 "ntp_parser.c" /* yacc.c:1646 */ break; case 63: -#line 561 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 563 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.control_key = (yyvsp[0].Integer); } -#line 2262 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2270 "ntp_parser.c" /* yacc.c:1646 */ break; case 64: -#line 563 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 565 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.cryptosw++; CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo)); } -#line 2271 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2279 "ntp_parser.c" /* yacc.c:1646 */ break; case 65: -#line 568 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 570 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.keys = (yyvsp[0].String); } -#line 2277 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2285 "ntp_parser.c" /* yacc.c:1646 */ break; case 66: -#line 570 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 572 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.keysdir = (yyvsp[0].String); } -#line 2283 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2291 "ntp_parser.c" /* yacc.c:1646 */ break; case 67: -#line 572 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 574 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.request_key = (yyvsp[0].Integer); } -#line 2289 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2297 "ntp_parser.c" /* yacc.c:1646 */ break; case 68: -#line 574 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 576 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.revoke = (yyvsp[0].Integer); } -#line 2295 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2303 "ntp_parser.c" /* yacc.c:1646 */ break; case 69: -#line 576 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 578 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { /* [Bug 948] leaves it open if appending or * replacing the trusted key list is the right @@ -2305,38 +2313,38 @@ yyreduce: DESTROY_G_FIFO(cfgt.auth.trusted_key_list, destroy_attr_val); /* remove for append */ CONCAT_G_FIFOS(cfgt.auth.trusted_key_list, (yyvsp[0].Attr_val_fifo)); } -#line 2309 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2317 "ntp_parser.c" /* yacc.c:1646 */ break; case 70: -#line 586 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 588 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); } -#line 2315 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2323 "ntp_parser.c" /* yacc.c:1646 */ break; case 71: -#line 591 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 593 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; } -#line 2321 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2329 "ntp_parser.c" /* yacc.c:1646 */ break; case 72: -#line 593 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 595 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2330 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2338 "ntp_parser.c" /* yacc.c:1646 */ break; case 73: -#line 601 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 603 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } -#line 2336 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2344 "ntp_parser.c" /* yacc.c:1646 */ break; case 74: -#line 603 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 605 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = NULL; cfgt.auth.revoke = (yyvsp[0].Integer); @@ -2345,65 +2353,65 @@ yyreduce: "please use 'revoke %d' instead.", cfgt.auth.revoke, cfgt.auth.revoke); } -#line 2349 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2357 "ntp_parser.c" /* yacc.c:1646 */ break; case 80: -#line 628 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 630 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); } -#line 2355 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2363 "ntp_parser.c" /* yacc.c:1646 */ break; case 81: -#line 633 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 635 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2364 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2372 "ntp_parser.c" /* yacc.c:1646 */ break; case 82: -#line 638 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 640 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2373 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2381 "ntp_parser.c" /* yacc.c:1646 */ break; case 83: -#line 646 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 648 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } -#line 2379 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2387 "ntp_parser.c" /* yacc.c:1646 */ break; case 84: -#line 648 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 650 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } -#line 2385 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2393 "ntp_parser.c" /* yacc.c:1646 */ break; case 85: -#line 650 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 652 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } -#line 2391 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2399 "ntp_parser.c" /* yacc.c:1646 */ break; case 86: -#line 652 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 654 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival(T_Basedate, (yyvsp[0].Integer)); } -#line 2397 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2405 "ntp_parser.c" /* yacc.c:1646 */ break; case 98: -#line 679 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 681 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); } -#line 2403 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2411 "ntp_parser.c" /* yacc.c:1646 */ break; case 99: -#line 681 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 683 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { cfgt.stats_dir = (yyvsp[0].String); @@ -2412,55 +2420,55 @@ yyreduce: yyerror("statsdir remote configuration ignored"); } } -#line 2416 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2424 "ntp_parser.c" /* yacc.c:1646 */ break; case 100: -#line 690 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 692 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { filegen_node *fgn; fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo)); APPEND_G_FIFO(cfgt.filegen_opts, fgn); } -#line 2427 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2435 "ntp_parser.c" /* yacc.c:1646 */ break; case 101: -#line 700 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 702 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 2436 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2444 "ntp_parser.c" /* yacc.c:1646 */ break; case 102: -#line 705 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 707 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = NULL; APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 2445 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2453 "ntp_parser.c" /* yacc.c:1646 */ break; case 111: -#line 724 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 726 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; } -#line 2451 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2459 "ntp_parser.c" /* yacc.c:1646 */ break; case 112: -#line 726 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 728 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2460 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2468 "ntp_parser.c" /* yacc.c:1646 */ break; case 113: -#line 734 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 736 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); @@ -2470,11 +2478,11 @@ yyreduce: yyerror("filegen file remote config ignored"); } } -#line 2474 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2482 "ntp_parser.c" /* yacc.c:1646 */ break; case 114: -#line 744 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 746 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); @@ -2483,11 +2491,11 @@ yyreduce: yyerror("filegen type remote config ignored"); } } -#line 2487 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2495 "ntp_parser.c" /* yacc.c:1646 */ break; case 115: -#line 753 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 755 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { const char *err; @@ -2502,69 +2510,69 @@ yyreduce: yyerror(err); } } -#line 2506 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2514 "ntp_parser.c" /* yacc.c:1646 */ break; case 116: -#line 768 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 770 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } -#line 2512 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2520 "ntp_parser.c" /* yacc.c:1646 */ break; case 128: -#line 798 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 800 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo)); } -#line 2520 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2528 "ntp_parser.c" /* yacc.c:1646 */ break; case 129: -#line 802 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 804 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo)); } -#line 2528 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2536 "ntp_parser.c" /* yacc.c:1646 */ break; case 130: -#line 806 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 808 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; - rn = create_restrict_node((yyvsp[-1].Address_node), NULL, (yyvsp[0].Int_fifo), + rn = create_restrict_node((yyvsp[-2].Address_node), NULL, (yyvsp[-1].Integer), (yyvsp[0].Int_fifo), lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2540 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2548 "ntp_parser.c" /* yacc.c:1646 */ break; case 131: -#line 814 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 816 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; - rn = create_restrict_node((yyvsp[-3].Address_node), (yyvsp[-1].Address_node), (yyvsp[0].Int_fifo), + rn = create_restrict_node((yyvsp[-4].Address_node), (yyvsp[-2].Address_node), (yyvsp[-1].Integer), (yyvsp[0].Int_fifo), lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2552 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2560 "ntp_parser.c" /* yacc.c:1646 */ break; case 132: -#line 822 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 824 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; - rn = create_restrict_node(NULL, NULL, (yyvsp[0].Int_fifo), + rn = create_restrict_node(NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Int_fifo), lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2564 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2572 "ntp_parser.c" /* yacc.c:1646 */ break; case 133: -#line 830 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 832 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; @@ -2575,15 +2583,15 @@ yyreduce: create_address_node( estrdup("0.0.0.0"), AF_INET), - (yyvsp[0].Int_fifo), + (yyvsp[-1].Integer), (yyvsp[0].Int_fifo), lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2583 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2591 "ntp_parser.c" /* yacc.c:1646 */ break; case 134: -#line 845 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 847 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; @@ -2594,132 +2602,158 @@ yyreduce: create_address_node( estrdup("::"), AF_INET6), - (yyvsp[0].Int_fifo), + (yyvsp[-1].Integer), (yyvsp[0].Int_fifo), lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2602 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2610 "ntp_parser.c" /* yacc.c:1646 */ break; case 135: -#line 860 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 862 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { restrict_node * rn; - APPEND_G_FIFO((yyvsp[0].Int_fifo), create_int_node((yyvsp[-1].Integer))); + APPEND_G_FIFO((yyvsp[0].Int_fifo), create_int_node((yyvsp[-2].Integer))); rn = create_restrict_node( - NULL, NULL, (yyvsp[0].Int_fifo), lex_current()->curpos.nline); + NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Int_fifo), lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2615 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2623 "ntp_parser.c" /* yacc.c:1646 */ break; case 136: -#line 872 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ - { (yyval.Int_fifo) = NULL; } -#line 2621 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 874 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Integer) = -1; } +#line 2629 "ntp_parser.c" /* yacc.c:1646 */ break; case 137: -#line 874 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ +#line 876 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { + if (((yyvsp[0].Integer) < -1) || ((yyvsp[0].Integer) > 100)) { + struct FILE_INFO * ip_ctx; + + ip_ctx = lex_current(); + msyslog(LOG_ERR, + "Unreasonable ippeerlimit value (%d) in %s line %d, column %d. Using 0.", + (yyvsp[0].Integer), + ip_ctx->fname, + ip_ctx->errpos.nline, + ip_ctx->errpos.ncol); + (yyvsp[0].Integer) = 0; + } + (yyval.Integer) = (yyvsp[0].Integer); + } +#line 2649 "ntp_parser.c" /* yacc.c:1646 */ + break; + + case 138: +#line 895 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + { (yyval.Int_fifo) = NULL; } +#line 2655 "ntp_parser.c" /* yacc.c:1646 */ + break; + + case 139: +#line 897 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 2630 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2664 "ntp_parser.c" /* yacc.c:1646 */ break; - case 155: -#line 902 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 157: +#line 925 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2639 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2673 "ntp_parser.c" /* yacc.c:1646 */ break; - case 156: -#line 907 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 158: +#line 930 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2648 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2682 "ntp_parser.c" /* yacc.c:1646 */ break; - case 157: -#line 915 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 159: +#line 938 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2654 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2688 "ntp_parser.c" /* yacc.c:1646 */ break; - case 161: -#line 926 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 163: +#line 949 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2663 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2697 "ntp_parser.c" /* yacc.c:1646 */ break; - case 162: -#line 931 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 164: +#line 954 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2672 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2706 "ntp_parser.c" /* yacc.c:1646 */ break; - case 163: -#line 939 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 165: +#line 962 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2678 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2712 "ntp_parser.c" /* yacc.c:1646 */ break; - case 172: -#line 959 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 174: +#line 982 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { addr_opts_node *aon; aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); APPEND_G_FIFO(cfgt.fudge, aon); } -#line 2689 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2723 "ntp_parser.c" /* yacc.c:1646 */ break; - case 173: -#line 969 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 175: +#line 992 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2698 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2732 "ntp_parser.c" /* yacc.c:1646 */ break; - case 174: -#line 974 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 176: +#line 997 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2707 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2741 "ntp_parser.c" /* yacc.c:1646 */ break; - case 175: -#line 982 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 177: +#line 1005 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } -#line 2713 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2747 "ntp_parser.c" /* yacc.c:1646 */ break; - case 176: -#line 984 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 178: +#line 1007 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2719 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2753 "ntp_parser.c" /* yacc.c:1646 */ break; - case 177: -#line 986 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 179: +#line 1009 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); @@ -2728,89 +2762,89 @@ yyreduce: yyerror("fudge factor: stratum value not in [0..16], ignored"); } } -#line 2732 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2766 "ntp_parser.c" /* yacc.c:1646 */ break; - case 178: -#line 995 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 180: +#line 1018 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } -#line 2738 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2772 "ntp_parser.c" /* yacc.c:1646 */ break; - case 179: -#line 997 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 181: +#line 1020 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } -#line 2744 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2778 "ntp_parser.c" /* yacc.c:1646 */ break; - case 186: -#line 1018 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 188: +#line 1041 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); } -#line 2750 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2784 "ntp_parser.c" /* yacc.c:1646 */ break; - case 187: -#line 1023 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 189: +#line 1046 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2759 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2793 "ntp_parser.c" /* yacc.c:1646 */ break; - case 188: -#line 1028 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 190: +#line 1051 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2768 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2802 "ntp_parser.c" /* yacc.c:1646 */ break; - case 189: -#line 1036 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 191: +#line 1059 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2774 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2808 "ntp_parser.c" /* yacc.c:1646 */ break; - case 193: -#line 1052 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 195: +#line 1075 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); } -#line 2780 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2814 "ntp_parser.c" /* yacc.c:1646 */ break; - case 194: -#line 1054 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 196: +#line 1077 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); } -#line 2786 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2820 "ntp_parser.c" /* yacc.c:1646 */ break; - case 195: -#line 1059 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 197: +#line 1082 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2795 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2829 "ntp_parser.c" /* yacc.c:1646 */ break; - case 196: -#line 1064 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 198: +#line 1087 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2804 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2838 "ntp_parser.c" /* yacc.c:1646 */ break; - case 197: -#line 1072 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 199: +#line 1095 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } -#line 2810 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2844 "ntp_parser.c" /* yacc.c:1646 */ break; - case 198: -#line 1074 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 200: +#line 1097 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); @@ -2824,74 +2858,74 @@ yyreduce: yyerror(err_str); } } -#line 2828 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2862 "ntp_parser.c" /* yacc.c:1646 */ break; - case 211: -#line 1113 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 213: +#line 1136 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); } -#line 2834 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2868 "ntp_parser.c" /* yacc.c:1646 */ break; - case 212: -#line 1118 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 214: +#line 1141 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2843 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2877 "ntp_parser.c" /* yacc.c:1646 */ break; - case 213: -#line 1123 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 215: +#line 1146 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2852 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2886 "ntp_parser.c" /* yacc.c:1646 */ break; - case 214: -#line 1131 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 216: +#line 1154 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } -#line 2858 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2892 "ntp_parser.c" /* yacc.c:1646 */ break; - case 227: -#line 1156 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 229: +#line 1179 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { attr_val *av; av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); APPEND_G_FIFO(cfgt.vars, av); } -#line 2869 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2903 "ntp_parser.c" /* yacc.c:1646 */ break; - case 228: -#line 1163 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 230: +#line 1186 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { attr_val *av; av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); APPEND_G_FIFO(cfgt.vars, av); } -#line 2880 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2914 "ntp_parser.c" /* yacc.c:1646 */ break; - case 229: -#line 1170 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 231: +#line 1193 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { attr_val *av; av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); APPEND_G_FIFO(cfgt.vars, av); } -#line 2891 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2925 "ntp_parser.c" /* yacc.c:1646 */ break; - case 230: -#line 1177 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 232: +#line 1200 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { char error_text[64]; attr_val *av; @@ -2907,11 +2941,11 @@ yyreduce: yyerror(error_text); } } -#line 2911 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2945 "ntp_parser.c" /* yacc.c:1646 */ break; - case 231: -#line 1193 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 233: +#line 1216 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if (!lex_from_file()) { YYFREE((yyvsp[-1].String)); /* avoid leak */ @@ -2930,68 +2964,68 @@ yyreduce: } YYFREE((yyvsp[-1].String)); /* avoid leak */ } -#line 2934 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2968 "ntp_parser.c" /* yacc.c:1646 */ break; - case 232: -#line 1212 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 234: +#line 1235 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { lex_flush_stack(); } -#line 2940 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2974 "ntp_parser.c" /* yacc.c:1646 */ break; - case 233: -#line 1214 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 235: +#line 1237 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { /* see drift_parm below for actions */ } -#line 2946 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2980 "ntp_parser.c" /* yacc.c:1646 */ break; - case 234: -#line 1216 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 236: +#line 1239 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); } -#line 2952 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2986 "ntp_parser.c" /* yacc.c:1646 */ break; - case 235: -#line 1218 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 237: +#line 1241 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); } -#line 2958 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2992 "ntp_parser.c" /* yacc.c:1646 */ break; - case 236: -#line 1220 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 238: +#line 1243 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); } -#line 2964 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 2998 "ntp_parser.c" /* yacc.c:1646 */ break; - case 237: -#line 1222 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 239: +#line 1245 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { addr_opts_node *aon; aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); APPEND_G_FIFO(cfgt.trap, aon); } -#line 2975 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3009 "ntp_parser.c" /* yacc.c:1646 */ break; - case 238: -#line 1229 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 240: +#line 1252 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); } -#line 2981 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3015 "ntp_parser.c" /* yacc.c:1646 */ break; - case 243: -#line 1244 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 245: +#line 1267 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { #ifndef LEAP_SMEAR yyerror("Built without LEAP_SMEAR support."); #endif } -#line 2991 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3025 "ntp_parser.c" /* yacc.c:1646 */ break; - case 249: -#line 1264 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 251: +#line 1287 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { attr_val *av; @@ -3002,11 +3036,11 @@ yyreduce: yyerror("driftfile remote configuration ignored"); } } -#line 3006 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3040 "ntp_parser.c" /* yacc.c:1646 */ break; - case 250: -#line 1275 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 252: +#line 1298 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { attr_val *av; @@ -3019,11 +3053,11 @@ yyreduce: yyerror("driftfile remote configuration ignored"); } } -#line 3023 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3057 "ntp_parser.c" /* yacc.c:1646 */ break; - case 251: -#line 1288 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 253: +#line 1311 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { attr_val *av; @@ -3033,71 +3067,71 @@ yyreduce: yyerror("driftfile remote configuration ignored"); } } -#line 3037 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3071 "ntp_parser.c" /* yacc.c:1646 */ break; - case 252: -#line 1301 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 254: +#line 1324 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); } -#line 3043 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3077 "ntp_parser.c" /* yacc.c:1646 */ break; - case 254: -#line 1307 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 256: +#line 1330 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = 0; } -#line 3049 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3083 "ntp_parser.c" /* yacc.c:1646 */ break; - case 255: -#line 1312 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 257: +#line 1335 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; } -#line 3055 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3089 "ntp_parser.c" /* yacc.c:1646 */ break; - case 256: -#line 1314 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 258: +#line 1337 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3064 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3098 "ntp_parser.c" /* yacc.c:1646 */ break; - case 257: -#line 1322 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 259: +#line 1345 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 3070 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3104 "ntp_parser.c" /* yacc.c:1646 */ break; - case 258: -#line 1324 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 260: +#line 1347 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address)); destroy_address_node((yyvsp[0].Address_node)); } -#line 3079 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3113 "ntp_parser.c" /* yacc.c:1646 */ break; - case 259: -#line 1332 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 261: +#line 1355 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3088 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3122 "ntp_parser.c" /* yacc.c:1646 */ break; - case 260: -#line 1337 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 262: +#line 1360 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3097 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3131 "ntp_parser.c" /* yacc.c:1646 */ break; - case 261: -#line 1345 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 263: +#line 1368 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { char prefix; char * type; @@ -3119,141 +3153,141 @@ yyreduce: (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type)); YYFREE((yyvsp[0].String)); } -#line 3123 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3157 "ntp_parser.c" /* yacc.c:1646 */ break; - case 262: -#line 1370 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 264: +#line 1393 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { nic_rule_node *nrn; nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer)); APPEND_G_FIFO(cfgt.nic_rules, nrn); } -#line 3134 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3168 "ntp_parser.c" /* yacc.c:1646 */ break; - case 263: -#line 1377 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 265: +#line 1400 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { nic_rule_node *nrn; nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer)); APPEND_G_FIFO(cfgt.nic_rules, nrn); } -#line 3145 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3179 "ntp_parser.c" /* yacc.c:1646 */ break; - case 273: -#line 1405 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 275: +#line 1428 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); } -#line 3151 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3185 "ntp_parser.c" /* yacc.c:1646 */ break; - case 274: -#line 1410 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 276: +#line 1433 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 3160 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3194 "ntp_parser.c" /* yacc.c:1646 */ break; - case 275: -#line 1415 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 277: +#line 1438 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = NULL; APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 3169 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3203 "ntp_parser.c" /* yacc.c:1646 */ break; - case 283: -#line 1439 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 285: +#line 1462 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); } -#line 3178 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3212 "ntp_parser.c" /* yacc.c:1646 */ break; - case 284: -#line 1444 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 286: +#line 1467 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); } -#line 3187 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3221 "ntp_parser.c" /* yacc.c:1646 */ break; - case 285: -#line 1452 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 287: +#line 1475 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3196 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3230 "ntp_parser.c" /* yacc.c:1646 */ break; - case 286: -#line 1457 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 288: +#line 1480 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3205 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3239 "ntp_parser.c" /* yacc.c:1646 */ break; - case 287: -#line 1465 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 289: +#line 1488 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); } -#line 3211 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3245 "ntp_parser.c" /* yacc.c:1646 */ break; - case 289: -#line 1471 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 291: +#line 1494 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); } -#line 3217 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3251 "ntp_parser.c" /* yacc.c:1646 */ break; - case 290: -#line 1476 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 292: +#line 1499 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.String_fifo) = (yyvsp[-1].String_fifo); APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); } -#line 3226 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3260 "ntp_parser.c" /* yacc.c:1646 */ break; - case 291: -#line 1481 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 293: +#line 1504 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.String_fifo) = NULL; APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); } -#line 3235 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3269 "ntp_parser.c" /* yacc.c:1646 */ break; - case 292: -#line 1489 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 294: +#line 1512 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_fifo) = (yyvsp[-1].Address_fifo); APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); } -#line 3244 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3278 "ntp_parser.c" /* yacc.c:1646 */ break; - case 293: -#line 1494 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 295: +#line 1517 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_fifo) = NULL; APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); } -#line 3253 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3287 "ntp_parser.c" /* yacc.c:1646 */ break; - case 294: -#line 1502 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 296: +#line 1525 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) { yyerror("Integer value is not boolean (0 or 1). Assuming 1"); @@ -3262,35 +3296,35 @@ yyreduce: (yyval.Integer) = (yyvsp[0].Integer); } } -#line 3266 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3300 "ntp_parser.c" /* yacc.c:1646 */ break; - case 295: -#line 1510 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 297: +#line 1533 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = 1; } -#line 3272 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3306 "ntp_parser.c" /* yacc.c:1646 */ break; - case 296: -#line 1511 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 298: +#line 1534 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = 0; } -#line 3278 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3312 "ntp_parser.c" /* yacc.c:1646 */ break; - case 297: -#line 1515 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 299: +#line 1538 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Double) = (double)(yyvsp[0].Integer); } -#line 3284 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3318 "ntp_parser.c" /* yacc.c:1646 */ break; - case 299: -#line 1521 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 301: +#line 1544 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = basedate_eval_string((yyvsp[0].String)); YYFREE((yyvsp[0].String)); } -#line 3290 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3324 "ntp_parser.c" /* yacc.c:1646 */ break; - case 300: -#line 1529 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 302: +#line 1552 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { sim_node *sn; @@ -3300,125 +3334,125 @@ yyreduce: /* Revert from ; to \n for end-of-command */ old_config_style = 1; } -#line 3304 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3338 "ntp_parser.c" /* yacc.c:1646 */ break; - case 301: -#line 1546 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 303: +#line 1569 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { old_config_style = 0; } -#line 3310 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3344 "ntp_parser.c" /* yacc.c:1646 */ break; - case 302: -#line 1551 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 304: +#line 1574 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); } -#line 3319 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3353 "ntp_parser.c" /* yacc.c:1646 */ break; - case 303: -#line 1556 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 305: +#line 1579 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); } -#line 3328 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3362 "ntp_parser.c" /* yacc.c:1646 */ break; - case 304: -#line 1564 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 306: +#line 1587 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } -#line 3334 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3368 "ntp_parser.c" /* yacc.c:1646 */ break; - case 307: -#line 1574 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 309: +#line 1597 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo); APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); } -#line 3343 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3377 "ntp_parser.c" /* yacc.c:1646 */ break; - case 308: -#line 1579 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 310: +#line 1602 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_server_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); } -#line 3352 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3386 "ntp_parser.c" /* yacc.c:1646 */ break; - case 309: -#line 1587 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 311: +#line 1610 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); } -#line 3358 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3392 "ntp_parser.c" /* yacc.c:1646 */ break; - case 310: -#line 1592 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 312: +#line 1615 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Double) = (yyvsp[-1].Double); } -#line 3364 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3398 "ntp_parser.c" /* yacc.c:1646 */ break; - case 311: -#line 1597 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 313: +#line 1620 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_node) = (yyvsp[0].Address_node); } -#line 3370 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3404 "ntp_parser.c" /* yacc.c:1646 */ break; - case 312: -#line 1602 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 314: +#line 1625 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo); APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); } -#line 3379 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3413 "ntp_parser.c" /* yacc.c:1646 */ break; - case 313: -#line 1607 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 315: +#line 1630 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_script_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); } -#line 3388 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3422 "ntp_parser.c" /* yacc.c:1646 */ break; - case 314: -#line 1615 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 316: +#line 1638 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); } -#line 3394 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3428 "ntp_parser.c" /* yacc.c:1646 */ break; - case 315: -#line 1620 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 317: +#line 1643 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); } -#line 3403 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3437 "ntp_parser.c" /* yacc.c:1646 */ break; - case 316: -#line 1625 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 318: +#line 1648 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); } -#line 3412 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3446 "ntp_parser.c" /* yacc.c:1646 */ break; - case 317: -#line 1633 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ + case 319: +#line 1656 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } -#line 3418 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3452 "ntp_parser.c" /* yacc.c:1646 */ break; -#line 3422 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ +#line 3456 "ntp_parser.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3646,7 +3680,7 @@ yyreturn: #endif return yyresult; } -#line 1644 "../../ntpd/ntp_parser.y" /* yacc.c:1906 */ +#line 1667 "../../ntpd/ntp_parser.y" /* yacc.c:1906 */ void diff --git a/ntpd/ntp_parser.h b/ntpd/ntp_parser.h index ed0da4fe27..308c2d4058 100644 --- a/ntpd/ntp_parser.h +++ b/ntpd/ntp_parser.h @@ -30,8 +30,8 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -#ifndef YY_YY_Y_TAB_H_INCLUDED -# define YY_YY_Y_TAB_H_INCLUDED +#ifndef YY_YY_NTP_PARSER_H_INCLUDED +# define YY_YY_NTP_PARSER_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 @@ -110,140 +110,141 @@ extern int yydebug; T_Interface = 320, T_Intrange = 321, T_Io = 322, - T_Ipv4 = 323, - T_Ipv4_flag = 324, - T_Ipv6 = 325, - T_Ipv6_flag = 326, - T_Kernel = 327, - T_Key = 328, - T_Keys = 329, - T_Keysdir = 330, - T_Kod = 331, - T_Mssntp = 332, - T_Leapfile = 333, - T_Leapsmearinterval = 334, - T_Limited = 335, - T_Link = 336, - T_Listen = 337, - T_Logconfig = 338, - T_Logfile = 339, - T_Loopstats = 340, - T_Lowpriotrap = 341, - T_Manycastclient = 342, - T_Manycastserver = 343, - T_Mask = 344, - T_Maxage = 345, - T_Maxclock = 346, - T_Maxdepth = 347, - T_Maxdist = 348, - T_Maxmem = 349, - T_Maxpoll = 350, - T_Mdnstries = 351, - T_Mem = 352, - T_Memlock = 353, - T_Minclock = 354, - T_Mindepth = 355, - T_Mindist = 356, - T_Minimum = 357, - T_Minpoll = 358, - T_Minsane = 359, - T_Mode = 360, - T_Mode7 = 361, - T_Monitor = 362, - T_Month = 363, - T_Mru = 364, - T_Multicastclient = 365, - T_Nic = 366, - T_Nolink = 367, - T_Nomodify = 368, - T_Nomrulist = 369, - T_None = 370, - T_Nonvolatile = 371, - T_Noepeer = 372, - T_Nopeer = 373, - T_Noquery = 374, - T_Noselect = 375, - T_Noserve = 376, - T_Notrap = 377, - T_Notrust = 378, - T_Ntp = 379, - T_Ntpport = 380, - T_NtpSignDsocket = 381, - T_Orphan = 382, - T_Orphanwait = 383, - T_PCEdigest = 384, - T_Panic = 385, - T_Peer = 386, - T_Peerstats = 387, - T_Phone = 388, - T_Pid = 389, - T_Pidfile = 390, - T_Pool = 391, - T_Port = 392, - T_Preempt = 393, - T_Prefer = 394, - T_Protostats = 395, - T_Pw = 396, - T_Randfile = 397, - T_Rawstats = 398, - T_Refid = 399, - T_Requestkey = 400, - T_Reset = 401, - T_Restrict = 402, - T_Revoke = 403, - T_Rlimit = 404, - T_Saveconfigdir = 405, - T_Server = 406, - T_Setvar = 407, - T_Source = 408, - T_Stacksize = 409, - T_Statistics = 410, - T_Stats = 411, - T_Statsdir = 412, - T_Step = 413, - T_Stepback = 414, - T_Stepfwd = 415, - T_Stepout = 416, - T_Stratum = 417, - T_String = 418, - T_Sys = 419, - T_Sysstats = 420, - T_Tick = 421, - T_Time1 = 422, - T_Time2 = 423, - T_Timer = 424, - T_Timingstats = 425, - T_Tinker = 426, - T_Tos = 427, - T_Trap = 428, - T_True = 429, - T_Trustedkey = 430, - T_Ttl = 431, - T_Type = 432, - T_U_int = 433, - T_UEcrypto = 434, - T_UEcryptonak = 435, - T_UEdigest = 436, - T_Unconfig = 437, - T_Unpeer = 438, - T_Version = 439, - T_WanderThreshold = 440, - T_Week = 441, - T_Wildcard = 442, - T_Xleave = 443, - T_Year = 444, - T_Flag = 445, - T_EOC = 446, - T_Simulate = 447, - T_Beep_Delay = 448, - T_Sim_Duration = 449, - T_Server_Offset = 450, - T_Duration = 451, - T_Freq_Offset = 452, - T_Wander = 453, - T_Jitter = 454, - T_Prop_Delay = 455, - T_Proc_Delay = 456 + T_Ippeerlimit = 323, + T_Ipv4 = 324, + T_Ipv4_flag = 325, + T_Ipv6 = 326, + T_Ipv6_flag = 327, + T_Kernel = 328, + T_Key = 329, + T_Keys = 330, + T_Keysdir = 331, + T_Kod = 332, + T_Mssntp = 333, + T_Leapfile = 334, + T_Leapsmearinterval = 335, + T_Limited = 336, + T_Link = 337, + T_Listen = 338, + T_Logconfig = 339, + T_Logfile = 340, + T_Loopstats = 341, + T_Lowpriotrap = 342, + T_Manycastclient = 343, + T_Manycastserver = 344, + T_Mask = 345, + T_Maxage = 346, + T_Maxclock = 347, + T_Maxdepth = 348, + T_Maxdist = 349, + T_Maxmem = 350, + T_Maxpoll = 351, + T_Mdnstries = 352, + T_Mem = 353, + T_Memlock = 354, + T_Minclock = 355, + T_Mindepth = 356, + T_Mindist = 357, + T_Minimum = 358, + T_Minpoll = 359, + T_Minsane = 360, + T_Mode = 361, + T_Mode7 = 362, + T_Monitor = 363, + T_Month = 364, + T_Mru = 365, + T_Multicastclient = 366, + T_Nic = 367, + T_Nolink = 368, + T_Nomodify = 369, + T_Nomrulist = 370, + T_None = 371, + T_Nonvolatile = 372, + T_Noepeer = 373, + T_Nopeer = 374, + T_Noquery = 375, + T_Noselect = 376, + T_Noserve = 377, + T_Notrap = 378, + T_Notrust = 379, + T_Ntp = 380, + T_Ntpport = 381, + T_NtpSignDsocket = 382, + T_Orphan = 383, + T_Orphanwait = 384, + T_PCEdigest = 385, + T_Panic = 386, + T_Peer = 387, + T_Peerstats = 388, + T_Phone = 389, + T_Pid = 390, + T_Pidfile = 391, + T_Pool = 392, + T_Port = 393, + T_Preempt = 394, + T_Prefer = 395, + T_Protostats = 396, + T_Pw = 397, + T_Randfile = 398, + T_Rawstats = 399, + T_Refid = 400, + T_Requestkey = 401, + T_Reset = 402, + T_Restrict = 403, + T_Revoke = 404, + T_Rlimit = 405, + T_Saveconfigdir = 406, + T_Server = 407, + T_Setvar = 408, + T_Source = 409, + T_Stacksize = 410, + T_Statistics = 411, + T_Stats = 412, + T_Statsdir = 413, + T_Step = 414, + T_Stepback = 415, + T_Stepfwd = 416, + T_Stepout = 417, + T_Stratum = 418, + T_String = 419, + T_Sys = 420, + T_Sysstats = 421, + T_Tick = 422, + T_Time1 = 423, + T_Time2 = 424, + T_Timer = 425, + T_Timingstats = 426, + T_Tinker = 427, + T_Tos = 428, + T_Trap = 429, + T_True = 430, + T_Trustedkey = 431, + T_Ttl = 432, + T_Type = 433, + T_U_int = 434, + T_UEcrypto = 435, + T_UEcryptonak = 436, + T_UEdigest = 437, + T_Unconfig = 438, + T_Unpeer = 439, + T_Version = 440, + T_WanderThreshold = 441, + T_Week = 442, + T_Wildcard = 443, + T_Xleave = 444, + T_Year = 445, + T_Flag = 446, + T_EOC = 447, + T_Simulate = 448, + T_Beep_Delay = 449, + T_Sim_Duration = 450, + T_Server_Offset = 451, + T_Duration = 452, + T_Freq_Offset = 453, + T_Wander = 454, + T_Jitter = 455, + T_Prop_Delay = 456, + T_Proc_Delay = 457 }; #endif /* Tokens. */ @@ -312,140 +313,141 @@ extern int yydebug; #define T_Interface 320 #define T_Intrange 321 #define T_Io 322 -#define T_Ipv4 323 -#define T_Ipv4_flag 324 -#define T_Ipv6 325 -#define T_Ipv6_flag 326 -#define T_Kernel 327 -#define T_Key 328 -#define T_Keys 329 -#define T_Keysdir 330 -#define T_Kod 331 -#define T_Mssntp 332 -#define T_Leapfile 333 -#define T_Leapsmearinterval 334 -#define T_Limited 335 -#define T_Link 336 -#define T_Listen 337 -#define T_Logconfig 338 -#define T_Logfile 339 -#define T_Loopstats 340 -#define T_Lowpriotrap 341 -#define T_Manycastclient 342 -#define T_Manycastserver 343 -#define T_Mask 344 -#define T_Maxage 345 -#define T_Maxclock 346 -#define T_Maxdepth 347 -#define T_Maxdist 348 -#define T_Maxmem 349 -#define T_Maxpoll 350 -#define T_Mdnstries 351 -#define T_Mem 352 -#define T_Memlock 353 -#define T_Minclock 354 -#define T_Mindepth 355 -#define T_Mindist 356 -#define T_Minimum 357 -#define T_Minpoll 358 -#define T_Minsane 359 -#define T_Mode 360 -#define T_Mode7 361 -#define T_Monitor 362 -#define T_Month 363 -#define T_Mru 364 -#define T_Multicastclient 365 -#define T_Nic 366 -#define T_Nolink 367 -#define T_Nomodify 368 -#define T_Nomrulist 369 -#define T_None 370 -#define T_Nonvolatile 371 -#define T_Noepeer 372 -#define T_Nopeer 373 -#define T_Noquery 374 -#define T_Noselect 375 -#define T_Noserve 376 -#define T_Notrap 377 -#define T_Notrust 378 -#define T_Ntp 379 -#define T_Ntpport 380 -#define T_NtpSignDsocket 381 -#define T_Orphan 382 -#define T_Orphanwait 383 -#define T_PCEdigest 384 -#define T_Panic 385 -#define T_Peer 386 -#define T_Peerstats 387 -#define T_Phone 388 -#define T_Pid 389 -#define T_Pidfile 390 -#define T_Pool 391 -#define T_Port 392 -#define T_Preempt 393 -#define T_Prefer 394 -#define T_Protostats 395 -#define T_Pw 396 -#define T_Randfile 397 -#define T_Rawstats 398 -#define T_Refid 399 -#define T_Requestkey 400 -#define T_Reset 401 -#define T_Restrict 402 -#define T_Revoke 403 -#define T_Rlimit 404 -#define T_Saveconfigdir 405 -#define T_Server 406 -#define T_Setvar 407 -#define T_Source 408 -#define T_Stacksize 409 -#define T_Statistics 410 -#define T_Stats 411 -#define T_Statsdir 412 -#define T_Step 413 -#define T_Stepback 414 -#define T_Stepfwd 415 -#define T_Stepout 416 -#define T_Stratum 417 -#define T_String 418 -#define T_Sys 419 -#define T_Sysstats 420 -#define T_Tick 421 -#define T_Time1 422 -#define T_Time2 423 -#define T_Timer 424 -#define T_Timingstats 425 -#define T_Tinker 426 -#define T_Tos 427 -#define T_Trap 428 -#define T_True 429 -#define T_Trustedkey 430 -#define T_Ttl 431 -#define T_Type 432 -#define T_U_int 433 -#define T_UEcrypto 434 -#define T_UEcryptonak 435 -#define T_UEdigest 436 -#define T_Unconfig 437 -#define T_Unpeer 438 -#define T_Version 439 -#define T_WanderThreshold 440 -#define T_Week 441 -#define T_Wildcard 442 -#define T_Xleave 443 -#define T_Year 444 -#define T_Flag 445 -#define T_EOC 446 -#define T_Simulate 447 -#define T_Beep_Delay 448 -#define T_Sim_Duration 449 -#define T_Server_Offset 450 -#define T_Duration 451 -#define T_Freq_Offset 452 -#define T_Wander 453 -#define T_Jitter 454 -#define T_Prop_Delay 455 -#define T_Proc_Delay 456 +#define T_Ippeerlimit 323 +#define T_Ipv4 324 +#define T_Ipv4_flag 325 +#define T_Ipv6 326 +#define T_Ipv6_flag 327 +#define T_Kernel 328 +#define T_Key 329 +#define T_Keys 330 +#define T_Keysdir 331 +#define T_Kod 332 +#define T_Mssntp 333 +#define T_Leapfile 334 +#define T_Leapsmearinterval 335 +#define T_Limited 336 +#define T_Link 337 +#define T_Listen 338 +#define T_Logconfig 339 +#define T_Logfile 340 +#define T_Loopstats 341 +#define T_Lowpriotrap 342 +#define T_Manycastclient 343 +#define T_Manycastserver 344 +#define T_Mask 345 +#define T_Maxage 346 +#define T_Maxclock 347 +#define T_Maxdepth 348 +#define T_Maxdist 349 +#define T_Maxmem 350 +#define T_Maxpoll 351 +#define T_Mdnstries 352 +#define T_Mem 353 +#define T_Memlock 354 +#define T_Minclock 355 +#define T_Mindepth 356 +#define T_Mindist 357 +#define T_Minimum 358 +#define T_Minpoll 359 +#define T_Minsane 360 +#define T_Mode 361 +#define T_Mode7 362 +#define T_Monitor 363 +#define T_Month 364 +#define T_Mru 365 +#define T_Multicastclient 366 +#define T_Nic 367 +#define T_Nolink 368 +#define T_Nomodify 369 +#define T_Nomrulist 370 +#define T_None 371 +#define T_Nonvolatile 372 +#define T_Noepeer 373 +#define T_Nopeer 374 +#define T_Noquery 375 +#define T_Noselect 376 +#define T_Noserve 377 +#define T_Notrap 378 +#define T_Notrust 379 +#define T_Ntp 380 +#define T_Ntpport 381 +#define T_NtpSignDsocket 382 +#define T_Orphan 383 +#define T_Orphanwait 384 +#define T_PCEdigest 385 +#define T_Panic 386 +#define T_Peer 387 +#define T_Peerstats 388 +#define T_Phone 389 +#define T_Pid 390 +#define T_Pidfile 391 +#define T_Pool 392 +#define T_Port 393 +#define T_Preempt 394 +#define T_Prefer 395 +#define T_Protostats 396 +#define T_Pw 397 +#define T_Randfile 398 +#define T_Rawstats 399 +#define T_Refid 400 +#define T_Requestkey 401 +#define T_Reset 402 +#define T_Restrict 403 +#define T_Revoke 404 +#define T_Rlimit 405 +#define T_Saveconfigdir 406 +#define T_Server 407 +#define T_Setvar 408 +#define T_Source 409 +#define T_Stacksize 410 +#define T_Statistics 411 +#define T_Stats 412 +#define T_Statsdir 413 +#define T_Step 414 +#define T_Stepback 415 +#define T_Stepfwd 416 +#define T_Stepout 417 +#define T_Stratum 418 +#define T_String 419 +#define T_Sys 420 +#define T_Sysstats 421 +#define T_Tick 422 +#define T_Time1 423 +#define T_Time2 424 +#define T_Timer 425 +#define T_Timingstats 426 +#define T_Tinker 427 +#define T_Tos 428 +#define T_Trap 429 +#define T_True 430 +#define T_Trustedkey 431 +#define T_Ttl 432 +#define T_Type 433 +#define T_U_int 434 +#define T_UEcrypto 435 +#define T_UEcryptonak 436 +#define T_UEdigest 437 +#define T_Unconfig 438 +#define T_Unpeer 439 +#define T_Version 440 +#define T_WanderThreshold 441 +#define T_Week 442 +#define T_Wildcard 443 +#define T_Xleave 444 +#define T_Year 445 +#define T_Flag 446 +#define T_EOC 447 +#define T_Simulate 448 +#define T_Beep_Delay 449 +#define T_Sim_Duration 450 +#define T_Server_Offset 451 +#define T_Duration 452 +#define T_Freq_Offset 453 +#define T_Wander 454 +#define T_Jitter 455 +#define T_Prop_Delay 456 +#define T_Proc_Delay 457 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -471,7 +473,7 @@ union YYSTYPE script_info * Sim_script; script_info_fifo * Sim_script_fifo; -#line 475 "../../ntpd/ntp_parser.h" /* yacc.c:1909 */ +#line 477 "ntp_parser.h" /* yacc.c:1909 */ }; typedef union YYSTYPE YYSTYPE; @@ -484,4 +486,4 @@ extern YYSTYPE yylval; int yyparse (void); -#endif /* !YY_YY_Y_TAB_H_INCLUDED */ +#endif /* !YY_YY_NTP_PARSER_H_INCLUDED */ diff --git a/ntpd/ntp_parser.y b/ntpd/ntp_parser.y index e96cdbe2ba..5049cf3408 100644 --- a/ntpd/ntp_parser.y +++ b/ntpd/ntp_parser.y @@ -133,6 +133,7 @@ %token T_Interface %token T_Intrange /* not a token */ %token T_Io +%token T_Ippeerlimit %token T_Ipv4 %token T_Ipv4_flag %token T_Ipv6 @@ -306,6 +307,7 @@ %type interface_command %type interface_nic %type ip_address +%type res_ippeerlimit %type link_nolink %type log_config_command %type log_config_list @@ -802,31 +804,31 @@ access_control_command { CONCAT_G_FIFOS(cfgt.mru_opts, $2); } - | T_Restrict address ac_flag_list + | T_Restrict address res_ippeerlimit ac_flag_list { restrict_node *rn; - rn = create_restrict_node($2, NULL, $3, + rn = create_restrict_node($2, NULL, $3, $4, lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } - | T_Restrict address T_Mask ip_address ac_flag_list + | T_Restrict address T_Mask ip_address res_ippeerlimit ac_flag_list { restrict_node *rn; - rn = create_restrict_node($2, $4, $5, + rn = create_restrict_node($2, $4, $5, $6, lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } - | T_Restrict T_Default ac_flag_list + | T_Restrict T_Default res_ippeerlimit ac_flag_list { restrict_node *rn; - rn = create_restrict_node(NULL, NULL, $3, + rn = create_restrict_node(NULL, NULL, $3, $4, lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } - | T_Restrict T_Ipv4_flag T_Default ac_flag_list + | T_Restrict T_Ipv4_flag T_Default res_ippeerlimit ac_flag_list { restrict_node *rn; @@ -837,11 +839,11 @@ access_control_command create_address_node( estrdup("0.0.0.0"), AF_INET), - $4, + $4, $5, lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } - | T_Restrict T_Ipv6_flag T_Default ac_flag_list + | T_Restrict T_Ipv6_flag T_Default res_ippeerlimit ac_flag_list { restrict_node *rn; @@ -852,21 +854,42 @@ access_control_command create_address_node( estrdup("::"), AF_INET6), - $4, + $4, $5, lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } - | T_Restrict T_Source ac_flag_list + | T_Restrict T_Source res_ippeerlimit ac_flag_list { restrict_node * rn; - APPEND_G_FIFO($3, create_int_node($2)); + APPEND_G_FIFO($4, create_int_node($2)); rn = create_restrict_node( - NULL, NULL, $3, lex_current()->curpos.nline); + NULL, NULL, $3, $4, lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } ; +res_ippeerlimit + : /* empty ippeerlimit defaults to -1 (unlimited) */ + { $$ = -1; } + | T_Ippeerlimit T_Integer + { + if (($2 < -1) || ($2 > 100)) { + struct FILE_INFO * ip_ctx; + + ip_ctx = lex_current(); + msyslog(LOG_ERR, + "Unreasonable ippeerlimit value (%d) in %s line %d, column %d. Using 0.", + $2, + ip_ctx->fname, + ip_ctx->errpos.nline, + ip_ctx->errpos.ncol); + $2 = 0; + } + $$ = $2; + } + ; + ac_flag_list : /* empty list is allowed */ { $$ = NULL; } diff --git a/ntpd/ntp_request.c b/ntpd/ntp_request.c index 1463eaa941..894c4d0218 100644 --- a/ntpd/ntp_request.c +++ b/ntpd/ntp_request.c @@ -1840,6 +1840,7 @@ do_restrict( memcpy(&cr, datap, item_sz); cr.flags = ntohs(cr.flags); cr.mflags = ntohs(cr.mflags); + cr.ippeerlimit = ntohs(cr.ippeerlimit); if (client_v6_capable && cr.v6_flag) { AF(&matchaddr) = AF_INET6; AF(&matchmask) = AF_INET6; @@ -1852,7 +1853,7 @@ do_restrict( NSRCADR(&matchmask) = cr.mask; } hack_restrict(op, &matchaddr, &matchmask, cr.mflags, - cr.flags, 0); + cr.ippeerlimit, cr.flags, 0); datap += item_sz; } diff --git a/ntpd/ntp_restrict.c b/ntpd/ntp_restrict.c index ad6c82a32a..abf9e2cd27 100644 --- a/ntpd/ntp_restrict.c +++ b/ntpd/ntp_restrict.c @@ -96,6 +96,7 @@ static restrict_u restrict_def6; static int restrict_source_enabled; static u_short restrict_source_flags; static u_short restrict_source_mflags; +static short restrict_source_ippeerlimit; /* * private functions @@ -484,6 +485,7 @@ hack_restrict( int op, sockaddr_u * resaddr, sockaddr_u * resmask, + short ippeerlimit, u_short mflags, u_short flags, u_long expire @@ -494,14 +496,15 @@ hack_restrict( restrict_u * res; restrict_u ** plisthead; - DPRINTF(1, ("restrict: op %d addr %s mask %s mflags %08x flags %08x\n", - op, stoa(resaddr), stoa(resmask), mflags, flags)); + DPRINTF(1, ("restrict: op %d addr %s mask %s ippeerlimit %d mflags %08x flags %08x\n", + op, stoa(resaddr), stoa(resmask), ippeerlimit, mflags, flags)); if (NULL == resaddr) { REQUIRE(NULL == resmask); REQUIRE(RESTRICT_FLAGS == op); restrict_source_flags = flags; restrict_source_mflags = mflags; + restrict_source_ippeerlimit = ippeerlimit; restrict_source_enabled = 1; return; } @@ -639,7 +642,7 @@ restrict_source( SET_HOSTMASK(&onesmask, AF(addr)); if (farewell) { hack_restrict(RESTRICT_REMOVE, addr, &onesmask, - 0, 0, 0); + -2, 0, 0, 0); DPRINTF(1, ("restrict_source: %s removed", stoa(addr))); return; } @@ -672,8 +675,8 @@ restrict_source( return; hack_restrict(RESTRICT_FLAGS, addr, &onesmask, - restrict_source_mflags, restrict_source_flags, - expire); + restrict_source_ippeerlimit, restrict_source_mflags, + restrict_source_flags, expire); DPRINTF(1, ("restrict_source: %s host restriction added\n", stoa(addr))); } diff --git a/ntpdc/layout.std b/ntpdc/layout.std index 01b46c5c60..0cfd31ae5d 100644 --- a/ntpdc/layout.std +++ b/ntpdc/layout.std @@ -269,14 +269,15 @@ offsetof(unused1) = 20 offsetof(addr6) = 24 offsetof(mask6) = 40 -sizeof(struct conf_restrict) = 48 +sizeof(struct conf_restrict) = 52 offsetof(addr) = 0 offsetof(mask) = 4 -offsetof(flags) = 8 -offsetof(mflags) = 10 -offsetof(v6_flag) = 12 -offsetof(addr6) = 16 -offsetof(mask6) = 32 +offsetof(ippeerlimit) = 8 +offsetof(flags) = 10 +offsetof(mflags) = 12 +offsetof(v6_flag) = 16 +offsetof(addr6) = 20 +offsetof(mask6) = 36 sizeof(struct info_monitor_1) = 72 offsetof(avg_int) = 0 diff --git a/tests/ntpd/ntp_restrict.c b/tests/ntpd/ntp_restrict.c index 7b1a60a049..ea1a25d0a2 100644 --- a/tests/ntpd/ntp_restrict.c +++ b/tests/ntpd/ntp_restrict.c @@ -114,7 +114,7 @@ void test_HackingDefaultRestriction(void) sockaddr_u resmask = create_sockaddr_u(AF_INET, 54321, "0.0.0.0"); - hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, 0, flags, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, -1, 0, flags, 0); sockaddr_u sockaddr = create_sockaddr_u(AF_INET, 54321, "111.123.251.124"); @@ -129,7 +129,7 @@ void test_CantRemoveDefaultEntry(void) sockaddr_u resaddr = create_sockaddr_u(AF_INET, 54321, "0.0.0.0"); sockaddr_u resmask = create_sockaddr_u(AF_INET, 54321, "0.0.0.0"); - hack_restrict(RESTRICT_REMOVE, &resaddr, &resmask, 0, 0, 0); + hack_restrict(RESTRICT_REMOVE, &resaddr, &resmask, -1, 0, 0, 0); TEST_ASSERT_EQUAL(0, restrictions(&resaddr)); } @@ -143,7 +143,7 @@ void test_AddingNewRestriction(void) const u_short flags = 42; - hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, 0, flags, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, -1, 0, flags, 0); TEST_ASSERT_EQUAL(flags, restrictions(&resaddr)); } @@ -164,9 +164,9 @@ void test_TheMostFittingRestrictionIsMatched(void) sockaddr_u resaddr_second_match = create_sockaddr_u(AF_INET, 54321, "11.99.33.44"); sockaddr_u resmask_second_match = create_sockaddr_u(AF_INET, 54321, "255.0.0.0"); - hack_restrict(RESTRICT_FLAGS, &resaddr_not_matching, &resmask_not_matching, 0, 11, 0); - hack_restrict(RESTRICT_FLAGS, &resaddr_best_match, &resmask_best_match, 0, 22, 0); - hack_restrict(RESTRICT_FLAGS, &resaddr_second_match, &resmask_second_match, 0, 128, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_not_matching, &resmask_not_matching, -1, 0, 11, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_best_match, &resmask_best_match, -1, 0, 22, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_second_match, &resmask_second_match, -1, 0, 128, 0); TEST_ASSERT_EQUAL(22, restrictions(&resaddr_target)); } @@ -186,12 +186,12 @@ void test_DeletedRestrictionIsNotMatched(void) sockaddr_u resaddr_second_match = create_sockaddr_u(AF_INET, 54321, "11.99.33.44"); sockaddr_u resmask_second_match = create_sockaddr_u(AF_INET, 54321, "255.0.0.0"); - hack_restrict(RESTRICT_FLAGS, &resaddr_not_matching, &resmask_not_matching, 0, 11, 0); - hack_restrict(RESTRICT_FLAGS, &resaddr_best_match, &resmask_best_match, 0, 22, 0); - hack_restrict(RESTRICT_FLAGS, &resaddr_second_match, &resmask_second_match, 0, 128, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_not_matching, &resmask_not_matching, -1, 0, 11, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_best_match, &resmask_best_match, -1, 0, 22, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr_second_match, &resmask_second_match, -1, 0, 128, 0); /* deleting the best match*/ - hack_restrict(RESTRICT_REMOVE, &resaddr_best_match, &resmask_best_match, 0, 22, 0); + hack_restrict(RESTRICT_REMOVE, &resaddr_best_match, &resmask_best_match, -1, 0, 22, 0); TEST_ASSERT_EQUAL(128, restrictions(&resaddr_target)); } @@ -203,9 +203,9 @@ void test_RestrictUnflagWorks(void) sockaddr_u resaddr = create_sockaddr_u(AF_INET, 54321, "11.22.30.20"); sockaddr_u resmask = create_sockaddr_u(AF_INET, 54321, "255.255.0.0"); - hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, 0, 11, 0); + hack_restrict(RESTRICT_FLAGS, &resaddr, &resmask, -1, 0, 11, 0); - hack_restrict(RESTRICT_UNFLAG, &resaddr, &resmask, 0, 10, 0); + hack_restrict(RESTRICT_UNFLAG, &resaddr, &resmask, -1, 0, 10, 0); TEST_ASSERT_EQUAL(1, restrictions(&resaddr)); }