From: Harlan Stenn Date: Thu, 12 Oct 2017 07:26:49 +0000 (+0000) Subject: [Bug 948] Trustedkey config directive leaks memory X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07fb344a9ae8fbc6a9d509dec7b4575cf2ab33ff;p=thirdparty%2Fntp.git [Bug 948] Trustedkey config directive leaks memory bk: 59df1939REiCU3UBma8-n_lKKBeVsw --- diff --git a/ChangeLog b/ChangeLog index 278431414..0cc45640e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ --- * [Bug 3358] Spurious KoD log messages in .INIT. phase. HStenn. +* [Bug 948] Trustedkey config directive leaks memory. * Use strlcpy() to copy strings, not memcpy(). HStenn. --- diff --git a/include/ntp_config.h b/include/ntp_config.h index bd8f595d9..bb400ddb6 100644 --- a/include/ntp_config.h +++ b/include/ntp_config.h @@ -54,6 +54,14 @@ typedef struct int_range_tag { int last; } int_range; +/* generic list node */ +typedef struct any_node_tag any_node; +struct any_node_tag { + any_node * link; +}; + +typedef DECL_FIFO_ANCHOR(any_node) any_node_fifo; + /* Structure for storing an attribute-value pair */ typedef struct attr_val_tag attr_val; struct attr_val_tag { @@ -267,8 +275,12 @@ typedef struct settrap_parms_tag { const char * token_name(int token); /* generic fifo routines for structs linked by 1st member */ +typedef void (*fifo_deleter)(void*); +void* destroy_gen_fifo(void *fifo, fifo_deleter func); void* append_gen_fifo(void *fifo, void *entry); void * concat_gen_fifos(void *first, void *second); +#define DESTROY_G_FIFO(pf, func) \ + ((pf) = destroy_gen_fifo((pf), (fifo_deleter)(func))) #define APPEND_G_FIFO(pf, pe) \ ((pf) = append_gen_fifo((pf), (pe))) #define CONCAT_G_FIFOS(first, second) \ @@ -288,6 +300,7 @@ attr_val *create_attr_ival(int attr, int value); attr_val *create_attr_uval(int attr, u_int value); attr_val *create_attr_rangeval(int attr, int first, int last); attr_val *create_attr_sval(int attr, const char *s); +void destroy_attr_val(attr_val *node); filegen_node *create_filegen_node(int filegen_token, attr_val_fifo *options); string_node *create_string_node(char *str); diff --git a/ntpd/ntp_config.c b/ntpd/ntp_config.c index 428ab9f46..4a8921d2d 100644 --- a/ntpd/ntp_config.c +++ b/ntpd/ntp_config.c @@ -1057,11 +1057,45 @@ concat_gen_fifos( return pf1; } +void* +destroy_gen_fifo( + void *fifo, + fifo_deleter func + ) +{ + any_node * np = NULL; + any_node_fifo * pf1 = fifo; + + if (pf1 != NULL) { + if (!func) + func = free; + for (;;) { + UNLINK_FIFO(np, *pf1, link); + if (np == NULL) + break; + (*func)(np); + } + free(pf1); + } + return NULL; +} /* FUNCTIONS FOR CREATING NODES ON THE SYNTAX TREE * ----------------------------------------------- */ +void +destroy_attr_val( + attr_val * av + ) +{ + if (av) { + if (T_String == av->type) + free(av->value.s); + free(av); + } +} + attr_val * create_attr_dval( int attr, @@ -1484,9 +1518,7 @@ destroy_attr_val_fifo( UNLINK_FIFO(av, *av_fifo, link); if (av == NULL) break; - if (T_String == av->type) - free(av->value.s); - free(av); + destroy_attr_val(av); } free(av_fifo); } diff --git a/ntpd/ntp_parser.c b/ntpd/ntp_parser.c index 7114a6568..3c9b3c623 100644 --- a/ntpd/ntp_parser.c +++ b/ntpd/ntp_parser.c @@ -116,8 +116,8 @@ /* In a future release of Bison, this section will be replaced by #include "y.tab.h". */ -#ifndef YY_YY_Y_TAB_H_INCLUDED -# define YY_YY_Y_TAB_H_INCLUDED +#ifndef YY_YY_NTP_PARSER_H_INCLUDED +# define YY_YY_NTP_PARSER_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 @@ -564,7 +564,7 @@ extern YYSTYPE yylval; int yyparse (void); -#endif /* !YY_YY_Y_TAB_H_INCLUDED */ +#endif /* !YY_YY_NTP_PARSER_H_INCLUDED */ /* Copy the second part of user declarations. */ @@ -808,9 +808,9 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 215 +#define YYFINAL 214 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 654 +#define YYLAST 664 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 204 @@ -819,7 +819,7 @@ union yyalloc /* YYNRULES -- Number of rules. */ #define YYNRULES 318 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 424 +#define YYNSTATES 423 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -892,31 +892,31 @@ static const yytype_uint16 yyrline[] = 473, 474, 475, 476, 477, 481, 483, 488, 489, 490, 491, 492, 493, 497, 502, 511, 521, 522, 532, 534, 536, 538, 549, 556, 558, 563, 565, 567, 569, 571, - 580, 586, 587, 595, 597, 609, 610, 611, 612, 613, - 622, 627, 632, 640, 642, 644, 649, 650, 651, 652, - 653, 654, 655, 656, 657, 661, 662, 671, 673, 682, - 692, 697, 705, 706, 707, 708, 709, 710, 711, 712, - 717, 718, 726, 736, 745, 760, 765, 766, 770, 771, - 775, 776, 777, 778, 779, 780, 781, 790, 794, 798, - 806, 814, 822, 837, 852, 865, 866, 874, 875, 876, - 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 892, 897, 905, 910, 911, 912, 916, 921, - 929, 934, 935, 936, 937, 938, 939, 940, 941, 949, - 959, 964, 972, 974, 976, 985, 987, 992, 993, 997, - 998, 999, 1000, 1008, 1013, 1018, 1026, 1031, 1032, 1033, - 1042, 1044, 1049, 1054, 1062, 1064, 1081, 1082, 1083, 1084, - 1085, 1086, 1090, 1091, 1092, 1093, 1094, 1095, 1103, 1108, - 1113, 1121, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, - 1134, 1135, 1144, 1145, 1146, 1153, 1160, 1167, 1183, 1202, - 1204, 1206, 1208, 1210, 1212, 1219, 1224, 1225, 1226, 1230, - 1234, 1243, 1244, 1248, 1249, 1250, 1254, 1265, 1279, 1291, - 1296, 1298, 1303, 1304, 1312, 1314, 1322, 1327, 1335, 1360, - 1367, 1377, 1378, 1382, 1383, 1384, 1385, 1389, 1390, 1391, - 1395, 1400, 1405, 1413, 1414, 1415, 1416, 1417, 1418, 1419, - 1429, 1434, 1442, 1447, 1455, 1457, 1461, 1466, 1471, 1479, - 1484, 1492, 1501, 1502, 1506, 1507, 1516, 1534, 1538, 1543, - 1551, 1556, 1557, 1561, 1566, 1574, 1579, 1584, 1589, 1594, - 1602, 1607, 1612, 1620, 1625, 1626, 1627, 1628, 1629 + 581, 587, 588, 596, 598, 610, 611, 612, 613, 614, + 623, 628, 633, 641, 643, 645, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 662, 663, 672, 674, 683, + 693, 698, 706, 707, 708, 709, 710, 711, 712, 713, + 718, 719, 727, 737, 746, 761, 766, 767, 771, 772, + 776, 777, 778, 779, 780, 781, 782, 791, 795, 799, + 807, 815, 823, 838, 853, 866, 867, 875, 876, 877, + 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, + 888, 889, 893, 898, 906, 911, 912, 913, 917, 922, + 930, 935, 936, 937, 938, 939, 940, 941, 942, 950, + 960, 965, 973, 975, 977, 986, 988, 993, 994, 998, + 999, 1000, 1001, 1009, 1014, 1019, 1027, 1032, 1033, 1034, + 1043, 1045, 1050, 1055, 1063, 1065, 1082, 1083, 1084, 1085, + 1086, 1087, 1091, 1092, 1093, 1094, 1095, 1096, 1104, 1109, + 1114, 1122, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, + 1135, 1136, 1145, 1146, 1147, 1154, 1161, 1168, 1184, 1203, + 1205, 1207, 1209, 1211, 1213, 1220, 1225, 1226, 1227, 1231, + 1235, 1244, 1245, 1249, 1250, 1251, 1255, 1266, 1280, 1292, + 1297, 1299, 1304, 1305, 1313, 1315, 1323, 1328, 1336, 1361, + 1368, 1378, 1379, 1383, 1384, 1385, 1386, 1390, 1391, 1392, + 1396, 1401, 1406, 1414, 1415, 1416, 1417, 1418, 1419, 1420, + 1430, 1435, 1443, 1448, 1456, 1458, 1462, 1467, 1472, 1480, + 1485, 1493, 1502, 1503, 1507, 1508, 1517, 1535, 1539, 1544, + 1552, 1557, 1558, 1562, 1567, 1575, 1580, 1585, 1590, 1595, + 1603, 1608, 1613, 1621, 1626, 1627, 1628, 1629, 1630 }; #endif @@ -1028,10 +1028,10 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -189 +#define YYPACT_NINF -188 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-189))) + (!!((Yystate) == (-188))) #define YYTABLE_NINF -7 @@ -1042,49 +1042,49 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 18, -177, -45, -189, -189, -189, -40, -189, 32, 5, - -129, -189, 32, -189, 204, -44, -189, -117, -189, -110, - -101, -189, -189, -97, -189, -189, -44, -4, 495, -44, - -189, -189, -96, -189, -94, -189, -189, 8, 54, 258, - 10, -28, -189, -189, -89, 204, -86, -189, 270, 529, - -85, -56, 14, -189, -189, -189, 83, 207, -95, -189, - -44, -189, -44, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -7, 24, -73, -68, -189, -3, -189, - -189, -106, -189, -189, -189, 313, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, 32, -189, - -189, -189, -189, -189, -189, 5, -189, 35, 65, -189, - 32, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, 110, -189, -59, 368, -189, -189, -189, - -97, -189, -189, -44, -189, -189, -189, -189, -189, -189, - -189, -189, -189, 495, -189, 44, -44, -189, -189, -51, - -189, -189, -189, -189, -189, -189, -189, -189, 54, -189, - -189, 86, 89, -189, -189, 33, -189, -189, -189, -189, - -28, -189, 49, -75, -189, 204, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, 270, -189, - -7, -189, -189, -189, -33, -189, -189, -189, -189, -189, - -189, -189, -189, 529, -189, 66, -7, -189, -189, 67, - -56, -189, -189, -189, 68, -189, -53, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, 16, - -153, -189, -189, -189, -189, -189, 77, -189, -18, -189, - -189, -189, -189, 226, -13, -189, -189, -189, -189, -8, - 97, -189, -189, 110, -189, -7, -33, -189, -189, -189, - -189, -189, -189, -189, -189, 449, -189, -189, 449, 449, - -85, -189, -189, 11, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -49, 108, -189, -189, -189, 125, - -189, -189, -189, -189, -189, -189, -189, -189, -102, -20, - -30, -189, -189, -189, -189, 13, -189, -189, 9, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, 449, 449, -189, 146, -85, 113, - -189, 116, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -54, -189, 23, -10, 6, -138, -189, -9, -189, - -7, -189, -189, -189, -189, -189, -189, -189, -189, -189, - 449, -189, -189, -189, -189, -17, -189, -189, -189, -44, - -189, -189, -189, 20, -189, -189, -189, 0, 21, -7, - 22, -173, -189, 25, -7, -189, -189, -189, 17, 7, - -189, -189, -189, -189, -189, 217, 39, 36, -189, 46, - -189, -7, -189, -189 + 18, -176, -23, -188, -188, -188, -16, -188, 161, 19, + -123, -188, 161, -188, 251, -53, -188, -109, -188, -107, + -101, -188, -188, -98, -188, -188, -53, 3, 237, -53, + -188, -188, -90, -188, -80, -188, -188, 23, 90, -3, + 24, -28, -188, -188, -73, 251, -64, -188, 146, 539, + -58, -51, 26, -188, -188, -188, 108, 198, -79, -188, + -53, -188, -53, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -1, 48, -47, -46, -188, -25, -188, + -188, -91, -188, -188, -188, 172, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, -188, -188, 161, -188, + -188, -188, -188, -188, -188, 19, -188, 55, 88, -188, + 161, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, 98, -188, -32, 359, -188, -188, -188, + -98, -188, -188, -53, -188, -188, -188, -188, -188, -188, + -188, -188, -188, 237, -188, 67, -53, -188, -188, -30, + -188, -188, -188, -188, -188, -188, -188, -188, 90, -188, + -188, 105, 106, -188, 50, -188, -188, -188, -188, -28, + -188, 76, -60, -188, 251, -188, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, -188, 146, -188, -1, + -188, -188, -188, -35, -188, -188, -188, -188, -188, -188, + -188, -188, 539, -188, 92, -1, -188, -188, 94, -51, + -188, -188, -188, 96, -188, -29, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, -188, -188, 16, -147, + -188, -188, -188, -188, -188, 109, -188, 8, -188, -188, + -188, -188, -21, 14, -188, -188, -188, -188, 17, 117, + -188, -188, 98, -188, -1, -35, -188, -188, -188, -188, + -188, -188, -188, -188, 467, -188, -188, 467, -58, 467, + -188, -188, 29, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -41, 147, -188, -188, -188, 345, -188, + -188, -188, -188, -188, -188, -188, -188, -119, -5, -6, + -188, -188, -188, -188, 34, -188, -188, 9, -188, -188, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, 467, 467, -188, 174, -58, 141, -188, + 142, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -55, -188, 45, 10, 22, -140, -188, 15, -188, -1, + -188, -188, -188, -188, -188, -188, -188, -188, -188, 467, + -188, -188, -188, -188, 11, -188, -188, -188, -53, -188, + -188, -188, 28, -188, -188, -188, 27, 25, -1, 31, + -153, -188, 35, -1, -188, -188, -188, 33, 47, -188, + -188, -188, -188, -188, -120, 37, 39, -188, 58, -188, + -1, -188, -188 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1108,65 +1108,65 @@ static const yytype_uint16 yydefact[] = 231, 257, 290, 59, 61, 161, 162, 163, 164, 165, 166, 167, 168, 128, 159, 0, 60, 70, 288, 232, 67, 273, 274, 275, 276, 277, 278, 279, 270, 272, - 135, 29, 30, 135, 135, 26, 68, 189, 187, 188, - 183, 185, 0, 0, 233, 97, 101, 98, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 208, 210, - 0, 86, 87, 88, 0, 89, 90, 96, 91, 95, - 92, 93, 94, 80, 82, 0, 0, 252, 284, 0, - 69, 283, 285, 281, 235, 1, 0, 4, 31, 55, - 295, 294, 224, 225, 226, 227, 269, 268, 267, 0, - 0, 79, 75, 76, 77, 78, 0, 72, 0, 192, - 152, 154, 247, 99, 0, 179, 180, 181, 182, 0, - 0, 177, 178, 169, 171, 0, 0, 27, 228, 256, - 289, 158, 160, 287, 271, 131, 135, 135, 134, 129, - 0, 184, 186, 0, 100, 209, 211, 293, 291, 292, - 85, 81, 83, 84, 234, 0, 282, 280, 3, 20, - 263, 264, 265, 260, 266, 259, 301, 302, 0, 0, - 0, 74, 73, 119, 118, 0, 116, 117, 0, 111, - 114, 115, 175, 176, 174, 170, 172, 173, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 136, 132, 133, 135, 251, 0, 0, - 253, 0, 37, 38, 39, 54, 47, 49, 48, 51, - 40, 41, 42, 43, 50, 52, 44, 32, 33, 36, - 34, 0, 35, 0, 0, 0, 0, 304, 0, 299, - 0, 112, 126, 122, 124, 120, 121, 123, 125, 113, - 130, 250, 249, 255, 254, 0, 45, 46, 53, 0, - 298, 296, 303, 0, 300, 286, 307, 0, 0, 0, - 0, 0, 309, 0, 0, 305, 308, 306, 0, 0, - 314, 315, 316, 317, 318, 0, 0, 0, 310, 0, - 312, 0, 311, 313 + 135, 29, 30, 135, 135, 68, 189, 187, 188, 183, + 185, 0, 0, 233, 97, 101, 98, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 208, 210, 0, + 86, 87, 88, 0, 89, 90, 96, 91, 95, 92, + 93, 94, 80, 82, 0, 0, 252, 284, 0, 69, + 283, 285, 281, 235, 1, 0, 4, 31, 55, 295, + 294, 224, 225, 226, 227, 269, 268, 267, 0, 0, + 79, 75, 76, 77, 78, 0, 72, 0, 192, 152, + 154, 247, 99, 0, 179, 180, 181, 182, 0, 0, + 177, 178, 169, 171, 0, 0, 27, 228, 256, 289, + 158, 160, 287, 271, 131, 135, 135, 134, 0, 129, + 184, 186, 0, 100, 209, 211, 293, 291, 292, 85, + 81, 83, 84, 234, 0, 282, 280, 3, 20, 263, + 264, 265, 260, 266, 259, 301, 302, 0, 0, 0, + 74, 73, 119, 118, 0, 116, 117, 0, 111, 114, + 115, 175, 176, 174, 170, 172, 173, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 136, 132, 133, 135, 251, 0, 0, 253, + 0, 37, 38, 39, 54, 47, 49, 48, 51, 40, + 41, 42, 43, 50, 52, 44, 32, 33, 36, 34, + 0, 35, 0, 0, 0, 0, 304, 0, 299, 0, + 112, 126, 122, 124, 120, 121, 123, 125, 113, 130, + 250, 249, 255, 254, 0, 45, 46, 53, 0, 298, + 296, 303, 0, 300, 286, 307, 0, 0, 0, 0, + 0, 309, 0, 0, 305, 308, 306, 0, 0, 314, + 315, 316, 317, 318, 0, 0, 0, 310, 0, 312, + 0, 311, 313 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -189, -189, -189, -48, -189, -189, -15, -38, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, 37, -189, -189, -189, - -189, -42, -189, -189, -189, -189, -189, -189, -159, -189, - -189, 131, -189, -189, 96, -189, -189, -189, -6, -189, - -189, -189, -189, 74, -189, -189, 236, -71, -189, -189, - -189, -189, 62, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, 122, -189, -189, -189, -189, - -189, -189, 95, -189, -189, 45, -189, -189, 225, 1, - -188, -189, -189, -189, -39, -189, -189, -103, -189, -189, - -189, -136, -189, -149, -189 + -188, -188, -188, -34, -188, -188, -15, -49, -188, -188, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, 46, -188, -188, -188, + -188, -39, -188, -188, -188, -188, -188, -188, -160, -188, + -188, 145, -188, -188, 104, -188, -188, -188, 0, -188, + -188, -188, -188, 85, -188, -188, 243, -72, -188, -188, + -188, -188, 71, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -188, -188, 130, -188, -188, -188, -188, + -188, -188, 110, -188, -188, 60, -188, -188, 235, 12, + -187, -188, -188, -188, -20, -188, -188, -87, -188, -188, + -188, -115, -188, -133, -188 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 56, 57, 58, 59, 60, 132, 124, 125, 289, - 357, 358, 359, 360, 361, 362, 363, 61, 62, 63, - 64, 85, 237, 238, 65, 203, 204, 205, 206, 66, - 175, 119, 243, 309, 310, 311, 379, 67, 265, 333, - 105, 106, 107, 143, 144, 145, 68, 253, 254, 255, - 256, 69, 170, 171, 172, 70, 98, 99, 100, 101, - 71, 188, 189, 190, 72, 73, 74, 75, 76, 109, - 174, 382, 284, 340, 130, 131, 77, 78, 295, 229, - 79, 158, 159, 214, 210, 211, 212, 149, 133, 280, - 222, 80, 81, 298, 299, 300, 366, 367, 398, 368, - 401, 402, 415, 416, 417 + -1, 56, 57, 58, 59, 60, 132, 124, 125, 288, + 356, 357, 358, 359, 360, 361, 362, 61, 62, 63, + 64, 85, 236, 237, 65, 202, 203, 204, 205, 66, + 174, 119, 242, 308, 309, 310, 378, 67, 264, 332, + 105, 106, 107, 143, 144, 145, 68, 252, 253, 254, + 255, 69, 169, 170, 171, 70, 98, 99, 100, 101, + 71, 187, 188, 189, 72, 73, 74, 75, 76, 109, + 173, 381, 283, 339, 130, 131, 77, 78, 294, 228, + 79, 158, 159, 213, 209, 210, 211, 149, 133, 279, + 221, 80, 81, 297, 298, 299, 365, 366, 397, 367, + 400, 401, 414, 415, 416 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1174,140 +1174,142 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 123, 165, 276, 176, 268, 269, 208, 277, 386, 216, - 364, 82, 207, 372, 338, 167, 102, 83, 283, 1, - 400, 290, 84, 120, 164, 121, 220, 239, 2, 278, - 405, 108, 226, 3, 4, 5, 373, 296, 297, 239, - 86, 6, 7, 126, 87, 218, 364, 219, 8, 9, - 127, 88, 10, 227, 11, 221, 12, 13, 134, 128, - 14, 151, 152, 129, 147, 391, 148, 316, 168, 15, - 150, 173, 166, 16, 177, 122, 213, 228, 258, 17, - 153, 18, 291, 215, 292, 339, 223, 224, 296, 297, - 19, 20, 225, 217, 21, 22, 230, 241, 242, 23, - 24, 257, 89, 25, 26, 103, 262, 334, 335, 263, - 104, 272, 27, 244, 266, 374, 122, 267, 260, 154, - 270, 387, 375, 169, 273, 28, 29, 30, 282, 285, - 287, 260, 31, 274, 342, 288, 90, 91, 279, 301, - 376, 32, 302, 343, 209, 341, 33, 312, 34, 155, - 35, 36, 313, 92, 245, 246, 247, 248, 93, 314, - 37, 38, 39, 40, 41, 42, 43, 44, 369, 370, - 45, 337, 46, 371, 381, 384, 293, 380, 385, 344, - 345, 47, 394, 388, 395, 94, 48, 49, 50, 389, - 51, 52, 377, 393, 390, 378, 346, 53, 54, 399, - 294, 410, 411, 412, 413, 414, -6, 55, 95, 96, - 97, 403, 397, 407, 400, 156, 408, 2, 347, 409, - 157, 404, 3, 4, 5, 111, 348, 420, 349, 112, - 6, 7, 336, 423, 422, 421, 240, 8, 9, 261, - 281, 10, 350, 11, 271, 12, 13, 315, 110, 14, - 275, 249, 259, 264, 146, 286, 303, 317, 15, 365, - 351, 352, 16, 392, 304, 406, 419, 305, 17, 250, - 18, 0, 0, 0, 251, 252, 178, 0, 0, 19, - 20, 0, 0, 21, 22, 0, 160, 113, 23, 24, - 0, 0, 25, 26, 0, 0, 353, 0, 354, 0, - 383, 27, 179, 0, 0, 306, 355, 0, 0, 0, - 356, 0, 0, 0, 28, 29, 30, 0, 0, 0, - 180, 31, 0, 181, 0, 161, 0, 162, 0, 0, - 32, 0, 0, 114, 0, 33, 307, 34, 0, 35, - 36, 115, 231, 0, 116, 0, 0, 0, 0, 37, - 38, 39, 40, 41, 42, 43, 44, 0, 0, 45, - 0, 46, 0, 0, 0, 232, 117, 0, 233, 0, - 47, 118, 0, 0, 396, 48, 49, 50, 2, 51, - 52, 0, 0, 3, 4, 5, 53, 54, 0, 0, - 0, 6, 7, 0, 0, -6, 55, 182, 8, 9, - 308, 0, 10, 0, 11, 0, 12, 13, 163, 0, - 14, 410, 411, 412, 413, 414, 0, 0, 122, 15, - 418, 0, 0, 16, 0, 183, 184, 185, 186, 17, - 0, 18, 0, 187, 0, 0, 0, 0, 0, 0, - 19, 20, 0, 0, 21, 22, 0, 0, 0, 23, - 24, 234, 235, 25, 26, 0, 0, 0, 236, 0, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 29, 30, 0, 0, - 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, - 0, 32, 0, 0, 0, 0, 33, 318, 34, 0, - 35, 36, 0, 0, 0, 319, 0, 0, 0, 0, + 123, 206, 275, 267, 269, 276, 175, 385, 363, 302, + 225, 207, 82, 371, 120, 166, 121, 303, 282, 1, + 304, 289, 337, 215, 164, 160, 238, 277, 2, 363, + 102, 226, 219, 3, 4, 5, 372, 108, 238, 83, + 399, 6, 7, 295, 296, 217, 84, 218, 8, 9, + 404, 126, 10, 127, 11, 227, 12, 13, 305, 128, + 14, 220, 129, 390, 161, 134, 162, 315, 167, 15, + 147, 295, 296, 16, 409, 410, 411, 412, 413, 17, + 148, 18, 290, 417, 291, 150, 165, 172, 212, 306, + 19, 20, 257, 338, 21, 22, 176, 151, 152, 23, + 24, 243, 122, 25, 26, 333, 334, 122, 214, 216, + 222, 229, 27, 223, 224, 373, 153, 240, 259, 103, + 386, 241, 374, 168, 104, 28, 29, 30, 256, 261, + 262, 259, 31, 265, 266, 273, 278, 268, 271, 272, + 375, 32, 244, 245, 246, 247, 33, 163, 34, 208, + 35, 36, 177, 307, 281, 154, 284, 122, 286, 287, + 37, 38, 39, 40, 41, 42, 43, 44, 301, 86, + 45, 300, 46, 87, 311, 379, 292, 312, 178, 313, + 88, 47, 393, 368, 340, 155, 48, 49, 50, 336, + 51, 52, 376, 369, 370, 377, 179, 53, 54, 180, + 293, 230, 380, 383, 384, 387, -6, 55, 2, 388, + 389, 402, 394, 3, 4, 5, 407, 392, 399, 335, + 396, 6, 7, 406, 231, 419, 398, 232, 8, 9, + 403, 89, 10, 422, 11, 408, 12, 13, 420, 248, + 14, 409, 410, 411, 412, 413, 421, 260, 280, 15, + 239, 156, 314, 16, 270, 110, 157, 249, 274, 17, + 258, 18, 250, 251, 146, 90, 91, 316, 263, 285, + 19, 20, 111, 181, 21, 22, 112, 364, 391, 23, + 24, 418, 92, 25, 26, 405, 0, 93, 382, 0, + 0, 0, 27, 0, 135, 136, 137, 138, 0, 0, + 0, 182, 183, 184, 185, 28, 29, 30, 0, 186, + 233, 234, 31, 0, 94, 0, 0, 235, 0, 0, + 0, 32, 0, 0, 0, 139, 33, 140, 34, 141, + 35, 36, 0, 0, 113, 142, 0, 95, 96, 97, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, - 45, 0, 46, 320, 321, 0, 0, 322, 0, 0, - 0, 47, 0, 323, 0, 0, 48, 49, 50, 0, - 51, 52, 191, 192, 0, 0, 0, 53, 54, 193, - 0, 194, 135, 136, 137, 138, 0, 55, 0, 0, - 324, 325, 0, 0, 326, 327, 0, 328, 329, 330, - 0, 331, 0, 0, 0, 0, 0, 0, 195, 0, - 0, 0, 0, 139, 0, 140, 0, 141, 0, 0, - 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, + 45, 0, 46, 0, 341, 0, 0, 0, 0, 0, + 0, 47, 0, 342, 0, 0, 48, 49, 50, 2, + 51, 52, 0, 395, 3, 4, 5, 53, 54, 0, + 114, 0, 6, 7, 0, 0, -6, 55, 115, 8, + 9, 116, 0, 10, 0, 11, 0, 12, 13, 343, + 344, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 0, 0, 117, 16, 0, 345, 0, 118, 0, + 17, 0, 18, 0, 0, 0, 0, 0, 0, 0, + 0, 19, 20, 0, 0, 21, 22, 0, 346, 0, + 23, 24, 0, 0, 25, 26, 347, 0, 348, 0, + 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 349, 0, 0, 0, 28, 29, 30, 0, + 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, + 350, 351, 32, 0, 0, 0, 0, 33, 0, 34, + 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, + 0, 37, 38, 39, 40, 41, 42, 43, 44, 0, + 0, 45, 0, 46, 0, 317, 352, 0, 353, 0, + 0, 0, 47, 318, 0, 0, 354, 48, 49, 50, + 355, 51, 52, 0, 0, 0, 0, 0, 53, 54, + 0, 319, 320, 0, 0, 321, 0, 0, 55, 0, + 0, 322, 190, 191, 0, 0, 0, 0, 0, 192, + 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, + 0, 0, 325, 326, 0, 327, 328, 329, 194, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, - 197, 0, 0, 0, 0, 0, 198, 0, 199, 0, - 332, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 201, 202 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, + 196, 0, 0, 0, 0, 0, 197, 0, 198, 0, + 0, 199, 0, 0, 0, 0, 0, 0, 331, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 200, 201 }; static const yytype_int16 yycheck[] = { - 15, 39, 190, 45, 163, 164, 62, 40, 62, 57, - 148, 188, 50, 4, 63, 43, 11, 62, 206, 1, - 193, 5, 62, 67, 39, 69, 33, 98, 10, 62, - 203, 160, 35, 15, 16, 17, 27, 190, 191, 110, - 8, 23, 24, 160, 12, 60, 148, 62, 30, 31, - 160, 19, 34, 56, 36, 62, 38, 39, 62, 160, - 42, 7, 8, 160, 160, 203, 160, 255, 96, 51, - 62, 160, 62, 55, 160, 160, 62, 80, 126, 61, - 26, 63, 66, 0, 68, 134, 62, 160, 190, 191, - 72, 73, 160, 188, 76, 77, 202, 62, 33, 81, - 82, 160, 70, 85, 86, 100, 62, 266, 267, 160, - 105, 62, 94, 3, 28, 106, 160, 28, 133, 65, - 87, 175, 113, 151, 199, 107, 108, 109, 62, 62, - 62, 146, 114, 175, 9, 188, 104, 105, 171, 62, - 131, 123, 160, 18, 200, 37, 128, 160, 130, 95, - 132, 133, 160, 121, 44, 45, 46, 47, 126, 62, - 142, 143, 144, 145, 146, 147, 148, 149, 188, 199, - 152, 160, 154, 160, 28, 62, 160, 336, 62, 54, - 55, 163, 370, 160, 201, 153, 168, 169, 170, 199, - 172, 173, 183, 202, 188, 186, 71, 179, 180, 199, - 184, 194, 195, 196, 197, 198, 188, 189, 176, 177, - 178, 399, 192, 188, 193, 161, 404, 10, 93, 202, - 166, 199, 15, 16, 17, 21, 101, 188, 103, 25, - 23, 24, 270, 421, 188, 199, 105, 30, 31, 143, - 203, 34, 117, 36, 170, 38, 39, 253, 12, 42, - 188, 141, 130, 158, 29, 210, 30, 256, 51, 298, - 135, 136, 55, 366, 38, 401, 415, 41, 61, 159, - 63, -1, -1, -1, 164, 165, 6, -1, -1, 72, - 73, -1, -1, 76, 77, -1, 28, 83, 81, 82, - -1, -1, 85, 86, -1, -1, 171, -1, 173, -1, - 338, 94, 32, -1, -1, 79, 181, -1, -1, -1, - 185, -1, -1, -1, 107, 108, 109, -1, -1, -1, - 50, 114, -1, 53, -1, 67, -1, 69, -1, -1, - 123, -1, -1, 129, -1, 128, 110, 130, -1, 132, - 133, 137, 29, -1, 140, -1, -1, -1, -1, 142, - 143, 144, 145, 146, 147, 148, 149, -1, -1, 152, - -1, 154, -1, -1, -1, 52, 162, -1, 55, -1, - 163, 167, -1, -1, 389, 168, 169, 170, 10, 172, - 173, -1, -1, 15, 16, 17, 179, 180, -1, -1, - -1, 23, 24, -1, -1, 188, 189, 127, 30, 31, - 174, -1, 34, -1, 36, -1, 38, 39, 150, -1, - 42, 194, 195, 196, 197, 198, -1, -1, 160, 51, - 203, -1, -1, 55, -1, 155, 156, 157, 158, 61, - -1, 63, -1, 163, -1, -1, -1, -1, -1, -1, - 72, 73, -1, -1, 76, 77, -1, -1, -1, 81, - 82, 138, 139, 85, 86, -1, -1, -1, 145, -1, - -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 107, 108, 109, -1, -1, - -1, -1, 114, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, -1, -1, 128, 48, 130, -1, - 132, 133, -1, -1, -1, 56, -1, -1, -1, -1, + 15, 50, 189, 163, 164, 40, 45, 62, 148, 30, + 35, 62, 188, 4, 67, 43, 69, 38, 205, 1, + 41, 5, 63, 57, 39, 28, 98, 62, 10, 148, + 11, 56, 33, 15, 16, 17, 27, 160, 110, 62, + 193, 23, 24, 190, 191, 60, 62, 62, 30, 31, + 203, 160, 34, 160, 36, 80, 38, 39, 79, 160, + 42, 62, 160, 203, 67, 62, 69, 254, 96, 51, + 160, 190, 191, 55, 194, 195, 196, 197, 198, 61, + 160, 63, 66, 203, 68, 62, 62, 160, 62, 110, + 72, 73, 126, 134, 76, 77, 160, 7, 8, 81, + 82, 3, 160, 85, 86, 265, 266, 160, 0, 188, + 62, 202, 94, 160, 160, 106, 26, 62, 133, 100, + 175, 33, 113, 151, 105, 107, 108, 109, 160, 62, + 160, 146, 114, 28, 28, 174, 171, 87, 62, 199, + 131, 123, 44, 45, 46, 47, 128, 150, 130, 200, + 132, 133, 6, 174, 62, 65, 62, 160, 62, 188, + 142, 143, 144, 145, 146, 147, 148, 149, 160, 8, + 152, 62, 154, 12, 160, 335, 160, 160, 32, 62, + 19, 163, 369, 188, 37, 95, 168, 169, 170, 160, + 172, 173, 183, 199, 160, 186, 50, 179, 180, 53, + 184, 29, 28, 62, 62, 160, 188, 189, 10, 199, + 188, 398, 201, 15, 16, 17, 403, 202, 193, 268, + 192, 23, 24, 188, 52, 188, 199, 55, 30, 31, + 199, 70, 34, 420, 36, 202, 38, 39, 199, 141, + 42, 194, 195, 196, 197, 198, 188, 143, 202, 51, + 105, 161, 252, 55, 169, 12, 166, 159, 187, 61, + 130, 63, 164, 165, 29, 104, 105, 255, 158, 209, + 72, 73, 21, 127, 76, 77, 25, 297, 365, 81, + 82, 414, 121, 85, 86, 400, -1, 126, 337, -1, + -1, -1, 94, -1, 57, 58, 59, 60, -1, -1, + -1, 155, 156, 157, 158, 107, 108, 109, -1, 163, + 138, 139, 114, -1, 153, -1, -1, 145, -1, -1, + -1, 123, -1, -1, -1, 88, 128, 90, 130, 92, + 132, 133, -1, -1, 83, 98, -1, 176, 177, 178, 142, 143, 144, 145, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 74, 75, -1, -1, 78, -1, -1, - -1, 163, -1, 84, -1, -1, 168, 169, 170, -1, - 172, 173, 13, 14, -1, -1, -1, 179, 180, 20, - -1, 22, 57, 58, 59, 60, -1, 189, -1, -1, - 111, 112, -1, -1, 115, 116, -1, 118, 119, 120, - -1, 122, -1, -1, -1, -1, -1, -1, 49, -1, - -1, -1, -1, 88, -1, 90, -1, 92, -1, -1, - -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, + 152, -1, 154, -1, 9, -1, -1, -1, -1, -1, + -1, 163, -1, 18, -1, -1, 168, 169, 170, 10, + 172, 173, -1, 388, 15, 16, 17, 179, 180, -1, + 129, -1, 23, 24, -1, -1, 188, 189, 137, 30, + 31, 140, -1, 34, -1, 36, -1, 38, 39, 54, + 55, 42, -1, -1, -1, -1, -1, -1, -1, -1, + 51, -1, -1, 162, 55, -1, 71, -1, 167, -1, + 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, + -1, 72, 73, -1, -1, 76, 77, -1, 93, -1, + 81, 82, -1, -1, 85, 86, 101, -1, 103, -1, + -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, + -1, -1, 117, -1, -1, -1, 107, 108, 109, -1, + -1, -1, -1, 114, -1, -1, -1, -1, -1, -1, + 135, 136, 123, -1, -1, -1, -1, 128, -1, 130, + -1, 132, 133, -1, -1, -1, -1, -1, -1, -1, + -1, 142, 143, 144, 145, 146, 147, 148, 149, -1, + -1, 152, -1, 154, -1, 48, 171, -1, 173, -1, + -1, -1, 163, 56, -1, -1, 181, 168, 169, 170, + 185, 172, 173, -1, -1, -1, -1, -1, 179, 180, + -1, 74, 75, -1, -1, 78, -1, -1, 189, -1, + -1, 84, 13, 14, -1, -1, -1, -1, -1, 20, + -1, 22, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, + -1, -1, 115, 116, -1, 118, 119, 120, 49, 122, + -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, 89, -1, 91, -1, -1, -1, -1, -1, 97, -1, 99, -1, - 181, 102, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 102, -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125 }; @@ -1332,33 +1334,33 @@ static const yytype_uint16 yystos[] = 278, 279, 210, 292, 62, 57, 58, 59, 60, 88, 90, 92, 98, 247, 248, 249, 292, 160, 160, 291, 62, 7, 8, 26, 65, 95, 161, 166, 285, 286, - 28, 67, 69, 150, 210, 211, 62, 43, 96, 151, - 256, 257, 258, 160, 274, 234, 235, 160, 6, 32, - 50, 53, 127, 155, 156, 157, 158, 163, 265, 266, - 267, 13, 14, 20, 22, 49, 89, 91, 97, 99, - 102, 124, 125, 229, 230, 231, 232, 211, 62, 200, - 288, 289, 290, 62, 287, 0, 207, 188, 210, 210, - 33, 62, 294, 62, 160, 160, 35, 56, 80, 283, - 202, 29, 52, 55, 138, 139, 145, 226, 227, 261, - 245, 62, 33, 236, 3, 44, 45, 46, 47, 141, - 159, 164, 165, 251, 252, 253, 254, 160, 207, 279, - 210, 248, 62, 160, 286, 242, 28, 28, 242, 242, - 87, 257, 62, 199, 235, 266, 294, 40, 62, 171, - 293, 230, 62, 294, 276, 62, 289, 62, 188, 213, - 5, 66, 68, 160, 184, 282, 190, 191, 297, 298, - 299, 62, 160, 30, 38, 41, 79, 110, 174, 237, - 238, 239, 160, 160, 62, 252, 294, 293, 48, 56, - 74, 75, 78, 84, 111, 112, 115, 116, 118, 119, - 120, 122, 181, 243, 242, 242, 211, 160, 63, 134, - 277, 37, 9, 18, 54, 55, 71, 93, 101, 103, - 117, 135, 136, 171, 173, 181, 185, 214, 215, 216, - 217, 218, 219, 220, 148, 298, 300, 301, 303, 188, - 199, 160, 4, 27, 106, 113, 131, 183, 186, 240, - 242, 28, 275, 211, 62, 62, 62, 175, 160, 199, - 188, 203, 301, 202, 294, 201, 210, 192, 302, 199, - 193, 304, 305, 294, 199, 203, 305, 188, 294, 202, - 194, 195, 196, 197, 198, 306, 307, 308, 203, 307, - 188, 199, 188, 294 + 28, 67, 69, 150, 210, 62, 43, 96, 151, 256, + 257, 258, 160, 274, 234, 235, 160, 6, 32, 50, + 53, 127, 155, 156, 157, 158, 163, 265, 266, 267, + 13, 14, 20, 22, 49, 89, 91, 97, 99, 102, + 124, 125, 229, 230, 231, 232, 211, 62, 200, 288, + 289, 290, 62, 287, 0, 207, 188, 210, 210, 33, + 62, 294, 62, 160, 160, 35, 56, 80, 283, 202, + 29, 52, 55, 138, 139, 145, 226, 227, 261, 245, + 62, 33, 236, 3, 44, 45, 46, 47, 141, 159, + 164, 165, 251, 252, 253, 254, 160, 207, 279, 210, + 248, 62, 160, 286, 242, 28, 28, 242, 87, 242, + 257, 62, 199, 235, 266, 294, 40, 62, 171, 293, + 230, 62, 294, 276, 62, 289, 62, 188, 213, 5, + 66, 68, 160, 184, 282, 190, 191, 297, 298, 299, + 62, 160, 30, 38, 41, 79, 110, 174, 237, 238, + 239, 160, 160, 62, 252, 294, 293, 48, 56, 74, + 75, 78, 84, 111, 112, 115, 116, 118, 119, 120, + 122, 181, 243, 242, 242, 211, 160, 63, 134, 277, + 37, 9, 18, 54, 55, 71, 93, 101, 103, 117, + 135, 136, 171, 173, 181, 185, 214, 215, 216, 217, + 218, 219, 220, 148, 298, 300, 301, 303, 188, 199, + 160, 4, 27, 106, 113, 131, 183, 186, 240, 242, + 28, 275, 211, 62, 62, 62, 175, 160, 199, 188, + 203, 301, 202, 294, 201, 210, 192, 302, 199, 193, + 304, 305, 294, 199, 203, 305, 188, 294, 202, 194, + 195, 196, 197, 198, 306, 307, 308, 203, 307, 188, + 199, 188, 294 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -2122,7 +2124,7 @@ yyreduce: ip_ctx->errpos.nline, ip_ctx->errpos.ncol); } -#line 2126 "ntp_parser.c" /* yacc.c:1646 */ +#line 2128 "ntp_parser.c" /* yacc.c:1646 */ break; case 20: @@ -2133,37 +2135,37 @@ yyreduce: my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); APPEND_G_FIFO(cfgt.peers, my_node); } -#line 2137 "ntp_parser.c" /* yacc.c:1646 */ +#line 2139 "ntp_parser.c" /* yacc.c:1646 */ break; case 27: #line 433 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); } -#line 2143 "ntp_parser.c" /* yacc.c:1646 */ +#line 2145 "ntp_parser.c" /* yacc.c:1646 */ break; case 28: #line 438 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); } -#line 2149 "ntp_parser.c" /* yacc.c:1646 */ +#line 2151 "ntp_parser.c" /* yacc.c:1646 */ break; case 29: #line 443 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = AF_INET; } -#line 2155 "ntp_parser.c" /* yacc.c:1646 */ +#line 2157 "ntp_parser.c" /* yacc.c:1646 */ break; case 30: #line 445 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = AF_INET6; } -#line 2161 "ntp_parser.c" /* yacc.c:1646 */ +#line 2163 "ntp_parser.c" /* yacc.c:1646 */ break; case 31: #line 450 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; } -#line 2167 "ntp_parser.c" /* yacc.c:1646 */ +#line 2169 "ntp_parser.c" /* yacc.c:1646 */ break; case 32: @@ -2172,31 +2174,31 @@ yyreduce: (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2176 "ntp_parser.c" /* yacc.c:1646 */ +#line 2178 "ntp_parser.c" /* yacc.c:1646 */ break; case 36: #line 466 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } -#line 2182 "ntp_parser.c" /* yacc.c:1646 */ +#line 2184 "ntp_parser.c" /* yacc.c:1646 */ break; case 45: #line 482 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2188 "ntp_parser.c" /* yacc.c:1646 */ +#line 2190 "ntp_parser.c" /* yacc.c:1646 */ break; case 46: #line 484 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2194 "ntp_parser.c" /* yacc.c:1646 */ +#line 2196 "ntp_parser.c" /* yacc.c:1646 */ break; case 53: #line 498 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } -#line 2200 "ntp_parser.c" /* yacc.c:1646 */ +#line 2202 "ntp_parser.c" /* yacc.c:1646 */ break; case 55: @@ -2208,31 +2210,31 @@ yyreduce: if (my_node) APPEND_G_FIFO(cfgt.unpeers, my_node); } -#line 2212 "ntp_parser.c" /* yacc.c:1646 */ +#line 2214 "ntp_parser.c" /* yacc.c:1646 */ break; case 58: #line 533 "ntp_parser.y" /* yacc.c:1646 */ { cfgt.broadcastclient = 1; } -#line 2218 "ntp_parser.c" /* yacc.c:1646 */ +#line 2220 "ntp_parser.c" /* yacc.c:1646 */ break; case 59: #line 535 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); } -#line 2224 "ntp_parser.c" /* yacc.c:1646 */ +#line 2226 "ntp_parser.c" /* yacc.c:1646 */ break; case 60: #line 537 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); } -#line 2230 "ntp_parser.c" /* yacc.c:1646 */ +#line 2232 "ntp_parser.c" /* yacc.c:1646 */ break; case 61: #line 539 "ntp_parser.y" /* yacc.c:1646 */ { cfgt.mdnstries = (yyvsp[0].Integer); } -#line 2236 "ntp_parser.c" /* yacc.c:1646 */ +#line 2238 "ntp_parser.c" /* yacc.c:1646 */ break; case 62: @@ -2243,13 +2245,13 @@ yyreduce: atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); APPEND_G_FIFO(cfgt.vars, atrv); } -#line 2247 "ntp_parser.c" /* yacc.c:1646 */ +#line 2249 "ntp_parser.c" /* yacc.c:1646 */ break; case 63: #line 557 "ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.control_key = (yyvsp[0].Integer); } -#line 2253 "ntp_parser.c" /* yacc.c:1646 */ +#line 2255 "ntp_parser.c" /* yacc.c:1646 */ break; case 64: @@ -2258,75 +2260,76 @@ yyreduce: cfgt.auth.cryptosw++; CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo)); } -#line 2262 "ntp_parser.c" /* yacc.c:1646 */ +#line 2264 "ntp_parser.c" /* yacc.c:1646 */ break; case 65: #line 564 "ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.keys = (yyvsp[0].String); } -#line 2268 "ntp_parser.c" /* yacc.c:1646 */ +#line 2270 "ntp_parser.c" /* yacc.c:1646 */ break; case 66: #line 566 "ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.keysdir = (yyvsp[0].String); } -#line 2274 "ntp_parser.c" /* yacc.c:1646 */ +#line 2276 "ntp_parser.c" /* yacc.c:1646 */ break; case 67: #line 568 "ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.request_key = (yyvsp[0].Integer); } -#line 2280 "ntp_parser.c" /* yacc.c:1646 */ +#line 2282 "ntp_parser.c" /* yacc.c:1646 */ break; case 68: #line 570 "ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.revoke = (yyvsp[0].Integer); } -#line 2286 "ntp_parser.c" /* yacc.c:1646 */ +#line 2288 "ntp_parser.c" /* yacc.c:1646 */ break; case 69: #line 572 "ntp_parser.y" /* yacc.c:1646 */ { - cfgt.auth.trusted_key_list = (yyvsp[0].Attr_val_fifo); - - // if (!cfgt.auth.trusted_key_list) - // cfgt.auth.trusted_key_list = $2; - // else - // LINK_SLIST(cfgt.auth.trusted_key_list, $2, link); + /* [Bug 948] leaves it open if appending or + * replacing the trusted key list is the right + * way. In any case, either alternative should + * be coded correctly! + */ + DESTROY_G_FIFO(cfgt.auth.trusted_key_list, destroy_attr_val); /* remove for append */ + CONCAT_G_FIFOS(cfgt.auth.trusted_key_list, (yyvsp[0].Attr_val_fifo)); } -#line 2299 "ntp_parser.c" /* yacc.c:1646 */ +#line 2302 "ntp_parser.c" /* yacc.c:1646 */ break; case 70: -#line 581 "ntp_parser.y" /* yacc.c:1646 */ +#line 582 "ntp_parser.y" /* yacc.c:1646 */ { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); } -#line 2305 "ntp_parser.c" /* yacc.c:1646 */ +#line 2308 "ntp_parser.c" /* yacc.c:1646 */ break; case 71: -#line 586 "ntp_parser.y" /* yacc.c:1646 */ +#line 587 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; } -#line 2311 "ntp_parser.c" /* yacc.c:1646 */ +#line 2314 "ntp_parser.c" /* yacc.c:1646 */ break; case 72: -#line 588 "ntp_parser.y" /* yacc.c:1646 */ +#line 589 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2320 "ntp_parser.c" /* yacc.c:1646 */ +#line 2323 "ntp_parser.c" /* yacc.c:1646 */ break; case 73: -#line 596 "ntp_parser.y" /* yacc.c:1646 */ +#line 597 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } -#line 2326 "ntp_parser.c" /* yacc.c:1646 */ +#line 2329 "ntp_parser.c" /* yacc.c:1646 */ break; case 74: -#line 598 "ntp_parser.y" /* yacc.c:1646 */ +#line 599 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = NULL; cfgt.auth.revoke = (yyvsp[0].Integer); @@ -2335,59 +2338,59 @@ yyreduce: "please use 'revoke %d' instead.", cfgt.auth.revoke, cfgt.auth.revoke); } -#line 2339 "ntp_parser.c" /* yacc.c:1646 */ +#line 2342 "ntp_parser.c" /* yacc.c:1646 */ break; case 80: -#line 623 "ntp_parser.y" /* yacc.c:1646 */ +#line 624 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); } -#line 2345 "ntp_parser.c" /* yacc.c:1646 */ +#line 2348 "ntp_parser.c" /* yacc.c:1646 */ break; case 81: -#line 628 "ntp_parser.y" /* yacc.c:1646 */ +#line 629 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2354 "ntp_parser.c" /* yacc.c:1646 */ +#line 2357 "ntp_parser.c" /* yacc.c:1646 */ break; case 82: -#line 633 "ntp_parser.y" /* yacc.c:1646 */ +#line 634 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2363 "ntp_parser.c" /* yacc.c:1646 */ +#line 2366 "ntp_parser.c" /* yacc.c:1646 */ break; case 83: -#line 641 "ntp_parser.y" /* yacc.c:1646 */ +#line 642 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } -#line 2369 "ntp_parser.c" /* yacc.c:1646 */ +#line 2372 "ntp_parser.c" /* yacc.c:1646 */ break; case 84: -#line 643 "ntp_parser.y" /* yacc.c:1646 */ +#line 644 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } -#line 2375 "ntp_parser.c" /* yacc.c:1646 */ +#line 2378 "ntp_parser.c" /* yacc.c:1646 */ break; case 85: -#line 645 "ntp_parser.y" /* yacc.c:1646 */ +#line 646 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } -#line 2381 "ntp_parser.c" /* yacc.c:1646 */ +#line 2384 "ntp_parser.c" /* yacc.c:1646 */ break; case 97: -#line 672 "ntp_parser.y" /* yacc.c:1646 */ +#line 673 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); } -#line 2387 "ntp_parser.c" /* yacc.c:1646 */ +#line 2390 "ntp_parser.c" /* yacc.c:1646 */ break; case 98: -#line 674 "ntp_parser.y" /* yacc.c:1646 */ +#line 675 "ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { cfgt.stats_dir = (yyvsp[0].String); @@ -2396,55 +2399,55 @@ yyreduce: yyerror("statsdir remote configuration ignored"); } } -#line 2400 "ntp_parser.c" /* yacc.c:1646 */ +#line 2403 "ntp_parser.c" /* yacc.c:1646 */ break; case 99: -#line 683 "ntp_parser.y" /* yacc.c:1646 */ +#line 684 "ntp_parser.y" /* yacc.c:1646 */ { filegen_node *fgn; fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo)); APPEND_G_FIFO(cfgt.filegen_opts, fgn); } -#line 2411 "ntp_parser.c" /* yacc.c:1646 */ +#line 2414 "ntp_parser.c" /* yacc.c:1646 */ break; case 100: -#line 693 "ntp_parser.y" /* yacc.c:1646 */ +#line 694 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 2420 "ntp_parser.c" /* yacc.c:1646 */ +#line 2423 "ntp_parser.c" /* yacc.c:1646 */ break; case 101: -#line 698 "ntp_parser.y" /* yacc.c:1646 */ +#line 699 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = NULL; APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 2429 "ntp_parser.c" /* yacc.c:1646 */ +#line 2432 "ntp_parser.c" /* yacc.c:1646 */ break; case 110: -#line 717 "ntp_parser.y" /* yacc.c:1646 */ +#line 718 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; } -#line 2435 "ntp_parser.c" /* yacc.c:1646 */ +#line 2438 "ntp_parser.c" /* yacc.c:1646 */ break; case 111: -#line 719 "ntp_parser.y" /* yacc.c:1646 */ +#line 720 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2444 "ntp_parser.c" /* yacc.c:1646 */ +#line 2447 "ntp_parser.c" /* yacc.c:1646 */ break; case 112: -#line 727 "ntp_parser.y" /* yacc.c:1646 */ +#line 728 "ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); @@ -2454,11 +2457,11 @@ yyreduce: yyerror("filegen file remote config ignored"); } } -#line 2458 "ntp_parser.c" /* yacc.c:1646 */ +#line 2461 "ntp_parser.c" /* yacc.c:1646 */ break; case 113: -#line 737 "ntp_parser.y" /* yacc.c:1646 */ +#line 738 "ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); @@ -2467,11 +2470,11 @@ yyreduce: yyerror("filegen type remote config ignored"); } } -#line 2471 "ntp_parser.c" /* yacc.c:1646 */ +#line 2474 "ntp_parser.c" /* yacc.c:1646 */ break; case 114: -#line 746 "ntp_parser.y" /* yacc.c:1646 */ +#line 747 "ntp_parser.y" /* yacc.c:1646 */ { const char *err; @@ -2486,33 +2489,33 @@ yyreduce: yyerror(err); } } -#line 2490 "ntp_parser.c" /* yacc.c:1646 */ +#line 2493 "ntp_parser.c" /* yacc.c:1646 */ break; case 115: -#line 761 "ntp_parser.y" /* yacc.c:1646 */ +#line 762 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } -#line 2496 "ntp_parser.c" /* yacc.c:1646 */ +#line 2499 "ntp_parser.c" /* yacc.c:1646 */ break; case 127: -#line 791 "ntp_parser.y" /* yacc.c:1646 */ +#line 792 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo)); } -#line 2504 "ntp_parser.c" /* yacc.c:1646 */ +#line 2507 "ntp_parser.c" /* yacc.c:1646 */ break; case 128: -#line 795 "ntp_parser.y" /* yacc.c:1646 */ +#line 796 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo)); } -#line 2512 "ntp_parser.c" /* yacc.c:1646 */ +#line 2515 "ntp_parser.c" /* yacc.c:1646 */ break; case 129: -#line 799 "ntp_parser.y" /* yacc.c:1646 */ +#line 800 "ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; @@ -2520,11 +2523,11 @@ yyreduce: lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2524 "ntp_parser.c" /* yacc.c:1646 */ +#line 2527 "ntp_parser.c" /* yacc.c:1646 */ break; case 130: -#line 807 "ntp_parser.y" /* yacc.c:1646 */ +#line 808 "ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; @@ -2532,11 +2535,11 @@ yyreduce: lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2536 "ntp_parser.c" /* yacc.c:1646 */ +#line 2539 "ntp_parser.c" /* yacc.c:1646 */ break; case 131: -#line 815 "ntp_parser.y" /* yacc.c:1646 */ +#line 816 "ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; @@ -2544,11 +2547,11 @@ yyreduce: lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2548 "ntp_parser.c" /* yacc.c:1646 */ +#line 2551 "ntp_parser.c" /* yacc.c:1646 */ break; case 132: -#line 823 "ntp_parser.y" /* yacc.c:1646 */ +#line 824 "ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; @@ -2563,11 +2566,11 @@ yyreduce: lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2567 "ntp_parser.c" /* yacc.c:1646 */ +#line 2570 "ntp_parser.c" /* yacc.c:1646 */ break; case 133: -#line 838 "ntp_parser.y" /* yacc.c:1646 */ +#line 839 "ntp_parser.y" /* yacc.c:1646 */ { restrict_node *rn; @@ -2582,11 +2585,11 @@ yyreduce: lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2586 "ntp_parser.c" /* yacc.c:1646 */ +#line 2589 "ntp_parser.c" /* yacc.c:1646 */ break; case 134: -#line 853 "ntp_parser.y" /* yacc.c:1646 */ +#line 854 "ntp_parser.y" /* yacc.c:1646 */ { restrict_node * rn; @@ -2595,115 +2598,115 @@ yyreduce: NULL, NULL, (yyvsp[0].Int_fifo), lex_current()->curpos.nline); APPEND_G_FIFO(cfgt.restrict_opts, rn); } -#line 2599 "ntp_parser.c" /* yacc.c:1646 */ +#line 2602 "ntp_parser.c" /* yacc.c:1646 */ break; case 135: -#line 865 "ntp_parser.y" /* yacc.c:1646 */ +#line 866 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = NULL; } -#line 2605 "ntp_parser.c" /* yacc.c:1646 */ +#line 2608 "ntp_parser.c" /* yacc.c:1646 */ break; case 136: -#line 867 "ntp_parser.y" /* yacc.c:1646 */ +#line 868 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 2614 "ntp_parser.c" /* yacc.c:1646 */ +#line 2617 "ntp_parser.c" /* yacc.c:1646 */ break; case 152: -#line 893 "ntp_parser.y" /* yacc.c:1646 */ +#line 894 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2623 "ntp_parser.c" /* yacc.c:1646 */ +#line 2626 "ntp_parser.c" /* yacc.c:1646 */ break; case 153: -#line 898 "ntp_parser.y" /* yacc.c:1646 */ +#line 899 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2632 "ntp_parser.c" /* yacc.c:1646 */ +#line 2635 "ntp_parser.c" /* yacc.c:1646 */ break; case 154: -#line 906 "ntp_parser.y" /* yacc.c:1646 */ +#line 907 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2638 "ntp_parser.c" /* yacc.c:1646 */ +#line 2641 "ntp_parser.c" /* yacc.c:1646 */ break; case 158: -#line 917 "ntp_parser.y" /* yacc.c:1646 */ +#line 918 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2647 "ntp_parser.c" /* yacc.c:1646 */ +#line 2650 "ntp_parser.c" /* yacc.c:1646 */ break; case 159: -#line 922 "ntp_parser.y" /* yacc.c:1646 */ +#line 923 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2656 "ntp_parser.c" /* yacc.c:1646 */ +#line 2659 "ntp_parser.c" /* yacc.c:1646 */ break; case 160: -#line 930 "ntp_parser.y" /* yacc.c:1646 */ +#line 931 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2662 "ntp_parser.c" /* yacc.c:1646 */ +#line 2665 "ntp_parser.c" /* yacc.c:1646 */ break; case 169: -#line 950 "ntp_parser.y" /* yacc.c:1646 */ +#line 951 "ntp_parser.y" /* yacc.c:1646 */ { addr_opts_node *aon; aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); APPEND_G_FIFO(cfgt.fudge, aon); } -#line 2673 "ntp_parser.c" /* yacc.c:1646 */ +#line 2676 "ntp_parser.c" /* yacc.c:1646 */ break; case 170: -#line 960 "ntp_parser.y" /* yacc.c:1646 */ +#line 961 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2682 "ntp_parser.c" /* yacc.c:1646 */ +#line 2685 "ntp_parser.c" /* yacc.c:1646 */ break; case 171: -#line 965 "ntp_parser.y" /* yacc.c:1646 */ +#line 966 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2691 "ntp_parser.c" /* yacc.c:1646 */ +#line 2694 "ntp_parser.c" /* yacc.c:1646 */ break; case 172: -#line 973 "ntp_parser.y" /* yacc.c:1646 */ +#line 974 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } -#line 2697 "ntp_parser.c" /* yacc.c:1646 */ +#line 2700 "ntp_parser.c" /* yacc.c:1646 */ break; case 173: -#line 975 "ntp_parser.y" /* yacc.c:1646 */ +#line 976 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2703 "ntp_parser.c" /* yacc.c:1646 */ +#line 2706 "ntp_parser.c" /* yacc.c:1646 */ break; case 174: -#line 977 "ntp_parser.y" /* yacc.c:1646 */ +#line 978 "ntp_parser.y" /* yacc.c:1646 */ { if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); @@ -2712,89 +2715,89 @@ yyreduce: yyerror("fudge factor: stratum value not in [0..16], ignored"); } } -#line 2716 "ntp_parser.c" /* yacc.c:1646 */ +#line 2719 "ntp_parser.c" /* yacc.c:1646 */ break; case 175: -#line 986 "ntp_parser.y" /* yacc.c:1646 */ +#line 987 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } -#line 2722 "ntp_parser.c" /* yacc.c:1646 */ +#line 2725 "ntp_parser.c" /* yacc.c:1646 */ break; case 176: -#line 988 "ntp_parser.y" /* yacc.c:1646 */ +#line 989 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } -#line 2728 "ntp_parser.c" /* yacc.c:1646 */ +#line 2731 "ntp_parser.c" /* yacc.c:1646 */ break; case 183: -#line 1009 "ntp_parser.y" /* yacc.c:1646 */ +#line 1010 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); } -#line 2734 "ntp_parser.c" /* yacc.c:1646 */ +#line 2737 "ntp_parser.c" /* yacc.c:1646 */ break; case 184: -#line 1014 "ntp_parser.y" /* yacc.c:1646 */ +#line 1015 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2743 "ntp_parser.c" /* yacc.c:1646 */ +#line 2746 "ntp_parser.c" /* yacc.c:1646 */ break; case 185: -#line 1019 "ntp_parser.y" /* yacc.c:1646 */ +#line 1020 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2752 "ntp_parser.c" /* yacc.c:1646 */ +#line 2755 "ntp_parser.c" /* yacc.c:1646 */ break; case 186: -#line 1027 "ntp_parser.y" /* yacc.c:1646 */ +#line 1028 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 2758 "ntp_parser.c" /* yacc.c:1646 */ +#line 2761 "ntp_parser.c" /* yacc.c:1646 */ break; case 190: -#line 1043 "ntp_parser.y" /* yacc.c:1646 */ +#line 1044 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); } -#line 2764 "ntp_parser.c" /* yacc.c:1646 */ +#line 2767 "ntp_parser.c" /* yacc.c:1646 */ break; case 191: -#line 1045 "ntp_parser.y" /* yacc.c:1646 */ +#line 1046 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); } -#line 2770 "ntp_parser.c" /* yacc.c:1646 */ +#line 2773 "ntp_parser.c" /* yacc.c:1646 */ break; case 192: -#line 1050 "ntp_parser.y" /* yacc.c:1646 */ +#line 1051 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2779 "ntp_parser.c" /* yacc.c:1646 */ +#line 2782 "ntp_parser.c" /* yacc.c:1646 */ break; case 193: -#line 1055 "ntp_parser.y" /* yacc.c:1646 */ +#line 1056 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2788 "ntp_parser.c" /* yacc.c:1646 */ +#line 2791 "ntp_parser.c" /* yacc.c:1646 */ break; case 194: -#line 1063 "ntp_parser.y" /* yacc.c:1646 */ +#line 1064 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } -#line 2794 "ntp_parser.c" /* yacc.c:1646 */ +#line 2797 "ntp_parser.c" /* yacc.c:1646 */ break; case 195: -#line 1065 "ntp_parser.y" /* yacc.c:1646 */ +#line 1066 "ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); @@ -2808,74 +2811,74 @@ yyreduce: yyerror(err_str); } } -#line 2812 "ntp_parser.c" /* yacc.c:1646 */ +#line 2815 "ntp_parser.c" /* yacc.c:1646 */ break; case 208: -#line 1104 "ntp_parser.y" /* yacc.c:1646 */ +#line 1105 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); } -#line 2818 "ntp_parser.c" /* yacc.c:1646 */ +#line 2821 "ntp_parser.c" /* yacc.c:1646 */ break; case 209: -#line 1109 "ntp_parser.y" /* yacc.c:1646 */ +#line 1110 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2827 "ntp_parser.c" /* yacc.c:1646 */ +#line 2830 "ntp_parser.c" /* yacc.c:1646 */ break; case 210: -#line 1114 "ntp_parser.y" /* yacc.c:1646 */ +#line 1115 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 2836 "ntp_parser.c" /* yacc.c:1646 */ +#line 2839 "ntp_parser.c" /* yacc.c:1646 */ break; case 211: -#line 1122 "ntp_parser.y" /* yacc.c:1646 */ +#line 1123 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } -#line 2842 "ntp_parser.c" /* yacc.c:1646 */ +#line 2845 "ntp_parser.c" /* yacc.c:1646 */ break; case 224: -#line 1147 "ntp_parser.y" /* yacc.c:1646 */ +#line 1148 "ntp_parser.y" /* yacc.c:1646 */ { attr_val *av; av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); APPEND_G_FIFO(cfgt.vars, av); } -#line 2853 "ntp_parser.c" /* yacc.c:1646 */ +#line 2856 "ntp_parser.c" /* yacc.c:1646 */ break; case 225: -#line 1154 "ntp_parser.y" /* yacc.c:1646 */ +#line 1155 "ntp_parser.y" /* yacc.c:1646 */ { attr_val *av; av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); APPEND_G_FIFO(cfgt.vars, av); } -#line 2864 "ntp_parser.c" /* yacc.c:1646 */ +#line 2867 "ntp_parser.c" /* yacc.c:1646 */ break; case 226: -#line 1161 "ntp_parser.y" /* yacc.c:1646 */ +#line 1162 "ntp_parser.y" /* yacc.c:1646 */ { attr_val *av; av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); APPEND_G_FIFO(cfgt.vars, av); } -#line 2875 "ntp_parser.c" /* yacc.c:1646 */ +#line 2878 "ntp_parser.c" /* yacc.c:1646 */ break; case 227: -#line 1168 "ntp_parser.y" /* yacc.c:1646 */ +#line 1169 "ntp_parser.y" /* yacc.c:1646 */ { char error_text[64]; attr_val *av; @@ -2891,11 +2894,11 @@ yyreduce: yyerror(error_text); } } -#line 2895 "ntp_parser.c" /* yacc.c:1646 */ +#line 2898 "ntp_parser.c" /* yacc.c:1646 */ break; case 228: -#line 1184 "ntp_parser.y" /* yacc.c:1646 */ +#line 1185 "ntp_parser.y" /* yacc.c:1646 */ { if (!lex_from_file()) { YYFREE((yyvsp[-1].String)); /* avoid leak */ @@ -2914,68 +2917,68 @@ yyreduce: } YYFREE((yyvsp[-1].String)); /* avoid leak */ } -#line 2918 "ntp_parser.c" /* yacc.c:1646 */ +#line 2921 "ntp_parser.c" /* yacc.c:1646 */ break; case 229: -#line 1203 "ntp_parser.y" /* yacc.c:1646 */ +#line 1204 "ntp_parser.y" /* yacc.c:1646 */ { lex_flush_stack(); } -#line 2924 "ntp_parser.c" /* yacc.c:1646 */ +#line 2927 "ntp_parser.c" /* yacc.c:1646 */ break; case 230: -#line 1205 "ntp_parser.y" /* yacc.c:1646 */ +#line 1206 "ntp_parser.y" /* yacc.c:1646 */ { /* see drift_parm below for actions */ } -#line 2930 "ntp_parser.c" /* yacc.c:1646 */ +#line 2933 "ntp_parser.c" /* yacc.c:1646 */ break; case 231: -#line 1207 "ntp_parser.y" /* yacc.c:1646 */ +#line 1208 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); } -#line 2936 "ntp_parser.c" /* yacc.c:1646 */ +#line 2939 "ntp_parser.c" /* yacc.c:1646 */ break; case 232: -#line 1209 "ntp_parser.y" /* yacc.c:1646 */ +#line 1210 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); } -#line 2942 "ntp_parser.c" /* yacc.c:1646 */ +#line 2945 "ntp_parser.c" /* yacc.c:1646 */ break; case 233: -#line 1211 "ntp_parser.y" /* yacc.c:1646 */ +#line 1212 "ntp_parser.y" /* yacc.c:1646 */ { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); } -#line 2948 "ntp_parser.c" /* yacc.c:1646 */ +#line 2951 "ntp_parser.c" /* yacc.c:1646 */ break; case 234: -#line 1213 "ntp_parser.y" /* yacc.c:1646 */ +#line 1214 "ntp_parser.y" /* yacc.c:1646 */ { addr_opts_node *aon; aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); APPEND_G_FIFO(cfgt.trap, aon); } -#line 2959 "ntp_parser.c" /* yacc.c:1646 */ +#line 2962 "ntp_parser.c" /* yacc.c:1646 */ break; case 235: -#line 1220 "ntp_parser.y" /* yacc.c:1646 */ +#line 1221 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); } -#line 2965 "ntp_parser.c" /* yacc.c:1646 */ +#line 2968 "ntp_parser.c" /* yacc.c:1646 */ break; case 240: -#line 1235 "ntp_parser.y" /* yacc.c:1646 */ +#line 1236 "ntp_parser.y" /* yacc.c:1646 */ { #ifndef LEAP_SMEAR yyerror("Built without LEAP_SMEAR support."); #endif } -#line 2975 "ntp_parser.c" /* yacc.c:1646 */ +#line 2978 "ntp_parser.c" /* yacc.c:1646 */ break; case 246: -#line 1255 "ntp_parser.y" /* yacc.c:1646 */ +#line 1256 "ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { attr_val *av; @@ -2986,11 +2989,11 @@ yyreduce: yyerror("driftfile remote configuration ignored"); } } -#line 2990 "ntp_parser.c" /* yacc.c:1646 */ +#line 2993 "ntp_parser.c" /* yacc.c:1646 */ break; case 247: -#line 1266 "ntp_parser.y" /* yacc.c:1646 */ +#line 1267 "ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { attr_val *av; @@ -3003,11 +3006,11 @@ yyreduce: yyerror("driftfile remote configuration ignored"); } } -#line 3007 "ntp_parser.c" /* yacc.c:1646 */ +#line 3010 "ntp_parser.c" /* yacc.c:1646 */ break; case 248: -#line 1279 "ntp_parser.y" /* yacc.c:1646 */ +#line 1280 "ntp_parser.y" /* yacc.c:1646 */ { if (lex_from_file()) { attr_val *av; @@ -3017,71 +3020,71 @@ yyreduce: yyerror("driftfile remote configuration ignored"); } } -#line 3021 "ntp_parser.c" /* yacc.c:1646 */ +#line 3024 "ntp_parser.c" /* yacc.c:1646 */ break; case 249: -#line 1292 "ntp_parser.y" /* yacc.c:1646 */ +#line 1293 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); } -#line 3027 "ntp_parser.c" /* yacc.c:1646 */ +#line 3030 "ntp_parser.c" /* yacc.c:1646 */ break; case 251: -#line 1298 "ntp_parser.y" /* yacc.c:1646 */ +#line 1299 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = 0; } -#line 3033 "ntp_parser.c" /* yacc.c:1646 */ +#line 3036 "ntp_parser.c" /* yacc.c:1646 */ break; case 252: -#line 1303 "ntp_parser.y" /* yacc.c:1646 */ +#line 1304 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; } -#line 3039 "ntp_parser.c" /* yacc.c:1646 */ +#line 3042 "ntp_parser.c" /* yacc.c:1646 */ break; case 253: -#line 1305 "ntp_parser.y" /* yacc.c:1646 */ +#line 1306 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3048 "ntp_parser.c" /* yacc.c:1646 */ +#line 3051 "ntp_parser.c" /* yacc.c:1646 */ break; case 254: -#line 1313 "ntp_parser.y" /* yacc.c:1646 */ +#line 1314 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } -#line 3054 "ntp_parser.c" /* yacc.c:1646 */ +#line 3057 "ntp_parser.c" /* yacc.c:1646 */ break; case 255: -#line 1315 "ntp_parser.y" /* yacc.c:1646 */ +#line 1316 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address)); destroy_address_node((yyvsp[0].Address_node)); } -#line 3063 "ntp_parser.c" /* yacc.c:1646 */ +#line 3066 "ntp_parser.c" /* yacc.c:1646 */ break; case 256: -#line 1323 "ntp_parser.y" /* yacc.c:1646 */ +#line 1324 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3072 "ntp_parser.c" /* yacc.c:1646 */ +#line 3075 "ntp_parser.c" /* yacc.c:1646 */ break; case 257: -#line 1328 "ntp_parser.y" /* yacc.c:1646 */ +#line 1329 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3081 "ntp_parser.c" /* yacc.c:1646 */ +#line 3084 "ntp_parser.c" /* yacc.c:1646 */ break; case 258: -#line 1336 "ntp_parser.y" /* yacc.c:1646 */ +#line 1337 "ntp_parser.y" /* yacc.c:1646 */ { char prefix; char * type; @@ -3103,141 +3106,141 @@ yyreduce: (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type)); YYFREE((yyvsp[0].String)); } -#line 3107 "ntp_parser.c" /* yacc.c:1646 */ +#line 3110 "ntp_parser.c" /* yacc.c:1646 */ break; case 259: -#line 1361 "ntp_parser.y" /* yacc.c:1646 */ +#line 1362 "ntp_parser.y" /* yacc.c:1646 */ { nic_rule_node *nrn; nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer)); APPEND_G_FIFO(cfgt.nic_rules, nrn); } -#line 3118 "ntp_parser.c" /* yacc.c:1646 */ +#line 3121 "ntp_parser.c" /* yacc.c:1646 */ break; case 260: -#line 1368 "ntp_parser.y" /* yacc.c:1646 */ +#line 1369 "ntp_parser.y" /* yacc.c:1646 */ { nic_rule_node *nrn; nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer)); APPEND_G_FIFO(cfgt.nic_rules, nrn); } -#line 3129 "ntp_parser.c" /* yacc.c:1646 */ +#line 3132 "ntp_parser.c" /* yacc.c:1646 */ break; case 270: -#line 1396 "ntp_parser.y" /* yacc.c:1646 */ +#line 1397 "ntp_parser.y" /* yacc.c:1646 */ { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); } -#line 3135 "ntp_parser.c" /* yacc.c:1646 */ +#line 3138 "ntp_parser.c" /* yacc.c:1646 */ break; case 271: -#line 1401 "ntp_parser.y" /* yacc.c:1646 */ +#line 1402 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 3144 "ntp_parser.c" /* yacc.c:1646 */ +#line 3147 "ntp_parser.c" /* yacc.c:1646 */ break; case 272: -#line 1406 "ntp_parser.y" /* yacc.c:1646 */ +#line 1407 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Int_fifo) = NULL; APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); } -#line 3153 "ntp_parser.c" /* yacc.c:1646 */ +#line 3156 "ntp_parser.c" /* yacc.c:1646 */ break; case 280: -#line 1430 "ntp_parser.y" /* yacc.c:1646 */ +#line 1431 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); } -#line 3162 "ntp_parser.c" /* yacc.c:1646 */ +#line 3165 "ntp_parser.c" /* yacc.c:1646 */ break; case 281: -#line 1435 "ntp_parser.y" /* yacc.c:1646 */ +#line 1436 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); } -#line 3171 "ntp_parser.c" /* yacc.c:1646 */ +#line 3174 "ntp_parser.c" /* yacc.c:1646 */ break; case 282: -#line 1443 "ntp_parser.y" /* yacc.c:1646 */ +#line 1444 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3180 "ntp_parser.c" /* yacc.c:1646 */ +#line 3183 "ntp_parser.c" /* yacc.c:1646 */ break; case 283: -#line 1448 "ntp_parser.y" /* yacc.c:1646 */ +#line 1449 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); } -#line 3189 "ntp_parser.c" /* yacc.c:1646 */ +#line 3192 "ntp_parser.c" /* yacc.c:1646 */ break; case 284: -#line 1456 "ntp_parser.y" /* yacc.c:1646 */ +#line 1457 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); } -#line 3195 "ntp_parser.c" /* yacc.c:1646 */ +#line 3198 "ntp_parser.c" /* yacc.c:1646 */ break; case 286: -#line 1462 "ntp_parser.y" /* yacc.c:1646 */ +#line 1463 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); } -#line 3201 "ntp_parser.c" /* yacc.c:1646 */ +#line 3204 "ntp_parser.c" /* yacc.c:1646 */ break; case 287: -#line 1467 "ntp_parser.y" /* yacc.c:1646 */ +#line 1468 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.String_fifo) = (yyvsp[-1].String_fifo); APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); } -#line 3210 "ntp_parser.c" /* yacc.c:1646 */ +#line 3213 "ntp_parser.c" /* yacc.c:1646 */ break; case 288: -#line 1472 "ntp_parser.y" /* yacc.c:1646 */ +#line 1473 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.String_fifo) = NULL; APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); } -#line 3219 "ntp_parser.c" /* yacc.c:1646 */ +#line 3222 "ntp_parser.c" /* yacc.c:1646 */ break; case 289: -#line 1480 "ntp_parser.y" /* yacc.c:1646 */ +#line 1481 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_fifo) = (yyvsp[-1].Address_fifo); APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); } -#line 3228 "ntp_parser.c" /* yacc.c:1646 */ +#line 3231 "ntp_parser.c" /* yacc.c:1646 */ break; case 290: -#line 1485 "ntp_parser.y" /* yacc.c:1646 */ +#line 1486 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_fifo) = NULL; APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); } -#line 3237 "ntp_parser.c" /* yacc.c:1646 */ +#line 3240 "ntp_parser.c" /* yacc.c:1646 */ break; case 291: -#line 1493 "ntp_parser.y" /* yacc.c:1646 */ +#line 1494 "ntp_parser.y" /* yacc.c:1646 */ { if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) { yyerror("Integer value is not boolean (0 or 1). Assuming 1"); @@ -3246,29 +3249,29 @@ yyreduce: (yyval.Integer) = (yyvsp[0].Integer); } } -#line 3250 "ntp_parser.c" /* yacc.c:1646 */ +#line 3253 "ntp_parser.c" /* yacc.c:1646 */ break; case 292: -#line 1501 "ntp_parser.y" /* yacc.c:1646 */ +#line 1502 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = 1; } -#line 3256 "ntp_parser.c" /* yacc.c:1646 */ +#line 3259 "ntp_parser.c" /* yacc.c:1646 */ break; case 293: -#line 1502 "ntp_parser.y" /* yacc.c:1646 */ +#line 1503 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Integer) = 0; } -#line 3262 "ntp_parser.c" /* yacc.c:1646 */ +#line 3265 "ntp_parser.c" /* yacc.c:1646 */ break; case 294: -#line 1506 "ntp_parser.y" /* yacc.c:1646 */ +#line 1507 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Double) = (double)(yyvsp[0].Integer); } -#line 3268 "ntp_parser.c" /* yacc.c:1646 */ +#line 3271 "ntp_parser.c" /* yacc.c:1646 */ break; case 296: -#line 1517 "ntp_parser.y" /* yacc.c:1646 */ +#line 1518 "ntp_parser.y" /* yacc.c:1646 */ { sim_node *sn; @@ -3278,125 +3281,125 @@ yyreduce: /* Revert from ; to \n for end-of-command */ old_config_style = 1; } -#line 3282 "ntp_parser.c" /* yacc.c:1646 */ +#line 3285 "ntp_parser.c" /* yacc.c:1646 */ break; case 297: -#line 1534 "ntp_parser.y" /* yacc.c:1646 */ +#line 1535 "ntp_parser.y" /* yacc.c:1646 */ { old_config_style = 0; } -#line 3288 "ntp_parser.c" /* yacc.c:1646 */ +#line 3291 "ntp_parser.c" /* yacc.c:1646 */ break; case 298: -#line 1539 "ntp_parser.y" /* yacc.c:1646 */ +#line 1540 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); } -#line 3297 "ntp_parser.c" /* yacc.c:1646 */ +#line 3300 "ntp_parser.c" /* yacc.c:1646 */ break; case 299: -#line 1544 "ntp_parser.y" /* yacc.c:1646 */ +#line 1545 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); } -#line 3306 "ntp_parser.c" /* yacc.c:1646 */ +#line 3309 "ntp_parser.c" /* yacc.c:1646 */ break; case 300: -#line 1552 "ntp_parser.y" /* yacc.c:1646 */ +#line 1553 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } -#line 3312 "ntp_parser.c" /* yacc.c:1646 */ +#line 3315 "ntp_parser.c" /* yacc.c:1646 */ break; case 303: -#line 1562 "ntp_parser.y" /* yacc.c:1646 */ +#line 1563 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo); APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); } -#line 3321 "ntp_parser.c" /* yacc.c:1646 */ +#line 3324 "ntp_parser.c" /* yacc.c:1646 */ break; case 304: -#line 1567 "ntp_parser.y" /* yacc.c:1646 */ +#line 1568 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_server_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); } -#line 3330 "ntp_parser.c" /* yacc.c:1646 */ +#line 3333 "ntp_parser.c" /* yacc.c:1646 */ break; case 305: -#line 1575 "ntp_parser.y" /* yacc.c:1646 */ +#line 1576 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); } -#line 3336 "ntp_parser.c" /* yacc.c:1646 */ +#line 3339 "ntp_parser.c" /* yacc.c:1646 */ break; case 306: -#line 1580 "ntp_parser.y" /* yacc.c:1646 */ +#line 1581 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Double) = (yyvsp[-1].Double); } -#line 3342 "ntp_parser.c" /* yacc.c:1646 */ +#line 3345 "ntp_parser.c" /* yacc.c:1646 */ break; case 307: -#line 1585 "ntp_parser.y" /* yacc.c:1646 */ +#line 1586 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Address_node) = (yyvsp[0].Address_node); } -#line 3348 "ntp_parser.c" /* yacc.c:1646 */ +#line 3351 "ntp_parser.c" /* yacc.c:1646 */ break; case 308: -#line 1590 "ntp_parser.y" /* yacc.c:1646 */ +#line 1591 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo); APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); } -#line 3357 "ntp_parser.c" /* yacc.c:1646 */ +#line 3360 "ntp_parser.c" /* yacc.c:1646 */ break; case 309: -#line 1595 "ntp_parser.y" /* yacc.c:1646 */ +#line 1596 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_script_fifo) = NULL; APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); } -#line 3366 "ntp_parser.c" /* yacc.c:1646 */ +#line 3369 "ntp_parser.c" /* yacc.c:1646 */ break; case 310: -#line 1603 "ntp_parser.y" /* yacc.c:1646 */ +#line 1604 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); } -#line 3372 "ntp_parser.c" /* yacc.c:1646 */ +#line 3375 "ntp_parser.c" /* yacc.c:1646 */ break; case 311: -#line 1608 "ntp_parser.y" /* yacc.c:1646 */ +#line 1609 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); } -#line 3381 "ntp_parser.c" /* yacc.c:1646 */ +#line 3384 "ntp_parser.c" /* yacc.c:1646 */ break; case 312: -#line 1613 "ntp_parser.y" /* yacc.c:1646 */ +#line 1614 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val_fifo) = NULL; APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); } -#line 3390 "ntp_parser.c" /* yacc.c:1646 */ +#line 3393 "ntp_parser.c" /* yacc.c:1646 */ break; case 313: -#line 1621 "ntp_parser.y" /* yacc.c:1646 */ +#line 1622 "ntp_parser.y" /* yacc.c:1646 */ { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } -#line 3396 "ntp_parser.c" /* yacc.c:1646 */ +#line 3399 "ntp_parser.c" /* yacc.c:1646 */ break; -#line 3400 "ntp_parser.c" /* yacc.c:1646 */ +#line 3403 "ntp_parser.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3624,7 +3627,7 @@ yyreturn: #endif return yyresult; } -#line 1632 "ntp_parser.y" /* yacc.c:1906 */ +#line 1633 "ntp_parser.y" /* yacc.c:1906 */ void diff --git a/ntpd/ntp_parser.h b/ntpd/ntp_parser.h index 10c0cfdaf..8174ef315 100644 --- a/ntpd/ntp_parser.h +++ b/ntpd/ntp_parser.h @@ -30,8 +30,8 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -#ifndef YY_YY_Y_TAB_H_INCLUDED -# define YY_YY_Y_TAB_H_INCLUDED +#ifndef YY_YY_NTP_PARSER_H_INCLUDED +# define YY_YY_NTP_PARSER_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 @@ -478,4 +478,4 @@ extern YYSTYPE yylval; int yyparse (void); -#endif /* !YY_YY_Y_TAB_H_INCLUDED */ +#endif /* !YY_YY_NTP_PARSER_H_INCLUDED */ diff --git a/ntpd/ntp_parser.y b/ntpd/ntp_parser.y index 0dec2dfd7..4c785670d 100644 --- a/ntpd/ntp_parser.y +++ b/ntpd/ntp_parser.y @@ -570,12 +570,13 @@ authentication_command { cfgt.auth.revoke = $2; } | T_Trustedkey integer_list_range { - cfgt.auth.trusted_key_list = $2; - - // if (!cfgt.auth.trusted_key_list) - // cfgt.auth.trusted_key_list = $2; - // else - // LINK_SLIST(cfgt.auth.trusted_key_list, $2, link); + /* [Bug 948] leaves it open if appending or + * replacing the trusted key list is the right + * way. In any case, either alternative should + * be coded correctly! + */ + DESTROY_G_FIFO(cfgt.auth.trusted_key_list, destroy_attr_val); /* remove for append */ + CONCAT_G_FIFOS(cfgt.auth.trusted_key_list, $2); } | T_NtpSignDsocket T_String { cfgt.auth.ntp_signd_socket = $2; }