From: Dave Hart Date: Tue, 26 Jul 2011 00:18:29 +0000 (+0000) Subject: [Bug 1973] Widen reference clock mode from 8 to 32 bits. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c9bed56ce991aeb8ec2d22a1da88da2d312042f;p=thirdparty%2Fntp.git [Bug 1973] Widen reference clock mode from 8 to 32 bits. bk: 4e2e07d5FD7hQOqLPUY8135qk0ohsQ --- diff --git a/ChangeLog b/ChangeLog index 6b3c06ab8a..56f8609f99 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,5 @@ * [Bug 1972] from 4.2.6p4-RC2: checking for struct rtattr fails. +* [Bug 1973] Widen reference clock mode from 8 to 32 bits. (4.2.7p195) 2011/07/25 Released by Harlan Stenn * Added loc/redhat. (4.2.7p194) 2011/07/25 Released by Harlan Stenn diff --git a/include/ntp.h b/include/ntp.h index 074e021f0c..d2574c1c02 100644 --- a/include/ntp.h +++ b/include/ntp.h @@ -266,7 +266,7 @@ struct peer { u_char cast_flags; /* additional flags */ u_char last_event; /* last peer error code */ u_char num_events; /* number of error events */ - u_char ttl; /* ttl/refclock mode */ + u_int32 ttl; /* ttl/refclock mode */ char *ident; /* group identifier name */ /* diff --git a/include/ntp_config.h b/include/ntp_config.h index 0a432aad72..e2a842f8dc 100644 --- a/include/ntp_config.h +++ b/include/ntp_config.h @@ -131,7 +131,7 @@ struct peer_node_tag { attr_val_fifo * peerflags; u_char minpoll; u_char maxpoll; - u_char ttl; + u_int32 ttl; u_char peerversion; keyid_t peerkey; char * group; @@ -299,6 +299,7 @@ address_node *create_address_node(char *addr, int type); void destroy_address_node(address_node *my_node); attr_val *create_attr_dval(int attr, double value); 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, char *s); filegen_node *create_filegen_node(int filegen_token, diff --git a/include/ntpd.h b/include/ntpd.h index 3edb475a15..1a850c7a8f 100644 --- a/include/ntpd.h +++ b/include/ntpd.h @@ -172,14 +172,14 @@ extern void set_peerdstadr (struct peer *peer, endpt *interface); extern struct peer *newpeer (sockaddr_u *, const char *, endpt *, u_char, u_char, - u_char, u_char, u_int, u_char, u_char, + u_char, u_char, u_int, u_char, u_int32, keyid_t, const char *); extern void peer_all_reset (void); extern void peer_clr_stats (void); extern struct peer *peer_config(sockaddr_u *, const char *, endpt *, u_char, u_char, - u_char, u_char, u_int, u_char, keyid_t, - const char *); + u_char, u_char, u_int, u_int32, + keyid_t, const char *); extern void peer_reset (struct peer *); extern void refresh_all_peerinterfaces(void); extern void unpeer (struct peer *); diff --git a/libntp/tsftomsu.c b/libntp/tsftomsu.c index 2d8c6084ad..2a8c15022d 100644 --- a/libntp/tsftomsu.c +++ b/libntp/tsftomsu.c @@ -7,13 +7,15 @@ int tsftomsu( - u_long tsf, - int round + u_long tsf, + int round_it ) { - register long val_ui, val_uf; - register long tmp_ui, tmp_uf; - register int i; + long val_ui; + long val_uf; + long tmp_ui; + long tmp_uf; + int i; /* * Essentially, multiply by 10 three times in l_fp form. @@ -33,7 +35,8 @@ tsftomsu( /* * Round the value if need be, then return it. */ - if (round && (val_uf & 0x80000000)) - val_ui++; + if (round_it && (0x80000000 & val_uf)) + val_ui++; + return (int)val_ui; } diff --git a/ntpd/complete.conf b/ntpd/complete.conf index 485ea036db..bce6ecd05b 100644 --- a/ntpd/complete.conf +++ b/ntpd/complete.conf @@ -26,7 +26,7 @@ disable bclient calibrate kernel tos beacon 3600 ceiling 16 cohort 0 floor 1 maxclock 10 maxdist 1.5 minclock 3 mindist 0.001 minsane 1 orphan 16 orphanwait 300 tinker allan 1500 dispersion 15 freq 0 huffpuff 7200 panic 1000 step 0.128 stepout 900 broadcastclient -server 127.127.1.0 mode 64 prefer true +server 127.127.1.0 mode 4294967295 prefer true fudge 127.127.1.0 time1 0 time2 1.1 stratum 7 refid Abcd pool 0.north-america.pool.ntp.org. iburst preempt server 1.north-america.pool.ntp.org. iburst diff --git a/ntpd/keyword-gen-utd b/ntpd/keyword-gen-utd index 918531ac31..957d9e740d 100644 --- a/ntpd/keyword-gen-utd +++ b/ntpd/keyword-gen-utd @@ -1 +1 @@ - * Generated 2011-07-16 15:02:24 UTC diff_ignore_line + * Generated 2011-07-26 00:04:53 UTC diff_ignore_line diff --git a/ntpd/ntp_config.c b/ntpd/ntp_config.c index c86d99700d..36b22d5fdc 100644 --- a/ntpd/ntp_config.c +++ b/ntpd/ntp_config.c @@ -1052,6 +1052,23 @@ create_attr_ival( } +attr_val * +create_attr_uval( + int attr, + u_int value + ) +{ + attr_val *my_val; + + my_val = emalloc_zero(sizeof(*my_val)); + my_val->attr = attr; + my_val->value.u = value; + my_val->type = T_U_int; + + return my_val; +} + + attr_val * create_attr_rangeval( int attr, @@ -1234,12 +1251,7 @@ create_peer_node( break; case T_Mode: - if (option->value.u >= UCHAR_MAX) { - msyslog(LOG_ERR, "mode: invalid argument"); - errflag = 1; - } else { - my_node->ttl = (u_char)option->value.u; - } + my_node->ttl = option->value.u; break; case T_Key: diff --git a/ntpd/ntp_keyword.h b/ntpd/ntp_keyword.h index f49fcd4b34..38ea7e1843 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 2011-07-16 15:02:24 UTC diff_ignore_line + * Generated 2011-07-26 00:04:53 UTC diff_ignore_line * */ #include "ntp_scanner.h" @@ -10,7 +10,7 @@ #define LOWEST_KEYWORD_ID 258 -const char * const keyword_text[179] = { +const char * const keyword_text[180] = { /* 0 258 T_Age */ "age", /* 1 259 T_All */ "all", /* 2 260 T_Allan */ "allan", @@ -170,26 +170,27 @@ const char * const keyword_text[179] = { /* 156 414 T_Trustedkey */ "trustedkey", /* 157 415 T_Ttl */ "ttl", /* 158 416 T_Type */ "type", - /* 159 417 T_Unconfig */ "unconfig", - /* 160 418 T_Unpeer */ "unpeer", - /* 161 419 T_Version */ "version", - /* 162 420 T_WanderThreshold */ NULL, - /* 163 421 T_Week */ "week", - /* 164 422 T_Wildcard */ "wildcard", - /* 165 423 T_Xleave */ "xleave", - /* 166 424 T_Year */ "year", - /* 167 425 T_Flag */ NULL, - /* 168 426 T_EOC */ NULL, - /* 169 427 T_Simulate */ "simulate", - /* 170 428 T_Beep_Delay */ "beep_delay", - /* 171 429 T_Sim_Duration */ "simulation_duration", - /* 172 430 T_Server_Offset */ "server_offset", - /* 173 431 T_Duration */ "duration", - /* 174 432 T_Freq_Offset */ "freq_offset", - /* 175 433 T_Wander */ "wander", - /* 176 434 T_Jitter */ "jitter", - /* 177 435 T_Prop_Delay */ "prop_delay", - /* 178 436 T_Proc_Delay */ "proc_delay" + /* 159 417 T_U_int */ NULL, + /* 160 418 T_Unconfig */ "unconfig", + /* 161 419 T_Unpeer */ "unpeer", + /* 162 420 T_Version */ "version", + /* 163 421 T_WanderThreshold */ NULL, + /* 164 422 T_Week */ "week", + /* 165 423 T_Wildcard */ "wildcard", + /* 166 424 T_Xleave */ "xleave", + /* 167 425 T_Year */ "year", + /* 168 426 T_Flag */ NULL, + /* 169 427 T_EOC */ NULL, + /* 170 428 T_Simulate */ "simulate", + /* 171 429 T_Beep_Delay */ "beep_delay", + /* 172 430 T_Sim_Duration */ "simulation_duration", + /* 173 431 T_Server_Offset */ "server_offset", + /* 174 432 T_Duration */ "duration", + /* 175 433 T_Freq_Offset */ "freq_offset", + /* 176 434 T_Wander */ "wander", + /* 177 435 T_Jitter */ "jitter", + /* 178 436 T_Prop_Delay */ "prop_delay", + /* 179 437 T_Proc_Delay */ "proc_delay" }; #define SCANNER_INIT_S 795 @@ -236,7 +237,7 @@ const scan_state sst[798] = { S_ST( 'd', 3, 38, 0 ), /* 37 beep_ */ S_ST( 'e', 3, 39, 0 ), /* 38 beep_d */ S_ST( 'l', 3, 40, 0 ), /* 39 beep_de */ - S_ST( 'a', 3, 428, 0 ), /* 40 beep_del */ + S_ST( 'a', 3, 429, 0 ), /* 40 beep_del */ S_ST( 'r', 3, 42, 30 ), /* 41 b */ S_ST( 'o', 3, 43, 0 ), /* 42 br */ S_ST( 'a', 3, 44, 0 ), /* 43 bro */ @@ -334,7 +335,7 @@ const scan_state sst[798] = { S_ST( 'a', 3, 136, 0 ), /* 135 dur */ S_ST( 't', 3, 137, 0 ), /* 136 dura */ S_ST( 'i', 3, 138, 0 ), /* 137 durat */ - S_ST( 'o', 3, 431, 0 ), /* 138 durati */ + S_ST( 'o', 3, 432, 0 ), /* 138 durati */ S_ST( 'e', 3, 140, 101 ), /* 139 */ S_ST( 'n', 3, 291, 0 ), /* 140 e */ S_ST( 'a', 3, 142, 0 ), /* 141 en */ @@ -358,7 +359,7 @@ const scan_state sst[798] = { S_ST( 'f', 3, 160, 0 ), /* 159 freq_o */ S_ST( 'f', 3, 161, 0 ), /* 160 freq_of */ S_ST( 's', 3, 162, 0 ), /* 161 freq_off */ - S_ST( 'e', 3, 432, 0 ), /* 162 freq_offs */ + S_ST( 'e', 3, 433, 0 ), /* 162 freq_offs */ S_ST( 'u', 3, 164, 155 ), /* 163 f */ S_ST( 'd', 3, 165, 0 ), /* 164 fu */ S_ST( 'g', 3, 302, 0 ), /* 165 fud */ @@ -418,7 +419,7 @@ const scan_state sst[798] = { S_ST( 'i', 3, 220, 0 ), /* 219 j */ S_ST( 't', 3, 221, 0 ), /* 220 ji */ S_ST( 't', 3, 222, 0 ), /* 221 jit */ - S_ST( 'e', 3, 434, 0 ), /* 222 jitt */ + S_ST( 'e', 3, 435, 0 ), /* 222 jitt */ S_ST( 'k', 3, 230, 218 ), /* 223 */ S_ST( 'e', 3, 322, 0 ), /* 224 k */ S_ST( 'r', 3, 226, 0 ), /* 225 ke */ @@ -443,7 +444,7 @@ const scan_state sst[798] = { S_ST( 's', 3, 245, 243 ), /* 244 li */ S_ST( 't', 3, 246, 0 ), /* 245 lis */ S_ST( 'e', 3, 330, 0 ), /* 246 list */ - S_ST( 'o', 3, 420, 238 ), /* 247 l */ + S_ST( 'o', 3, 417, 238 ), /* 247 l */ S_ST( 'g', 3, 254, 0 ), /* 248 lo */ S_ST( 'c', 3, 250, 0 ), /* 249 log */ S_ST( 'o', 3, 251, 0 ), /* 250 logc */ @@ -613,27 +614,27 @@ const scan_state sst[798] = { S_ST( 'y', 0, 0, 0 ), /* 414 T_Trustedkey */ S_ST( 'l', 0, 0, 0 ), /* 415 T_Ttl */ S_ST( 'e', 0, 0, 0 ), /* 416 T_Type */ - S_ST( 'g', 1, 0, 0 ), /* 417 T_Unconfig */ - S_ST( 'r', 1, 0, 0 ), /* 418 T_Unpeer */ - S_ST( 'n', 0, 0, 0 ), /* 419 T_Version */ - S_ST( 'w', 3, 425, 257 ), /* 420 lo */ - S_ST( 'k', 0, 0, 0 ), /* 421 T_Week */ - S_ST( 'd', 0, 0, 0 ), /* 422 T_Wildcard */ - S_ST( 'e', 0, 0, 0 ), /* 423 T_Xleave */ - S_ST( 'r', 0, 0, 0 ), /* 424 T_Year */ - S_ST( 'p', 3, 426, 0 ), /* 425 low */ - S_ST( 'r', 3, 437, 0 ), /* 426 lowp */ - S_ST( 'e', 0, 0, 0 ), /* 427 T_Simulate */ - S_ST( 'y', 0, 0, 0 ), /* 428 T_Beep_Delay */ - S_ST( 'n', 0, 0, 0 ), /* 429 T_Sim_Duration */ - S_ST( 't', 0, 0, 0 ), /* 430 T_Server_Offset */ - S_ST( 'n', 0, 0, 0 ), /* 431 T_Duration */ - S_ST( 't', 0, 0, 0 ), /* 432 T_Freq_Offset */ - S_ST( 'r', 0, 0, 0 ), /* 433 T_Wander */ - S_ST( 'r', 0, 0, 0 ), /* 434 T_Jitter */ - S_ST( 'y', 0, 0, 0 ), /* 435 T_Prop_Delay */ - S_ST( 'y', 0, 0, 0 ), /* 436 T_Proc_Delay */ - S_ST( 'i', 3, 438, 0 ), /* 437 lowpr */ + S_ST( 'w', 3, 421, 257 ), /* 417 lo */ + S_ST( 'g', 1, 0, 0 ), /* 418 T_Unconfig */ + S_ST( 'r', 1, 0, 0 ), /* 419 T_Unpeer */ + S_ST( 'n', 0, 0, 0 ), /* 420 T_Version */ + S_ST( 'p', 3, 426, 0 ), /* 421 low */ + S_ST( 'k', 0, 0, 0 ), /* 422 T_Week */ + S_ST( 'd', 0, 0, 0 ), /* 423 T_Wildcard */ + S_ST( 'e', 0, 0, 0 ), /* 424 T_Xleave */ + S_ST( 'r', 0, 0, 0 ), /* 425 T_Year */ + S_ST( 'r', 3, 427, 0 ), /* 426 lowp */ + S_ST( 'i', 3, 438, 0 ), /* 427 lowpr */ + S_ST( 'e', 0, 0, 0 ), /* 428 T_Simulate */ + S_ST( 'y', 0, 0, 0 ), /* 429 T_Beep_Delay */ + S_ST( 'n', 0, 0, 0 ), /* 430 T_Sim_Duration */ + S_ST( 't', 0, 0, 0 ), /* 431 T_Server_Offset */ + S_ST( 'n', 0, 0, 0 ), /* 432 T_Duration */ + S_ST( 't', 0, 0, 0 ), /* 433 T_Freq_Offset */ + S_ST( 'r', 0, 0, 0 ), /* 434 T_Wander */ + S_ST( 'r', 0, 0, 0 ), /* 435 T_Jitter */ + S_ST( 'y', 0, 0, 0 ), /* 436 T_Prop_Delay */ + S_ST( 'y', 0, 0, 0 ), /* 437 T_Proc_Delay */ S_ST( 'o', 3, 439, 0 ), /* 438 lowpri */ S_ST( 't', 3, 440, 0 ), /* 439 lowprio */ S_ST( 'r', 3, 441, 0 ), /* 440 lowpriot */ @@ -815,13 +816,13 @@ const scan_state sst[798] = { S_ST( 'd', 3, 617, 0 ), /* 616 proc_ */ S_ST( 'e', 3, 618, 0 ), /* 617 proc_d */ S_ST( 'l', 3, 619, 0 ), /* 618 proc_de */ - S_ST( 'a', 3, 436, 0 ), /* 619 proc_del */ + S_ST( 'a', 3, 437, 0 ), /* 619 proc_del */ S_ST( 'p', 3, 621, 614 ), /* 620 pro */ S_ST( '_', 3, 622, 0 ), /* 621 prop */ S_ST( 'd', 3, 623, 0 ), /* 622 prop_ */ S_ST( 'e', 3, 624, 0 ), /* 623 prop_d */ S_ST( 'l', 3, 625, 0 ), /* 624 prop_de */ - S_ST( 'a', 3, 435, 0 ), /* 625 prop_del */ + S_ST( 'a', 3, 436, 0 ), /* 625 prop_del */ S_ST( 't', 3, 627, 620 ), /* 626 pro */ S_ST( 'o', 3, 628, 0 ), /* 627 prot */ S_ST( 's', 3, 629, 0 ), /* 628 proto */ @@ -882,7 +883,7 @@ const scan_state sst[798] = { S_ST( 'f', 3, 684, 0 ), /* 683 server_o */ S_ST( 'f', 3, 685, 0 ), /* 684 server_of */ S_ST( 's', 3, 686, 0 ), /* 685 server_off */ - S_ST( 'e', 3, 430, 0 ), /* 686 server_offs */ + S_ST( 'e', 3, 431, 0 ), /* 686 server_offs */ S_ST( 't', 3, 688, 678 ), /* 687 se */ S_ST( 'v', 3, 689, 0 ), /* 688 set */ S_ST( 'a', 3, 394, 0 ), /* 689 setv */ @@ -892,7 +893,7 @@ const scan_state sst[798] = { S_ST( 'l', 3, 694, 0 ), /* 693 simu */ S_ST( 'a', 3, 695, 0 ), /* 694 simul */ S_ST( 't', 3, 696, 0 ), /* 695 simula */ - S_ST( 'i', 3, 697, 427 ), /* 696 simulat */ + S_ST( 'i', 3, 697, 428 ), /* 696 simulat */ S_ST( 'o', 3, 698, 0 ), /* 697 simulati */ S_ST( 'n', 3, 699, 0 ), /* 698 simulatio */ S_ST( '_', 3, 700, 0 ), /* 699 simulation */ @@ -902,7 +903,7 @@ const scan_state sst[798] = { S_ST( 'a', 3, 704, 0 ), /* 703 simulation_dur */ S_ST( 't', 3, 705, 0 ), /* 704 simulation_dura */ S_ST( 'i', 3, 706, 0 ), /* 705 simulation_durat */ - S_ST( 'o', 3, 429, 0 ), /* 706 simulation_durati */ + S_ST( 'o', 3, 430, 0 ), /* 706 simulation_durati */ S_ST( 'o', 3, 708, 690 ), /* 707 s */ S_ST( 'u', 3, 709, 0 ), /* 708 so */ S_ST( 'r', 3, 710, 0 ), /* 709 sou */ @@ -963,36 +964,36 @@ const scan_state sst[798] = { S_ST( 'o', 3, 765, 0 ), /* 764 unc */ S_ST( 'n', 3, 766, 0 ), /* 765 unco */ S_ST( 'f', 3, 767, 0 ), /* 766 uncon */ - S_ST( 'i', 3, 417, 0 ), /* 767 unconf */ + S_ST( 'i', 3, 418, 0 ), /* 767 unconf */ S_ST( 'p', 3, 769, 763 ), /* 768 un */ S_ST( 'e', 3, 770, 0 ), /* 769 unp */ - S_ST( 'e', 3, 418, 0 ), /* 770 unpe */ + S_ST( 'e', 3, 419, 0 ), /* 770 unpe */ S_ST( 'v', 3, 772, 761 ), /* 771 */ S_ST( 'e', 3, 773, 0 ), /* 772 v */ S_ST( 'r', 3, 774, 0 ), /* 773 ve */ S_ST( 's', 3, 775, 0 ), /* 774 ver */ S_ST( 'i', 3, 776, 0 ), /* 775 vers */ - S_ST( 'o', 3, 419, 0 ), /* 776 versi */ + S_ST( 'o', 3, 420, 0 ), /* 776 versi */ S_ST( 'w', 3, 784, 771 ), /* 777 */ S_ST( 'a', 3, 779, 0 ), /* 778 w */ S_ST( 'n', 3, 780, 0 ), /* 779 wa */ S_ST( 'd', 3, 781, 0 ), /* 780 wan */ - S_ST( 'e', 3, 433, 0 ), /* 781 wand */ + S_ST( 'e', 3, 434, 0 ), /* 781 wand */ S_ST( 'e', 3, 783, 778 ), /* 782 w */ - S_ST( 'e', 3, 421, 0 ), /* 783 we */ + S_ST( 'e', 3, 422, 0 ), /* 783 we */ S_ST( 'i', 3, 785, 782 ), /* 784 w */ S_ST( 'l', 3, 786, 0 ), /* 785 wi */ S_ST( 'd', 3, 787, 0 ), /* 786 wil */ S_ST( 'c', 3, 788, 0 ), /* 787 wild */ S_ST( 'a', 3, 789, 0 ), /* 788 wildc */ - S_ST( 'r', 3, 422, 0 ), /* 789 wildca */ + S_ST( 'r', 3, 423, 0 ), /* 789 wildca */ S_ST( 'x', 3, 791, 777 ), /* 790 */ S_ST( 'l', 3, 792, 0 ), /* 791 x */ S_ST( 'e', 3, 793, 0 ), /* 792 xl */ S_ST( 'a', 3, 794, 0 ), /* 793 xle */ - S_ST( 'v', 3, 423, 0 ), /* 794 xlea */ + S_ST( 'v', 3, 424, 0 ), /* 794 xlea */ S_ST( 'y', 3, 796, 790 ), /* 795 [initial state] */ S_ST( 'e', 3, 797, 0 ), /* 796 y */ - S_ST( 'a', 3, 424, 0 ) /* 797 ye */ + S_ST( 'a', 3, 425, 0 ) /* 797 ye */ }; diff --git a/ntpd/ntp_parser.c b/ntpd/ntp_parser.c index 1f08e106f4..8fae897a03 100644 --- a/ntpd/ntp_parser.c +++ b/ntpd/ntp_parser.c @@ -90,14 +90,14 @@ */ - struct FILE_INFO *ip_file; /* Pointer to the configuration file stream */ + struct FILE_INFO *ip_file; /* configuration file stream */ #define YYMALLOC emalloc #define YYFREE free #define YYERROR_VERBOSE - #define YYMAXDEPTH 1000 /* stop the madness sooner */ + #define YYMAXDEPTH 1000 /* stop the madness sooner */ void yyerror(const char *msg); - extern int input_from_file; /* 0=input from ntpq :config */ + extern int input_from_file; /* else from ntpq :config */ /* Line 189 of yacc.c */ @@ -287,26 +287,27 @@ T_Trustedkey = 414, T_Ttl = 415, T_Type = 416, - T_Unconfig = 417, - T_Unpeer = 418, - T_Version = 419, - T_WanderThreshold = 420, - T_Week = 421, - T_Wildcard = 422, - T_Xleave = 423, - T_Year = 424, - T_Flag = 425, - T_EOC = 426, - T_Simulate = 427, - T_Beep_Delay = 428, - T_Sim_Duration = 429, - T_Server_Offset = 430, - T_Duration = 431, - T_Freq_Offset = 432, - T_Wander = 433, - T_Jitter = 434, - T_Prop_Delay = 435, - T_Proc_Delay = 436 + T_U_int = 417, + T_Unconfig = 418, + T_Unpeer = 419, + T_Version = 420, + T_WanderThreshold = 421, + T_Week = 422, + T_Wildcard = 423, + T_Xleave = 424, + T_Year = 425, + T_Flag = 426, + T_EOC = 427, + T_Simulate = 428, + T_Beep_Delay = 429, + T_Sim_Duration = 430, + T_Server_Offset = 431, + T_Duration = 432, + T_Freq_Offset = 433, + T_Wander = 434, + T_Jitter = 435, + T_Prop_Delay = 436, + T_Proc_Delay = 437 }; #endif /* Tokens. */ @@ -469,26 +470,27 @@ #define T_Trustedkey 414 #define T_Ttl 415 #define T_Type 416 -#define T_Unconfig 417 -#define T_Unpeer 418 -#define T_Version 419 -#define T_WanderThreshold 420 -#define T_Week 421 -#define T_Wildcard 422 -#define T_Xleave 423 -#define T_Year 424 -#define T_Flag 425 -#define T_EOC 426 -#define T_Simulate 427 -#define T_Beep_Delay 428 -#define T_Sim_Duration 429 -#define T_Server_Offset 430 -#define T_Duration 431 -#define T_Freq_Offset 432 -#define T_Wander 433 -#define T_Jitter 434 -#define T_Prop_Delay 435 -#define T_Proc_Delay 436 +#define T_U_int 417 +#define T_Unconfig 418 +#define T_Unpeer 419 +#define T_Version 420 +#define T_WanderThreshold 421 +#define T_Week 422 +#define T_Wildcard 423 +#define T_Xleave 424 +#define T_Year 425 +#define T_Flag 426 +#define T_EOC 427 +#define T_Simulate 428 +#define T_Beep_Delay 429 +#define T_Sim_Duration 430 +#define T_Server_Offset 431 +#define T_Duration 432 +#define T_Freq_Offset 433 +#define T_Wander 434 +#define T_Jitter 435 +#define T_Prop_Delay 436 +#define T_Proc_Delay 437 @@ -503,6 +505,7 @@ typedef union YYSTYPE char * String; double Double; int Integer; + unsigned U_int; gen_fifo * Generic_fifo; attr_val * Attr_val; attr_val_fifo * Attr_val_fifo; @@ -519,7 +522,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 523 "ntp_parser.c" +#line 526 "ntp_parser.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -531,7 +534,7 @@ typedef union YYSTYPE /* Line 264 of yacc.c */ -#line 535 "ntp_parser.c" +#line 538 "ntp_parser.c" #ifdef short # undef short @@ -746,20 +749,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 193 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 606 +#define YYLAST 563 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 187 +#define YYNTOKENS 188 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 99 /* YYNRULES -- Number of rules. */ -#define YYNRULES 294 +#define YYNRULES 295 /* YYNRULES -- Number of states. */ -#define YYNSTATES 395 +#define YYNSTATES 396 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 436 +#define YYMAXUTOK 437 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -771,15 +774,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, - 183, 184, 2, 2, 2, 2, 2, 2, 2, 2, + 184, 185, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 182, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 183, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 185, 2, 186, 2, 2, 2, 2, + 2, 2, 2, 186, 2, 187, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -810,7 +813,7 @@ static const yytype_uint8 yytranslate[] = 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181 + 175, 176, 177, 178, 179, 180, 181, 182 }; #if YYDEBUG @@ -822,144 +825,145 @@ static const yytype_uint16 yyprhs[] = 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 44, 46, 48, 50, 52, 54, 56, 59, 61, 63, 65, 66, 69, 71, 73, 75, 77, 79, 81, 83, - 85, 87, 89, 91, 93, 96, 98, 100, 102, 104, - 106, 108, 111, 113, 116, 118, 120, 122, 125, 128, - 131, 134, 137, 140, 143, 146, 149, 152, 155, 156, - 159, 162, 165, 167, 169, 171, 173, 175, 178, 181, - 183, 186, 189, 192, 194, 196, 198, 200, 202, 204, - 206, 208, 210, 212, 215, 218, 222, 225, 227, 229, - 231, 233, 235, 237, 239, 241, 243, 244, 247, 250, - 253, 255, 257, 259, 261, 263, 265, 267, 269, 271, - 273, 275, 277, 279, 282, 285, 289, 295, 299, 304, - 309, 313, 314, 317, 319, 321, 323, 325, 327, 329, - 331, 333, 335, 337, 339, 341, 343, 345, 348, 350, - 353, 355, 357, 359, 362, 364, 367, 369, 371, 373, - 375, 377, 379, 381, 383, 387, 390, 392, 395, 398, - 401, 404, 406, 408, 410, 412, 414, 416, 419, 422, - 425, 427, 429, 431, 433, 435, 437, 439, 441, 443, - 446, 449, 451, 454, 456, 458, 460, 462, 464, 466, - 468, 470, 472, 475, 478, 481, 485, 487, 490, 493, - 496, 499, 503, 506, 508, 510, 512, 514, 516, 518, - 520, 522, 524, 526, 529, 530, 535, 537, 538, 539, - 542, 545, 548, 551, 553, 555, 559, 563, 565, 567, - 569, 571, 573, 575, 577, 579, 581, 584, 587, 589, - 591, 593, 595, 597, 599, 601, 603, 606, 608, 611, - 613, 615, 617, 623, 626, 628, 631, 633, 635, 637, - 639, 641, 643, 649, 651, 655, 658, 662, 664, 666, - 669, 671, 677, 682, 686, 689, 691, 698, 702, 705, - 709, 711, 713, 715, 717 + 85, 87, 89, 91, 93, 96, 99, 101, 103, 105, + 107, 109, 111, 114, 116, 119, 121, 123, 125, 128, + 131, 134, 137, 140, 143, 146, 149, 152, 155, 158, + 159, 162, 165, 168, 170, 172, 174, 176, 178, 181, + 184, 186, 189, 192, 195, 197, 199, 201, 203, 205, + 207, 209, 211, 213, 215, 218, 221, 225, 228, 230, + 232, 234, 236, 238, 240, 242, 244, 246, 247, 250, + 253, 256, 258, 260, 262, 264, 266, 268, 270, 272, + 274, 276, 278, 280, 282, 285, 288, 292, 298, 302, + 307, 312, 316, 317, 320, 322, 324, 326, 328, 330, + 332, 334, 336, 338, 340, 342, 344, 346, 348, 351, + 353, 356, 358, 360, 362, 365, 367, 370, 372, 374, + 376, 378, 380, 382, 384, 386, 390, 393, 395, 398, + 401, 404, 407, 409, 411, 413, 415, 417, 419, 422, + 425, 428, 430, 432, 434, 436, 438, 440, 442, 444, + 446, 449, 452, 454, 457, 459, 461, 463, 465, 467, + 469, 471, 473, 475, 478, 481, 484, 488, 490, 493, + 496, 499, 502, 506, 509, 511, 513, 515, 517, 519, + 521, 523, 525, 527, 529, 532, 533, 538, 540, 541, + 542, 545, 548, 551, 554, 556, 558, 562, 566, 568, + 570, 572, 574, 576, 578, 580, 582, 584, 587, 590, + 592, 594, 596, 598, 600, 602, 604, 606, 609, 611, + 614, 616, 618, 620, 626, 629, 631, 634, 636, 638, + 640, 642, 644, 646, 652, 654, 658, 661, 665, 667, + 669, 672, 674, 680, 685, 689, 692, 694, 701, 705, + 708, 712, 714, 716, 718, 720 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 188, 0, -1, 189, -1, 189, 190, 171, -1, 190, - 171, -1, 1, 171, -1, -1, 191, -1, 204, -1, - 206, -1, 207, -1, 216, -1, 224, -1, 211, -1, - 233, -1, 238, -1, 242, -1, 246, -1, 272, -1, - 192, 193, 196, -1, 138, -1, 123, -1, 118, -1, - 13, -1, 80, -1, 194, -1, 195, 147, -1, 147, - -1, 63, -1, 65, -1, -1, 196, 197, -1, 198, - -1, 200, -1, 202, -1, 199, -1, 8, -1, 16, + 189, 0, -1, 190, -1, 190, 191, 172, -1, 191, + 172, -1, 1, 172, -1, -1, 192, -1, 205, -1, + 207, -1, 208, -1, 217, -1, 225, -1, 212, -1, + 234, -1, 239, -1, 243, -1, 247, -1, 273, -1, + 193, 194, 197, -1, 138, -1, 123, -1, 118, -1, + 13, -1, 80, -1, 195, -1, 196, 147, -1, 147, + -1, 63, -1, 65, -1, -1, 197, 198, -1, 199, + -1, 201, -1, 203, -1, 200, -1, 8, -1, 16, -1, 50, -1, 108, -1, 125, -1, 126, -1, 158, - -1, 168, -1, 201, 58, -1, 67, -1, 94, -1, - 88, -1, 160, -1, 96, -1, 164, -1, 203, 147, - -1, 51, -1, 205, 193, -1, 162, -1, 163, -1, - 14, -1, 81, 269, -1, 100, 269, -1, 9, 58, - -1, 21, 58, -1, 22, 208, -1, 68, 147, -1, - 69, 147, -1, 133, 58, -1, 136, 58, -1, 159, - 265, -1, 114, 147, -1, -1, 208, 209, -1, 210, - 147, -1, 136, 58, -1, 48, -1, 51, -1, 128, - -1, 130, -1, 27, -1, 156, 212, -1, 212, 213, - -1, 213, -1, 214, 58, -1, 215, 271, -1, 20, - 270, -1, 18, -1, 45, -1, 115, -1, 116, -1, - 95, -1, 12, -1, 92, -1, 86, -1, 90, -1, - 84, -1, 141, 217, -1, 143, 147, -1, 39, 218, - 219, -1, 217, 218, -1, 218, -1, 19, -1, 23, - -1, 78, -1, 119, -1, 131, -1, 149, -1, 154, - -1, 127, -1, -1, 219, 220, -1, 38, 147, -1, - 161, 223, -1, 221, -1, 222, -1, 74, -1, 102, - -1, 35, -1, 28, -1, 104, -1, 121, -1, 25, - -1, 166, -1, 98, -1, 169, -1, 3, -1, 29, - 227, -1, 99, 230, -1, 135, 193, 225, -1, 135, - 194, 82, 194, 225, -1, 135, 26, 225, -1, 135, - 63, 26, 225, -1, 135, 65, 26, 225, -1, 135, - 140, 225, -1, -1, 225, 226, -1, 44, -1, 52, - -1, 70, -1, 71, -1, 73, -1, 79, -1, 103, - -1, 106, -1, 107, -1, 109, -1, 110, -1, 111, - -1, 113, -1, 164, -1, 227, 228, -1, 228, -1, - 229, 58, -1, 10, -1, 93, -1, 97, -1, 230, - 231, -1, 231, -1, 232, 58, -1, 53, -1, 54, - -1, 55, -1, 56, -1, 83, -1, 85, -1, 87, - -1, 91, -1, 47, 193, 234, -1, 234, 235, -1, - 235, -1, 236, 271, -1, 237, 270, -1, 146, 58, - -1, 132, 147, -1, 151, -1, 152, -1, 40, -1, - 41, -1, 42, -1, 43, -1, 35, 239, -1, 28, - 239, -1, 239, 240, -1, 240, -1, 241, -1, 142, - -1, 7, -1, 11, -1, 17, -1, 66, -1, 97, - -1, 112, -1, 155, 243, -1, 243, 244, -1, 244, - -1, 245, 271, -1, 5, -1, 30, -1, 46, -1, - 49, -1, 117, -1, 144, -1, 145, -1, 257, -1, - 261, -1, 247, 271, -1, 248, 147, -1, 249, 147, - -1, 57, 147, 190, -1, 36, -1, 32, 250, -1, - 76, 255, -1, 120, 268, -1, 139, 251, -1, 157, - 194, 253, -1, 160, 264, -1, 15, -1, 105, -1, - 150, -1, 51, -1, 72, -1, 122, -1, 129, -1, - 77, -1, 137, -1, 147, -1, 147, 31, -1, -1, - 147, 182, 147, 252, -1, 26, -1, -1, -1, 253, - 254, -1, 124, 58, -1, 59, 194, -1, 255, 256, - -1, 256, -1, 147, -1, 258, 260, 259, -1, 258, - 260, 147, -1, 59, -1, 101, -1, 4, -1, 62, - -1, 64, -1, 167, -1, 75, -1, 52, -1, 33, - -1, 134, 262, -1, 262, 263, -1, 263, -1, 6, - -1, 7, -1, 24, -1, 61, -1, 89, -1, 148, - -1, 153, -1, 264, 58, -1, 58, -1, 265, 266, - -1, 266, -1, 58, -1, 267, -1, 183, 58, 34, - 58, 184, -1, 268, 147, -1, 147, -1, 269, 193, - -1, 193, -1, 58, -1, 158, -1, 37, -1, 58, - -1, 31, -1, 273, 185, 274, 277, 186, -1, 172, - -1, 274, 275, 171, -1, 275, 171, -1, 276, 182, - 271, -1, 173, -1, 174, -1, 277, 278, -1, 278, - -1, 280, 185, 279, 281, 186, -1, 175, 182, 271, - 171, -1, 138, 182, 193, -1, 281, 282, -1, 282, - -1, 176, 182, 271, 185, 283, 186, -1, 283, 284, - 171, -1, 284, 171, -1, 285, 182, 271, -1, 177, - -1, 178, -1, 179, -1, 180, -1, 181, -1 + -1, 169, -1, 202, 58, -1, 202, 162, -1, 67, + -1, 94, -1, 88, -1, 160, -1, 96, -1, 165, + -1, 204, 147, -1, 51, -1, 206, 194, -1, 163, + -1, 164, -1, 14, -1, 81, 270, -1, 100, 270, + -1, 9, 58, -1, 21, 58, -1, 22, 209, -1, + 68, 147, -1, 69, 147, -1, 133, 58, -1, 136, + 58, -1, 159, 266, -1, 114, 147, -1, -1, 209, + 210, -1, 211, 147, -1, 136, 58, -1, 48, -1, + 51, -1, 128, -1, 130, -1, 27, -1, 156, 213, + -1, 213, 214, -1, 214, -1, 215, 58, -1, 216, + 272, -1, 20, 271, -1, 18, -1, 45, -1, 115, + -1, 116, -1, 95, -1, 12, -1, 92, -1, 86, + -1, 90, -1, 84, -1, 141, 218, -1, 143, 147, + -1, 39, 219, 220, -1, 218, 219, -1, 219, -1, + 19, -1, 23, -1, 78, -1, 119, -1, 131, -1, + 149, -1, 154, -1, 127, -1, -1, 220, 221, -1, + 38, 147, -1, 161, 224, -1, 222, -1, 223, -1, + 74, -1, 102, -1, 35, -1, 28, -1, 104, -1, + 121, -1, 25, -1, 167, -1, 98, -1, 170, -1, + 3, -1, 29, 228, -1, 99, 231, -1, 135, 194, + 226, -1, 135, 195, 82, 195, 226, -1, 135, 26, + 226, -1, 135, 63, 26, 226, -1, 135, 65, 26, + 226, -1, 135, 140, 226, -1, -1, 226, 227, -1, + 44, -1, 52, -1, 70, -1, 71, -1, 73, -1, + 79, -1, 103, -1, 106, -1, 107, -1, 109, -1, + 110, -1, 111, -1, 113, -1, 165, -1, 228, 229, + -1, 229, -1, 230, 58, -1, 10, -1, 93, -1, + 97, -1, 231, 232, -1, 232, -1, 233, 58, -1, + 53, -1, 54, -1, 55, -1, 56, -1, 83, -1, + 85, -1, 87, -1, 91, -1, 47, 194, 235, -1, + 235, 236, -1, 236, -1, 237, 272, -1, 238, 271, + -1, 146, 58, -1, 132, 147, -1, 151, -1, 152, + -1, 40, -1, 41, -1, 42, -1, 43, -1, 35, + 240, -1, 28, 240, -1, 240, 241, -1, 241, -1, + 242, -1, 142, -1, 7, -1, 11, -1, 17, -1, + 66, -1, 97, -1, 112, -1, 155, 244, -1, 244, + 245, -1, 245, -1, 246, 272, -1, 5, -1, 30, + -1, 46, -1, 49, -1, 117, -1, 144, -1, 145, + -1, 258, -1, 262, -1, 248, 272, -1, 249, 147, + -1, 250, 147, -1, 57, 147, 191, -1, 36, -1, + 32, 251, -1, 76, 256, -1, 120, 269, -1, 139, + 252, -1, 157, 195, 254, -1, 160, 265, -1, 15, + -1, 105, -1, 150, -1, 51, -1, 72, -1, 122, + -1, 129, -1, 77, -1, 137, -1, 147, -1, 147, + 31, -1, -1, 147, 183, 147, 253, -1, 26, -1, + -1, -1, 254, 255, -1, 124, 58, -1, 59, 195, + -1, 256, 257, -1, 257, -1, 147, -1, 259, 261, + 260, -1, 259, 261, 147, -1, 59, -1, 101, -1, + 4, -1, 62, -1, 64, -1, 168, -1, 75, -1, + 52, -1, 33, -1, 134, 263, -1, 263, 264, -1, + 264, -1, 6, -1, 7, -1, 24, -1, 61, -1, + 89, -1, 148, -1, 153, -1, 265, 58, -1, 58, + -1, 266, 267, -1, 267, -1, 58, -1, 268, -1, + 184, 58, 34, 58, 185, -1, 269, 147, -1, 147, + -1, 270, 194, -1, 194, -1, 58, -1, 158, -1, + 37, -1, 58, -1, 31, -1, 274, 186, 275, 278, + 187, -1, 173, -1, 275, 276, 172, -1, 276, 172, + -1, 277, 183, 272, -1, 174, -1, 175, -1, 278, + 279, -1, 279, -1, 281, 186, 280, 282, 187, -1, + 176, 183, 272, 172, -1, 138, 183, 194, -1, 282, + 283, -1, 283, -1, 177, 183, 272, 186, 284, 187, + -1, 284, 285, 172, -1, 285, 172, -1, 286, 183, + 272, -1, 178, -1, 179, -1, 180, -1, 181, -1, + 182, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 346, 346, 350, 351, 352, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 386, - 396, 397, 398, 399, 400, 404, 405, 410, 415, 417, - 423, 424, 432, 433, 434, 438, 443, 444, 445, 446, - 447, 448, 449, 450, 454, 459, 460, 461, 462, 463, - 464, 468, 473, 482, 492, 493, 503, 505, 507, 518, - 525, 527, 532, 534, 536, 538, 540, 542, 548, 549, - 557, 559, 571, 572, 573, 574, 575, 584, 589, 594, - 602, 604, 606, 611, 612, 613, 614, 615, 616, 620, - 621, 622, 623, 632, 634, 643, 653, 658, 666, 667, - 668, 669, 670, 671, 672, 673, 678, 679, 687, 697, - 706, 721, 726, 727, 731, 732, 736, 737, 738, 739, - 740, 741, 742, 751, 755, 759, 767, 775, 783, 798, - 813, 826, 827, 835, 836, 837, 838, 839, 840, 841, - 842, 843, 844, 845, 846, 847, 848, 852, 857, 865, - 870, 871, 872, 876, 881, 889, 894, 895, 896, 897, - 898, 899, 900, 901, 909, 919, 924, 932, 934, 936, - 938, 943, 944, 948, 949, 950, 951, 959, 961, 966, - 971, 979, 981, 993, 994, 995, 996, 997, 998, 1006, - 1011, 1016, 1024, 1029, 1030, 1031, 1032, 1033, 1034, 1035, - 1044, 1045, 1046, 1053, 1060, 1076, 1095, 1100, 1102, 1104, - 1106, 1108, 1115, 1120, 1121, 1122, 1126, 1127, 1128, 1129, - 1133, 1134, 1138, 1145, 1155, 1164, 1169, 1171, 1176, 1177, - 1185, 1187, 1195, 1200, 1208, 1233, 1240, 1250, 1251, 1255, - 1256, 1257, 1258, 1262, 1263, 1264, 1268, 1273, 1278, 1286, - 1287, 1288, 1289, 1290, 1291, 1292, 1302, 1307, 1315, 1320, - 1328, 1330, 1334, 1339, 1344, 1352, 1357, 1365, 1374, 1375, - 1379, 1380, 1389, 1407, 1411, 1416, 1424, 1429, 1430, 1434, - 1439, 1447, 1452, 1457, 1462, 1467, 1475, 1480, 1485, 1493, - 1498, 1499, 1500, 1501, 1502 + 0, 348, 348, 352, 353, 354, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 377, 378, 379, 380, 388, + 398, 399, 400, 401, 402, 406, 407, 412, 417, 419, + 425, 426, 434, 435, 436, 440, 445, 446, 447, 448, + 449, 450, 451, 452, 456, 458, 463, 464, 465, 466, + 467, 468, 472, 477, 486, 496, 497, 507, 509, 511, + 522, 529, 531, 536, 538, 540, 542, 544, 546, 552, + 553, 561, 563, 575, 576, 577, 578, 579, 588, 593, + 598, 606, 608, 610, 615, 616, 617, 618, 619, 620, + 624, 625, 626, 627, 636, 638, 647, 657, 662, 670, + 671, 672, 673, 674, 675, 676, 677, 682, 683, 691, + 701, 710, 725, 730, 731, 735, 736, 740, 741, 742, + 743, 744, 745, 746, 755, 759, 763, 771, 779, 787, + 802, 817, 830, 831, 839, 840, 841, 842, 843, 844, + 845, 846, 847, 848, 849, 850, 851, 852, 856, 861, + 869, 874, 875, 876, 880, 885, 893, 898, 899, 900, + 901, 902, 903, 904, 905, 913, 923, 928, 936, 938, + 940, 942, 947, 948, 952, 953, 954, 955, 963, 965, + 970, 975, 983, 985, 997, 998, 999, 1000, 1001, 1002, + 1010, 1015, 1020, 1028, 1033, 1034, 1035, 1036, 1037, 1038, + 1039, 1048, 1049, 1050, 1057, 1064, 1080, 1099, 1104, 1106, + 1108, 1110, 1112, 1119, 1124, 1125, 1126, 1130, 1131, 1132, + 1133, 1137, 1138, 1142, 1149, 1159, 1168, 1173, 1175, 1180, + 1181, 1189, 1191, 1199, 1204, 1212, 1237, 1244, 1254, 1255, + 1259, 1260, 1261, 1262, 1266, 1267, 1268, 1272, 1277, 1282, + 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1306, 1311, 1319, + 1324, 1332, 1334, 1338, 1343, 1348, 1356, 1361, 1369, 1378, + 1379, 1383, 1384, 1393, 1411, 1415, 1420, 1428, 1433, 1434, + 1438, 1443, 1451, 1456, 1461, 1466, 1471, 1479, 1484, 1489, + 1497, 1502, 1503, 1504, 1505, 1506 }; #endif @@ -998,7 +1002,7 @@ static const char *const yytname[] = "T_Stats", "T_Statsdir", "T_Step", "T_Stepout", "T_Stratum", "T_String", "T_Sys", "T_Sysstats", "T_Tick", "T_Time1", "T_Time2", "T_Timer", "T_Timingstats", "T_Tinker", "T_Tos", "T_Trap", "T_True", "T_Trustedkey", - "T_Ttl", "T_Type", "T_Unconfig", "T_Unpeer", "T_Version", + "T_Ttl", "T_Type", "T_U_int", "T_Unconfig", "T_Unpeer", "T_Version", "T_WanderThreshold", "T_Week", "T_Wildcard", "T_Xleave", "T_Year", "T_Flag", "T_EOC", "T_Simulate", "T_Beep_Delay", "T_Sim_Duration", "T_Server_Offset", "T_Duration", "T_Freq_Offset", "T_Wander", "T_Jitter", @@ -1059,43 +1063,43 @@ static const yytype_uint16 yytoknum[] = 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 61, 40, 41, 123, 125 + 435, 436, 437, 61, 40, 41, 123, 125 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 187, 188, 189, 189, 189, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 191, - 192, 192, 192, 192, 192, 193, 193, 194, 195, 195, - 196, 196, 197, 197, 197, 198, 199, 199, 199, 199, - 199, 199, 199, 199, 200, 201, 201, 201, 201, 201, - 201, 202, 203, 204, 205, 205, 206, 206, 206, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 208, 208, - 209, 209, 210, 210, 210, 210, 210, 211, 212, 212, - 213, 213, 213, 214, 214, 214, 214, 214, 214, 215, - 215, 215, 215, 216, 216, 216, 217, 217, 218, 218, - 218, 218, 218, 218, 218, 218, 219, 219, 220, 220, - 220, 220, 221, 221, 222, 222, 223, 223, 223, 223, - 223, 223, 223, 224, 224, 224, 224, 224, 224, 224, - 224, 225, 225, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 227, 227, 228, - 229, 229, 229, 230, 230, 231, 232, 232, 232, 232, - 232, 232, 232, 232, 233, 234, 234, 235, 235, 235, - 235, 236, 236, 237, 237, 237, 237, 238, 238, 239, - 239, 240, 240, 241, 241, 241, 241, 241, 241, 242, - 243, 243, 244, 245, 245, 245, 245, 245, 245, 245, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 247, 247, 247, 248, 248, 248, 248, - 249, 249, 250, 250, 250, 251, 252, 252, 253, 253, - 254, 254, 255, 255, 256, 257, 257, 258, 258, 259, - 259, 259, 259, 260, 260, 260, 261, 262, 262, 263, - 263, 263, 263, 263, 263, 263, 264, 264, 265, 265, - 266, 266, 267, 268, 268, 269, 269, 270, 270, 270, - 271, 271, 272, 273, 274, 274, 275, 276, 276, 277, - 277, 278, 279, 280, 281, 281, 282, 283, 283, 284, - 285, 285, 285, 285, 285 + 0, 188, 189, 190, 190, 190, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 192, + 193, 193, 193, 193, 193, 194, 194, 195, 196, 196, + 197, 197, 198, 198, 198, 199, 200, 200, 200, 200, + 200, 200, 200, 200, 201, 201, 202, 202, 202, 202, + 202, 202, 203, 204, 205, 206, 206, 207, 207, 207, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 209, + 209, 210, 210, 211, 211, 211, 211, 211, 212, 213, + 213, 214, 214, 214, 215, 215, 215, 215, 215, 215, + 216, 216, 216, 216, 217, 217, 217, 218, 218, 219, + 219, 219, 219, 219, 219, 219, 219, 220, 220, 221, + 221, 221, 221, 222, 222, 223, 223, 224, 224, 224, + 224, 224, 224, 224, 225, 225, 225, 225, 225, 225, + 225, 225, 226, 226, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 228, 228, + 229, 230, 230, 230, 231, 231, 232, 233, 233, 233, + 233, 233, 233, 233, 233, 234, 235, 235, 236, 236, + 236, 236, 237, 237, 238, 238, 238, 238, 239, 239, + 240, 240, 241, 241, 242, 242, 242, 242, 242, 242, + 243, 244, 244, 245, 246, 246, 246, 246, 246, 246, + 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 248, 248, 248, 249, 249, 249, + 249, 250, 250, 251, 251, 251, 252, 253, 253, 254, + 254, 255, 255, 256, 256, 257, 258, 258, 259, 259, + 260, 260, 260, 260, 261, 261, 261, 262, 263, 263, + 264, 264, 264, 264, 264, 264, 264, 265, 265, 266, + 266, 267, 267, 268, 269, 269, 270, 270, 271, 271, + 271, 272, 272, 273, 274, 275, 275, 276, 277, 277, + 278, 278, 279, 280, 281, 282, 282, 283, 284, 284, + 285, 286, 286, 286, 286, 286 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1105,32 +1109,32 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 2, 1, 2, 1, 1, 1, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, - 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, - 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 3, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 3, 5, 3, 4, 4, - 3, 0, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, + 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, + 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, + 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 3, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 3, 5, 3, 4, + 4, 3, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, + 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 2, 1, 2, 2, + 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 2, 3, 1, 2, 2, + 2, 2, 3, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 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, 2, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 2, 1, 2, 2, 2, - 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 3, 1, 2, 2, 2, - 2, 3, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 0, 4, 1, 0, 0, 2, - 2, 2, 2, 1, 1, 3, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, - 1, 1, 5, 2, 1, 2, 1, 1, 1, 1, - 1, 1, 5, 1, 3, 2, 3, 1, 1, 2, - 1, 5, 4, 3, 2, 1, 6, 3, 2, 3, - 1, 1, 1, 1, 1 + 1, 1, 1, 5, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 5, 1, 3, 2, 3, 1, 1, + 2, 1, 5, 4, 3, 2, 1, 6, 3, 2, + 3, 1, 1, 1, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1138,46 +1142,46 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 0, 0, 23, 56, 213, 0, 68, 0, 0, - 224, 0, 206, 0, 0, 216, 0, 237, 0, 0, - 217, 0, 220, 24, 0, 0, 0, 238, 214, 0, - 22, 0, 218, 21, 219, 0, 0, 0, 0, 221, - 20, 0, 0, 0, 215, 0, 0, 0, 0, 0, - 54, 55, 273, 0, 2, 0, 7, 0, 8, 0, + 0, 0, 0, 23, 57, 214, 0, 69, 0, 0, + 225, 0, 207, 0, 0, 217, 0, 238, 0, 0, + 218, 0, 221, 24, 0, 0, 0, 239, 215, 0, + 22, 0, 219, 21, 220, 0, 0, 0, 0, 222, + 20, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 55, 56, 274, 0, 2, 0, 7, 0, 8, 0, 9, 10, 13, 11, 12, 14, 15, 16, 17, 0, - 0, 0, 200, 0, 201, 18, 0, 5, 59, 60, - 61, 183, 184, 185, 186, 187, 188, 182, 178, 180, - 181, 150, 151, 152, 123, 148, 0, 222, 207, 177, - 98, 99, 100, 101, 105, 102, 103, 104, 106, 28, - 29, 27, 0, 25, 0, 6, 62, 63, 234, 208, - 233, 266, 57, 156, 157, 158, 159, 160, 161, 162, - 163, 124, 154, 0, 58, 67, 264, 209, 64, 249, - 250, 251, 252, 253, 254, 255, 246, 248, 131, 28, - 29, 131, 131, 25, 65, 0, 210, 93, 97, 94, - 193, 194, 195, 196, 197, 198, 199, 189, 191, 0, - 88, 83, 0, 84, 92, 90, 91, 89, 87, 85, - 86, 77, 79, 0, 0, 228, 260, 0, 66, 259, - 261, 257, 212, 1, 0, 4, 30, 53, 271, 270, - 202, 203, 204, 245, 244, 243, 0, 0, 76, 72, - 73, 74, 75, 0, 69, 0, 179, 147, 149, 223, - 95, 173, 174, 175, 176, 0, 0, 171, 172, 164, - 166, 0, 0, 26, 205, 232, 265, 153, 155, 263, - 247, 127, 131, 131, 130, 125, 0, 0, 96, 190, - 192, 269, 267, 268, 82, 78, 80, 81, 211, 0, - 258, 256, 3, 19, 239, 240, 241, 236, 242, 235, - 277, 278, 0, 0, 0, 71, 70, 115, 114, 0, - 112, 113, 0, 107, 110, 111, 170, 169, 165, 167, - 168, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 132, 128, 129, 131, 227, - 0, 0, 229, 0, 36, 37, 38, 52, 45, 47, - 46, 49, 39, 40, 41, 42, 48, 50, 43, 31, - 32, 35, 33, 0, 34, 0, 0, 0, 0, 280, - 0, 275, 0, 108, 122, 118, 120, 116, 117, 119, - 121, 109, 126, 226, 225, 231, 230, 0, 44, 51, - 0, 274, 272, 279, 0, 276, 262, 283, 0, 0, - 0, 0, 0, 285, 0, 0, 281, 284, 282, 0, - 0, 290, 291, 292, 293, 294, 0, 0, 0, 286, - 0, 288, 0, 287, 289 + 0, 0, 201, 0, 202, 18, 0, 5, 60, 61, + 62, 184, 185, 186, 187, 188, 189, 183, 179, 181, + 182, 151, 152, 153, 124, 149, 0, 223, 208, 178, + 99, 100, 101, 102, 106, 103, 104, 105, 107, 28, + 29, 27, 0, 25, 0, 6, 63, 64, 235, 209, + 234, 267, 58, 157, 158, 159, 160, 161, 162, 163, + 164, 125, 155, 0, 59, 68, 265, 210, 65, 250, + 251, 252, 253, 254, 255, 256, 247, 249, 132, 28, + 29, 132, 132, 25, 66, 0, 211, 94, 98, 95, + 194, 195, 196, 197, 198, 199, 200, 190, 192, 0, + 89, 84, 0, 85, 93, 91, 92, 90, 88, 86, + 87, 78, 80, 0, 0, 229, 261, 0, 67, 260, + 262, 258, 213, 1, 0, 4, 30, 54, 272, 271, + 203, 204, 205, 246, 245, 244, 0, 0, 77, 73, + 74, 75, 76, 0, 70, 0, 180, 148, 150, 224, + 96, 174, 175, 176, 177, 0, 0, 172, 173, 165, + 167, 0, 0, 26, 206, 233, 266, 154, 156, 264, + 248, 128, 132, 132, 131, 126, 0, 0, 97, 191, + 193, 270, 268, 269, 83, 79, 81, 82, 212, 0, + 259, 257, 3, 19, 240, 241, 242, 237, 243, 236, + 278, 279, 0, 0, 0, 72, 71, 116, 115, 0, + 113, 114, 0, 108, 111, 112, 171, 170, 166, 168, + 169, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 133, 129, 130, 132, 228, + 0, 0, 230, 0, 36, 37, 38, 53, 46, 48, + 47, 50, 39, 40, 41, 42, 49, 51, 43, 31, + 32, 35, 33, 0, 34, 0, 0, 0, 0, 281, + 0, 276, 0, 109, 123, 119, 121, 117, 118, 120, + 122, 110, 127, 227, 226, 232, 231, 0, 44, 45, + 52, 0, 275, 273, 280, 0, 277, 263, 284, 0, + 0, 0, 0, 0, 286, 0, 0, 282, 285, 283, + 0, 0, 291, 292, 293, 294, 295, 0, 0, 0, + 287, 0, 289, 0, 288, 290 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1192,7 +1196,7 @@ static const yytype_int16 yydefgoto[] = 69, 70, 71, 98, 156, 354, 258, 312, 119, 120, 72, 73, 269, 206, 74, 146, 147, 192, 188, 189, 190, 137, 122, 254, 200, 75, 76, 272, 273, 274, - 338, 339, 369, 340, 372, 373, 386, 387, 388 + 338, 339, 370, 340, 373, 374, 387, 388, 389 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing @@ -1200,61 +1204,61 @@ static const yytype_int16 yydefgoto[] = #define YYPACT_NINF -168 static const yytype_int16 yypact[] = { - 26, -151, -20, -168, -168, -168, -16, -168, 136, -4, - -122, 136, -168, 3, -35, -168, -103, -168, -97, -94, - -168, -90, -168, -168, -35, 332, -35, -168, -168, -84, - -168, -76, -168, -168, -168, 16, 25, 107, 18, -168, - -168, -67, 3, -63, -168, 67, 490, -60, -55, 30, - -168, -168, -168, 90, 192, -80, -168, -35, -168, -35, - -168, -168, -168, -168, -168, -168, -168, -168, -168, -24, - -51, -48, -168, 0, -168, -168, -93, -168, -168, -168, - 208, -168, -168, -168, -168, -168, -168, -168, 136, -168, - -168, -168, -168, -168, -4, -168, 46, 74, -168, 136, + 26, -139, -8, -168, -168, -168, 2, -168, 128, 18, + -88, 128, -168, 69, -43, -168, -84, -168, -80, -78, + -168, -77, -168, -168, -43, 359, -43, -168, -168, -76, + -168, -75, -168, -168, -168, 23, 25, -19, 24, -168, + -168, -71, 69, -63, -168, 88, 447, -60, -55, 31, + -168, -168, -168, 90, 199, -81, -168, -43, -168, -43, + -168, -168, -168, -168, -168, -168, -168, -168, -168, -2, + -51, -50, -168, 5, -168, -168, -74, -168, -168, -168, + 188, -168, -168, -168, -168, -168, -168, -168, 128, -168, + -168, -168, -168, -168, 18, -168, 51, 85, -168, 128, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, 150, -168, -37, 344, -168, -168, -168, -90, - -168, -168, -35, -168, -168, -168, -168, -168, -168, -168, - -168, 332, -168, 53, -35, -168, -168, -30, -168, -168, - -168, -168, -168, -168, -168, -168, 25, -168, -168, 92, - 95, -168, -168, 41, -168, -58, -168, 3, -168, -168, - -168, -168, -168, -168, -168, -168, -168, 67, -168, -24, - -168, -168, -21, -168, -168, -168, -168, -168, -168, -168, - -168, 490, -168, 71, -24, -168, -168, 77, -55, -168, - -168, -168, 78, -168, -32, -168, -168, -168, -168, -168, - -168, -168, -168, -168, -168, -168, 4, -104, -168, -168, - -168, -168, -168, 83, -168, -5, -168, -168, -168, -168, - -23, -168, -168, -168, -168, -2, 96, -168, -168, 150, - -168, -24, -21, -168, -168, -168, -168, -168, -168, -168, - -168, 419, -168, -168, 419, 419, -60, 9, -168, -168, - -168, -168, -168, -168, -168, -168, -168, -168, -46, 116, - -168, -168, -168, 273, -168, -168, -168, -168, -168, -168, - -168, -168, -114, -13, -8, -168, -168, -168, -168, 21, - -168, -168, 11, -168, -168, -168, -168, -168, -168, -168, + -168, -168, 254, -168, -34, 352, -168, -168, -168, -77, + -168, -168, -43, -168, -168, -168, -168, -168, -168, -168, + -168, 359, -168, 59, -43, -168, -168, -28, -168, -168, + -168, -168, -168, -168, -168, -168, 25, -168, -168, 97, + 98, -168, -168, 48, -168, -47, -168, 69, -168, -168, + -168, -168, -168, -168, -168, -168, -168, 88, -168, -2, + -168, -168, -16, -168, -168, -168, -168, -168, -168, -168, + -168, 447, -168, 74, -2, -168, -168, 83, -55, -168, + -168, -168, 92, -168, -29, -168, -168, -168, -168, -168, + -168, -168, -168, -168, -168, -168, 4, -138, -168, -168, + -168, -168, -168, 94, -168, 6, -168, -168, -168, -168, + -23, -168, -168, -168, -168, 7, 99, -168, -168, 254, + -168, -2, -16, -168, -168, -168, -168, -168, -168, -168, + -168, 178, -168, -168, 178, 178, -60, 9, -168, -168, + -168, -168, -168, -168, -168, -168, -168, -168, -46, 124, + -168, -168, -168, 388, -168, -168, -168, -168, -168, -168, + -168, -168, -122, 8, -13, -168, -168, -168, -168, 27, + -168, -168, 1, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, -168, -168, -168, 419, 419, -168, 153, - -60, 129, -168, 137, -168, -168, -168, -168, -168, -168, + -168, -168, -168, -168, -168, -168, 178, 178, -168, 151, + -60, 121, -168, 126, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, 138, -168, 47, 17, 29, -119, -168, - 19, -168, -24, -168, -168, -168, -168, -168, -168, -168, - -168, -168, 419, -168, -168, -168, -168, 39, -168, -168, - -35, -168, -168, -168, 34, -168, -168, -168, 40, 50, - -24, 48, -130, -168, 58, -24, -168, -168, -168, 49, - 38, -168, -168, -168, -168, -168, 228, 61, 54, -168, - 66, -168, -24, -168, -168 + -168, -168, -168, -52, -168, 40, 10, 19, -113, -168, + 11, -168, -2, -168, -168, -168, -168, -168, -168, -168, + -168, -168, 178, -168, -168, -168, -168, 16, -168, -168, + -168, -43, -168, -168, -168, 30, -168, -168, -168, 12, + 15, -2, 20, -153, -168, 35, -2, -168, -168, -168, + 33, 63, -168, -168, -168, -168, -168, 82, 39, 34, + -168, 44, -168, -2, -168, -168 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -168, -168, -168, -33, -168, -168, -14, -36, -168, -168, + -168, -168, -168, -40, -168, -168, -14, -36, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, -168, -168, -168, 57, -168, -168, -168, - -168, -38, -168, -168, -168, -168, -168, -168, -142, -168, - -168, 146, -168, -168, 110, -168, -168, -168, 13, -168, - -168, -168, 233, -70, -168, -168, -168, 79, -168, -168, - -168, -168, -168, -168, -168, -168, -168, -168, -168, 126, - -168, -168, -168, -168, -168, -168, 104, -168, -168, 64, - -168, -168, 227, 23, -167, -168, -168, -168, -15, -168, - -168, -75, -168, -168, -168, -110, -168, -128, -168 + -168, -168, -168, -168, -168, -168, 21, -168, -168, -168, + -168, -24, -168, -168, -168, -168, -168, -168, -142, -168, + -168, 130, -168, -168, 106, -168, -168, -168, 0, -168, + -168, -168, 236, -69, -168, -168, -168, 86, -168, -168, + -168, -168, -168, -168, -168, -168, -168, -168, -168, 133, + -168, -168, -168, -168, -168, -168, 108, -168, -168, 67, + -168, -168, 233, 41, -167, -168, -168, -168, -7, -168, + -168, -72, -168, -168, -168, -101, -168, -110, -168 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1264,132 +1268,124 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -7 static const yytype_int16 yytable[] = { - 112, 153, 250, 186, 158, 277, 91, 198, 264, 244, - 245, 185, 278, 310, 344, 279, 251, 257, 216, 336, - 77, 194, 100, 152, 336, 97, 101, 1, 109, 216, - 110, 139, 140, 203, 199, 2, 345, 252, 78, 3, - 4, 5, 79, 196, 115, 197, 371, 6, 7, 141, - 116, 280, 204, 117, 8, 9, 376, 118, 10, 270, - 271, 11, 12, 135, 289, 13, 265, 362, 266, 270, - 271, 136, 160, 14, 138, 205, 154, 15, 311, 281, - 155, 102, 234, 16, 159, 17, 142, 111, 191, 92, - 193, 195, 207, 93, 18, 19, 201, 161, 20, 202, - 306, 307, 21, 22, 218, 219, 23, 24, 236, 346, - 233, 238, 111, 162, 143, 347, 163, 239, 242, 248, - 236, 243, 103, 246, 247, 25, 26, 27, 187, 256, - 104, 28, 348, 148, 105, 259, 261, 253, 282, 262, - 29, 275, 276, 81, 30, 286, 31, 82, 32, 33, - 313, 267, 106, 83, 287, 34, 309, 107, 341, 35, - 36, 37, 38, 39, 40, 41, 352, 42, 343, 43, - 149, 268, 150, 144, 342, 365, 44, 349, 145, 353, - 350, 45, 46, 47, 164, 48, 49, 356, 50, 51, - 221, 222, 223, 224, 359, 357, 358, -6, 52, 360, - 361, 2, 84, 374, 364, 3, 4, 5, 379, 368, - 308, 165, 166, 6, 7, 381, 382, 383, 384, 385, - 8, 9, 370, 366, 10, 394, 371, 11, 12, 378, - 375, 13, 391, 85, 380, 208, 392, 393, 255, 14, - 217, 237, 288, 15, 99, 235, 249, 151, 86, 16, - 240, 17, 260, 134, 111, 290, 209, 337, 390, 210, - 18, 19, 377, 363, 20, 0, 0, 0, 21, 22, - 0, 0, 23, 24, 355, 0, 0, 0, 87, 0, - 0, 314, 225, 0, 0, 0, 0, 0, 0, 315, - 0, 25, 26, 27, 0, 0, 226, 28, 0, 0, - 0, 227, 228, 0, 0, 0, 29, 0, 0, 0, - 30, 0, 31, 0, 32, 33, 0, 0, 0, 0, - 0, 34, 0, 316, 317, 35, 36, 37, 38, 39, - 40, 41, 0, 42, 0, 43, 211, 0, 212, 0, - 318, 0, 44, 0, 213, 0, 367, 45, 46, 47, - 0, 48, 49, 2, 50, 51, 0, 3, 4, 5, - 0, 319, 0, -6, 52, 6, 7, 320, 0, 321, - 0, 0, 8, 9, 0, 0, 10, 0, 0, 11, - 12, 322, 0, 13, 0, 123, 124, 125, 126, 0, - 0, 14, 0, 0, 0, 15, 0, 0, 323, 324, - 0, 16, 0, 17, 0, 381, 382, 383, 384, 385, - 0, 0, 18, 19, 389, 127, 20, 128, 0, 129, - 21, 22, 0, 130, 23, 24, 0, 0, 0, 0, - 0, 325, 0, 326, 0, 0, 0, 327, 0, 0, - 0, 328, 0, 25, 26, 27, 0, 0, 0, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, - 0, 0, 30, 291, 31, 0, 32, 33, 0, 0, - 0, 292, 0, 34, 0, 0, 0, 35, 36, 37, - 38, 39, 40, 41, 0, 42, 0, 43, 0, 293, - 294, 0, 295, 0, 44, 0, 0, 0, 296, 45, - 46, 47, 170, 48, 49, 0, 50, 51, 171, 0, - 172, 0, 0, 0, 0, 0, 52, 0, 0, 0, - 0, 0, 297, 0, 0, 298, 299, 0, 300, 301, - 302, 0, 303, 0, 0, 173, 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, 174, 0, 175, 0, 0, 0, - 176, 0, 177, 304, 0, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 179, 180 + 112, 153, 250, 186, 344, 277, 358, 148, 264, 244, + 245, 185, 278, 310, 194, 279, 336, 257, 158, 216, + 109, 251, 110, 152, 372, 336, 345, 1, 91, 198, + 216, 139, 140, 77, 377, 2, 270, 271, 203, 3, + 4, 5, 252, 196, 149, 197, 150, 6, 7, 141, + 78, 280, 270, 271, 8, 9, 199, 204, 10, 97, + 79, 11, 12, 115, 289, 13, 265, 116, 266, 117, + 118, 135, 136, 14, 363, 234, 155, 15, 311, 281, + 205, 138, 154, 16, 159, 17, 142, 111, 100, 191, + 193, 195, 101, 160, 18, 19, 201, 202, 20, 346, + 306, 307, 21, 22, 111, 347, 23, 24, 236, 218, + 359, 92, 207, 233, 143, 93, 219, 238, 161, 239, + 236, 151, 348, 242, 243, 25, 26, 27, 111, 187, + 246, 28, 256, 248, 162, 81, 247, 163, 282, 82, + 29, 259, 253, 262, 30, 83, 31, 102, 32, 33, + 261, 267, 275, 276, 286, 34, 309, 287, 313, 35, + 36, 37, 38, 39, 40, 41, 352, 42, 349, 43, + 342, 350, 268, 144, 343, 366, 44, 353, 145, 356, + 341, 45, 46, 47, 357, 48, 49, 360, 103, 50, + 51, 362, 372, 361, 84, 371, 104, 365, -6, 52, + 105, 367, 255, 376, 375, 164, 369, 379, 2, 380, + 308, 392, 3, 4, 5, 208, 394, 393, 106, 381, + 6, 7, 291, 107, 217, 85, 395, 8, 9, 288, + 292, 10, 165, 166, 11, 12, 209, 237, 13, 210, + 86, 382, 383, 384, 385, 386, 14, 99, 293, 294, + 15, 295, 235, 249, 240, 260, 16, 296, 17, 134, + 382, 383, 384, 385, 386, 337, 364, 18, 19, 390, + 87, 20, 378, 290, 355, 21, 22, 391, 0, 23, + 24, 297, 0, 0, 298, 299, 0, 300, 301, 302, + 0, 303, 0, 0, 221, 222, 223, 224, 25, 26, + 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 211, 30, 212, 31, + 0, 32, 33, 0, 213, 0, 0, 0, 34, 0, + 0, 0, 35, 36, 37, 38, 39, 40, 41, 0, + 42, 0, 43, 304, 0, 0, 0, 368, 0, 44, + 0, 0, 0, 0, 45, 46, 47, 0, 48, 49, + 0, 2, 50, 51, 0, 3, 4, 5, 0, 0, + 0, -6, 52, 6, 7, 0, 0, 0, 0, 0, + 8, 9, 0, 0, 10, 0, 225, 11, 12, 0, + 0, 13, 0, 0, 0, 0, 314, 0, 0, 14, + 226, 0, 0, 15, 315, 227, 228, 0, 0, 16, + 0, 17, 123, 124, 125, 126, 0, 0, 0, 0, + 18, 19, 0, 0, 20, 0, 0, 0, 21, 22, + 0, 0, 23, 24, 0, 0, 0, 0, 316, 317, + 0, 0, 127, 0, 128, 0, 129, 0, 0, 0, + 130, 25, 26, 27, 0, 318, 0, 28, 0, 170, + 0, 0, 0, 0, 0, 171, 29, 172, 0, 0, + 30, 0, 31, 0, 32, 33, 319, 0, 0, 0, + 0, 34, 320, 0, 321, 35, 36, 37, 38, 39, + 40, 41, 173, 42, 0, 43, 322, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 45, 46, 47, + 0, 48, 49, 323, 324, 50, 51, 0, 0, 0, + 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, + 0, 174, 0, 175, 0, 0, 0, 176, 0, 177, + 0, 0, 178, 0, 0, 0, 325, 0, 326, 0, + 0, 0, 0, 327, 0, 0, 0, 328, 0, 0, + 0, 0, 179, 180 }; static const yytype_int16 yycheck[] = { - 14, 37, 169, 58, 42, 28, 10, 31, 4, 151, - 152, 47, 35, 59, 3, 38, 37, 184, 88, 138, - 171, 54, 19, 37, 138, 147, 23, 1, 63, 99, - 65, 6, 7, 33, 58, 9, 25, 58, 58, 13, - 14, 15, 58, 57, 147, 59, 176, 21, 22, 24, - 147, 74, 52, 147, 28, 29, 186, 147, 32, 173, - 174, 35, 36, 147, 231, 39, 62, 186, 64, 173, - 174, 147, 5, 47, 58, 75, 58, 51, 124, 102, - 147, 78, 115, 57, 147, 59, 61, 147, 58, 93, - 0, 171, 185, 97, 68, 69, 147, 30, 72, 147, - 242, 243, 76, 77, 58, 31, 80, 81, 122, 98, - 147, 58, 147, 46, 89, 104, 49, 147, 26, 157, - 134, 26, 119, 82, 182, 99, 100, 101, 183, 58, - 127, 105, 121, 26, 131, 58, 58, 158, 161, 171, - 114, 58, 147, 7, 118, 147, 120, 11, 122, 123, - 34, 147, 149, 17, 58, 129, 147, 154, 171, 133, - 134, 135, 136, 137, 138, 139, 308, 141, 147, 143, - 63, 167, 65, 148, 182, 342, 150, 166, 153, 26, - 169, 155, 156, 157, 117, 159, 160, 58, 162, 163, - 40, 41, 42, 43, 147, 58, 58, 171, 172, 182, - 171, 9, 66, 370, 185, 13, 14, 15, 375, 175, - 246, 144, 145, 21, 22, 177, 178, 179, 180, 181, - 28, 29, 182, 184, 32, 392, 176, 35, 36, 171, - 182, 39, 171, 97, 185, 27, 182, 171, 181, 47, - 94, 131, 229, 51, 11, 119, 167, 140, 112, 57, - 146, 59, 188, 26, 147, 232, 48, 272, 386, 51, - 68, 69, 372, 338, 72, -1, -1, -1, 76, 77, - -1, -1, 80, 81, 310, -1, -1, -1, 142, -1, - -1, 8, 132, -1, -1, -1, -1, -1, -1, 16, - -1, 99, 100, 101, -1, -1, 146, 105, -1, -1, - -1, 151, 152, -1, -1, -1, 114, -1, -1, -1, - 118, -1, 120, -1, 122, 123, -1, -1, -1, -1, - -1, 129, -1, 50, 51, 133, 134, 135, 136, 137, - 138, 139, -1, 141, -1, 143, 128, -1, 130, -1, - 67, -1, 150, -1, 136, -1, 360, 155, 156, 157, - -1, 159, 160, 9, 162, 163, -1, 13, 14, 15, - -1, 88, -1, 171, 172, 21, 22, 94, -1, 96, - -1, -1, 28, 29, -1, -1, 32, -1, -1, 35, - 36, 108, -1, 39, -1, 53, 54, 55, 56, -1, - -1, 47, -1, -1, -1, 51, -1, -1, 125, 126, - -1, 57, -1, 59, -1, 177, 178, 179, 180, 181, - -1, -1, 68, 69, 186, 83, 72, 85, -1, 87, - 76, 77, -1, 91, 80, 81, -1, -1, -1, -1, - -1, 158, -1, 160, -1, -1, -1, 164, -1, -1, - -1, 168, -1, 99, 100, 101, -1, -1, -1, 105, - -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, - -1, -1, 118, 44, 120, -1, 122, 123, -1, -1, - -1, 52, -1, 129, -1, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, -1, 143, -1, 70, - 71, -1, 73, -1, 150, -1, -1, -1, 79, 155, - 156, 157, 12, 159, 160, -1, 162, 163, 18, -1, - 20, -1, -1, -1, -1, -1, 172, -1, -1, -1, - -1, -1, 103, -1, -1, 106, 107, -1, 109, 110, - 111, -1, 113, -1, -1, 45, -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, 84, -1, 86, -1, -1, -1, - 90, -1, 92, 164, -1, 95, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, 116 + 14, 37, 169, 58, 3, 28, 58, 26, 4, 151, + 152, 47, 35, 59, 54, 38, 138, 184, 42, 88, + 63, 37, 65, 37, 177, 138, 25, 1, 10, 31, + 99, 6, 7, 172, 187, 9, 174, 175, 33, 13, + 14, 15, 58, 57, 63, 59, 65, 21, 22, 24, + 58, 74, 174, 175, 28, 29, 58, 52, 32, 147, + 58, 35, 36, 147, 231, 39, 62, 147, 64, 147, + 147, 147, 147, 47, 187, 115, 147, 51, 124, 102, + 75, 58, 58, 57, 147, 59, 61, 147, 19, 58, + 0, 172, 23, 5, 68, 69, 147, 147, 72, 98, + 242, 243, 76, 77, 147, 104, 80, 81, 122, 58, + 162, 93, 186, 147, 89, 97, 31, 58, 30, 147, + 134, 140, 121, 26, 26, 99, 100, 101, 147, 184, + 82, 105, 58, 157, 46, 7, 183, 49, 161, 11, + 114, 58, 158, 172, 118, 17, 120, 78, 122, 123, + 58, 147, 58, 147, 147, 129, 147, 58, 34, 133, + 134, 135, 136, 137, 138, 139, 308, 141, 167, 143, + 183, 170, 168, 148, 147, 342, 150, 26, 153, 58, + 172, 155, 156, 157, 58, 159, 160, 147, 119, 163, + 164, 172, 177, 183, 66, 183, 127, 186, 172, 173, + 131, 185, 181, 183, 371, 117, 176, 172, 9, 376, + 246, 172, 13, 14, 15, 27, 172, 183, 149, 186, + 21, 22, 44, 154, 94, 97, 393, 28, 29, 229, + 52, 32, 144, 145, 35, 36, 48, 131, 39, 51, + 112, 178, 179, 180, 181, 182, 47, 11, 70, 71, + 51, 73, 119, 167, 146, 188, 57, 79, 59, 26, + 178, 179, 180, 181, 182, 272, 338, 68, 69, 187, + 142, 72, 373, 232, 310, 76, 77, 387, -1, 80, + 81, 103, -1, -1, 106, 107, -1, 109, 110, 111, + -1, 113, -1, -1, 40, 41, 42, 43, 99, 100, + 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, + -1, -1, -1, 114, -1, -1, 128, 118, 130, 120, + -1, 122, 123, -1, 136, -1, -1, -1, 129, -1, + -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, + 141, -1, 143, 165, -1, -1, -1, 361, -1, 150, + -1, -1, -1, -1, 155, 156, 157, -1, 159, 160, + -1, 9, 163, 164, -1, 13, 14, 15, -1, -1, + -1, 172, 173, 21, 22, -1, -1, -1, -1, -1, + 28, 29, -1, -1, 32, -1, 132, 35, 36, -1, + -1, 39, -1, -1, -1, -1, 8, -1, -1, 47, + 146, -1, -1, 51, 16, 151, 152, -1, -1, 57, + -1, 59, 53, 54, 55, 56, -1, -1, -1, -1, + 68, 69, -1, -1, 72, -1, -1, -1, 76, 77, + -1, -1, 80, 81, -1, -1, -1, -1, 50, 51, + -1, -1, 83, -1, 85, -1, 87, -1, -1, -1, + 91, 99, 100, 101, -1, 67, -1, 105, -1, 12, + -1, -1, -1, -1, -1, 18, 114, 20, -1, -1, + 118, -1, 120, -1, 122, 123, 88, -1, -1, -1, + -1, 129, 94, -1, 96, 133, 134, 135, 136, 137, + 138, 139, 45, 141, -1, 143, 108, -1, -1, -1, + -1, -1, 150, -1, -1, -1, -1, 155, 156, 157, + -1, 159, 160, 125, 126, 163, 164, -1, -1, -1, + -1, -1, -1, -1, -1, 173, -1, -1, -1, -1, + -1, 84, -1, 86, -1, -1, -1, 90, -1, 92, + -1, -1, 95, -1, -1, -1, 158, -1, 160, -1, + -1, -1, -1, 165, -1, -1, -1, 169, -1, -1, + -1, -1, 115, 116 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1401,41 +1397,41 @@ static const yytype_uint16 yystos[] = 72, 76, 77, 80, 81, 99, 100, 101, 105, 114, 118, 120, 122, 123, 129, 133, 134, 135, 136, 137, 138, 139, 141, 143, 150, 155, 156, 157, 159, 160, - 162, 163, 172, 188, 189, 190, 191, 192, 204, 205, - 206, 207, 211, 216, 224, 233, 238, 242, 246, 247, - 248, 249, 257, 258, 261, 272, 273, 171, 58, 58, - 208, 7, 11, 17, 66, 97, 112, 142, 239, 240, - 241, 10, 93, 97, 227, 228, 229, 147, 250, 239, - 19, 23, 78, 119, 127, 131, 149, 154, 218, 63, - 65, 147, 193, 194, 195, 147, 147, 147, 147, 255, - 256, 193, 269, 53, 54, 55, 56, 83, 85, 87, - 91, 230, 231, 232, 269, 147, 147, 268, 58, 6, - 7, 24, 61, 89, 148, 153, 262, 263, 26, 63, - 65, 140, 193, 194, 58, 147, 251, 217, 218, 147, - 5, 30, 46, 49, 117, 144, 145, 243, 244, 245, + 163, 164, 173, 189, 190, 191, 192, 193, 205, 206, + 207, 208, 212, 217, 225, 234, 239, 243, 247, 248, + 249, 250, 258, 259, 262, 273, 274, 172, 58, 58, + 209, 7, 11, 17, 66, 97, 112, 142, 240, 241, + 242, 10, 93, 97, 228, 229, 230, 147, 251, 240, + 19, 23, 78, 119, 127, 131, 149, 154, 219, 63, + 65, 147, 194, 195, 196, 147, 147, 147, 147, 256, + 257, 194, 270, 53, 54, 55, 56, 83, 85, 87, + 91, 231, 232, 233, 270, 147, 147, 269, 58, 6, + 7, 24, 61, 89, 148, 153, 263, 264, 26, 63, + 65, 140, 194, 195, 58, 147, 252, 218, 219, 147, + 5, 30, 46, 49, 117, 144, 145, 244, 245, 246, 12, 18, 20, 45, 84, 86, 90, 92, 95, 115, - 116, 212, 213, 214, 215, 194, 58, 183, 265, 266, - 267, 58, 264, 0, 190, 171, 193, 193, 31, 58, - 271, 147, 147, 33, 52, 75, 260, 185, 27, 48, - 51, 128, 130, 136, 209, 210, 240, 228, 58, 31, - 219, 40, 41, 42, 43, 132, 146, 151, 152, 234, - 235, 236, 237, 147, 190, 256, 193, 231, 58, 147, - 263, 225, 26, 26, 225, 225, 82, 182, 218, 244, - 271, 37, 58, 158, 270, 213, 58, 271, 253, 58, - 266, 58, 171, 196, 4, 62, 64, 147, 167, 259, - 173, 174, 274, 275, 276, 58, 147, 28, 35, 38, - 74, 102, 161, 220, 221, 222, 147, 58, 235, 271, - 270, 44, 52, 70, 71, 73, 79, 103, 106, 107, - 109, 110, 111, 113, 164, 226, 225, 225, 194, 147, - 59, 124, 254, 34, 8, 16, 50, 51, 67, 88, - 94, 96, 108, 125, 126, 158, 160, 164, 168, 197, - 198, 199, 200, 201, 202, 203, 138, 275, 277, 278, - 280, 171, 182, 147, 3, 25, 98, 104, 121, 166, - 169, 223, 225, 26, 252, 194, 58, 58, 58, 147, - 182, 171, 186, 278, 185, 271, 184, 193, 175, 279, - 182, 176, 281, 282, 271, 182, 186, 282, 171, 271, - 185, 177, 178, 179, 180, 181, 283, 284, 285, 186, - 284, 171, 182, 171, 271 + 116, 213, 214, 215, 216, 195, 58, 184, 266, 267, + 268, 58, 265, 0, 191, 172, 194, 194, 31, 58, + 272, 147, 147, 33, 52, 75, 261, 186, 27, 48, + 51, 128, 130, 136, 210, 211, 241, 229, 58, 31, + 220, 40, 41, 42, 43, 132, 146, 151, 152, 235, + 236, 237, 238, 147, 191, 257, 194, 232, 58, 147, + 264, 226, 26, 26, 226, 226, 82, 183, 219, 245, + 272, 37, 58, 158, 271, 214, 58, 272, 254, 58, + 267, 58, 172, 197, 4, 62, 64, 147, 168, 260, + 174, 175, 275, 276, 277, 58, 147, 28, 35, 38, + 74, 102, 161, 221, 222, 223, 147, 58, 236, 272, + 271, 44, 52, 70, 71, 73, 79, 103, 106, 107, + 109, 110, 111, 113, 165, 227, 226, 226, 195, 147, + 59, 124, 255, 34, 8, 16, 50, 51, 67, 88, + 94, 96, 108, 125, 126, 158, 160, 165, 169, 198, + 199, 200, 201, 202, 203, 204, 138, 276, 278, 279, + 281, 172, 183, 147, 3, 25, 98, 104, 121, 167, + 170, 224, 226, 26, 253, 195, 58, 58, 58, 162, + 147, 183, 172, 187, 279, 186, 272, 185, 194, 176, + 280, 183, 177, 282, 283, 272, 183, 187, 283, 172, + 272, 186, 178, 179, 180, 181, 182, 284, 285, 286, + 187, 285, 172, 183, 172, 272 }; #define yyerrok (yyerrstatus = 0) @@ -2258,7 +2254,7 @@ yyreduce: case 5: /* Line 1464 of yacc.c */ -#line 353 "ntp_parser.y" +#line 355 "ntp_parser.y" { /* I will need to incorporate much more fine grained * error messages. The following should suffice for @@ -2275,7 +2271,7 @@ yyreduce: case 19: /* Line 1464 of yacc.c */ -#line 387 "ntp_parser.y" +#line 389 "ntp_parser.y" { peer_node *my_node; @@ -2287,42 +2283,42 @@ yyreduce: case 26: /* Line 1464 of yacc.c */ -#line 406 "ntp_parser.y" +#line 408 "ntp_parser.y" { (yyval.Address_node) = create_address_node((yyvsp[(2) - (2)].String), (yyvsp[(1) - (2)].Integer)); } break; case 27: /* Line 1464 of yacc.c */ -#line 411 "ntp_parser.y" +#line 413 "ntp_parser.y" { (yyval.Address_node) = create_address_node((yyvsp[(1) - (1)].String), AF_UNSPEC); } break; case 28: /* Line 1464 of yacc.c */ -#line 416 "ntp_parser.y" +#line 418 "ntp_parser.y" { (yyval.Integer) = AF_INET; } break; case 29: /* Line 1464 of yacc.c */ -#line 418 "ntp_parser.y" +#line 420 "ntp_parser.y" { (yyval.Integer) = AF_INET6; } break; case 30: /* Line 1464 of yacc.c */ -#line 423 "ntp_parser.y" +#line 425 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; case 31: /* Line 1464 of yacc.c */ -#line 425 "ntp_parser.y" +#line 427 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); @@ -2332,28 +2328,35 @@ yyreduce: case 35: /* Line 1464 of yacc.c */ -#line 439 "ntp_parser.y" +#line 441 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } break; case 44: /* Line 1464 of yacc.c */ -#line 455 "ntp_parser.y" +#line 457 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 51: + case 45: + +/* Line 1464 of yacc.c */ +#line 459 "ntp_parser.y" + { (yyval.Attr_val) = create_attr_uval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } + break; + + case 52: /* Line 1464 of yacc.c */ -#line 469 "ntp_parser.y" +#line 473 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } break; - case 53: + case 54: /* Line 1464 of yacc.c */ -#line 483 "ntp_parser.y" +#line 487 "ntp_parser.y" { unpeer_node *my_node; @@ -2363,31 +2366,31 @@ yyreduce: } break; - case 56: + case 57: /* Line 1464 of yacc.c */ -#line 504 "ntp_parser.y" +#line 508 "ntp_parser.y" { cfgt.broadcastclient = 1; } break; - case 57: + case 58: /* Line 1464 of yacc.c */ -#line 506 "ntp_parser.y" +#line 510 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[(2) - (2)].Address_fifo)); } break; - case 58: + case 59: /* Line 1464 of yacc.c */ -#line 508 "ntp_parser.y" +#line 512 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[(2) - (2)].Address_fifo)); } break; - case 59: + case 60: /* Line 1464 of yacc.c */ -#line 519 "ntp_parser.y" +#line 523 "ntp_parser.y" { attr_val *atrv; @@ -2396,93 +2399,93 @@ yyreduce: } break; - case 60: + case 61: /* Line 1464 of yacc.c */ -#line 526 "ntp_parser.y" +#line 530 "ntp_parser.y" { cfgt.auth.control_key = (yyvsp[(2) - (2)].Integer); } break; - case 61: + case 62: /* Line 1464 of yacc.c */ -#line 528 "ntp_parser.y" +#line 532 "ntp_parser.y" { cfgt.auth.cryptosw++; CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 62: + case 63: /* Line 1464 of yacc.c */ -#line 533 "ntp_parser.y" +#line 537 "ntp_parser.y" { cfgt.auth.keys = (yyvsp[(2) - (2)].String); } break; - case 63: + case 64: /* Line 1464 of yacc.c */ -#line 535 "ntp_parser.y" +#line 539 "ntp_parser.y" { cfgt.auth.keysdir = (yyvsp[(2) - (2)].String); } break; - case 64: + case 65: /* Line 1464 of yacc.c */ -#line 537 "ntp_parser.y" +#line 541 "ntp_parser.y" { cfgt.auth.request_key = (yyvsp[(2) - (2)].Integer); } break; - case 65: + case 66: /* Line 1464 of yacc.c */ -#line 539 "ntp_parser.y" +#line 543 "ntp_parser.y" { cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); } break; - case 66: + case 67: /* Line 1464 of yacc.c */ -#line 541 "ntp_parser.y" +#line 545 "ntp_parser.y" { cfgt.auth.trusted_key_list = (yyvsp[(2) - (2)].Attr_val_fifo); } break; - case 67: + case 68: /* Line 1464 of yacc.c */ -#line 543 "ntp_parser.y" +#line 547 "ntp_parser.y" { cfgt.auth.ntp_signd_socket = (yyvsp[(2) - (2)].String); } break; - case 68: + case 69: /* Line 1464 of yacc.c */ -#line 548 "ntp_parser.y" +#line 552 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 69: + case 70: /* Line 1464 of yacc.c */ -#line 550 "ntp_parser.y" +#line 554 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 70: + case 71: /* Line 1464 of yacc.c */ -#line 558 "ntp_parser.y" +#line 562 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } break; - case 71: + case 72: /* Line 1464 of yacc.c */ -#line 560 "ntp_parser.y" +#line 564 "ntp_parser.y" { (yyval.Attr_val) = NULL; cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); @@ -2493,65 +2496,65 @@ yyreduce: } break; - case 77: + case 78: /* Line 1464 of yacc.c */ -#line 585 "ntp_parser.y" +#line 589 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 78: + case 79: /* Line 1464 of yacc.c */ -#line 590 "ntp_parser.y" +#line 594 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 79: + case 80: /* Line 1464 of yacc.c */ -#line 595 "ntp_parser.y" +#line 599 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 80: + case 81: /* Line 1464 of yacc.c */ -#line 603 "ntp_parser.y" +#line 607 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); } break; - case 81: + case 82: /* Line 1464 of yacc.c */ -#line 605 "ntp_parser.y" +#line 609 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } break; - case 82: + case 83: /* Line 1464 of yacc.c */ -#line 607 "ntp_parser.y" +#line 611 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); } break; - case 93: + case 94: /* Line 1464 of yacc.c */ -#line 633 "ntp_parser.y" +#line 637 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[(2) - (2)].Int_fifo)); } break; - case 94: + case 95: /* Line 1464 of yacc.c */ -#line 635 "ntp_parser.y" +#line 639 "ntp_parser.y" { if (input_from_file) { cfgt.stats_dir = (yyvsp[(2) - (2)].String); @@ -2562,10 +2565,10 @@ yyreduce: } break; - case 95: + case 96: /* Line 1464 of yacc.c */ -#line 644 "ntp_parser.y" +#line 648 "ntp_parser.y" { filegen_node *fgn; @@ -2574,47 +2577,47 @@ yyreduce: } break; - case 96: + case 97: /* Line 1464 of yacc.c */ -#line 654 "ntp_parser.y" +#line 658 "ntp_parser.y" { (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); } break; - case 97: + case 98: /* Line 1464 of yacc.c */ -#line 659 "ntp_parser.y" +#line 663 "ntp_parser.y" { (yyval.Int_fifo) = NULL; APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); } break; - case 106: + case 107: /* Line 1464 of yacc.c */ -#line 678 "ntp_parser.y" +#line 682 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 107: + case 108: /* Line 1464 of yacc.c */ -#line 680 "ntp_parser.y" +#line 684 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 108: + case 109: /* Line 1464 of yacc.c */ -#line 688 "ntp_parser.y" +#line 692 "ntp_parser.y" { if (input_from_file) { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); @@ -2626,10 +2629,10 @@ yyreduce: } break; - case 109: + case 110: /* Line 1464 of yacc.c */ -#line 698 "ntp_parser.y" +#line 702 "ntp_parser.y" { if (input_from_file) { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); @@ -2640,10 +2643,10 @@ yyreduce: } break; - case 110: + case 111: /* Line 1464 of yacc.c */ -#line 707 "ntp_parser.y" +#line 711 "ntp_parser.y" { const char *err; @@ -2660,35 +2663,35 @@ yyreduce: } break; - case 111: + case 112: /* Line 1464 of yacc.c */ -#line 722 "ntp_parser.y" +#line 726 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } break; - case 123: + case 124: /* Line 1464 of yacc.c */ -#line 752 "ntp_parser.y" +#line 756 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 124: + case 125: /* Line 1464 of yacc.c */ -#line 756 "ntp_parser.y" +#line 760 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 125: + case 126: /* Line 1464 of yacc.c */ -#line 760 "ntp_parser.y" +#line 764 "ntp_parser.y" { restrict_node *rn; @@ -2698,10 +2701,10 @@ yyreduce: } break; - case 126: + case 127: /* Line 1464 of yacc.c */ -#line 768 "ntp_parser.y" +#line 772 "ntp_parser.y" { restrict_node *rn; @@ -2711,10 +2714,10 @@ yyreduce: } break; - case 127: + case 128: /* Line 1464 of yacc.c */ -#line 776 "ntp_parser.y" +#line 780 "ntp_parser.y" { restrict_node *rn; @@ -2724,10 +2727,10 @@ yyreduce: } break; - case 128: + case 129: /* Line 1464 of yacc.c */ -#line 784 "ntp_parser.y" +#line 788 "ntp_parser.y" { restrict_node *rn; @@ -2744,10 +2747,10 @@ yyreduce: } break; - case 129: + case 130: /* Line 1464 of yacc.c */ -#line 799 "ntp_parser.y" +#line 803 "ntp_parser.y" { restrict_node *rn; @@ -2764,10 +2767,10 @@ yyreduce: } break; - case 130: + case 131: /* Line 1464 of yacc.c */ -#line 814 "ntp_parser.y" +#line 818 "ntp_parser.y" { restrict_node * rn; @@ -2778,81 +2781,81 @@ yyreduce: } break; - case 131: + case 132: /* Line 1464 of yacc.c */ -#line 826 "ntp_parser.y" +#line 830 "ntp_parser.y" { (yyval.Int_fifo) = NULL; } break; - case 132: + case 133: /* Line 1464 of yacc.c */ -#line 828 "ntp_parser.y" +#line 832 "ntp_parser.y" { (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); } break; - case 147: + case 148: /* Line 1464 of yacc.c */ -#line 853 "ntp_parser.y" +#line 857 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 148: + case 149: /* Line 1464 of yacc.c */ -#line 858 "ntp_parser.y" +#line 862 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 149: + case 150: /* Line 1464 of yacc.c */ -#line 866 "ntp_parser.y" +#line 870 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 153: + case 154: /* Line 1464 of yacc.c */ -#line 877 "ntp_parser.y" +#line 881 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 154: + case 155: /* Line 1464 of yacc.c */ -#line 882 "ntp_parser.y" +#line 886 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 155: + case 156: /* Line 1464 of yacc.c */ -#line 890 "ntp_parser.y" +#line 894 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 164: + case 165: /* Line 1464 of yacc.c */ -#line 910 "ntp_parser.y" +#line 914 "ntp_parser.y" { addr_opts_node *aon; @@ -2861,99 +2864,99 @@ yyreduce: } break; - case 165: + case 166: /* Line 1464 of yacc.c */ -#line 920 "ntp_parser.y" +#line 924 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 166: + case 167: /* Line 1464 of yacc.c */ -#line 925 "ntp_parser.y" +#line 929 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 167: + case 168: /* Line 1464 of yacc.c */ -#line 933 "ntp_parser.y" +#line 937 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } break; - case 168: + case 169: /* Line 1464 of yacc.c */ -#line 935 "ntp_parser.y" +#line 939 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 169: + case 170: /* Line 1464 of yacc.c */ -#line 937 "ntp_parser.y" +#line 941 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 170: + case 171: /* Line 1464 of yacc.c */ -#line 939 "ntp_parser.y" +#line 943 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } break; - case 177: + case 178: /* Line 1464 of yacc.c */ -#line 960 "ntp_parser.y" +#line 964 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 178: + case 179: /* Line 1464 of yacc.c */ -#line 962 "ntp_parser.y" +#line 966 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 179: + case 180: /* Line 1464 of yacc.c */ -#line 967 "ntp_parser.y" +#line 971 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 180: + case 181: /* Line 1464 of yacc.c */ -#line 972 "ntp_parser.y" +#line 976 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 181: + case 182: /* Line 1464 of yacc.c */ -#line 980 "ntp_parser.y" +#line 984 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } break; - case 182: + case 183: /* Line 1464 of yacc.c */ -#line 982 "ntp_parser.y" +#line 986 "ntp_parser.y" { if (input_from_file) { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); @@ -2964,44 +2967,44 @@ yyreduce: } break; - case 189: + case 190: /* Line 1464 of yacc.c */ -#line 1007 "ntp_parser.y" +#line 1011 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 190: + case 191: /* Line 1464 of yacc.c */ -#line 1012 "ntp_parser.y" +#line 1016 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 191: + case 192: /* Line 1464 of yacc.c */ -#line 1017 "ntp_parser.y" +#line 1021 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 192: + case 193: /* Line 1464 of yacc.c */ -#line 1025 "ntp_parser.y" +#line 1029 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } break; - case 202: + case 203: /* Line 1464 of yacc.c */ -#line 1047 "ntp_parser.y" +#line 1051 "ntp_parser.y" { attr_val *av; @@ -3010,10 +3013,10 @@ yyreduce: } break; - case 203: + case 204: /* Line 1464 of yacc.c */ -#line 1054 "ntp_parser.y" +#line 1058 "ntp_parser.y" { attr_val *av; @@ -3022,10 +3025,10 @@ yyreduce: } break; - case 204: + case 205: /* Line 1464 of yacc.c */ -#line 1061 "ntp_parser.y" +#line 1065 "ntp_parser.y" { char error_text[64]; attr_val *av; @@ -3043,10 +3046,10 @@ yyreduce: } break; - case 205: + case 206: /* Line 1464 of yacc.c */ -#line 1077 "ntp_parser.y" +#line 1081 "ntp_parser.y" { if (!input_from_file) { yyerror("remote includefile ignored"); @@ -3067,48 +3070,48 @@ yyreduce: } break; - case 206: + case 207: /* Line 1464 of yacc.c */ -#line 1096 "ntp_parser.y" +#line 1100 "ntp_parser.y" { while (curr_include_level != -1) FCLOSE(fp[curr_include_level--]); } break; - case 207: + case 208: /* Line 1464 of yacc.c */ -#line 1101 "ntp_parser.y" +#line 1105 "ntp_parser.y" { /* see drift_parm below for actions */ } break; - case 208: + case 209: /* Line 1464 of yacc.c */ -#line 1103 "ntp_parser.y" +#line 1107 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 209: + case 210: /* Line 1464 of yacc.c */ -#line 1105 "ntp_parser.y" +#line 1109 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[(2) - (2)].String_fifo)); } break; - case 210: + case 211: /* Line 1464 of yacc.c */ -#line 1107 "ntp_parser.y" +#line 1111 "ntp_parser.y" { APPEND_G_FIFO(cfgt.setvar, (yyvsp[(2) - (2)].Set_var)); } break; - case 211: + case 212: /* Line 1464 of yacc.c */ -#line 1109 "ntp_parser.y" +#line 1113 "ntp_parser.y" { addr_opts_node *aon; @@ -3117,17 +3120,17 @@ yyreduce: } break; - case 212: + case 213: /* Line 1464 of yacc.c */ -#line 1116 "ntp_parser.y" +#line 1120 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 222: + case 223: /* Line 1464 of yacc.c */ -#line 1139 "ntp_parser.y" +#line 1143 "ntp_parser.y" { attr_val *av; @@ -3136,10 +3139,10 @@ yyreduce: } break; - case 223: + case 224: /* Line 1464 of yacc.c */ -#line 1146 "ntp_parser.y" +#line 1150 "ntp_parser.y" { attr_val *av; @@ -3150,10 +3153,10 @@ yyreduce: } break; - case 224: + case 225: /* Line 1464 of yacc.c */ -#line 1155 "ntp_parser.y" +#line 1159 "ntp_parser.y" { attr_val *av; @@ -3162,78 +3165,78 @@ yyreduce: } break; - case 225: + case 226: /* Line 1464 of yacc.c */ -#line 1165 "ntp_parser.y" +#line 1169 "ntp_parser.y" { (yyval.Set_var) = create_setvar_node((yyvsp[(1) - (4)].String), (yyvsp[(3) - (4)].String), (yyvsp[(4) - (4)].Integer)); } break; - case 227: + case 228: /* Line 1464 of yacc.c */ -#line 1171 "ntp_parser.y" +#line 1175 "ntp_parser.y" { (yyval.Integer) = 0; } break; - case 228: + case 229: /* Line 1464 of yacc.c */ -#line 1176 "ntp_parser.y" +#line 1180 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 229: + case 230: /* Line 1464 of yacc.c */ -#line 1178 "ntp_parser.y" +#line 1182 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 230: + case 231: /* Line 1464 of yacc.c */ -#line 1186 "ntp_parser.y" +#line 1190 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 231: + case 232: /* Line 1464 of yacc.c */ -#line 1188 "ntp_parser.y" +#line 1192 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), estrdup((yyvsp[(2) - (2)].Address_node)->address)); destroy_address_node((yyvsp[(2) - (2)].Address_node)); } break; - case 232: + case 233: /* Line 1464 of yacc.c */ -#line 1196 "ntp_parser.y" +#line 1200 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 233: + case 234: /* Line 1464 of yacc.c */ -#line 1201 "ntp_parser.y" +#line 1205 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 234: + case 235: /* Line 1464 of yacc.c */ -#line 1209 "ntp_parser.y" +#line 1213 "ntp_parser.y" { char prefix; char * type; @@ -3257,10 +3260,10 @@ yyreduce: } break; - case 235: + case 236: /* Line 1464 of yacc.c */ -#line 1234 "ntp_parser.y" +#line 1238 "ntp_parser.y" { nic_rule_node *nrn; @@ -3269,10 +3272,10 @@ yyreduce: } break; - case 236: + case 237: /* Line 1464 of yacc.c */ -#line 1241 "ntp_parser.y" +#line 1245 "ntp_parser.y" { nic_rule_node *nrn; @@ -3281,131 +3284,131 @@ yyreduce: } break; - case 246: + case 247: /* Line 1464 of yacc.c */ -#line 1269 "ntp_parser.y" +#line 1273 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[(2) - (2)].Int_fifo)); } break; - case 247: + case 248: /* Line 1464 of yacc.c */ -#line 1274 "ntp_parser.y" +#line 1278 "ntp_parser.y" { (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); } break; - case 248: + case 249: /* Line 1464 of yacc.c */ -#line 1279 "ntp_parser.y" +#line 1283 "ntp_parser.y" { (yyval.Int_fifo) = NULL; APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); } break; - case 256: + case 257: /* Line 1464 of yacc.c */ -#line 1303 "ntp_parser.y" +#line 1307 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(2) - (2)].Integer))); } break; - case 257: + case 258: /* Line 1464 of yacc.c */ -#line 1308 "ntp_parser.y" +#line 1312 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); } break; - case 258: + case 259: /* Line 1464 of yacc.c */ -#line 1316 "ntp_parser.y" +#line 1320 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val)); } break; - case 259: + case 260: /* Line 1464 of yacc.c */ -#line 1321 "ntp_parser.y" +#line 1325 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 260: + case 261: /* Line 1464 of yacc.c */ -#line 1329 "ntp_parser.y" +#line 1333 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[(1) - (1)].Integer)); } break; - case 262: + case 263: /* Line 1464 of yacc.c */ -#line 1335 "ntp_parser.y" +#line 1339 "ntp_parser.y" { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[(2) - (5)].Integer), (yyvsp[(4) - (5)].Integer)); } break; - case 263: + case 264: /* Line 1464 of yacc.c */ -#line 1340 "ntp_parser.y" +#line 1344 "ntp_parser.y" { (yyval.String_fifo) = (yyvsp[(1) - (2)].String_fifo); APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(2) - (2)].String))); } break; - case 264: + case 265: /* Line 1464 of yacc.c */ -#line 1345 "ntp_parser.y" +#line 1349 "ntp_parser.y" { (yyval.String_fifo) = NULL; APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(1) - (1)].String))); } break; - case 265: + case 266: /* Line 1464 of yacc.c */ -#line 1353 "ntp_parser.y" +#line 1357 "ntp_parser.y" { (yyval.Address_fifo) = (yyvsp[(1) - (2)].Address_fifo); APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(2) - (2)].Address_node)); } break; - case 266: + case 267: /* Line 1464 of yacc.c */ -#line 1358 "ntp_parser.y" +#line 1362 "ntp_parser.y" { (yyval.Address_fifo) = NULL; APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(1) - (1)].Address_node)); } break; - case 267: + case 268: /* Line 1464 of yacc.c */ -#line 1366 "ntp_parser.y" +#line 1370 "ntp_parser.y" { if ((yyvsp[(1) - (1)].Integer) != 0 && (yyvsp[(1) - (1)].Integer) != 1) { yyerror("Integer value is not boolean (0 or 1). Assuming 1"); @@ -3416,31 +3419,31 @@ yyreduce: } break; - case 268: + case 269: /* Line 1464 of yacc.c */ -#line 1374 "ntp_parser.y" +#line 1378 "ntp_parser.y" { (yyval.Integer) = 1; } break; - case 269: + case 270: /* Line 1464 of yacc.c */ -#line 1375 "ntp_parser.y" +#line 1379 "ntp_parser.y" { (yyval.Integer) = 0; } break; - case 270: + case 271: /* Line 1464 of yacc.c */ -#line 1379 "ntp_parser.y" +#line 1383 "ntp_parser.y" { (yyval.Double) = (double)(yyvsp[(1) - (1)].Integer); } break; - case 272: + case 273: /* Line 1464 of yacc.c */ -#line 1390 "ntp_parser.y" +#line 1394 "ntp_parser.y" { sim_node *sn; @@ -3452,139 +3455,139 @@ yyreduce: } break; - case 273: + case 274: /* Line 1464 of yacc.c */ -#line 1407 "ntp_parser.y" +#line 1411 "ntp_parser.y" { old_config_style = 0; } break; - case 274: + case 275: /* Line 1464 of yacc.c */ -#line 1412 "ntp_parser.y" +#line 1416 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val)); } break; - case 275: + case 276: /* Line 1464 of yacc.c */ -#line 1417 "ntp_parser.y" +#line 1421 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val)); } break; - case 276: + case 277: /* Line 1464 of yacc.c */ -#line 1425 "ntp_parser.y" +#line 1429 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); } break; - case 279: + case 280: /* Line 1464 of yacc.c */ -#line 1435 "ntp_parser.y" +#line 1439 "ntp_parser.y" { (yyval.Sim_server_fifo) = (yyvsp[(1) - (2)].Sim_server_fifo); APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(2) - (2)].Sim_server)); } break; - case 280: + case 281: /* Line 1464 of yacc.c */ -#line 1440 "ntp_parser.y" +#line 1444 "ntp_parser.y" { (yyval.Sim_server_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(1) - (1)].Sim_server)); } break; - case 281: + case 282: /* Line 1464 of yacc.c */ -#line 1448 "ntp_parser.y" +#line 1452 "ntp_parser.y" { (yyval.Sim_server) = create_sim_server((yyvsp[(1) - (5)].Address_node), (yyvsp[(3) - (5)].Double), (yyvsp[(4) - (5)].Sim_script_fifo)); } break; - case 282: + case 283: /* Line 1464 of yacc.c */ -#line 1453 "ntp_parser.y" +#line 1457 "ntp_parser.y" { (yyval.Double) = (yyvsp[(3) - (4)].Double); } break; - case 283: + case 284: /* Line 1464 of yacc.c */ -#line 1458 "ntp_parser.y" +#line 1462 "ntp_parser.y" { (yyval.Address_node) = (yyvsp[(3) - (3)].Address_node); } break; - case 284: + case 285: /* Line 1464 of yacc.c */ -#line 1463 "ntp_parser.y" +#line 1467 "ntp_parser.y" { (yyval.Sim_script_fifo) = (yyvsp[(1) - (2)].Sim_script_fifo); APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(2) - (2)].Sim_script)); } break; - case 285: + case 286: /* Line 1464 of yacc.c */ -#line 1468 "ntp_parser.y" +#line 1472 "ntp_parser.y" { (yyval.Sim_script_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(1) - (1)].Sim_script)); } break; - case 286: + case 287: /* Line 1464 of yacc.c */ -#line 1476 "ntp_parser.y" +#line 1480 "ntp_parser.y" { (yyval.Sim_script) = create_sim_script_info((yyvsp[(3) - (6)].Double), (yyvsp[(5) - (6)].Attr_val_fifo)); } break; - case 287: + case 288: /* Line 1464 of yacc.c */ -#line 1481 "ntp_parser.y" +#line 1485 "ntp_parser.y" { (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val)); } break; - case 288: + case 289: /* Line 1464 of yacc.c */ -#line 1486 "ntp_parser.y" +#line 1490 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val)); } break; - case 289: + case 290: /* Line 1464 of yacc.c */ -#line 1494 "ntp_parser.y" +#line 1498 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); } break; /* Line 1464 of yacc.c */ -#line 3588 "ntp_parser.c" +#line 3591 "ntp_parser.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3796,7 +3799,7 @@ yyreturn: /* Line 1684 of yacc.c */ -#line 1505 "ntp_parser.y" +#line 1509 "ntp_parser.y" void diff --git a/ntpd/ntp_parser.h b/ntpd/ntp_parser.h index fbc7655db7..312e0d121d 100644 --- a/ntpd/ntp_parser.h +++ b/ntpd/ntp_parser.h @@ -197,26 +197,27 @@ T_Trustedkey = 414, T_Ttl = 415, T_Type = 416, - T_Unconfig = 417, - T_Unpeer = 418, - T_Version = 419, - T_WanderThreshold = 420, - T_Week = 421, - T_Wildcard = 422, - T_Xleave = 423, - T_Year = 424, - T_Flag = 425, - T_EOC = 426, - T_Simulate = 427, - T_Beep_Delay = 428, - T_Sim_Duration = 429, - T_Server_Offset = 430, - T_Duration = 431, - T_Freq_Offset = 432, - T_Wander = 433, - T_Jitter = 434, - T_Prop_Delay = 435, - T_Proc_Delay = 436 + T_U_int = 417, + T_Unconfig = 418, + T_Unpeer = 419, + T_Version = 420, + T_WanderThreshold = 421, + T_Week = 422, + T_Wildcard = 423, + T_Xleave = 424, + T_Year = 425, + T_Flag = 426, + T_EOC = 427, + T_Simulate = 428, + T_Beep_Delay = 429, + T_Sim_Duration = 430, + T_Server_Offset = 431, + T_Duration = 432, + T_Freq_Offset = 433, + T_Wander = 434, + T_Jitter = 435, + T_Prop_Delay = 436, + T_Proc_Delay = 437 }; #endif /* Tokens. */ @@ -379,26 +380,27 @@ #define T_Trustedkey 414 #define T_Ttl 415 #define T_Type 416 -#define T_Unconfig 417 -#define T_Unpeer 418 -#define T_Version 419 -#define T_WanderThreshold 420 -#define T_Week 421 -#define T_Wildcard 422 -#define T_Xleave 423 -#define T_Year 424 -#define T_Flag 425 -#define T_EOC 426 -#define T_Simulate 427 -#define T_Beep_Delay 428 -#define T_Sim_Duration 429 -#define T_Server_Offset 430 -#define T_Duration 431 -#define T_Freq_Offset 432 -#define T_Wander 433 -#define T_Jitter 434 -#define T_Prop_Delay 435 -#define T_Proc_Delay 436 +#define T_U_int 417 +#define T_Unconfig 418 +#define T_Unpeer 419 +#define T_Version 420 +#define T_WanderThreshold 421 +#define T_Week 422 +#define T_Wildcard 423 +#define T_Xleave 424 +#define T_Year 425 +#define T_Flag 426 +#define T_EOC 427 +#define T_Simulate 428 +#define T_Beep_Delay 429 +#define T_Sim_Duration 430 +#define T_Server_Offset 431 +#define T_Duration 432 +#define T_Freq_Offset 433 +#define T_Wander 434 +#define T_Jitter 435 +#define T_Prop_Delay 436 +#define T_Proc_Delay 437 @@ -413,6 +415,7 @@ typedef union YYSTYPE char * String; double Double; int Integer; + unsigned U_int; gen_fifo * Generic_fifo; attr_val * Attr_val; attr_val_fifo * Attr_val_fifo; @@ -429,7 +432,7 @@ typedef union YYSTYPE /* Line 1685 of yacc.c */ -#line 433 "ntp_parser.h" +#line 436 "ntp_parser.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ diff --git a/ntpd/ntp_parser.y b/ntpd/ntp_parser.y index eac2059897..57bc249616 100644 --- a/ntpd/ntp_parser.y +++ b/ntpd/ntp_parser.y @@ -30,14 +30,14 @@ */ - struct FILE_INFO *ip_file; /* Pointer to the configuration file stream */ + struct FILE_INFO *ip_file; /* configuration file stream */ #define YYMALLOC emalloc #define YYFREE free #define YYERROR_VERBOSE - #define YYMAXDEPTH 1000 /* stop the madness sooner */ + #define YYMAXDEPTH 1000 /* stop the madness sooner */ void yyerror(const char *msg); - extern int input_from_file; /* 0=input from ntpq :config */ + extern int input_from_file; /* else from ntpq :config */ %} /* @@ -50,6 +50,7 @@ char * String; double Double; int Integer; + unsigned U_int; gen_fifo * Generic_fifo; attr_val * Attr_val; attr_val_fifo * Attr_val_fifo; @@ -224,6 +225,7 @@ %token T_Trustedkey %token T_Ttl %token T_Type +%token T_U_int /* Not a token */ %token T_Unconfig %token T_Unpeer %token T_Version @@ -453,6 +455,8 @@ option_flag_keyword option_int : option_int_keyword T_Integer { $$ = create_attr_ival($1, $2); } + | option_int_keyword T_U_int + { $$ = create_attr_uval($1, $2); } ; option_int_keyword diff --git a/ntpd/ntp_peer.c b/ntpd/ntp_peer.c index 12c3265b81..4b97ecd6a9 100644 --- a/ntpd/ntp_peer.c +++ b/ntpd/ntp_peer.c @@ -15,8 +15,8 @@ #include /* - * Table of valid association combinations - * --------------------------------------- + * Table of valid association combinations + * --------------------------------------- * * packet->mode * peer->mode | UNSPEC ACTIVE PASSIVE CLIENT SERVER BCAST @@ -532,7 +532,7 @@ peer_config( u_char minpoll, u_char maxpoll, u_int flags, - u_char ttl, + u_int32 ttl, keyid_t key, const char * ident /* autokey group */ ) @@ -634,7 +634,7 @@ peer_refresh_interface( niface = select_peerinterface(p, &p->srcadr, NULL); DPRINTF(4, ( - "peer_refresh_interface: %s->%s mode %d vers %d poll %d %d flags 0x%x 0x%x ttl %d key %08x: new interface: ", + "peer_refresh_interface: %s->%s mode %d vers %d poll %d %d flags 0x%x 0x%x ttl %u key %08x: new interface: ", p->dstadr == NULL ? "" : stoa(&p->dstadr->sin), stoa(&p->srcadr), p->hmode, p->version, p->minpoll, p->maxpoll, p->flags, p->cast_flags, @@ -711,7 +711,7 @@ newpeer( u_char maxpoll, u_int flags, u_char cast_flags, - u_char ttl, + u_int32 ttl, keyid_t key, const char * ident ) @@ -841,7 +841,7 @@ newpeer( if (key > NTP_MAXKEY) peer->flags |= FLAG_SKEY; #endif /* AUTOKEY */ - peer->ttl = (u_char)ttl; + peer->ttl = ttl; peer->keyid = key; if (ident != NULL) peer->ident = estrdup(ident); diff --git a/ntpd/ntp_scanner.c b/ntpd/ntp_scanner.c index 7a258ea0f3..e1bb7e2ac9 100644 --- a/ntpd/ntp_scanner.c +++ b/ntpd/ntp_scanner.c @@ -283,18 +283,63 @@ is_integer( char *lexeme ) { - int i = 0; + int i; + int is_neg; + u_int u_val; + + i = 0; /* Allow a leading minus sign */ - if (lexeme[i] == '-') - ++i; + if (lexeme[i] == '-') { + i++; + is_neg = TRUE; + } else { + is_neg = FALSE; + } /* Check that all the remaining characters are digits */ - for (; lexeme[i]; ++i) { + for (; lexeme[i] != '\0'; i++) { if (!isdigit(lexeme[i])) - return 0; + return FALSE; } - return 1; + + if (is_neg) + return TRUE; + + /* Reject numbers that fit in unsigned but not in signed int */ + if (1 == sscanf(lexeme, "%u", &u_val)) + return (u_val <= INT_MAX); + else + return FALSE; +} + + +/* U_int -- assumes is_integer() has returned FALSE */ +static int +is_u_int( + char *lexeme + ) +{ + int i; + int is_hex; + + i = 0; + if ('0' == lexeme[i] && 'x' == tolower(lexeme[i + 1])) { + i += 2; + is_hex = TRUE; + } else { + is_hex = FALSE; + } + + /* Check that all the remaining characters are digits */ + for (; lexeme[i] != '\0'; i++) { + if (is_hex && !isxdigit(lexeme[i])) + return FALSE; + if (!is_hex && !isdigit(lexeme[i])) + return FALSE; + } + + return TRUE; } @@ -437,11 +482,16 @@ yylex( void ) { - int i, instring = 0; - int yylval_was_set = 0; - int token; /* The return value/the recognized token */ - int ch; - static follby followedby = FOLLBY_TOKEN; + static follby followedby = FOLLBY_TOKEN; + int i; + int instring; + int yylval_was_set; + int converted; + int token; /* The return value */ + int ch; + + instring = FALSE; + yylval_was_set = FALSE; do { /* Ignore whitespace at the beginning */ @@ -520,7 +570,7 @@ yylex( * XXX - HMS: I'm not sure we want to assume the closing " */ if ('"' == ch) { - instring = 1; + instring = TRUE; while (EOF != (ch = get_next_char()) && ch != '"' && ch != '\n') { yytext[i++] = (char)ch; @@ -569,23 +619,49 @@ yylex( if (T_Server == token && !old_config_style) followedby = FOLLBY_TOKEN; goto normal_return; - } - else if (is_integer(yytext)) { - yylval_was_set = 1; + } else if (is_integer(yytext)) { + yylval_was_set = TRUE; errno = 0; if ((yylval.Integer = strtol(yytext, NULL, 10)) == 0 && ((errno == EINVAL) || (errno == ERANGE))) { msyslog(LOG_ERR, "Integer cannot be represented: %s", yytext); - exit(1); - } else { - token = T_Integer; - goto normal_return; + if (input_from_file) { + exit(1); + } else { + /* force end of parsing */ + yylval.Integer = 0; + return 0; + } } - } - else if (is_double(yytext)) { - yylval_was_set = 1; + token = T_Integer; + goto normal_return; + } else if (is_u_int(yytext)) { + yylval_was_set = TRUE; + if ('0' == yytext[0] && + 'x' == tolower(yytext[1])) + converted = sscanf(&yytext[2], "%x", + &yylval.U_int); + else + converted = sscanf(yytext, "%u", + &yylval.U_int); + if (1 != converted) { + msyslog(LOG_ERR, + "U_int cannot be represented: %s", + yytext); + if (input_from_file) { + exit(1); + } else { + /* force end of parsing */ + yylval.Integer = 0; + return 0; + } + } + token = T_U_int; + goto normal_return; + } else if (is_double(yytext)) { + yylval_was_set = TRUE; errno = 0; if ((yylval.Double = atof(yytext)) == 0 && errno == ERANGE) { msyslog(LOG_ERR, @@ -598,7 +674,7 @@ yylex( } } else { /* Default: Everything is a string */ - yylval_was_set = 1; + yylval_was_set = TRUE; token = create_string_token(yytext); goto normal_return; } @@ -636,11 +712,11 @@ yylex( } } - instring = 0; + instring = FALSE; if (FOLLBY_STRING == followedby) followedby = FOLLBY_TOKEN; - yylval_was_set = 1; + yylval_was_set = TRUE; token = create_string_token(yytext); normal_return: @@ -659,7 +735,8 @@ lex_too_long: yytext[min(sizeof(yytext) - 1, 50)] = 0; msyslog(LOG_ERR, "configuration item on line %d longer than limit of %lu, began with '%s'", - ip_file->line_no, (u_long)(sizeof(yytext) - 1), yytext); + ip_file->line_no, (u_long)min(sizeof(yytext) - 1, 50), + yytext); /* * If we hit the length limit reading the startup configuration diff --git a/sntp/main.c b/sntp/main.c index e65c9bbe25..6d314387ef 100644 --- a/sntp/main.c +++ b/sntp/main.c @@ -819,7 +819,7 @@ sock_cb( } /* Read in the packet */ - rpktl = recvdata(fd, &sender, &rbuf, sizeof(rbuf)); + rpktl = recvdata(fd, &sender, &rbuf.pkt, sizeof(rbuf)); if (rpktl < 0) { msyslog(LOG_DEBUG, "recvfrom error %m"); return;