From: Dave Hart Date: Sun, 28 Nov 2010 19:24:29 +0000 (+0000) Subject: implement configuration of association option ident specifying X-Git-Tag: NTP_4_2_7P86~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d0f2d6711c9a72735902ef3dad1623b3b81bbcb;p=thirdparty%2Fntp.git implement configuration of association option ident specifying the autokey group. Implementation not yet complete. bk: 4cf2ac6dzZgT4T1Va3ABw4ZnvUM-BQ --- diff --git a/include/ntp_config.h b/include/ntp_config.h index 3e9b0407a..f16ec2b30 100644 --- a/include/ntp_config.h +++ b/include/ntp_config.h @@ -143,6 +143,7 @@ struct peer_node_tag { u_char ttl; u_char peerversion; keyid_t peerkey; + char * group; }; typedef DECL_FIFO_ANCHOR(peer_node) peer_fifo; diff --git a/include/ntpd.h b/include/ntpd.h index c6afea4e5..9f4313220 100644 --- a/include/ntpd.h +++ b/include/ntpd.h @@ -192,7 +192,7 @@ extern void peer_clr_stats (void); extern struct peer *peer_config(sockaddr_u *, const char *, struct interface *, u_char, u_char, u_char, u_char, u_int, u_char, keyid_t, - u_char *); + const char *); extern void peer_reset (struct peer *); extern void refresh_all_peerinterfaces(void); extern void unpeer (struct peer *); diff --git a/ntpd/complete.conf b/ntpd/complete.conf index 6d85d6c0f..eee5f9b67 100644 --- a/ntpd/complete.conf +++ b/ntpd/complete.conf @@ -31,7 +31,7 @@ pool 0.north-america.pool.ntp.org. iburst preempt server 1.north-america.pool.ntp.org. iburst server -4 2.north-america.pool.ntp.org. minpoll 6 maxpoll 10 iburst server -6 ntp.davehart.net. minpoll 6 maxpoll 10 version 5 burst iburst -peer -6 davehart.broker.freenet6.net. xleave autokey +peer -6 davehart.broker.freenet6.net. ident "autokey-group" xleave autokey peer -4 192.168.192.168 key 1 noselect broadcast 192.168.192.255 manycastclient 224.0.1.1 diff --git a/ntpd/ntp_config.c b/ntpd/ntp_config.c index ad88f8fb3..9e3dd9da9 100644 --- a/ntpd/ntp_config.c +++ b/ntpd/ntp_config.c @@ -96,15 +96,16 @@ static struct masks logcfg_item[] = { }; typedef struct peer_resolved_ctx_tag { - int flags; - int host_mode; /* T_* token identifier */ - u_short family; - keyid_t keyid; - u_char hmode; /* MODE_* */ - u_char version; - u_char minpoll; - u_char maxpoll; - u_char ttl; + int flags; + int host_mode; /* T_* token identifier */ + u_short family; + keyid_t keyid; + u_char hmode; /* MODE_* */ + u_char version; + u_char minpoll; + u_char maxpoll; + u_char ttl; + const char * group; } peer_resolved_ctx; /* Limits */ @@ -754,6 +755,9 @@ dump_config_tree( if (peern->peerkey != 0) fprintf(df, " key %u", peern->peerkey); + if (peern->group != NULL) + fprintf(df, " ident \"%s\"", peern->group); + atrv = HEAD_PFIFO(peern->peerflags); for ( ; atrv != NULL; atrv = atrv->link) { NTP_INSIST(T_Flag == atrv->attr); @@ -1248,6 +1252,10 @@ create_peer_node( } break; + case T_Ident: + my_node->group = option->value.s; + break; + default: msyslog(LOG_ERR, "Unknown peer/server option token %s", @@ -3585,20 +3593,16 @@ config_peers( FLAG_IBURST, 0, 0, - (u_char *)"*"); + NULL); } else { /* we have a hostname to resolve */ # ifdef WORKER - ctx = emalloc(sizeof(*ctx)); + ctx = emalloc_zero(sizeof(*ctx)); ctx->family = AF_UNSPEC; ctx->host_mode = T_Server; ctx->hmode = MODE_CLIENT; ctx->version = NTP_VERSION; - ctx->minpoll = 0; - ctx->maxpoll = 0; ctx->flags = FLAG_IBURST; - ctx->ttl = 0; - ctx->keyid = 0; memset(&hints, 0, sizeof(hints)); hints.ai_family = (u_short)ctx->family; @@ -3639,7 +3643,7 @@ config_peers( peerflag_bits(curr_peer), curr_peer->ttl, curr_peer->peerkey, - (u_char *)"*"); + curr_peer->group); /* * If we have a numeric address, we can safely * proceed in the mainline with it. Otherwise, hand @@ -3662,11 +3666,11 @@ config_peers( peerflag_bits(curr_peer), curr_peer->ttl, curr_peer->peerkey, - (u_char *)"*"); + curr_peer->group); } else { /* we have a hostname to resolve */ # ifdef WORKER - ctx = emalloc(sizeof(*ctx)); + ctx = emalloc_zero(sizeof(*ctx)); ctx->family = curr_peer->addr->type; ctx->host_mode = curr_peer->host_mode; ctx->hmode = hmode; @@ -3676,6 +3680,7 @@ config_peers( ctx->flags = peerflag_bits(curr_peer); ctx->ttl = curr_peer->ttl; ctx->keyid = curr_peer->peerkey; + ctx->group = curr_peer->group; memset(&hints, 0, sizeof(hints)); hints.ai_family = ctx->family; @@ -3763,7 +3768,7 @@ peer_name_resolved( ctx->flags, ctx->ttl, ctx->keyid, - (u_char *)"*"); + ctx->group); break; } } diff --git a/ntpd/ntp_parser.c b/ntpd/ntp_parser.c index b15a4d834..bbccf6a41 100644 --- a/ntpd/ntp_parser.c +++ b/ntpd/ntp_parser.c @@ -732,16 +732,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 181 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 584 +#define YYLAST 510 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 180 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 94 +#define YYNNTS 96 /* YYNRULES -- Number of rules. */ -#define YYNRULES 279 +#define YYNRULES 282 /* YYNRULES -- Number of states. */ -#define YYNSTATES 378 +#define YYNSTATES 382 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -807,137 +807,140 @@ 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, 94, 96, 98, 100, 102, 104, - 106, 109, 111, 113, 115, 118, 121, 124, 127, 130, - 133, 136, 139, 142, 145, 148, 149, 152, 155, 158, - 160, 162, 164, 166, 168, 171, 174, 176, 179, 182, - 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, - 205, 208, 211, 215, 218, 220, 222, 224, 226, 228, - 230, 232, 234, 236, 237, 240, 243, 246, 248, 250, - 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, - 272, 275, 278, 282, 288, 292, 297, 302, 306, 307, - 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, - 330, 332, 334, 336, 338, 341, 343, 346, 348, 350, - 352, 355, 357, 360, 362, 364, 366, 368, 370, 372, - 374, 376, 380, 383, 385, 388, 391, 394, 397, 399, - 401, 403, 405, 407, 409, 412, 415, 418, 420, 422, - 424, 426, 428, 430, 432, 434, 436, 439, 442, 444, - 447, 449, 451, 453, 455, 457, 459, 461, 463, 466, - 469, 472, 476, 478, 481, 484, 487, 490, 494, 497, - 499, 501, 503, 505, 507, 509, 511, 513, 515, 518, - 519, 524, 526, 527, 528, 531, 534, 537, 540, 542, - 544, 548, 552, 554, 556, 558, 560, 562, 564, 566, - 568, 570, 573, 575, 578, 580, 582, 584, 590, 593, - 595, 598, 600, 602, 604, 606, 608, 610, 616, 618, - 622, 625, 629, 631, 633, 636, 638, 644, 649, 653, - 656, 658, 665, 669, 672, 676, 678, 680, 682, 684 + 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, 473, 476, 479, 483, 485, 488, 491, 494, + 497, 501, 504, 506, 508, 510, 512, 514, 516, 518, + 520, 522, 525, 526, 531, 533, 534, 535, 538, 541, + 544, 547, 549, 551, 555, 559, 561, 563, 565, 567, + 569, 571, 573, 575, 577, 580, 582, 585, 587, 589, + 591, 597, 600, 602, 605, 607, 609, 611, 613, 615, + 617, 623, 625, 629, 632, 636, 638, 640, 643, 645, + 651, 656, 660, 663, 665, 672, 676, 679, 683, 685, + 687, 689, 691 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { 181, 0, -1, 182, -1, 182, 183, 164, -1, 183, - 164, -1, 1, 164, -1, -1, 184, -1, 195, -1, - 197, -1, 198, -1, 207, -1, 215, -1, 202, -1, - 224, -1, 229, -1, 233, -1, 237, -1, 260, -1, + 164, -1, 1, 164, -1, -1, 184, -1, 197, -1, + 199, -1, 200, -1, 209, -1, 217, -1, 204, -1, + 226, -1, 231, -1, 235, -1, 239, -1, 262, -1, 185, 186, 189, -1, 133, -1, 119, -1, 114, -1, 12, -1, 77, -1, 187, -1, 188, 142, -1, 142, -1, 60, -1, 62, -1, -1, 189, 190, -1, 191, - -1, 193, -1, 192, -1, 7, -1, 15, -1, 48, - -1, 104, -1, 121, -1, 122, -1, 151, -1, 161, - -1, 194, 56, -1, 64, -1, 90, -1, 85, -1, - 153, -1, 92, -1, 157, -1, 196, 186, -1, 155, - -1, 156, -1, 13, -1, 78, 257, -1, 96, 257, - -1, 8, 56, -1, 20, 56, -1, 21, 199, -1, - 65, 142, -1, 66, 142, -1, 129, 56, -1, 131, - 56, -1, 152, 253, -1, 110, 142, -1, -1, 199, - 200, -1, 201, 142, -1, 131, 56, -1, 46, -1, - 49, -1, 124, -1, 126, -1, 25, -1, 149, 203, - -1, 203, 204, -1, 204, -1, 205, 56, -1, 206, - 259, -1, 19, 258, -1, 17, -1, 43, -1, 111, - -1, 112, -1, 91, -1, 11, -1, 88, -1, 83, - -1, 86, -1, 81, -1, 136, 208, -1, 138, 142, - -1, 37, 209, 210, -1, 208, 209, -1, 209, -1, - 18, -1, 22, -1, 75, -1, 115, -1, 127, -1, - 143, -1, 147, -1, 123, -1, -1, 210, 211, -1, - 36, 142, -1, 154, 214, -1, 212, -1, 213, -1, - 71, -1, 98, -1, 33, -1, 26, -1, 100, -1, - 117, -1, 23, -1, 159, -1, 94, -1, 162, -1, - 3, -1, 27, 218, -1, 95, 221, -1, 130, 186, - 216, -1, 130, 187, 79, 187, 216, -1, 130, 24, - 216, -1, 130, 60, 24, 216, -1, 130, 62, 24, - 216, -1, 130, 135, 216, -1, -1, 216, 217, -1, - 42, -1, 50, -1, 67, -1, 68, -1, 70, -1, - 76, -1, 99, -1, 102, -1, 103, -1, 105, -1, - 106, -1, 107, -1, 109, -1, 157, -1, 218, 219, - -1, 219, -1, 220, 56, -1, 9, -1, 89, -1, - 93, -1, 221, 222, -1, 222, -1, 223, 56, -1, - 51, -1, 52, -1, 53, -1, 54, -1, 80, -1, - 82, -1, 84, -1, 87, -1, 45, 186, 225, -1, - 225, 226, -1, 226, -1, 227, 259, -1, 228, 258, - -1, 141, 56, -1, 128, 142, -1, 145, -1, 146, - -1, 38, -1, 39, -1, 40, -1, 41, -1, 33, - 230, -1, 26, 230, -1, 230, 231, -1, 231, -1, - 232, -1, 137, -1, 6, -1, 10, -1, 16, -1, - 63, -1, 93, -1, 108, -1, 148, 234, -1, 234, - 235, -1, 235, -1, 236, 259, -1, 5, -1, 28, - -1, 44, -1, 47, -1, 113, -1, 139, -1, 140, - -1, 248, -1, 238, 259, -1, 239, 142, -1, 240, - 142, -1, 55, 142, 183, -1, 34, -1, 30, 241, - -1, 73, 246, -1, 116, 256, -1, 134, 242, -1, - 150, 187, 244, -1, 153, 252, -1, 14, -1, 101, - -1, 144, -1, 69, -1, 118, -1, 125, -1, 74, - -1, 132, -1, 142, -1, 142, 29, -1, -1, 142, - 175, 142, 243, -1, 24, -1, -1, -1, 244, 245, - -1, 120, 56, -1, 57, 187, -1, 246, 247, -1, - 247, -1, 142, -1, 249, 251, 250, -1, 249, 251, - 142, -1, 57, -1, 97, -1, 4, -1, 59, -1, - 61, -1, 160, -1, 72, -1, 50, -1, 31, -1, - 252, 56, -1, 56, -1, 253, 254, -1, 254, -1, - 56, -1, 255, -1, 176, 56, 32, 56, 177, -1, - 256, 142, -1, 142, -1, 257, 186, -1, 186, -1, - 56, -1, 151, -1, 35, -1, 56, -1, 29, -1, - 261, 178, 262, 265, 179, -1, 165, -1, 262, 263, - 164, -1, 263, 164, -1, 264, 175, 259, -1, 166, - -1, 167, -1, 265, 266, -1, 266, -1, 268, 178, - 267, 269, 179, -1, 168, 175, 259, 164, -1, 133, - 175, 186, -1, 269, 270, -1, 270, -1, 169, 175, - 259, 178, 271, 179, -1, 271, 272, 164, -1, 272, - 164, -1, 273, 175, 259, -1, 170, -1, 171, -1, - 172, -1, 173, -1, 174, -1 + -1, 193, -1, 195, -1, 192, -1, 7, -1, 15, + -1, 48, -1, 104, -1, 121, -1, 122, -1, 151, + -1, 161, -1, 194, 56, -1, 64, -1, 90, -1, + 85, -1, 153, -1, 92, -1, 157, -1, 196, 142, + -1, 49, -1, 198, 186, -1, 155, -1, 156, -1, + 13, -1, 78, 259, -1, 96, 259, -1, 8, 56, + -1, 20, 56, -1, 21, 201, -1, 65, 142, -1, + 66, 142, -1, 129, 56, -1, 131, 56, -1, 152, + 255, -1, 110, 142, -1, -1, 201, 202, -1, 203, + 142, -1, 131, 56, -1, 46, -1, 49, -1, 124, + -1, 126, -1, 25, -1, 149, 205, -1, 205, 206, + -1, 206, -1, 207, 56, -1, 208, 261, -1, 19, + 260, -1, 17, -1, 43, -1, 111, -1, 112, -1, + 91, -1, 11, -1, 88, -1, 83, -1, 86, -1, + 81, -1, 136, 210, -1, 138, 142, -1, 37, 211, + 212, -1, 210, 211, -1, 211, -1, 18, -1, 22, + -1, 75, -1, 115, -1, 127, -1, 143, -1, 147, + -1, 123, -1, -1, 212, 213, -1, 36, 142, -1, + 154, 216, -1, 214, -1, 215, -1, 71, -1, 98, + -1, 33, -1, 26, -1, 100, -1, 117, -1, 23, + -1, 159, -1, 94, -1, 162, -1, 3, -1, 27, + 220, -1, 95, 223, -1, 130, 186, 218, -1, 130, + 187, 79, 187, 218, -1, 130, 24, 218, -1, 130, + 60, 24, 218, -1, 130, 62, 24, 218, -1, 130, + 135, 218, -1, -1, 218, 219, -1, 42, -1, 50, + -1, 67, -1, 68, -1, 70, -1, 76, -1, 99, + -1, 102, -1, 103, -1, 105, -1, 106, -1, 107, + -1, 109, -1, 157, -1, 220, 221, -1, 221, -1, + 222, 56, -1, 9, -1, 89, -1, 93, -1, 223, + 224, -1, 224, -1, 225, 56, -1, 51, -1, 52, + -1, 53, -1, 54, -1, 80, -1, 82, -1, 84, + -1, 87, -1, 45, 186, 227, -1, 227, 228, -1, + 228, -1, 229, 261, -1, 230, 260, -1, 141, 56, + -1, 128, 142, -1, 145, -1, 146, -1, 38, -1, + 39, -1, 40, -1, 41, -1, 33, 232, -1, 26, + 232, -1, 232, 233, -1, 233, -1, 234, -1, 137, + -1, 6, -1, 10, -1, 16, -1, 63, -1, 93, + -1, 108, -1, 148, 236, -1, 236, 237, -1, 237, + -1, 238, 261, -1, 5, -1, 28, -1, 44, -1, + 47, -1, 113, -1, 139, -1, 140, -1, 250, -1, + 240, 261, -1, 241, 142, -1, 242, 142, -1, 55, + 142, 183, -1, 34, -1, 30, 243, -1, 73, 248, + -1, 116, 258, -1, 134, 244, -1, 150, 187, 246, + -1, 153, 254, -1, 14, -1, 101, -1, 144, -1, + 69, -1, 118, -1, 125, -1, 74, -1, 132, -1, + 142, -1, 142, 29, -1, -1, 142, 175, 142, 245, + -1, 24, -1, -1, -1, 246, 247, -1, 120, 56, + -1, 57, 187, -1, 248, 249, -1, 249, -1, 142, + -1, 251, 253, 252, -1, 251, 253, 142, -1, 57, + -1, 97, -1, 4, -1, 59, -1, 61, -1, 160, + -1, 72, -1, 50, -1, 31, -1, 254, 56, -1, + 56, -1, 255, 256, -1, 256, -1, 56, -1, 257, + -1, 176, 56, 32, 56, 177, -1, 258, 142, -1, + 142, -1, 259, 186, -1, 186, -1, 56, -1, 151, + -1, 35, -1, 56, -1, 29, -1, 263, 178, 264, + 267, 179, -1, 165, -1, 264, 265, 164, -1, 265, + 164, -1, 266, 175, 261, -1, 166, -1, 167, -1, + 267, 268, -1, 268, -1, 270, 178, 269, 271, 179, + -1, 168, 175, 261, 164, -1, 133, 175, 186, -1, + 271, 272, -1, 272, -1, 169, 175, 261, 178, 273, + 179, -1, 273, 274, 164, -1, 274, 164, -1, 275, + 175, 261, -1, 170, -1, 171, -1, 172, -1, 173, + -1, 174, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 334, 334, 338, 339, 340, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 374, - 384, 385, 386, 387, 388, 392, 393, 398, 403, 405, - 411, 412, 420, 421, 425, 430, 431, 432, 433, 434, - 435, 436, 437, 441, 446, 447, 448, 449, 450, 451, - 460, 470, 471, 481, 483, 485, 496, 503, 505, 510, - 512, 514, 516, 518, 520, 526, 527, 535, 537, 549, - 550, 551, 552, 553, 562, 567, 572, 580, 582, 584, - 589, 590, 591, 592, 593, 594, 598, 599, 600, 601, - 610, 612, 621, 631, 636, 644, 645, 646, 647, 648, - 649, 650, 651, 656, 657, 665, 675, 684, 699, 704, - 705, 709, 710, 714, 715, 716, 717, 718, 719, 720, - 729, 733, 737, 745, 753, 761, 776, 791, 804, 805, - 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, - 823, 824, 825, 826, 830, 835, 843, 848, 849, 850, - 854, 859, 867, 872, 873, 874, 875, 876, 877, 878, - 879, 887, 897, 902, 910, 912, 914, 916, 921, 922, - 926, 927, 928, 929, 937, 939, 944, 949, 957, 959, - 971, 972, 973, 974, 975, 976, 984, 989, 994, 1002, - 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1022, 1023, 1030, - 1037, 1053, 1072, 1077, 1079, 1081, 1083, 1085, 1092, 1097, - 1098, 1099, 1103, 1104, 1105, 1109, 1110, 1114, 1121, 1131, - 1140, 1145, 1147, 1152, 1153, 1161, 1163, 1171, 1176, 1184, - 1209, 1216, 1226, 1227, 1231, 1232, 1233, 1234, 1238, 1239, - 1240, 1249, 1254, 1262, 1267, 1275, 1277, 1281, 1286, 1291, - 1299, 1304, 1312, 1321, 1322, 1326, 1327, 1336, 1354, 1358, - 1363, 1371, 1376, 1377, 1381, 1386, 1394, 1399, 1404, 1409, - 1414, 1422, 1427, 1432, 1440, 1445, 1446, 1447, 1448, 1449 + 0, 336, 336, 340, 341, 342, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 376, + 386, 387, 388, 389, 390, 394, 395, 400, 405, 407, + 413, 414, 422, 423, 424, 428, 433, 434, 435, 436, + 437, 438, 439, 440, 444, 449, 450, 451, 452, 453, + 454, 458, 463, 472, 482, 483, 493, 495, 497, 508, + 515, 517, 522, 524, 526, 528, 530, 532, 538, 539, + 547, 549, 561, 562, 563, 564, 565, 574, 579, 584, + 592, 594, 596, 601, 602, 603, 604, 605, 606, 610, + 611, 612, 613, 622, 624, 633, 643, 648, 656, 657, + 658, 659, 660, 661, 662, 663, 668, 669, 677, 687, + 696, 711, 716, 717, 721, 722, 726, 727, 728, 729, + 730, 731, 732, 741, 745, 749, 757, 765, 773, 788, + 803, 816, 817, 825, 826, 827, 828, 829, 830, 831, + 832, 833, 834, 835, 836, 837, 838, 842, 847, 855, + 860, 861, 862, 866, 871, 879, 884, 885, 886, 887, + 888, 889, 890, 891, 899, 909, 914, 922, 924, 926, + 928, 933, 934, 938, 939, 940, 941, 949, 951, 956, + 961, 969, 971, 983, 984, 985, 986, 987, 988, 996, + 1001, 1006, 1014, 1019, 1020, 1021, 1022, 1023, 1024, 1025, + 1034, 1035, 1042, 1049, 1065, 1084, 1089, 1091, 1093, 1095, + 1097, 1104, 1109, 1110, 1111, 1115, 1116, 1117, 1121, 1122, + 1126, 1133, 1143, 1152, 1157, 1159, 1164, 1165, 1173, 1175, + 1183, 1188, 1196, 1221, 1228, 1238, 1239, 1243, 1244, 1245, + 1246, 1250, 1251, 1252, 1261, 1266, 1274, 1279, 1287, 1289, + 1293, 1298, 1303, 1311, 1316, 1324, 1333, 1334, 1338, 1339, + 1348, 1366, 1370, 1375, 1383, 1388, 1389, 1393, 1398, 1406, + 1411, 1416, 1421, 1426, 1434, 1439, 1444, 1452, 1457, 1458, + 1459, 1460, 1461 }; #endif @@ -983,31 +986,32 @@ static const char *const yytname[] = "configuration", "command_list", "command", "server_command", "client_type", "address", "ip_address", "address_fam", "option_list", "option", "option_flag", "option_flag_keyword", "option_int", - "option_int_keyword", "unpeer_command", "unpeer_keyword", - "other_mode_command", "authentication_command", "crypto_command_list", - "crypto_command", "crypto_str_keyword", "orphan_mode_command", - "tos_option_list", "tos_option", "tos_option_int_keyword", - "tos_option_dbl_keyword", "monitoring_command", "stats_list", "stat", - "filegen_option_list", "filegen_option", "link_nolink", "enable_disable", - "filegen_type", "access_control_command", "ac_flag_list", - "access_control_flag", "discard_option_list", "discard_option", - "discard_option_keyword", "mru_option_list", "mru_option", - "mru_option_keyword", "fudge_command", "fudge_factor_list", - "fudge_factor", "fudge_factor_dbl_keyword", "fudge_factor_bool_keyword", - "system_option_command", "system_option_list", "system_option", - "system_option_flag_keyword", "tinker_command", "tinker_option_list", - "tinker_option", "tinker_option_keyword", "miscellaneous_command", - "misc_cmd_dbl_keyword", "misc_cmd_str_keyword", - "misc_cmd_str_lcl_keyword", "drift_parm", "variable_assign", - "t_default_or_zero", "trap_option_list", "trap_option", - "log_config_list", "log_config_command", "interface_command", - "interface_nic", "nic_rule_class", "nic_rule_action", "integer_list", - "integer_list_range", "integer_list_range_elt", "integer_range", - "string_list", "address_list", "boolean", "number", "simulate_command", - "sim_conf_start", "sim_init_statement_list", "sim_init_statement", - "sim_init_keyword", "sim_server_list", "sim_server", "sim_server_offset", - "sim_server_name", "sim_act_list", "sim_act", "sim_act_stmt_list", - "sim_act_stmt", "sim_act_keyword", 0 + "option_int_keyword", "option_str", "option_str_keyword", + "unpeer_command", "unpeer_keyword", "other_mode_command", + "authentication_command", "crypto_command_list", "crypto_command", + "crypto_str_keyword", "orphan_mode_command", "tos_option_list", + "tos_option", "tos_option_int_keyword", "tos_option_dbl_keyword", + "monitoring_command", "stats_list", "stat", "filegen_option_list", + "filegen_option", "link_nolink", "enable_disable", "filegen_type", + "access_control_command", "ac_flag_list", "access_control_flag", + "discard_option_list", "discard_option", "discard_option_keyword", + "mru_option_list", "mru_option", "mru_option_keyword", "fudge_command", + "fudge_factor_list", "fudge_factor", "fudge_factor_dbl_keyword", + "fudge_factor_bool_keyword", "system_option_command", + "system_option_list", "system_option", "system_option_flag_keyword", + "tinker_command", "tinker_option_list", "tinker_option", + "tinker_option_keyword", "miscellaneous_command", "misc_cmd_dbl_keyword", + "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword", "drift_parm", + "variable_assign", "t_default_or_zero", "trap_option_list", + "trap_option", "log_config_list", "log_config_command", + "interface_command", "interface_nic", "nic_rule_class", + "nic_rule_action", "integer_list", "integer_list_range", + "integer_list_range_elt", "integer_range", "string_list", "address_list", + "boolean", "number", "simulate_command", "sim_conf_start", + "sim_init_statement_list", "sim_init_statement", "sim_init_keyword", + "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name", + "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt", + "sim_act_keyword", 0 }; #endif @@ -1043,31 +1047,32 @@ static const yytype_uint16 yyr1[] = 0, 180, 181, 182, 182, 182, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 184, 185, 185, 185, 185, 185, 186, 186, 187, 188, 188, - 189, 189, 190, 190, 191, 192, 192, 192, 192, 192, - 192, 192, 192, 193, 194, 194, 194, 194, 194, 194, - 195, 196, 196, 197, 197, 197, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 199, 199, 200, 200, 201, - 201, 201, 201, 201, 202, 203, 203, 204, 204, 204, - 205, 205, 205, 205, 205, 205, 206, 206, 206, 206, - 207, 207, 207, 208, 208, 209, 209, 209, 209, 209, - 209, 209, 209, 210, 210, 211, 211, 211, 211, 212, - 212, 213, 213, 214, 214, 214, 214, 214, 214, 214, - 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, - 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 217, 217, 217, 218, 218, 219, 220, 220, 220, - 221, 221, 222, 223, 223, 223, 223, 223, 223, 223, - 223, 224, 225, 225, 226, 226, 226, 226, 227, 227, - 228, 228, 228, 228, 229, 229, 230, 230, 231, 231, - 232, 232, 232, 232, 232, 232, 233, 234, 234, 235, - 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, - 238, 238, 239, 239, 239, 240, 240, 241, 241, 241, - 242, 243, 243, 244, 244, 245, 245, 246, 246, 247, - 248, 248, 249, 249, 250, 250, 250, 250, 251, 251, - 251, 252, 252, 253, 253, 254, 254, 255, 256, 256, - 257, 257, 258, 258, 258, 259, 259, 260, 261, 262, - 262, 263, 264, 264, 265, 265, 266, 267, 268, 269, - 269, 270, 271, 271, 272, 273, 273, 273, 273, 273 + 189, 189, 190, 190, 190, 191, 192, 192, 192, 192, + 192, 192, 192, 192, 193, 194, 194, 194, 194, 194, + 194, 195, 196, 197, 198, 198, 199, 199, 199, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 201, 201, + 202, 202, 203, 203, 203, 203, 203, 204, 205, 205, + 206, 206, 206, 207, 207, 207, 207, 207, 207, 208, + 208, 208, 208, 209, 209, 209, 210, 210, 211, 211, + 211, 211, 211, 211, 211, 211, 212, 212, 213, 213, + 213, 213, 214, 214, 215, 215, 216, 216, 216, 216, + 216, 216, 216, 217, 217, 217, 217, 217, 217, 217, + 217, 218, 218, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 220, 220, 221, + 222, 222, 222, 223, 223, 224, 225, 225, 225, 225, + 225, 225, 225, 225, 226, 227, 227, 228, 228, 228, + 228, 229, 229, 230, 230, 230, 230, 231, 231, 232, + 232, 233, 233, 234, 234, 234, 234, 234, 234, 235, + 236, 236, 237, 238, 238, 238, 238, 238, 238, 238, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 240, 240, 240, 241, 241, 241, 242, 242, + 243, 243, 243, 244, 245, 245, 246, 246, 247, 247, + 248, 248, 249, 250, 250, 251, 251, 252, 252, 252, + 252, 253, 253, 253, 254, 254, 255, 255, 256, 256, + 257, 258, 258, 259, 259, 260, 260, 260, 261, 261, + 262, 263, 264, 264, 265, 266, 266, 267, 267, 268, + 269, 270, 271, 271, 272, 273, 273, 274, 275, 275, + 275, 275, 275 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1077,30 +1082,31 @@ 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, 2, 1, 1, 1, 1, 1, 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, 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, - 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, + 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, 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, 2, 2, - 2, 3, 1, 2, 2, 2, 2, 3, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, - 4, 1, 0, 0, 2, 2, 2, 2, 1, 1, - 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 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, 2, 2, 2, 3, 1, 2, 2, 2, 2, + 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 0, 4, 1, 0, 0, 2, 2, 2, + 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, + 5, 2, 1, 2, 1, 1, 1, 1, 1, 1, + 5, 1, 3, 2, 3, 1, 1, 2, 1, 5, + 4, 3, 2, 1, 6, 3, 2, 3, 1, 1, + 1, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1108,59 +1114,60 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 0, 0, 23, 53, 209, 0, 65, 0, 0, - 219, 0, 202, 0, 0, 0, 232, 0, 0, 212, - 0, 215, 24, 0, 0, 0, 233, 210, 0, 22, - 0, 213, 21, 214, 0, 0, 0, 216, 20, 0, - 0, 0, 211, 0, 0, 0, 0, 0, 51, 52, - 258, 0, 2, 0, 7, 0, 8, 0, 9, 10, + 0, 0, 0, 23, 56, 212, 0, 68, 0, 0, + 222, 0, 205, 0, 0, 0, 235, 0, 0, 215, + 0, 218, 24, 0, 0, 0, 236, 213, 0, 22, + 0, 216, 21, 217, 0, 0, 0, 219, 20, 0, + 0, 0, 214, 0, 0, 0, 0, 0, 54, 55, + 261, 0, 2, 0, 7, 0, 8, 0, 9, 10, 13, 11, 12, 14, 15, 16, 17, 0, 0, 0, - 197, 0, 18, 0, 5, 56, 57, 58, 180, 181, - 182, 183, 184, 185, 179, 175, 177, 178, 147, 148, - 149, 120, 145, 0, 217, 203, 174, 95, 96, 97, - 98, 102, 99, 100, 101, 103, 28, 29, 27, 0, - 25, 0, 6, 59, 60, 229, 204, 228, 251, 54, - 153, 154, 155, 156, 157, 158, 159, 160, 121, 151, - 0, 55, 64, 249, 205, 61, 128, 28, 29, 128, - 128, 25, 62, 0, 206, 90, 94, 91, 190, 191, - 192, 193, 194, 195, 196, 186, 188, 0, 85, 80, - 0, 81, 89, 87, 88, 86, 84, 82, 83, 74, - 76, 0, 0, 223, 245, 0, 63, 244, 246, 242, - 208, 1, 0, 4, 30, 50, 256, 255, 198, 199, - 200, 240, 239, 238, 0, 0, 73, 69, 70, 71, - 72, 0, 66, 0, 176, 144, 146, 218, 92, 170, - 171, 172, 173, 0, 0, 168, 169, 161, 163, 0, - 0, 26, 201, 227, 250, 150, 152, 248, 124, 128, - 128, 127, 122, 0, 0, 93, 187, 189, 254, 252, - 253, 79, 75, 77, 78, 207, 0, 243, 241, 3, - 19, 234, 235, 236, 231, 237, 230, 262, 263, 0, - 0, 0, 68, 67, 112, 111, 0, 109, 110, 0, - 104, 107, 108, 167, 166, 162, 164, 165, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 129, 125, 126, 128, 222, 0, 0, 224, - 0, 35, 36, 37, 44, 46, 45, 48, 38, 39, - 40, 41, 47, 49, 42, 31, 32, 34, 33, 0, - 0, 0, 0, 265, 0, 260, 0, 105, 119, 115, - 117, 113, 114, 116, 118, 106, 123, 221, 220, 226, - 225, 0, 43, 0, 259, 257, 264, 0, 261, 247, - 268, 0, 0, 0, 0, 0, 270, 0, 0, 266, - 269, 267, 0, 0, 275, 276, 277, 278, 279, 0, - 0, 0, 271, 0, 273, 0, 272, 274 + 200, 0, 18, 0, 5, 59, 60, 61, 183, 184, + 185, 186, 187, 188, 182, 178, 180, 181, 150, 151, + 152, 123, 148, 0, 220, 206, 177, 98, 99, 100, + 101, 105, 102, 103, 104, 106, 28, 29, 27, 0, + 25, 0, 6, 62, 63, 232, 207, 231, 254, 57, + 156, 157, 158, 159, 160, 161, 162, 163, 124, 154, + 0, 58, 67, 252, 208, 64, 131, 28, 29, 131, + 131, 25, 65, 0, 209, 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, 226, 248, 0, 66, 247, 249, 245, + 211, 1, 0, 4, 30, 53, 259, 258, 201, 202, + 203, 243, 242, 241, 0, 0, 76, 72, 73, 74, + 75, 0, 69, 0, 179, 147, 149, 221, 95, 173, + 174, 175, 176, 0, 0, 171, 172, 164, 166, 0, + 0, 26, 204, 230, 253, 153, 155, 251, 127, 131, + 131, 130, 125, 0, 0, 96, 190, 192, 257, 255, + 256, 82, 78, 80, 81, 210, 0, 246, 244, 3, + 19, 237, 238, 239, 234, 240, 233, 265, 266, 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, 225, 0, 0, 227, + 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, 268, 0, 263, 0, + 108, 122, 118, 120, 116, 117, 119, 121, 109, 126, + 224, 223, 229, 228, 0, 44, 51, 0, 262, 260, + 267, 0, 264, 250, 271, 0, 0, 0, 0, 0, + 273, 0, 0, 269, 272, 270, 0, 0, 278, 279, + 280, 281, 282, 0, 0, 0, 274, 0, 276, 0, + 275, 277 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 51, 52, 53, 54, 55, 118, 110, 111, 250, - 315, 316, 317, 318, 319, 56, 57, 58, 59, 77, - 202, 203, 60, 169, 170, 171, 172, 61, 145, 105, - 208, 270, 271, 272, 335, 62, 228, 292, 91, 92, - 93, 128, 129, 130, 63, 217, 218, 219, 220, 64, - 85, 86, 87, 65, 155, 156, 157, 66, 67, 68, - 69, 95, 144, 338, 245, 299, 116, 117, 70, 71, - 256, 194, 180, 176, 177, 178, 134, 119, 241, 188, - 72, 73, 259, 260, 261, 322, 323, 352, 324, 355, - 356, 369, 370, 371 + 316, 317, 318, 319, 320, 321, 322, 56, 57, 58, + 59, 77, 202, 203, 60, 169, 170, 171, 172, 61, + 145, 105, 208, 270, 271, 272, 338, 62, 228, 292, + 91, 92, 93, 128, 129, 130, 63, 217, 218, 219, + 220, 64, 85, 86, 87, 65, 155, 156, 157, 66, + 67, 68, 69, 95, 144, 341, 245, 299, 116, 117, + 70, 71, 256, 194, 180, 176, 177, 178, 134, 119, + 241, 188, 72, 73, 259, 260, 261, 325, 326, 356, + 327, 359, 360, 373, 374, 375 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing @@ -1168,44 +1175,45 @@ static const yytype_int16 yydefgoto[] = #define YYPACT_NINF -156 static const yytype_int16 yypact[] = { - 2, -151, -23, -156, -156, -156, -8, -156, 76, 11, - -92, 76, -156, 89, -36, -84, -156, -79, -72, -156, - -61, -156, -156, -36, 322, -36, -156, -156, -59, -156, - -57, -156, -156, -156, 32, -16, 33, -156, -156, -48, - 89, -47, -156, 49, 428, -41, -52, 34, -156, -156, - -156, 84, 188, -73, -156, -36, -156, -36, -156, -156, - -156, -156, -156, -156, -156, -156, -156, 5, -32, -29, - -156, 6, -156, -76, -156, -156, -156, 148, -156, -156, - -156, -156, -156, -156, -156, 76, -156, -156, -156, -156, - -156, 11, -156, 59, 94, -156, 76, -156, -156, -156, - -156, -156, -156, -156, -156, -156, -156, -156, -156, 141, - -156, -13, 334, -156, -156, -156, -61, -156, -156, -36, - -156, -156, -156, -156, -156, -156, -156, -156, 322, -156, - 81, -36, -156, -156, -1, -156, -156, 118, 120, -156, - -156, 68, -156, -27, -156, 89, -156, -156, -156, -156, - -156, -156, -156, -156, -156, 49, -156, 5, -156, -156, - -26, -156, -156, -156, -156, -156, -156, -156, -156, 428, - -156, 93, 5, -156, -156, 97, -52, -156, -156, -156, - 100, -156, -5, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, -156, 1, -101, -156, -156, -156, -156, - -156, 104, -156, 21, -156, -156, -156, -156, 16, -156, - -156, -156, -156, 23, 112, -156, -156, 141, -156, 5, - -26, -156, -156, -156, -156, -156, -156, -156, 427, -156, - -156, 427, 427, -41, 30, -156, -156, -156, -156, -156, - -156, -156, -156, -156, -156, -51, 143, -156, -156, -156, - 266, -156, -156, -156, -156, -156, -156, -156, -156, -93, - 12, 3, -156, -156, -156, -156, 35, -156, -156, 28, + 2, -151, -29, -156, -156, -156, -26, -156, 78, -3, + -87, 78, -156, 107, -53, -86, -156, -84, -76, -156, + -69, -156, -156, -53, 305, -53, -156, -156, -68, -156, + -64, -156, -156, -156, -23, -16, 27, -156, -156, -57, + 107, -50, -156, 49, 398, -47, -52, 45, -156, -156, + -156, 102, 171, -60, -156, -53, -156, -53, -156, -156, + -156, -156, -156, -156, -156, -156, -156, 9, -36, -35, + -156, 19, -156, -70, -156, -156, -156, 168, -156, -156, + -156, -156, -156, -156, -156, 78, -156, -156, -156, -156, + -156, -3, -156, 55, 84, -156, 78, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, 235, + -156, -27, 317, -156, -156, -156, -69, -156, -156, -53, + -156, -156, -156, -156, -156, -156, -156, -156, 305, -156, + 74, -53, -156, -156, -5, -156, -156, 115, 118, -156, + -156, 65, -156, -28, -156, 107, -156, -156, -156, -156, + -156, -156, -156, -156, -156, 49, -156, 9, -156, -156, + 5, -156, -156, -156, -156, -156, -156, -156, -156, 398, + -156, 92, 9, -156, -156, 93, -52, -156, -156, -156, + 97, -156, -4, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, 1, -141, -156, -156, -156, -156, + -156, 103, -156, 21, -156, -156, -156, -156, 16, -156, + -156, -156, -156, 22, 109, -156, -156, 235, -156, 9, + 5, -156, -156, -156, -156, -156, -156, -156, 153, -156, + -156, 153, 153, -47, 30, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -20, 137, -156, -156, -156, + 161, -156, -156, -156, -156, -156, -156, -156, -156, -85, + 13, -2, -156, -156, -156, -156, 36, -156, -156, 28, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, 153, 153, -156, 156, -47, 125, -156, + 138, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, 427, 427, -156, 159, -41, 129, -156, - 130, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, -156, -156, -156, -156, -156, -156, 135, - 17, 29, -126, -156, 27, -156, 5, -156, -156, -156, - -156, -156, -156, -156, -156, -156, 427, -156, -156, -156, - -156, 18, -156, -36, -156, -156, -156, 38, -156, -156, - -156, 36, 41, 5, 42, -124, -156, 43, 5, -156, - -156, -156, 45, 67, -156, -156, -156, -156, -156, 56, - 55, 69, -156, 60, -156, 5, -156, -156 + 140, -156, 58, 31, 47, -109, -156, 34, -156, 9, + -156, -156, -156, -156, -156, -156, -156, -156, -156, 153, + -156, -156, -156, -156, 41, -156, -156, -53, -156, -156, + -156, 51, -156, -156, -156, 38, 62, 9, 52, -116, + -156, 68, 9, -156, -156, -156, 57, 226, -156, -156, + -156, -156, -156, 194, 69, 63, -156, 75, -156, 9, + -156, -156 }; /* YYPGOTO[NTERM-NUM]. */ @@ -1213,14 +1221,14 @@ static const yytype_int16 yypgoto[] = { -156, -156, -156, -40, -156, -156, -14, -34, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, -156, 62, -156, -156, -156, -156, -15, - -156, -156, -156, -156, -156, -156, -121, -156, -156, 151, - -156, -156, 106, -156, -156, -156, 31, -156, -156, -156, - 235, -58, -156, -156, -156, 92, -156, -156, -156, -156, - -156, -156, -156, -156, -156, -156, -156, 133, -156, -156, - -156, -156, -156, -156, 74, -156, -156, 226, 39, -155, - -156, -156, -156, -7, -156, -156, -67, -156, -156, -156, - -99, -156, -111, -156 + -156, -156, -156, -156, -156, -156, 72, -156, -156, -156, + -156, -22, -156, -156, -156, -156, -156, -156, -120, -156, + -156, 151, -156, -156, 119, -156, -156, -156, 26, -156, + -156, -156, 246, -51, -156, -156, -156, 106, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, 148, + -156, -156, -156, -156, -156, -156, 94, -156, -156, 244, + 59, -155, -156, -156, -156, 12, -156, -156, -48, -156, + -156, -156, -81, -156, -93, -156 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1230,128 +1238,114 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -7 static const yytype_int16 yytable[] = { - 109, 141, 237, 1, 174, 251, 297, 320, 136, 238, - 2, 173, 182, 74, 3, 4, 5, 244, 231, 232, - 88, 140, 6, 7, 106, 146, 107, 204, 8, 9, - 239, 328, 10, 75, 186, 11, 12, 191, 204, 13, - 320, 184, 264, 185, 137, 354, 138, 14, 76, 265, - 94, 329, 266, 345, 148, 359, 192, 15, 112, 16, - 252, 187, 253, 113, 276, 257, 258, 17, 18, 298, - 114, 19, 222, 257, 258, 20, 21, 149, 193, 22, - 23, 115, 78, 132, 181, 133, 79, 267, 135, 142, - 179, 183, 80, 150, 143, 147, 151, 24, 25, 26, - 89, 108, 195, 27, 90, 224, 108, 97, 293, 294, - 189, 98, 28, 190, 268, 206, 29, 224, 30, 139, - 31, 32, 330, 207, 175, 240, 108, 33, 331, 221, - 235, 34, 35, 36, 37, 38, 39, 226, 40, 81, - 41, 227, 229, 254, 230, 332, 42, 233, 234, 243, - 43, 44, 45, 246, 46, 47, 248, 48, 49, 249, - 262, 255, 152, 263, 99, 273, -6, 50, 274, 82, - 269, 348, 296, 196, 336, 300, 325, 327, 326, 209, - 210, 211, 212, 337, 83, 340, 341, 333, 153, 154, - 334, 342, 343, 344, 197, 349, 2, 198, 357, 295, - 3, 4, 5, 362, 100, 347, 351, 361, 6, 7, - 354, 353, 101, 84, 8, 9, 102, 358, 10, 374, - 377, 11, 12, 363, 376, 13, 364, 365, 366, 367, - 368, 242, 103, 14, 225, 372, 104, 364, 365, 366, - 367, 368, 205, 15, 375, 16, 96, 236, 275, 223, - 247, 131, 321, 17, 18, 346, 360, 19, 373, 277, - 0, 20, 21, 339, 0, 22, 23, 0, 0, 213, - 0, 0, 199, 301, 200, 0, 0, 0, 0, 201, - 0, 302, 214, 24, 25, 26, 215, 216, 0, 27, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 29, 0, 30, 0, 31, 32, 0, 0, - 0, 0, 0, 33, 303, 0, 0, 34, 35, 36, - 37, 38, 39, 0, 40, 0, 41, 0, 0, 350, - 304, 0, 42, 0, 0, 0, 43, 44, 45, 0, - 46, 47, 2, 48, 49, 0, 3, 4, 5, 0, - 0, 305, -6, 50, 6, 7, 306, 0, 307, 0, - 8, 9, 0, 0, 10, 0, 0, 11, 12, 0, - 308, 13, 0, 120, 121, 122, 123, 0, 0, 14, - 0, 0, 0, 0, 0, 0, 0, 309, 310, 15, - 0, 16, 0, 0, 0, 0, 0, 0, 0, 17, - 18, 0, 124, 19, 125, 0, 126, 20, 21, 127, - 0, 22, 23, 0, 0, 0, 0, 311, 0, 312, - 0, 0, 0, 313, 0, 0, 0, 314, 0, 24, - 25, 26, 0, 0, 0, 27, 0, 0, 0, 158, - 0, 0, 0, 0, 28, 159, 0, 160, 29, 0, - 30, 0, 31, 32, 0, 0, 0, 0, 0, 33, - 0, 0, 0, 34, 35, 36, 37, 38, 39, 278, - 40, 161, 41, 0, 0, 0, 0, 279, 42, 0, - 0, 0, 43, 44, 45, 0, 46, 47, 0, 48, - 49, 0, 0, 0, 280, 281, 0, 282, 0, 50, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 162, - 0, 163, 0, 0, 164, 0, 165, 0, 0, 166, - 0, 0, 0, 0, 0, 0, 284, 0, 0, 285, - 286, 0, 287, 288, 289, 0, 290, 0, 0, 167, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 109, 141, 237, 1, 174, 251, 88, 106, 136, 107, + 2, 173, 182, 74, 3, 4, 5, 244, 146, 231, + 232, 140, 6, 7, 323, 257, 258, 75, 8, 9, + 76, 331, 10, 135, 204, 11, 12, 297, 186, 13, + 238, 184, 264, 185, 137, 204, 138, 14, 323, 265, + 191, 332, 266, 358, 148, 94, 112, 15, 113, 16, + 252, 239, 253, 363, 276, 187, 114, 17, 18, 192, + 349, 19, 222, 115, 132, 20, 21, 149, 133, 22, + 23, 257, 258, 142, 78, 143, 89, 267, 79, 108, + 90, 193, 147, 150, 80, 108, 151, 24, 25, 26, + 298, 179, 181, 27, 183, 224, 189, 190, 195, 293, + 294, 206, 28, 207, 268, 221, 29, 224, 30, 139, + 31, 32, 333, 235, 175, 97, 108, 33, 334, 98, + 226, 34, 35, 36, 37, 38, 39, 227, 40, 229, + 41, 81, 230, 254, 233, 335, 42, 234, 243, 246, + 43, 44, 45, 248, 46, 47, 240, 48, 49, 262, + 249, 255, 152, 263, 273, 274, -6, 50, 301, 300, + 269, 82, 296, 329, 352, 339, 302, 328, 330, 2, + 340, 343, 99, 3, 4, 5, 83, 336, 153, 154, + 337, 6, 7, 196, 344, 278, 345, 8, 9, 295, + 346, 10, 361, 279, 11, 12, 347, 366, 13, 303, + 304, 348, 351, 357, 197, 84, 14, 198, 353, 355, + 280, 281, 100, 282, 381, 305, 15, 362, 16, 283, + 101, 358, 365, 378, 102, 367, 17, 18, 379, 380, + 19, 242, 205, 275, 20, 21, 306, 225, 22, 23, + 103, 307, 284, 308, 104, 285, 286, 96, 287, 288, + 289, 236, 290, 342, 223, 309, 24, 25, 26, 131, + 247, 324, 27, 209, 210, 211, 212, 350, 364, 277, + 377, 28, 310, 311, 0, 29, 0, 30, 0, 31, + 32, 0, 199, 0, 200, 0, 33, 0, 0, 201, + 34, 35, 36, 37, 38, 39, 0, 40, 0, 41, + 291, 0, 312, 0, 313, 42, 0, 0, 314, 43, + 44, 45, 315, 46, 47, 2, 48, 49, 0, 3, + 4, 5, 0, 354, 0, -6, 50, 6, 7, 0, + 0, 0, 0, 8, 9, 0, 0, 10, 0, 0, + 11, 12, 0, 0, 13, 0, 120, 121, 122, 123, + 0, 0, 14, 213, 368, 369, 370, 371, 372, 0, + 0, 0, 15, 376, 16, 0, 214, 0, 0, 0, + 215, 216, 17, 18, 0, 124, 19, 125, 0, 126, + 20, 21, 127, 0, 22, 23, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 0, 0, 0, 0, 158, + 0, 0, 24, 25, 26, 159, 0, 160, 27, 0, + 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, + 0, 29, 0, 30, 0, 31, 32, 0, 0, 0, + 0, 161, 33, 0, 0, 0, 34, 35, 36, 37, + 38, 39, 0, 40, 0, 41, 0, 0, 0, 0, + 0, 42, 0, 0, 0, 43, 44, 45, 0, 46, + 47, 0, 48, 49, 0, 0, 0, 0, 0, 162, + 0, 163, 50, 0, 164, 0, 165, 0, 0, 166, 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, 291 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, + 168 }; static const yytype_int16 yycheck[] = { - 14, 35, 157, 1, 56, 4, 57, 133, 24, 35, - 8, 45, 52, 164, 12, 13, 14, 172, 139, 140, - 9, 35, 20, 21, 60, 40, 62, 85, 26, 27, - 56, 3, 30, 56, 29, 33, 34, 31, 96, 37, - 133, 55, 26, 57, 60, 169, 62, 45, 56, 33, - 142, 23, 36, 179, 5, 179, 50, 55, 142, 57, - 59, 56, 61, 142, 219, 166, 167, 65, 66, 120, - 142, 69, 112, 166, 167, 73, 74, 28, 72, 77, - 78, 142, 6, 142, 0, 142, 10, 71, 56, 56, - 56, 164, 16, 44, 142, 142, 47, 95, 96, 97, - 89, 142, 178, 101, 93, 119, 142, 18, 229, 230, - 142, 22, 110, 142, 98, 56, 114, 131, 116, 135, - 118, 119, 94, 29, 176, 151, 142, 125, 100, 142, - 145, 129, 130, 131, 132, 133, 134, 56, 136, 63, - 138, 142, 24, 142, 24, 117, 144, 79, 175, 56, - 148, 149, 150, 56, 152, 153, 56, 155, 156, 164, - 56, 160, 113, 142, 75, 142, 164, 165, 56, 93, - 154, 326, 142, 25, 295, 32, 164, 142, 175, 38, - 39, 40, 41, 24, 108, 56, 56, 159, 139, 140, - 162, 56, 175, 164, 46, 177, 8, 49, 353, 233, - 12, 13, 14, 358, 115, 178, 168, 164, 20, 21, - 169, 175, 123, 137, 26, 27, 127, 175, 30, 164, - 375, 33, 34, 178, 164, 37, 170, 171, 172, 173, - 174, 169, 143, 45, 128, 179, 147, 170, 171, 172, - 173, 174, 91, 55, 175, 57, 11, 155, 217, 116, - 176, 25, 259, 65, 66, 322, 355, 69, 369, 220, - -1, 73, 74, 297, -1, 77, 78, -1, -1, 128, - -1, -1, 124, 7, 126, -1, -1, -1, -1, 131, - -1, 15, 141, 95, 96, 97, 145, 146, -1, 101, - -1, -1, -1, -1, -1, -1, -1, -1, 110, -1, - -1, -1, 114, -1, 116, -1, 118, 119, -1, -1, - -1, -1, -1, 125, 48, -1, -1, 129, 130, 131, - 132, 133, 134, -1, 136, -1, 138, -1, -1, 343, - 64, -1, 144, -1, -1, -1, 148, 149, 150, -1, - 152, 153, 8, 155, 156, -1, 12, 13, 14, -1, - -1, 85, 164, 165, 20, 21, 90, -1, 92, -1, - 26, 27, -1, -1, 30, -1, -1, 33, 34, -1, - 104, 37, -1, 51, 52, 53, 54, -1, -1, 45, - -1, -1, -1, -1, -1, -1, -1, 121, 122, 55, - -1, 57, -1, -1, -1, -1, -1, -1, -1, 65, - 66, -1, 80, 69, 82, -1, 84, 73, 74, 87, - -1, 77, 78, -1, -1, -1, -1, 151, -1, 153, - -1, -1, -1, 157, -1, -1, -1, 161, -1, 95, - 96, 97, -1, -1, -1, 101, -1, -1, -1, 11, - -1, -1, -1, -1, 110, 17, -1, 19, 114, -1, - 116, -1, 118, 119, -1, -1, -1, -1, -1, 125, - -1, -1, -1, 129, 130, 131, 132, 133, 134, 42, - 136, 43, 138, -1, -1, -1, -1, 50, 144, -1, - -1, -1, 148, 149, 150, -1, 152, 153, -1, 155, - 156, -1, -1, -1, 67, 68, -1, 70, -1, 165, - -1, -1, -1, 76, -1, -1, -1, -1, -1, 81, - -1, 83, -1, -1, 86, -1, 88, -1, -1, 91, - -1, -1, -1, -1, -1, -1, 99, -1, -1, 102, - 103, -1, 105, 106, 107, -1, 109, -1, -1, 111, - 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 14, 35, 157, 1, 56, 4, 9, 60, 24, 62, + 8, 45, 52, 164, 12, 13, 14, 172, 40, 139, + 140, 35, 20, 21, 133, 166, 167, 56, 26, 27, + 56, 3, 30, 56, 85, 33, 34, 57, 29, 37, + 35, 55, 26, 57, 60, 96, 62, 45, 133, 33, + 31, 23, 36, 169, 5, 142, 142, 55, 142, 57, + 59, 56, 61, 179, 219, 56, 142, 65, 66, 50, + 179, 69, 112, 142, 142, 73, 74, 28, 142, 77, + 78, 166, 167, 56, 6, 142, 89, 71, 10, 142, + 93, 72, 142, 44, 16, 142, 47, 95, 96, 97, + 120, 56, 0, 101, 164, 119, 142, 142, 178, 229, + 230, 56, 110, 29, 98, 142, 114, 131, 116, 135, + 118, 119, 94, 145, 176, 18, 142, 125, 100, 22, + 56, 129, 130, 131, 132, 133, 134, 142, 136, 24, + 138, 63, 24, 142, 79, 117, 144, 175, 56, 56, + 148, 149, 150, 56, 152, 153, 151, 155, 156, 56, + 164, 160, 113, 142, 142, 56, 164, 165, 7, 32, + 154, 93, 142, 175, 329, 295, 15, 164, 142, 8, + 24, 56, 75, 12, 13, 14, 108, 159, 139, 140, + 162, 20, 21, 25, 56, 42, 56, 26, 27, 233, + 142, 30, 357, 50, 33, 34, 175, 362, 37, 48, + 49, 164, 178, 175, 46, 137, 45, 49, 177, 168, + 67, 68, 115, 70, 379, 64, 55, 175, 57, 76, + 123, 169, 164, 164, 127, 178, 65, 66, 175, 164, + 69, 169, 91, 217, 73, 74, 85, 128, 77, 78, + 143, 90, 99, 92, 147, 102, 103, 11, 105, 106, + 107, 155, 109, 297, 116, 104, 95, 96, 97, 25, + 176, 259, 101, 38, 39, 40, 41, 325, 359, 220, + 373, 110, 121, 122, -1, 114, -1, 116, -1, 118, + 119, -1, 124, -1, 126, -1, 125, -1, -1, 131, + 129, 130, 131, 132, 133, 134, -1, 136, -1, 138, + 157, -1, 151, -1, 153, 144, -1, -1, 157, 148, + 149, 150, 161, 152, 153, 8, 155, 156, -1, 12, + 13, 14, -1, 347, -1, 164, 165, 20, 21, -1, + -1, -1, -1, 26, 27, -1, -1, 30, -1, -1, + 33, 34, -1, -1, 37, -1, 51, 52, 53, 54, + -1, -1, 45, 128, 170, 171, 172, 173, 174, -1, + -1, -1, 55, 179, 57, -1, 141, -1, -1, -1, + 145, 146, 65, 66, -1, 80, 69, 82, -1, 84, + 73, 74, 87, -1, 77, 78, 170, 171, 172, 173, + 174, -1, -1, -1, -1, -1, -1, -1, -1, 11, + -1, -1, 95, 96, 97, 17, -1, 19, 101, -1, + -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, + -1, 114, -1, 116, -1, 118, 119, -1, -1, -1, + -1, 43, 125, -1, -1, -1, 129, 130, 131, 132, + 133, 134, -1, 136, -1, 138, -1, -1, -1, -1, + -1, 144, -1, -1, -1, 148, 149, 150, -1, 152, + 153, -1, 155, 156, -1, -1, -1, -1, -1, 81, + -1, 83, 165, -1, 86, -1, 88, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 157 + -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, + 112 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1363,39 +1357,40 @@ static const yytype_uint16 yystos[] = 73, 74, 77, 78, 95, 96, 97, 101, 110, 114, 116, 118, 119, 125, 129, 130, 131, 132, 133, 134, 136, 138, 144, 148, 149, 150, 152, 153, 155, 156, - 165, 181, 182, 183, 184, 185, 195, 196, 197, 198, - 202, 207, 215, 224, 229, 233, 237, 238, 239, 240, - 248, 249, 260, 261, 164, 56, 56, 199, 6, 10, - 16, 63, 93, 108, 137, 230, 231, 232, 9, 89, - 93, 218, 219, 220, 142, 241, 230, 18, 22, 75, - 115, 123, 127, 143, 147, 209, 60, 62, 142, 186, - 187, 188, 142, 142, 142, 142, 246, 247, 186, 257, - 51, 52, 53, 54, 80, 82, 84, 87, 221, 222, - 223, 257, 142, 142, 256, 56, 24, 60, 62, 135, - 186, 187, 56, 142, 242, 208, 209, 142, 5, 28, - 44, 47, 113, 139, 140, 234, 235, 236, 11, 17, - 19, 43, 81, 83, 86, 88, 91, 111, 112, 203, - 204, 205, 206, 187, 56, 176, 253, 254, 255, 56, - 252, 0, 183, 164, 186, 186, 29, 56, 259, 142, - 142, 31, 50, 72, 251, 178, 25, 46, 49, 124, - 126, 131, 200, 201, 231, 219, 56, 29, 210, 38, - 39, 40, 41, 128, 141, 145, 146, 225, 226, 227, - 228, 142, 183, 247, 186, 222, 56, 142, 216, 24, - 24, 216, 216, 79, 175, 209, 235, 259, 35, 56, - 151, 258, 204, 56, 259, 244, 56, 254, 56, 164, - 189, 4, 59, 61, 142, 160, 250, 166, 167, 262, - 263, 264, 56, 142, 26, 33, 36, 71, 98, 154, - 211, 212, 213, 142, 56, 226, 259, 258, 42, 50, + 165, 181, 182, 183, 184, 185, 197, 198, 199, 200, + 204, 209, 217, 226, 231, 235, 239, 240, 241, 242, + 250, 251, 262, 263, 164, 56, 56, 201, 6, 10, + 16, 63, 93, 108, 137, 232, 233, 234, 9, 89, + 93, 220, 221, 222, 142, 243, 232, 18, 22, 75, + 115, 123, 127, 143, 147, 211, 60, 62, 142, 186, + 187, 188, 142, 142, 142, 142, 248, 249, 186, 259, + 51, 52, 53, 54, 80, 82, 84, 87, 223, 224, + 225, 259, 142, 142, 258, 56, 24, 60, 62, 135, + 186, 187, 56, 142, 244, 210, 211, 142, 5, 28, + 44, 47, 113, 139, 140, 236, 237, 238, 11, 17, + 19, 43, 81, 83, 86, 88, 91, 111, 112, 205, + 206, 207, 208, 187, 56, 176, 255, 256, 257, 56, + 254, 0, 183, 164, 186, 186, 29, 56, 261, 142, + 142, 31, 50, 72, 253, 178, 25, 46, 49, 124, + 126, 131, 202, 203, 233, 221, 56, 29, 212, 38, + 39, 40, 41, 128, 141, 145, 146, 227, 228, 229, + 230, 142, 183, 249, 186, 224, 56, 142, 218, 24, + 24, 218, 218, 79, 175, 211, 237, 261, 35, 56, + 151, 260, 206, 56, 261, 246, 56, 256, 56, 164, + 189, 4, 59, 61, 142, 160, 252, 166, 167, 264, + 265, 266, 56, 142, 26, 33, 36, 71, 98, 154, + 213, 214, 215, 142, 56, 228, 261, 260, 42, 50, 67, 68, 70, 76, 99, 102, 103, 105, 106, 107, - 109, 157, 217, 216, 216, 187, 142, 57, 120, 245, - 32, 7, 15, 48, 64, 85, 90, 92, 104, 121, - 122, 151, 153, 157, 161, 190, 191, 192, 193, 194, - 133, 263, 265, 266, 268, 164, 175, 142, 3, 23, - 94, 100, 117, 159, 162, 214, 216, 24, 243, 187, - 56, 56, 56, 175, 164, 179, 266, 178, 259, 177, - 186, 168, 267, 175, 169, 269, 270, 259, 175, 179, - 270, 164, 259, 178, 170, 171, 172, 173, 174, 271, - 272, 273, 179, 272, 164, 175, 164, 259 + 109, 157, 219, 218, 218, 187, 142, 57, 120, 247, + 32, 7, 15, 48, 49, 64, 85, 90, 92, 104, + 121, 122, 151, 153, 157, 161, 190, 191, 192, 193, + 194, 195, 196, 133, 265, 267, 268, 270, 164, 175, + 142, 3, 23, 94, 100, 117, 159, 162, 216, 218, + 24, 245, 187, 56, 56, 56, 142, 175, 164, 179, + 268, 178, 261, 177, 186, 168, 269, 175, 169, 271, + 272, 261, 175, 179, 272, 164, 261, 178, 170, 171, + 172, 173, 174, 273, 274, 275, 179, 274, 164, 175, + 164, 261 }; #define yyerrok (yyerrstatus = 0) @@ -2218,7 +2213,7 @@ yyreduce: case 5: /* Line 1464 of yacc.c */ -#line 341 "ntp_parser.y" +#line 343 "ntp_parser.y" { /* I will need to incorporate much more fine grained * error messages. The following should suffice for @@ -2235,7 +2230,7 @@ yyreduce: case 19: /* Line 1464 of yacc.c */ -#line 375 "ntp_parser.y" +#line 377 "ntp_parser.y" { peer_node *my_node; @@ -2247,66 +2242,73 @@ yyreduce: case 26: /* Line 1464 of yacc.c */ -#line 394 "ntp_parser.y" +#line 396 "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 399 "ntp_parser.y" +#line 401 "ntp_parser.y" { (yyval.Address_node) = create_address_node((yyvsp[(1) - (1)].String), AF_UNSPEC); } break; case 28: /* Line 1464 of yacc.c */ -#line 404 "ntp_parser.y" +#line 406 "ntp_parser.y" { (yyval.Integer) = AF_INET; } break; case 29: /* Line 1464 of yacc.c */ -#line 406 "ntp_parser.y" +#line 408 "ntp_parser.y" { (yyval.Integer) = AF_INET6; } break; case 30: /* Line 1464 of yacc.c */ -#line 411 "ntp_parser.y" +#line 413 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; case 31: /* Line 1464 of yacc.c */ -#line 413 "ntp_parser.y" +#line 415 "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 34: + case 35: /* Line 1464 of yacc.c */ -#line 426 "ntp_parser.y" +#line 429 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } break; - case 43: + case 44: /* Line 1464 of yacc.c */ -#line 442 "ntp_parser.y" +#line 445 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 50: + case 51: + +/* Line 1464 of yacc.c */ +#line 459 "ntp_parser.y" + { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } + break; + + case 53: /* Line 1464 of yacc.c */ -#line 461 "ntp_parser.y" +#line 473 "ntp_parser.y" { unpeer_node *my_node; @@ -2316,31 +2318,31 @@ yyreduce: } break; - case 53: + case 56: /* Line 1464 of yacc.c */ -#line 482 "ntp_parser.y" +#line 494 "ntp_parser.y" { cfgt.broadcastclient = 1; } break; - case 54: + case 57: /* Line 1464 of yacc.c */ -#line 484 "ntp_parser.y" +#line 496 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[(2) - (2)].Address_fifo)); } break; - case 55: + case 58: /* Line 1464 of yacc.c */ -#line 486 "ntp_parser.y" +#line 498 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[(2) - (2)].Address_fifo)); } break; - case 56: + case 59: /* Line 1464 of yacc.c */ -#line 497 "ntp_parser.y" +#line 509 "ntp_parser.y" { attr_val *atrv; @@ -2349,93 +2351,93 @@ yyreduce: } break; - case 57: + case 60: /* Line 1464 of yacc.c */ -#line 504 "ntp_parser.y" +#line 516 "ntp_parser.y" { cfgt.auth.control_key = (yyvsp[(2) - (2)].Integer); } break; - case 58: + case 61: /* Line 1464 of yacc.c */ -#line 506 "ntp_parser.y" +#line 518 "ntp_parser.y" { cfgt.auth.cryptosw++; CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 59: + case 62: /* Line 1464 of yacc.c */ -#line 511 "ntp_parser.y" +#line 523 "ntp_parser.y" { cfgt.auth.keys = (yyvsp[(2) - (2)].String); } break; - case 60: + case 63: /* Line 1464 of yacc.c */ -#line 513 "ntp_parser.y" +#line 525 "ntp_parser.y" { cfgt.auth.keysdir = (yyvsp[(2) - (2)].String); } break; - case 61: + case 64: /* Line 1464 of yacc.c */ -#line 515 "ntp_parser.y" +#line 527 "ntp_parser.y" { cfgt.auth.request_key = (yyvsp[(2) - (2)].Integer); } break; - case 62: + case 65: /* Line 1464 of yacc.c */ -#line 517 "ntp_parser.y" +#line 529 "ntp_parser.y" { cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); } break; - case 63: + case 66: /* Line 1464 of yacc.c */ -#line 519 "ntp_parser.y" +#line 531 "ntp_parser.y" { cfgt.auth.trusted_key_list = (yyvsp[(2) - (2)].Attr_val_fifo); } break; - case 64: + case 67: /* Line 1464 of yacc.c */ -#line 521 "ntp_parser.y" +#line 533 "ntp_parser.y" { cfgt.auth.ntp_signd_socket = (yyvsp[(2) - (2)].String); } break; - case 65: + case 68: /* Line 1464 of yacc.c */ -#line 526 "ntp_parser.y" +#line 538 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 66: + case 69: /* Line 1464 of yacc.c */ -#line 528 "ntp_parser.y" +#line 540 "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 67: + case 70: /* Line 1464 of yacc.c */ -#line 536 "ntp_parser.y" +#line 548 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } break; - case 68: + case 71: /* Line 1464 of yacc.c */ -#line 538 "ntp_parser.y" +#line 550 "ntp_parser.y" { (yyval.Attr_val) = NULL; cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); @@ -2446,65 +2448,65 @@ yyreduce: } break; - case 74: + case 77: /* Line 1464 of yacc.c */ -#line 563 "ntp_parser.y" +#line 575 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 75: + case 78: /* Line 1464 of yacc.c */ -#line 568 "ntp_parser.y" +#line 580 "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 76: + case 79: /* Line 1464 of yacc.c */ -#line 573 "ntp_parser.y" +#line 585 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 77: + case 80: /* Line 1464 of yacc.c */ -#line 581 "ntp_parser.y" +#line 593 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 78: + case 81: /* Line 1464 of yacc.c */ -#line 583 "ntp_parser.y" +#line 595 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } break; - case 79: + case 82: /* Line 1464 of yacc.c */ -#line 585 "ntp_parser.y" +#line 597 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 90: + case 93: /* Line 1464 of yacc.c */ -#line 611 "ntp_parser.y" +#line 623 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[(2) - (2)].Int_fifo)); } break; - case 91: + case 94: /* Line 1464 of yacc.c */ -#line 613 "ntp_parser.y" +#line 625 "ntp_parser.y" { if (input_from_file) { cfgt.stats_dir = (yyvsp[(2) - (2)].String); @@ -2515,10 +2517,10 @@ yyreduce: } break; - case 92: + case 95: /* Line 1464 of yacc.c */ -#line 622 "ntp_parser.y" +#line 634 "ntp_parser.y" { filegen_node *fgn; @@ -2527,47 +2529,47 @@ yyreduce: } break; - case 93: + case 96: /* Line 1464 of yacc.c */ -#line 632 "ntp_parser.y" +#line 644 "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 94: + case 97: /* Line 1464 of yacc.c */ -#line 637 "ntp_parser.y" +#line 649 "ntp_parser.y" { (yyval.Int_fifo) = NULL; APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); } break; - case 103: + case 106: /* Line 1464 of yacc.c */ -#line 656 "ntp_parser.y" +#line 668 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 104: + case 107: /* Line 1464 of yacc.c */ -#line 658 "ntp_parser.y" +#line 670 "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 105: + case 108: /* Line 1464 of yacc.c */ -#line 666 "ntp_parser.y" +#line 678 "ntp_parser.y" { if (input_from_file) { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); @@ -2579,10 +2581,10 @@ yyreduce: } break; - case 106: + case 109: /* Line 1464 of yacc.c */ -#line 676 "ntp_parser.y" +#line 688 "ntp_parser.y" { if (input_from_file) { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); @@ -2593,10 +2595,10 @@ yyreduce: } break; - case 107: + case 110: /* Line 1464 of yacc.c */ -#line 685 "ntp_parser.y" +#line 697 "ntp_parser.y" { const char *err; @@ -2613,35 +2615,35 @@ yyreduce: } break; - case 108: + case 111: /* Line 1464 of yacc.c */ -#line 700 "ntp_parser.y" +#line 712 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } break; - case 120: + case 123: /* Line 1464 of yacc.c */ -#line 730 "ntp_parser.y" +#line 742 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 121: + case 124: /* Line 1464 of yacc.c */ -#line 734 "ntp_parser.y" +#line 746 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 122: + case 125: /* Line 1464 of yacc.c */ -#line 738 "ntp_parser.y" +#line 750 "ntp_parser.y" { restrict_node *rn; @@ -2651,10 +2653,10 @@ yyreduce: } break; - case 123: + case 126: /* Line 1464 of yacc.c */ -#line 746 "ntp_parser.y" +#line 758 "ntp_parser.y" { restrict_node *rn; @@ -2664,10 +2666,10 @@ yyreduce: } break; - case 124: + case 127: /* Line 1464 of yacc.c */ -#line 754 "ntp_parser.y" +#line 766 "ntp_parser.y" { restrict_node *rn; @@ -2677,10 +2679,10 @@ yyreduce: } break; - case 125: + case 128: /* Line 1464 of yacc.c */ -#line 762 "ntp_parser.y" +#line 774 "ntp_parser.y" { restrict_node *rn; @@ -2697,10 +2699,10 @@ yyreduce: } break; - case 126: + case 129: /* Line 1464 of yacc.c */ -#line 777 "ntp_parser.y" +#line 789 "ntp_parser.y" { restrict_node *rn; @@ -2717,10 +2719,10 @@ yyreduce: } break; - case 127: + case 130: /* Line 1464 of yacc.c */ -#line 792 "ntp_parser.y" +#line 804 "ntp_parser.y" { restrict_node * rn; @@ -2731,81 +2733,81 @@ yyreduce: } break; - case 128: + case 131: /* Line 1464 of yacc.c */ -#line 804 "ntp_parser.y" +#line 816 "ntp_parser.y" { (yyval.Int_fifo) = NULL; } break; - case 129: + case 132: /* Line 1464 of yacc.c */ -#line 806 "ntp_parser.y" +#line 818 "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 144: + case 147: /* Line 1464 of yacc.c */ -#line 831 "ntp_parser.y" +#line 843 "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 145: + case 148: /* Line 1464 of yacc.c */ -#line 836 "ntp_parser.y" +#line 848 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 146: + case 149: /* Line 1464 of yacc.c */ -#line 844 "ntp_parser.y" +#line 856 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 150: + case 153: /* Line 1464 of yacc.c */ -#line 855 "ntp_parser.y" +#line 867 "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 151: + case 154: /* Line 1464 of yacc.c */ -#line 860 "ntp_parser.y" +#line 872 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 152: + case 155: /* Line 1464 of yacc.c */ -#line 868 "ntp_parser.y" +#line 880 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 161: + case 164: /* Line 1464 of yacc.c */ -#line 888 "ntp_parser.y" +#line 900 "ntp_parser.y" { addr_opts_node *aon; @@ -2814,99 +2816,99 @@ yyreduce: } break; - case 162: + case 165: /* Line 1464 of yacc.c */ -#line 898 "ntp_parser.y" +#line 910 "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 163: + case 166: /* Line 1464 of yacc.c */ -#line 903 "ntp_parser.y" +#line 915 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 164: + case 167: /* Line 1464 of yacc.c */ -#line 911 "ntp_parser.y" +#line 923 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } break; - case 165: + case 168: /* Line 1464 of yacc.c */ -#line 913 "ntp_parser.y" +#line 925 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 166: + case 169: /* Line 1464 of yacc.c */ -#line 915 "ntp_parser.y" +#line 927 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 167: + case 170: /* Line 1464 of yacc.c */ -#line 917 "ntp_parser.y" +#line 929 "ntp_parser.y" { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); } break; - case 174: + case 177: /* Line 1464 of yacc.c */ -#line 938 "ntp_parser.y" +#line 950 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 175: + case 178: /* Line 1464 of yacc.c */ -#line 940 "ntp_parser.y" +#line 952 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 176: + case 179: /* Line 1464 of yacc.c */ -#line 945 "ntp_parser.y" +#line 957 "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 177: + case 180: /* Line 1464 of yacc.c */ -#line 950 "ntp_parser.y" +#line 962 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 178: + case 181: /* Line 1464 of yacc.c */ -#line 958 "ntp_parser.y" +#line 970 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); } break; - case 179: + case 182: /* Line 1464 of yacc.c */ -#line 960 "ntp_parser.y" +#line 972 "ntp_parser.y" { if (input_from_file) { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); @@ -2917,44 +2919,44 @@ yyreduce: } break; - case 186: + case 189: /* Line 1464 of yacc.c */ -#line 985 "ntp_parser.y" +#line 997 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 187: + case 190: /* Line 1464 of yacc.c */ -#line 990 "ntp_parser.y" +#line 1002 "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 188: + case 191: /* Line 1464 of yacc.c */ -#line 995 "ntp_parser.y" +#line 1007 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 189: + case 192: /* Line 1464 of yacc.c */ -#line 1003 "ntp_parser.y" +#line 1015 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); } break; - case 198: + case 201: /* Line 1464 of yacc.c */ -#line 1024 "ntp_parser.y" +#line 1036 "ntp_parser.y" { attr_val *av; @@ -2963,10 +2965,10 @@ yyreduce: } break; - case 199: + case 202: /* Line 1464 of yacc.c */ -#line 1031 "ntp_parser.y" +#line 1043 "ntp_parser.y" { attr_val *av; @@ -2975,10 +2977,10 @@ yyreduce: } break; - case 200: + case 203: /* Line 1464 of yacc.c */ -#line 1038 "ntp_parser.y" +#line 1050 "ntp_parser.y" { char error_text[64]; attr_val *av; @@ -2996,10 +2998,10 @@ yyreduce: } break; - case 201: + case 204: /* Line 1464 of yacc.c */ -#line 1054 "ntp_parser.y" +#line 1066 "ntp_parser.y" { if (!input_from_file) { yyerror("remote includefile ignored"); @@ -3020,48 +3022,48 @@ yyreduce: } break; - case 202: + case 205: /* Line 1464 of yacc.c */ -#line 1073 "ntp_parser.y" +#line 1085 "ntp_parser.y" { while (curr_include_level != -1) FCLOSE(fp[curr_include_level--]); } break; - case 203: + case 206: /* Line 1464 of yacc.c */ -#line 1078 "ntp_parser.y" +#line 1090 "ntp_parser.y" { /* see drift_parm below for actions */ } break; - case 204: + case 207: /* Line 1464 of yacc.c */ -#line 1080 "ntp_parser.y" +#line 1092 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 205: + case 208: /* Line 1464 of yacc.c */ -#line 1082 "ntp_parser.y" +#line 1094 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[(2) - (2)].String_fifo)); } break; - case 206: + case 209: /* Line 1464 of yacc.c */ -#line 1084 "ntp_parser.y" +#line 1096 "ntp_parser.y" { APPEND_G_FIFO(cfgt.setvar, (yyvsp[(2) - (2)].Set_var)); } break; - case 207: + case 210: /* Line 1464 of yacc.c */ -#line 1086 "ntp_parser.y" +#line 1098 "ntp_parser.y" { addr_opts_node *aon; @@ -3070,17 +3072,17 @@ yyreduce: } break; - case 208: + case 211: /* Line 1464 of yacc.c */ -#line 1093 "ntp_parser.y" +#line 1105 "ntp_parser.y" { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[(2) - (2)].Attr_val_fifo)); } break; - case 217: + case 220: /* Line 1464 of yacc.c */ -#line 1115 "ntp_parser.y" +#line 1127 "ntp_parser.y" { attr_val *av; @@ -3089,10 +3091,10 @@ yyreduce: } break; - case 218: + case 221: /* Line 1464 of yacc.c */ -#line 1122 "ntp_parser.y" +#line 1134 "ntp_parser.y" { attr_val *av; @@ -3103,10 +3105,10 @@ yyreduce: } break; - case 219: + case 222: /* Line 1464 of yacc.c */ -#line 1131 "ntp_parser.y" +#line 1143 "ntp_parser.y" { attr_val *av; @@ -3115,78 +3117,78 @@ yyreduce: } break; - case 220: + case 223: /* Line 1464 of yacc.c */ -#line 1141 "ntp_parser.y" +#line 1153 "ntp_parser.y" { (yyval.Set_var) = create_setvar_node((yyvsp[(1) - (4)].String), (yyvsp[(3) - (4)].String), (yyvsp[(4) - (4)].Integer)); } break; - case 222: + case 225: /* Line 1464 of yacc.c */ -#line 1147 "ntp_parser.y" +#line 1159 "ntp_parser.y" { (yyval.Integer) = 0; } break; - case 223: + case 226: /* Line 1464 of yacc.c */ -#line 1152 "ntp_parser.y" +#line 1164 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; } break; - case 224: + case 227: /* Line 1464 of yacc.c */ -#line 1154 "ntp_parser.y" +#line 1166 "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 225: + case 228: /* Line 1464 of yacc.c */ -#line 1162 "ntp_parser.y" +#line 1174 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); } break; - case 226: + case 229: /* Line 1464 of yacc.c */ -#line 1164 "ntp_parser.y" +#line 1176 "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 227: + case 230: /* Line 1464 of yacc.c */ -#line 1172 "ntp_parser.y" +#line 1184 "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 228: + case 231: /* Line 1464 of yacc.c */ -#line 1177 "ntp_parser.y" +#line 1189 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 229: + case 232: /* Line 1464 of yacc.c */ -#line 1185 "ntp_parser.y" +#line 1197 "ntp_parser.y" { char prefix; char * type; @@ -3210,10 +3212,10 @@ yyreduce: } break; - case 230: + case 233: /* Line 1464 of yacc.c */ -#line 1210 "ntp_parser.y" +#line 1222 "ntp_parser.y" { nic_rule_node *nrn; @@ -3222,10 +3224,10 @@ yyreduce: } break; - case 231: + case 234: /* Line 1464 of yacc.c */ -#line 1217 "ntp_parser.y" +#line 1229 "ntp_parser.y" { nic_rule_node *nrn; @@ -3234,104 +3236,104 @@ yyreduce: } break; - case 241: + case 244: /* Line 1464 of yacc.c */ -#line 1250 "ntp_parser.y" +#line 1262 "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 242: + case 245: /* Line 1464 of yacc.c */ -#line 1255 "ntp_parser.y" +#line 1267 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(1) - (1)].Integer))); } break; - case 243: + case 246: /* Line 1464 of yacc.c */ -#line 1263 "ntp_parser.y" +#line 1275 "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 244: + case 247: /* Line 1464 of yacc.c */ -#line 1268 "ntp_parser.y" +#line 1280 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val)); } break; - case 245: + case 248: /* Line 1464 of yacc.c */ -#line 1276 "ntp_parser.y" +#line 1288 "ntp_parser.y" { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[(1) - (1)].Integer)); } break; - case 247: + case 250: /* Line 1464 of yacc.c */ -#line 1282 "ntp_parser.y" +#line 1294 "ntp_parser.y" { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[(2) - (5)].Integer), (yyvsp[(4) - (5)].Integer)); } break; - case 248: + case 251: /* Line 1464 of yacc.c */ -#line 1287 "ntp_parser.y" +#line 1299 "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 249: + case 252: /* Line 1464 of yacc.c */ -#line 1292 "ntp_parser.y" +#line 1304 "ntp_parser.y" { (yyval.String_fifo) = NULL; APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(1) - (1)].String))); } break; - case 250: + case 253: /* Line 1464 of yacc.c */ -#line 1300 "ntp_parser.y" +#line 1312 "ntp_parser.y" { (yyval.Address_fifo) = (yyvsp[(1) - (2)].Address_fifo); APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(2) - (2)].Address_node)); } break; - case 251: + case 254: /* Line 1464 of yacc.c */ -#line 1305 "ntp_parser.y" +#line 1317 "ntp_parser.y" { (yyval.Address_fifo) = NULL; APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(1) - (1)].Address_node)); } break; - case 252: + case 255: /* Line 1464 of yacc.c */ -#line 1313 "ntp_parser.y" +#line 1325 "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"); @@ -3342,31 +3344,31 @@ yyreduce: } break; - case 253: + case 256: /* Line 1464 of yacc.c */ -#line 1321 "ntp_parser.y" +#line 1333 "ntp_parser.y" { (yyval.Integer) = 1; } break; - case 254: + case 257: /* Line 1464 of yacc.c */ -#line 1322 "ntp_parser.y" +#line 1334 "ntp_parser.y" { (yyval.Integer) = 0; } break; - case 255: + case 258: /* Line 1464 of yacc.c */ -#line 1326 "ntp_parser.y" +#line 1338 "ntp_parser.y" { (yyval.Double) = (double)(yyvsp[(1) - (1)].Integer); } break; - case 257: + case 260: /* Line 1464 of yacc.c */ -#line 1337 "ntp_parser.y" +#line 1349 "ntp_parser.y" { sim_node *sn; @@ -3378,139 +3380,139 @@ yyreduce: } break; - case 258: + case 261: /* Line 1464 of yacc.c */ -#line 1354 "ntp_parser.y" +#line 1366 "ntp_parser.y" { old_config_style = 0; } break; - case 259: + case 262: /* Line 1464 of yacc.c */ -#line 1359 "ntp_parser.y" +#line 1371 "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 260: + case 263: /* Line 1464 of yacc.c */ -#line 1364 "ntp_parser.y" +#line 1376 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val)); } break; - case 261: + case 264: /* Line 1464 of yacc.c */ -#line 1372 "ntp_parser.y" +#line 1384 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); } break; - case 264: + case 267: /* Line 1464 of yacc.c */ -#line 1382 "ntp_parser.y" +#line 1394 "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 265: + case 268: /* Line 1464 of yacc.c */ -#line 1387 "ntp_parser.y" +#line 1399 "ntp_parser.y" { (yyval.Sim_server_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(1) - (1)].Sim_server)); } break; - case 266: + case 269: /* Line 1464 of yacc.c */ -#line 1395 "ntp_parser.y" +#line 1407 "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 267: + case 270: /* Line 1464 of yacc.c */ -#line 1400 "ntp_parser.y" +#line 1412 "ntp_parser.y" { (yyval.Double) = (yyvsp[(3) - (4)].Double); } break; - case 268: + case 271: /* Line 1464 of yacc.c */ -#line 1405 "ntp_parser.y" +#line 1417 "ntp_parser.y" { (yyval.Address_node) = (yyvsp[(3) - (3)].Address_node); } break; - case 269: + case 272: /* Line 1464 of yacc.c */ -#line 1410 "ntp_parser.y" +#line 1422 "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 270: + case 273: /* Line 1464 of yacc.c */ -#line 1415 "ntp_parser.y" +#line 1427 "ntp_parser.y" { (yyval.Sim_script_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(1) - (1)].Sim_script)); } break; - case 271: + case 274: /* Line 1464 of yacc.c */ -#line 1423 "ntp_parser.y" +#line 1435 "ntp_parser.y" { (yyval.Sim_script) = create_sim_script_info((yyvsp[(3) - (6)].Double), (yyvsp[(5) - (6)].Attr_val_fifo)); } break; - case 272: + case 275: /* Line 1464 of yacc.c */ -#line 1428 "ntp_parser.y" +#line 1440 "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 273: + case 276: /* Line 1464 of yacc.c */ -#line 1433 "ntp_parser.y" +#line 1445 "ntp_parser.y" { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val)); } break; - case 274: + case 277: /* Line 1464 of yacc.c */ -#line 1441 "ntp_parser.y" +#line 1453 "ntp_parser.y" { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); } break; /* Line 1464 of yacc.c */ -#line 3514 "ntp_parser.c" +#line 3516 "ntp_parser.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3722,7 +3724,7 @@ yyreturn: /* Line 1684 of yacc.c */ -#line 1452 "ntp_parser.y" +#line 1464 "ntp_parser.y" void diff --git a/ntpd/ntp_parser.y b/ntpd/ntp_parser.y index 997ebf26d..4338f6be1 100644 --- a/ntpd/ntp_parser.y +++ b/ntpd/ntp_parser.y @@ -290,6 +290,8 @@ %type option_list %type option_int %type option_int_keyword +%type option_str +%type option_str_keyword %type stat %type stats_list %type string_list @@ -419,6 +421,7 @@ option_list option : option_flag | option_int + | option_str ; option_flag @@ -451,6 +454,15 @@ option_int_keyword | T_Version ; +option_str + : option_str_keyword T_String + { $$ = create_attr_sval($1, $2); } + ; + +option_str_keyword + : T_Ident + ; + /* unpeer commands * --------------- diff --git a/ntpd/ntp_peer.c b/ntpd/ntp_peer.c index e74eca7ca..4f2f78b38 100644 --- a/ntpd/ntp_peer.c +++ b/ntpd/ntp_peer.c @@ -511,17 +511,17 @@ unpeer( */ struct peer * peer_config( - sockaddr_u *srcadr, - const char *hostname, - struct interface *dstadr, - u_char hmode, - u_char version, - u_char minpoll, - u_char maxpoll, - u_int flags, - u_char ttl, - keyid_t key, - u_char *keystr + sockaddr_u * srcadr, + const char * hostname, + endpt * dstadr, + u_char hmode, + u_char version, + u_char minpoll, + u_char maxpoll, + u_int flags, + u_char ttl, + keyid_t key, + const char * group ) { u_char cast_flags;