diff options
Diffstat (limited to 'src/read_config_yy.c')
-rw-r--r-- | src/read_config_yy.c | 1238 |
1 files changed, 694 insertions, 544 deletions
diff --git a/src/read_config_yy.c b/src/read_config_yy.c index bd3a785..fe9ecd7 100644 --- a/src/read_config_yy.c +++ b/src/read_config_yy.c @@ -237,11 +237,14 @@ static void __max_dedicated_links_reached(void); T_DISABLE_INTERNAL_CACHE = 343, T_DISABLE_EXTERNAL_CACHE = 344, T_ERROR_QUEUE_LENGTH = 345, - T_IP = 346, - T_PATH_VAL = 347, - T_NUMBER = 348, - T_SIGNED_NUMBER = 349, - T_STRING = 350 + T_OPTIONS = 346, + T_TCP_WINDOW_TRACKING = 347, + T_EXPECT_SYNC = 348, + T_IP = 349, + T_PATH_VAL = 350, + T_NUMBER = 351, + T_SIGNED_NUMBER = 352, + T_STRING = 353 }; #endif /* Tokens. */ @@ -333,11 +336,14 @@ static void __max_dedicated_links_reached(void); #define T_DISABLE_INTERNAL_CACHE 343 #define T_DISABLE_EXTERNAL_CACHE 344 #define T_ERROR_QUEUE_LENGTH 345 -#define T_IP 346 -#define T_PATH_VAL 347 -#define T_NUMBER 348 -#define T_SIGNED_NUMBER 349 -#define T_STRING 350 +#define T_OPTIONS 346 +#define T_TCP_WINDOW_TRACKING 347 +#define T_EXPECT_SYNC 348 +#define T_IP 349 +#define T_PATH_VAL 350 +#define T_NUMBER 351 +#define T_SIGNED_NUMBER 352 +#define T_STRING 353 @@ -355,7 +361,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 359 "read_config_yy.c" +#line 365 "read_config_yy.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -367,7 +373,7 @@ typedef union YYSTYPE /* Line 264 of yacc.c */ -#line 371 "read_config_yy.c" +#line 377 "read_config_yy.c" #ifdef short # undef short @@ -582,20 +588,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 21 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 332 +#define YYLAST 349 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 98 +#define YYNTOKENS 101 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 94 +#define YYNNTS 99 /* YYNRULES -- Number of rules. */ -#define YYNRULES 234 +#define YYNRULES 248 /* YYNRULES -- Number of states. */ -#define YYNSTATES 367 +#define YYNSTATES 385 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 350 +#define YYMAXUTOK 353 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -615,7 +621,7 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 96, 2, 97, 2, 2, 2, 2, + 2, 2, 2, 99, 2, 100, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -638,7 +644,7 @@ static const yytype_uint8 yytranslate[] = 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95 + 95, 96, 97, 98 }; #if YYDEBUG @@ -656,119 +662,125 @@ static const yytype_uint16 yyprhs[] = 205, 208, 211, 214, 217, 220, 223, 226, 231, 232, 235, 238, 241, 246, 247, 250, 252, 254, 259, 260, 263, 265, 267, 269, 271, 273, 275, 277, 279, 281, - 283, 285, 287, 289, 291, 293, 295, 297, 303, 309, - 315, 316, 319, 321, 323, 325, 327, 329, 331, 332, - 335, 337, 339, 341, 343, 345, 347, 348, 351, 353, - 355, 357, 359, 362, 365, 368, 371, 374, 377, 380, - 383, 385, 387, 390, 395, 396, 399, 401, 403, 404, - 407, 409, 411, 413, 415, 417, 419, 421, 423, 425, - 428, 431, 436, 437, 440, 442, 444, 446, 448, 450, - 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, - 472, 474, 476, 479, 482, 485, 488, 491, 494, 497, - 500, 505, 506, 509, 512, 515, 518, 521, 524, 529, - 536, 543, 544, 547, 553, 559, 560, 563, 565, 567, - 573, 579, 580, 583, 586, 589, 595, 601, 602, 605, - 609, 614, 615, 618, 620, 622, 624, 626, 628, 631, - 634, 637, 640, 643, 646 + 283, 285, 287, 289, 291, 293, 295, 297, 299, 304, + 305, 308, 311, 314, 317, 320, 325, 326, 329, 331, + 337, 343, 349, 350, 353, 355, 357, 359, 361, 363, + 365, 366, 369, 371, 373, 375, 377, 379, 381, 382, + 385, 387, 389, 391, 393, 396, 399, 402, 405, 408, + 411, 414, 417, 419, 421, 424, 429, 430, 433, 435, + 437, 438, 441, 443, 445, 447, 449, 451, 453, 455, + 457, 459, 462, 465, 470, 471, 474, 476, 478, 480, + 482, 484, 486, 488, 490, 492, 494, 496, 498, 500, + 502, 504, 506, 508, 510, 513, 516, 519, 522, 525, + 528, 531, 534, 539, 540, 543, 546, 549, 552, 555, + 558, 563, 570, 577, 578, 581, 587, 593, 594, 597, + 599, 601, 603, 605, 611, 617, 618, 621, 624, 627, + 633, 639, 640, 643, 647, 652, 653, 656, 658, 660, + 662, 664, 666, 669, 672, 675, 678, 681, 684 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 99, 0, -1, -1, 100, -1, 101, -1, 100, 101, - -1, 130, -1, 113, -1, 107, -1, 161, -1, 133, - -1, 184, -1, 19, 45, -1, 19, 46, -1, 19, - 92, -1, 61, 45, -1, 61, 46, -1, 61, 95, - -1, 26, 92, -1, 27, -1, 11, 93, -1, 29, - 93, -1, 30, 93, -1, 50, 93, -1, 43, 45, - -1, 43, 46, -1, 16, 96, 114, 97, -1, -1, - 114, 115, -1, 3, 91, -1, 12, 91, -1, 8, - 96, 117, 97, -1, 8, 79, 96, 117, 97, -1, - -1, 117, 118, -1, 3, 91, -1, 12, 91, -1, - 4, 91, -1, 13, 91, -1, 49, 95, -1, 17, - 93, -1, 18, 93, -1, 66, 93, -1, 65, 93, - -1, 43, 45, -1, 43, 46, -1, 20, 96, 120, - 97, -1, 20, 79, 96, 120, 97, -1, -1, 120, - 121, -1, 3, 91, -1, 12, 91, -1, 82, 91, - -1, 83, 91, -1, 49, 95, -1, 5, 93, -1, - 66, 93, -1, 65, 93, -1, 43, 45, -1, 43, - 46, -1, 24, 96, 123, 97, -1, 24, 79, 96, - 123, 97, -1, -1, 123, 124, -1, 3, 91, -1, - 12, 91, -1, 82, 91, -1, 83, 91, -1, 49, - 95, -1, 5, 93, -1, 66, 93, -1, 65, 93, - -1, 43, 45, -1, 43, 46, -1, 90, 93, -1, - 6, 93, -1, 7, 93, -1, 10, 96, 128, 97, - -1, -1, 128, 129, -1, 9, 92, -1, 17, 93, - -1, 25, 96, 131, 97, -1, -1, 131, 132, -1, - 93, -1, 95, -1, 32, 96, 134, 97, -1, -1, - 134, 135, -1, 108, -1, 109, -1, 110, -1, 111, - -1, 112, -1, 116, -1, 119, -1, 122, -1, 151, - -1, 152, -1, 136, -1, 137, -1, 138, -1, 153, - -1, 154, -1, 160, -1, 150, -1, 37, 41, 96, - 139, 97, -1, 37, 42, 96, 141, 97, -1, 37, - 67, 96, 143, 97, -1, -1, 139, 140, -1, 108, - -1, 109, -1, 110, -1, 111, -1, 151, -1, 152, - -1, -1, 141, 142, -1, 148, -1, 147, -1, 110, - -1, 111, -1, 149, -1, 146, -1, -1, 143, 144, - -1, 110, -1, 111, -1, 145, -1, 146, -1, 88, - 45, -1, 88, 46, -1, 89, 45, -1, 89, 46, - -1, 40, 93, -1, 51, 93, -1, 44, 93, -1, - 64, 93, -1, 34, -1, 36, -1, 38, 91, -1, - 47, 155, 48, 156, -1, -1, 155, 157, -1, 95, - -1, 159, -1, -1, 158, 159, -1, 53, -1, 54, - -1, 52, -1, 55, -1, 56, -1, 57, -1, 58, - -1, 59, -1, 60, -1, 62, 45, -1, 62, 46, - -1, 31, 96, 162, 97, -1, -1, 162, 163, -1, - 125, -1, 126, -1, 102, -1, 103, -1, 105, -1, - 104, -1, 106, -1, 127, -1, 164, -1, 165, -1, - 172, -1, 173, -1, 174, -1, 175, -1, 166, -1, - 167, -1, 168, -1, 169, -1, 35, 93, -1, 28, - 93, -1, 80, 45, -1, 80, 46, -1, 80, 93, - -1, 87, 45, -1, 87, 46, -1, 81, 94, -1, - 84, 96, 170, 97, -1, -1, 170, 171, -1, 85, - 95, -1, 86, 93, -1, 39, 95, -1, 78, 93, - -1, 68, 93, -1, 69, 96, 176, 97, -1, 69, - 75, 76, 96, 176, 97, -1, 69, 75, 77, 96, - 176, 97, -1, -1, 176, 177, -1, 71, 73, 96, - 178, 97, -1, 71, 74, 96, 178, 97, -1, -1, - 178, 179, -1, 95, -1, 24, -1, 70, 73, 96, - 180, 97, -1, 70, 74, 96, 180, 97, -1, -1, - 180, 181, -1, 3, 91, -1, 12, 91, -1, 72, - 73, 96, 182, 97, -1, 72, 74, 96, 182, 97, - -1, -1, 182, 183, -1, 158, 48, 24, -1, 33, - 96, 185, 97, -1, -1, 185, 186, -1, 187, -1, - 188, -1, 189, -1, 190, -1, 191, -1, 19, 45, - -1, 19, 46, -1, 19, 92, -1, 61, 45, -1, - 61, 46, -1, 61, 95, -1, 63, 93, -1 + 102, 0, -1, -1, 103, -1, 104, -1, 103, 104, + -1, 133, -1, 116, -1, 110, -1, 169, -1, 136, + -1, 192, -1, 19, 45, -1, 19, 46, -1, 19, + 95, -1, 61, 45, -1, 61, 46, -1, 61, 98, + -1, 26, 95, -1, 27, -1, 11, 96, -1, 29, + 96, -1, 30, 96, -1, 50, 96, -1, 43, 45, + -1, 43, 46, -1, 16, 99, 117, 100, -1, -1, + 117, 118, -1, 3, 94, -1, 12, 94, -1, 8, + 99, 120, 100, -1, 8, 79, 99, 120, 100, -1, + -1, 120, 121, -1, 3, 94, -1, 12, 94, -1, + 4, 94, -1, 13, 94, -1, 49, 98, -1, 17, + 96, -1, 18, 96, -1, 66, 96, -1, 65, 96, + -1, 43, 45, -1, 43, 46, -1, 20, 99, 123, + 100, -1, 20, 79, 99, 123, 100, -1, -1, 123, + 124, -1, 3, 94, -1, 12, 94, -1, 82, 94, + -1, 83, 94, -1, 49, 98, -1, 5, 96, -1, + 66, 96, -1, 65, 96, -1, 43, 45, -1, 43, + 46, -1, 24, 99, 126, 100, -1, 24, 79, 99, + 126, 100, -1, -1, 126, 127, -1, 3, 94, -1, + 12, 94, -1, 82, 94, -1, 83, 94, -1, 49, + 98, -1, 5, 96, -1, 66, 96, -1, 65, 96, + -1, 43, 45, -1, 43, 46, -1, 90, 96, -1, + 6, 96, -1, 7, 96, -1, 10, 99, 131, 100, + -1, -1, 131, 132, -1, 9, 95, -1, 17, 96, + -1, 25, 99, 134, 100, -1, -1, 134, 135, -1, + 96, -1, 98, -1, 32, 99, 137, 100, -1, -1, + 137, 138, -1, 111, -1, 112, -1, 113, -1, 114, + -1, 115, -1, 119, -1, 122, -1, 125, -1, 159, + -1, 160, -1, 144, -1, 145, -1, 146, -1, 161, + -1, 162, -1, 168, -1, 158, -1, 139, -1, 91, + 99, 140, 100, -1, -1, 140, 141, -1, 92, 45, + -1, 92, 46, -1, 93, 45, -1, 93, 46, -1, + 93, 99, 142, 100, -1, -1, 142, 143, -1, 98, + -1, 37, 41, 99, 147, 100, -1, 37, 42, 99, + 149, 100, -1, 37, 67, 99, 151, 100, -1, -1, + 147, 148, -1, 111, -1, 112, -1, 113, -1, 114, + -1, 159, -1, 160, -1, -1, 149, 150, -1, 156, + -1, 155, -1, 113, -1, 114, -1, 157, -1, 154, + -1, -1, 151, 152, -1, 113, -1, 114, -1, 153, + -1, 154, -1, 88, 45, -1, 88, 46, -1, 89, + 45, -1, 89, 46, -1, 40, 96, -1, 51, 96, + -1, 44, 96, -1, 64, 96, -1, 34, -1, 36, + -1, 38, 94, -1, 47, 163, 48, 164, -1, -1, + 163, 165, -1, 98, -1, 167, -1, -1, 166, 167, + -1, 53, -1, 54, -1, 52, -1, 55, -1, 56, + -1, 57, -1, 58, -1, 59, -1, 60, -1, 62, + 45, -1, 62, 46, -1, 31, 99, 170, 100, -1, + -1, 170, 171, -1, 128, -1, 129, -1, 105, -1, + 106, -1, 108, -1, 107, -1, 109, -1, 130, -1, + 172, -1, 173, -1, 180, -1, 181, -1, 182, -1, + 183, -1, 174, -1, 175, -1, 176, -1, 177, -1, + 35, 96, -1, 28, 96, -1, 80, 45, -1, 80, + 46, -1, 80, 96, -1, 87, 45, -1, 87, 46, + -1, 81, 97, -1, 84, 99, 178, 100, -1, -1, + 178, 179, -1, 85, 98, -1, 86, 96, -1, 39, + 98, -1, 78, 96, -1, 68, 96, -1, 69, 99, + 184, 100, -1, 69, 75, 76, 99, 184, 100, -1, + 69, 75, 77, 99, 184, 100, -1, -1, 184, 185, + -1, 71, 73, 99, 186, 100, -1, 71, 74, 99, + 186, 100, -1, -1, 186, 187, -1, 98, -1, 24, + -1, 20, -1, 20, -1, 70, 73, 99, 188, 100, + -1, 70, 74, 99, 188, 100, -1, -1, 188, 189, + -1, 3, 94, -1, 12, 94, -1, 72, 73, 99, + 190, 100, -1, 72, 74, 99, 190, 100, -1, -1, + 190, 191, -1, 166, 48, 24, -1, 33, 99, 193, + 100, -1, -1, 193, 194, -1, 195, -1, 196, -1, + 197, -1, 198, -1, 199, -1, 19, 45, -1, 19, + 46, -1, 19, 95, -1, 61, 45, -1, 61, 46, + -1, 61, 98, -1, 63, 96, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 84, 84, 85, 88, 89, 92, 93, 94, 95, - 96, 97, 100, 105, 109, 114, 119, 124, 156, 161, - 166, 171, 176, 181, 186, 197, 208, 218, 219, 221, - 243, 269, 283, 299, 300, 302, 321, 361, 380, 385, - 405, 412, 418, 424, 430, 436, 442, 456, 472, 473, - 475, 486, 503, 514, 531, 546, 552, 558, 564, 570, - 576, 592, 610, 611, 613, 624, 641, 652, 669, 684, - 690, 696, 702, 708, 714, 720, 725, 730, 732, 733, - 736, 741, 746, 756, 757, 760, 768, 781, 791, 792, - 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, - 804, 805, 806, 807, 808, 809, 810, 813, 818, 823, - 828, 829, 831, 832, 833, 834, 835, 836, 839, 840, - 842, 843, 844, 845, 846, 847, 850, 851, 853, 854, - 855, 856, 859, 864, 869, 874, 879, 885, 890, 895, - 900, 906, 912, 917, 927, 928, 930, 937, 939, 940, - 942, 950, 958, 966, 974, 982, 990, 998, 1006, 1015, - 1021, 1027, 1029, 1030, 1033, 1034, 1035, 1036, 1037, 1038, - 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1053, 1058, 1063, 1068, 1073, 1078, 1083, 1088, - 1093, 1095, 1096, 1099, 1111, 1120, 1128, 1133, 1143, 1148, - 1153, 1158, 1159, 1161, 1170, 1183, 1184, 1186, 1205, 1224, - 1233, 1255, 1256, 1258, 1317, 1377, 1386, 1400, 1401, 1403, - 1405, 1415, 1416, 1419, 1420, 1421, 1422, 1423, 1426, 1431, - 1435, 1440, 1445, 1450, 1482 + 0, 85, 85, 86, 89, 90, 93, 94, 95, 96, + 97, 98, 101, 106, 110, 115, 120, 125, 157, 162, + 167, 172, 177, 182, 187, 198, 209, 219, 220, 222, + 244, 270, 284, 300, 301, 303, 322, 362, 381, 386, + 406, 413, 419, 425, 431, 437, 443, 457, 473, 474, + 476, 487, 504, 515, 532, 547, 553, 559, 565, 571, + 577, 593, 611, 612, 614, 625, 642, 653, 670, 685, + 691, 697, 703, 709, 715, 721, 726, 731, 733, 734, + 737, 742, 747, 757, 758, 761, 769, 782, 792, 793, + 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, + 805, 806, 807, 808, 809, 810, 811, 812, 815, 817, + 818, 821, 826, 831, 843, 851, 863, 864, 866, 871, + 876, 881, 886, 887, 889, 890, 891, 892, 893, 894, + 897, 898, 900, 901, 902, 903, 904, 905, 908, 909, + 911, 912, 913, 914, 917, 922, 927, 932, 937, 943, + 948, 953, 958, 964, 970, 975, 985, 986, 988, 995, + 997, 998, 1000, 1008, 1016, 1024, 1032, 1040, 1048, 1056, + 1064, 1073, 1079, 1085, 1087, 1088, 1091, 1092, 1093, 1094, + 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, + 1105, 1106, 1107, 1108, 1111, 1116, 1121, 1126, 1131, 1136, + 1141, 1146, 1151, 1153, 1154, 1157, 1169, 1178, 1186, 1191, + 1201, 1206, 1211, 1216, 1217, 1219, 1228, 1241, 1242, 1244, + 1263, 1282, 1301, 1320, 1329, 1351, 1352, 1354, 1413, 1473, + 1482, 1496, 1497, 1499, 1501, 1511, 1512, 1515, 1516, 1517, + 1518, 1519, 1522, 1527, 1531, 1536, 1541, 1546, 1578 }; #endif @@ -797,7 +809,8 @@ static const char *const yytname[] = "T_NETLINK_OVERRUN_RESYNC", "T_NICE", "T_IPV4_DEST_ADDR", "T_IPV6_DEST_ADDR", "T_SCHEDULER", "T_TYPE", "T_PRIO", "T_NETLINK_EVENTS_RELIABLE", "T_DISABLE_INTERNAL_CACHE", - "T_DISABLE_EXTERNAL_CACHE", "T_ERROR_QUEUE_LENGTH", "T_IP", "T_PATH_VAL", + "T_DISABLE_EXTERNAL_CACHE", "T_ERROR_QUEUE_LENGTH", "T_OPTIONS", + "T_TCP_WINDOW_TRACKING", "T_EXPECT_SYNC", "T_IP", "T_PATH_VAL", "T_NUMBER", "T_SIGNED_NUMBER", "T_STRING", "'{'", "'}'", "$accept", "configfile", "lines", "line", "logfile_bool", "logfile_path", "syslog_bool", "syslog_facility", "lock", "strip_nat", "refreshtime", @@ -807,7 +820,8 @@ static const char *const yytname[] = "udp_option", "tcp_line", "tcp_options", "tcp_option", "hashsize", "hashlimit", "unix_line", "unix_options", "unix_option", "ignore_protocol", "ignore_proto_list", "ignore_proto", "sync", - "sync_list", "sync_line", "sync_mode_alarm", "sync_mode_ftfw", + "sync_list", "sync_line", "option_line", "options", "option", + "expect_list", "expect_item", "sync_mode_alarm", "sync_mode_ftfw", "sync_mode_notrack", "sync_mode_alarm_list", "sync_mode_alarm_line", "sync_mode_ftfw_list", "sync_mode_ftfw_line", "sync_mode_notrack_list", "sync_mode_notrack_line", "disable_internal_cache", @@ -841,37 +855,39 @@ static const yytype_uint16 yytoknum[] = 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 123, 125 + 345, 346, 347, 348, 349, 350, 351, 352, 353, 123, + 125 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 98, 99, 99, 100, 100, 101, 101, 101, 101, - 101, 101, 102, 102, 103, 104, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 112, 113, 114, 114, 115, - 115, 116, 116, 117, 117, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 119, 119, 120, 120, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 122, 122, 123, 123, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 125, 126, 127, 128, 128, - 129, 129, 130, 131, 131, 132, 132, 133, 134, 134, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 136, 137, 138, - 139, 139, 140, 140, 140, 140, 140, 140, 141, 141, - 142, 142, 142, 142, 142, 142, 143, 143, 144, 144, - 144, 144, 145, 145, 146, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 155, 156, 157, 158, 158, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 160, - 160, 161, 162, 162, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 164, 165, 166, 166, 166, 167, 167, 168, - 169, 170, 170, 171, 171, 172, 173, 174, 175, 175, - 175, 176, 176, 177, 177, 178, 178, 179, 179, 177, - 177, 180, 180, 181, 181, 177, 177, 182, 182, 183, - 184, 185, 185, 186, 186, 186, 186, 186, 187, 187, - 188, 189, 189, 190, 191 + 0, 101, 102, 102, 103, 103, 104, 104, 104, 104, + 104, 104, 105, 105, 106, 107, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 115, 116, 117, 117, 118, + 118, 119, 119, 120, 120, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 122, 122, 123, 123, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 125, 125, 126, 126, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 128, 129, 130, 131, 131, + 132, 132, 133, 134, 134, 135, 135, 136, 137, 137, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 139, 140, + 140, 141, 141, 141, 141, 141, 142, 142, 143, 144, + 145, 146, 147, 147, 148, 148, 148, 148, 148, 148, + 149, 149, 150, 150, 150, 150, 150, 150, 151, 151, + 152, 152, 152, 152, 153, 153, 154, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 163, 164, 165, + 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 168, 168, 169, 170, 170, 171, 171, 171, 171, + 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, + 171, 171, 171, 171, 172, 173, 174, 174, 174, 175, + 175, 176, 177, 178, 178, 179, 179, 180, 181, 182, + 183, 183, 183, 184, 184, 185, 185, 186, 186, 187, + 187, 187, 187, 185, 185, 188, 188, 189, 189, 185, + 185, 190, 190, 191, 192, 193, 193, 194, 194, 194, + 194, 194, 195, 195, 196, 197, 197, 198, 199 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -887,20 +903,21 @@ static const yytype_uint8 yyr2[] = 2, 2, 2, 2, 2, 2, 2, 4, 0, 2, 2, 2, 4, 0, 2, 1, 1, 4, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, + 1, 1, 1, 1, 1, 1, 1, 1, 4, 0, + 2, 2, 2, 2, 2, 4, 0, 2, 1, 5, + 5, 5, 0, 2, 1, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 0, 2, - 1, 1, 1, 1, 1, 1, 0, 2, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 1, 2, 4, 0, 2, 1, 1, 0, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 4, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 1, 1, 2, 4, 0, 2, 1, 1, + 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 4, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, - 4, 0, 2, 2, 2, 2, 2, 2, 4, 6, - 6, 0, 2, 5, 5, 0, 2, 1, 1, 5, - 5, 0, 2, 2, 2, 5, 5, 0, 2, 3, - 4, 0, 2, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 2, 2 + 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 4, 0, 2, 2, 2, 2, 2, 2, + 4, 6, 6, 0, 2, 5, 5, 0, 2, 1, + 1, 1, 1, 5, 5, 0, 2, 2, 2, 5, + 5, 0, 2, 3, 4, 0, 2, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 2, 2, 2 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -909,116 +926,120 @@ static const yytype_uint8 yyr2[] = static const yytype_uint8 yydefact[] = { 2, 0, 0, 19, 0, 0, 0, 0, 3, 4, - 8, 7, 6, 10, 9, 11, 27, 83, 162, 88, - 221, 1, 5, 0, 0, 0, 0, 0, 0, 0, + 8, 7, 6, 10, 9, 11, 27, 83, 174, 88, + 235, 1, 5, 0, 0, 0, 0, 0, 0, 0, 26, 28, 85, 86, 82, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 161, 166, 167, 169, 168, 170, 164, 165, - 171, 163, 172, 173, 178, 179, 180, 181, 174, 175, - 176, 177, 0, 0, 0, 0, 0, 0, 140, 141, - 0, 0, 0, 144, 0, 0, 0, 87, 90, 91, - 92, 93, 94, 95, 96, 97, 89, 100, 101, 102, - 106, 98, 99, 103, 104, 105, 0, 0, 0, 220, - 222, 223, 224, 225, 226, 227, 29, 30, 75, 76, - 78, 12, 13, 14, 18, 183, 182, 195, 15, 16, - 17, 197, 0, 201, 196, 184, 185, 186, 189, 191, - 187, 188, 0, 33, 20, 0, 48, 0, 62, 21, - 22, 0, 0, 0, 142, 24, 25, 0, 23, 159, - 160, 139, 228, 229, 230, 231, 232, 233, 234, 0, - 0, 0, 0, 0, 33, 0, 48, 0, 62, 0, - 110, 118, 126, 0, 152, 150, 151, 153, 154, 155, - 156, 157, 158, 145, 147, 0, 0, 77, 79, 201, - 201, 0, 0, 0, 198, 202, 0, 0, 190, 192, + 0, 0, 173, 178, 179, 181, 180, 182, 176, 177, + 183, 175, 184, 185, 190, 191, 192, 193, 186, 187, + 188, 189, 0, 0, 0, 0, 0, 0, 152, 153, + 0, 0, 0, 156, 0, 0, 0, 0, 87, 90, + 91, 92, 93, 94, 95, 96, 97, 89, 107, 100, + 101, 102, 106, 98, 99, 103, 104, 105, 0, 0, + 0, 234, 236, 237, 238, 239, 240, 241, 29, 30, + 75, 76, 78, 12, 13, 14, 18, 195, 194, 207, + 15, 16, 17, 209, 0, 213, 208, 196, 197, 198, + 201, 203, 199, 200, 0, 33, 20, 0, 48, 0, + 62, 21, 22, 0, 0, 0, 154, 24, 25, 0, + 23, 171, 172, 151, 109, 242, 243, 244, 245, 246, + 247, 248, 0, 0, 0, 0, 0, 33, 0, 48, + 0, 62, 0, 122, 130, 138, 0, 164, 162, 163, + 165, 166, 167, 168, 169, 170, 157, 159, 0, 0, + 0, 77, 79, 213, 213, 0, 0, 0, 210, 214, + 0, 0, 202, 204, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 34, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 46, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 31, 34, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 60, 63, 0, 0, - 0, 146, 143, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 32, 35, 37, 36, 38, - 40, 41, 44, 45, 39, 43, 42, 47, 50, 55, - 51, 58, 59, 54, 57, 56, 52, 53, 61, 64, - 69, 65, 72, 73, 68, 71, 70, 66, 67, 74, - 107, 112, 113, 114, 115, 111, 116, 117, 0, 0, - 0, 0, 108, 122, 123, 119, 125, 121, 120, 124, - 0, 109, 128, 129, 127, 130, 131, 199, 200, 211, - 211, 205, 205, 217, 217, 136, 138, 137, 134, 135, - 132, 133, 0, 0, 0, 0, 148, 148, 0, 0, - 209, 212, 210, 208, 207, 203, 206, 204, 215, 0, - 218, 216, 213, 214, 0, 149, 219 + 60, 63, 0, 0, 0, 158, 155, 0, 0, 108, + 110, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 205, 206, 32, 35, 37, 36, 38, 40, 41, + 44, 45, 39, 43, 42, 47, 50, 55, 51, 58, + 59, 54, 57, 56, 52, 53, 61, 64, 69, 65, + 72, 73, 68, 71, 70, 66, 67, 74, 119, 124, + 125, 126, 127, 123, 128, 129, 0, 0, 0, 0, + 120, 134, 135, 131, 137, 133, 132, 136, 0, 121, + 140, 141, 139, 142, 143, 111, 112, 113, 114, 116, + 211, 212, 225, 225, 217, 217, 231, 231, 148, 150, + 149, 146, 147, 144, 145, 0, 0, 0, 0, 0, + 160, 160, 118, 115, 117, 0, 0, 223, 226, 224, + 221, 220, 219, 215, 218, 216, 229, 0, 232, 230, + 227, 228, 0, 161, 233 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 7, 8, 9, 53, 54, 55, 56, 57, 10, - 88, 89, 90, 91, 92, 11, 23, 31, 93, 175, - 222, 94, 177, 234, 95, 179, 247, 58, 59, 60, - 169, 198, 12, 24, 35, 13, 26, 96, 97, 98, - 99, 248, 305, 249, 315, 250, 324, 325, 316, 317, - 318, 319, 100, 101, 102, 103, 104, 157, 252, 193, - 359, 194, 105, 14, 25, 61, 62, 63, 64, 65, - 66, 67, 173, 209, 68, 69, 70, 71, 172, 205, - 344, 356, 342, 351, 346, 360, 15, 27, 110, 111, - 112, 113, 114, 115 + 89, 90, 91, 92, 93, 11, 23, 31, 94, 178, + 226, 95, 180, 238, 96, 182, 251, 58, 59, 60, + 172, 202, 12, 24, 35, 13, 26, 97, 98, 198, + 260, 355, 364, 99, 100, 101, 252, 313, 253, 323, + 254, 332, 333, 324, 325, 326, 327, 102, 103, 104, + 105, 106, 159, 256, 196, 377, 197, 107, 14, 25, + 61, 62, 63, 64, 65, 66, 67, 176, 213, 68, + 69, 70, 71, 175, 209, 358, 374, 356, 368, 360, + 378, 15, 27, 112, 113, 114, 115, 116, 117 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -94 +#define YYPACT_NINF -77 static const yytype_int16 yypact[] = { - 193, -93, -90, -94, -84, -77, -70, 52, 193, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, 15, 115, 119, 155, 24, -24, -13, - -94, -94, -94, -94, -94, -94, 2, 20, 28, 60, - 38, 23, 42, 49, -7, 62, -52, 97, 53, 59, - 105, 26, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -47, 101, -38, -23, 111, 114, -94, -94, - 13, 76, 30, -94, 118, 65, 135, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, 104, 5, 137, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, 88, -94, -94, -94, -94, -94, -94, -94, - -94, -94, 171, -94, -94, 172, -94, 173, -94, -94, - -94, 174, 175, 176, -94, -94, -94, 179, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -4, - 177, 178, -36, 84, -94, -3, -94, 54, -94, -1, - -94, -94, -94, 180, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, 184, 185, -94, -94, -94, - -94, 100, 149, 170, -94, -94, 182, 186, -94, -94, - 4, 189, 190, 191, 192, 194, 195, 200, 196, 197, - 199, -94, -94, 74, 198, 203, 204, 202, 206, 207, - 209, 208, 212, -94, -94, 25, 213, 214, 215, 205, - 210, 216, 218, 221, 222, 223, -94, -94, 98, 132, - -5, -94, -94, -94, -94, 71, 89, 188, 224, 225, - 226, 227, 228, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, 232, 233, - 234, 217, -94, -94, -94, -94, -94, -94, -94, -94, - 219, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, 17, 21, 7, 36, 169, 211, 237, 238, - -94, -94, -94, -94, -94, -94, -94, -94, -94, 201, - -94, -94, -94, -94, 261, -94, -94 + 194, -76, -68, -77, -49, -39, -14, 98, 194, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, 0, -42, 124, 153, 10, 20, 28, + -77, -77, -77, -77, -77, -77, 36, 40, 50, 56, + 77, 79, 82, 86, 30, 90, -50, 92, 42, 104, + 117, 121, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -73, 122, -44, 34, 135, 145, -77, -77, + -23, 126, 149, -77, 147, 152, 181, 177, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, 73, 47, + 184, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -10, -77, -77, -77, -77, -77, + -77, -77, -77, -77, 182, -77, -77, 183, -77, 185, + -77, -77, -77, 186, 187, 188, -77, -77, -77, 180, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -4, 189, 190, 99, 62, -77, -3, -77, + 29, -77, -1, -77, -77, -77, 131, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, 130, 195, + 196, -77, -77, -77, -77, 81, 133, 175, -77, -77, + 193, 197, -77, -77, 4, 200, 201, 203, 204, 205, + 207, 206, 198, 208, 209, -77, -77, 74, 212, 211, + 214, 221, 213, 216, 217, 215, 220, -77, -77, 25, + 222, 219, 224, 223, 226, 230, 231, 228, 234, 233, + -77, -77, 9, 76, 53, -77, -77, 225, 6, -77, + -77, -77, -77, 109, 142, 218, 232, 235, 236, 237, + 238, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, 242, 243, 244, 227, + -77, -77, -77, -77, -77, -77, -77, -77, 229, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, 46, 21, 24, 37, 60, + 199, 210, -77, -77, -77, 239, 247, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, 202, -77, -77, + -77, -77, 259, -77, -77 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -94, -94, -94, 278, -94, -94, -94, -94, -94, -94, - 45, 46, -35, -8, -94, -94, -94, -94, -94, 123, - -94, -94, 122, -94, -94, 136, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, 67, -94, - -94, -94, -94, 70, 82, -94, -94, -94, -94, -94, - -94, -49, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -22, -94, - -17, -94, -11, -94, -2, -94, -94, -94, -94, -94, - -94, -94, -94, -94 + -77, -77, -77, 292, -77, -77, -77, -77, -77, -77, + 67, 68, -7, 11, -77, -77, -77, -77, -77, 125, + -77, -77, 144, -77, -77, 140, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, 71, -77, -77, -77, -77, 78, 80, + -77, -77, -77, -77, -77, -77, -35, -77, -77, -77, + -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, 75, -77, -2, -77, 1, -77, 2, + -77, -77, -77, -77, -77, -77, -77, -77, -77 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1028,121 +1049,125 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -1 static const yytype_uint16 yytable[] = { - 211, 212, 236, 16, 237, 195, 17, 211, 212, 213, - 214, 238, 18, 196, 215, 216, 213, 214, 28, 19, - 348, 215, 216, 132, 348, 77, 20, 29, 236, 349, - 237, 353, 142, 349, 201, 202, 203, 238, 128, 129, - 217, 145, 239, 106, 133, 84, 218, 217, 240, 143, - 165, 166, 21, 218, 151, 152, 147, 224, 146, 225, - 353, 204, 219, 220, 241, 242, 226, 116, 239, 219, - 220, 140, 141, 148, 240, 155, 156, 224, 117, 225, - 153, 243, 244, 320, 311, 107, 226, 108, 130, 245, - 241, 242, 321, 197, 221, 118, 246, 227, 135, 136, - 167, 265, 354, 228, 355, 121, 122, 243, 244, 73, - 159, 160, 30, 119, 350, 245, 125, 227, 352, 229, - 230, 109, 288, 228, 120, 36, 37, 76, 77, 38, - 124, 354, 78, 357, 79, 126, 231, 232, 39, 229, - 230, 201, 202, 203, 127, 40, 137, 41, 84, 162, - 163, 233, 123, 138, 42, 131, 231, 232, 43, 201, - 202, 203, 77, 72, 170, 171, 73, 154, 327, 206, - 207, 277, 308, 257, 258, 74, 309, 255, 256, 75, - 44, 208, 84, 310, 76, 77, 328, 45, 46, 78, - 134, 79, 80, 81, 144, 300, 164, 47, 82, 48, - 49, 139, 83, 50, 149, 84, 51, 150, 32, 1, - 33, 158, 34, 303, 313, 322, 52, 85, 2, 86, - 3, 311, 259, 260, 4, 5, 6, 183, 161, 312, - 168, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 304, 314, 323, 261, 262, 272, 273, 281, 282, 364, - 292, 293, 87, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 338, 339, 340, 341, 358, 174, 176, 178, - 180, 181, 182, 199, 200, 251, 253, 263, 254, 264, - 266, 267, 268, 269, 329, 366, 22, 270, 271, 278, - 275, 274, 276, 301, 302, 280, 279, 210, 223, 286, - 284, 283, 285, 287, 289, 294, 291, 290, 361, 295, - 365, 296, 297, 298, 235, 345, 299, 326, 306, 343, - 330, 331, 332, 333, 334, 335, 336, 337, 362, 363, - 307, 0, 347 + 215, 216, 240, 28, 241, 199, 144, 215, 216, 217, + 218, 242, 29, 200, 219, 220, 217, 218, 153, 154, + 73, 219, 220, 16, 365, 134, 145, 365, 240, 108, + 241, 17, 228, 366, 229, 147, 366, 242, 76, 77, + 221, 230, 243, 78, 155, 79, 222, 221, 244, 135, + 18, 337, 338, 222, 32, 148, 33, 370, 34, 84, + 19, 371, 223, 224, 245, 246, 173, 174, 243, 223, + 224, 109, 231, 110, 244, 130, 131, 228, 232, 229, + 370, 247, 248, 77, 371, 20, 230, 137, 138, 249, + 245, 246, 168, 169, 233, 234, 201, 225, 21, 250, + 30, 123, 124, 84, 273, 339, 77, 247, 248, 308, + 111, 235, 236, 149, 118, 249, 316, 231, 165, 166, + 317, 367, 119, 232, 369, 296, 84, 318, 132, 237, + 36, 37, 120, 150, 38, 372, 121, 373, 139, 233, + 234, 328, 319, 39, 362, 170, 363, 210, 211, 122, + 40, 125, 41, 329, 265, 266, 235, 236, 372, 42, + 375, 72, 212, 43, 73, 319, 142, 143, 167, 205, + 206, 207, 126, 74, 285, 127, 320, 75, 128, 205, + 206, 207, 76, 77, 129, 44, 133, 78, 136, 79, + 80, 81, 45, 46, 157, 158, 82, 161, 162, 208, + 83, 140, 47, 84, 48, 49, 267, 268, 50, 340, + 1, 51, 205, 206, 207, 85, 141, 86, 146, 2, + 156, 3, 257, 258, 52, 4, 5, 6, 186, 255, + 259, 151, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 152, 341, 160, 87, 311, 321, 330, 269, 270, + 382, 280, 281, 88, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 312, 322, 331, 289, 290, 300, 301, + 335, 336, 351, 352, 353, 354, 164, 163, 263, 264, + 171, 177, 179, 384, 181, 183, 184, 185, 203, 204, + 261, 271, 262, 272, 274, 275, 282, 276, 277, 376, + 22, 278, 214, 279, 283, 284, 286, 287, 288, 294, + 379, 291, 292, 293, 295, 298, 297, 342, 299, 309, + 310, 239, 305, 227, 302, 334, 303, 304, 306, 307, + 314, 343, 315, 380, 344, 345, 346, 347, 348, 349, + 350, 381, 383, 359, 357, 0, 0, 0, 0, 361 }; static const yytype_int16 yycheck[] = { - 3, 4, 3, 96, 5, 9, 96, 3, 4, 12, - 13, 12, 96, 17, 17, 18, 12, 13, 3, 96, - 3, 17, 18, 75, 3, 30, 96, 12, 3, 12, - 5, 24, 79, 12, 70, 71, 72, 12, 45, 46, - 43, 79, 43, 19, 96, 50, 49, 43, 49, 96, - 45, 46, 0, 49, 41, 42, 79, 3, 96, 5, - 24, 97, 65, 66, 65, 66, 12, 91, 43, 65, - 66, 45, 46, 96, 49, 45, 46, 3, 91, 5, - 67, 82, 83, 88, 89, 61, 12, 63, 95, 90, - 65, 66, 97, 97, 97, 93, 97, 43, 45, 46, - 95, 97, 95, 49, 97, 45, 46, 82, 83, 11, - 45, 46, 97, 93, 97, 90, 93, 43, 97, 65, - 66, 97, 97, 49, 96, 6, 7, 29, 30, 10, - 92, 95, 34, 97, 36, 93, 82, 83, 19, 65, - 66, 70, 71, 72, 95, 26, 93, 28, 50, 45, - 46, 97, 92, 94, 35, 93, 82, 83, 39, 70, - 71, 72, 30, 8, 76, 77, 11, 91, 97, 85, - 86, 97, 40, 73, 74, 20, 44, 199, 200, 24, - 61, 97, 50, 51, 29, 30, 97, 68, 69, 34, - 93, 36, 37, 38, 93, 97, 92, 78, 43, 80, - 81, 96, 47, 84, 93, 50, 87, 93, 93, 16, - 95, 93, 97, 248, 249, 250, 97, 62, 25, 64, - 27, 89, 73, 74, 31, 32, 33, 48, 93, 97, - 93, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 248, 249, 250, 73, 74, 45, 46, 45, 46, 48, - 45, 46, 97, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 45, 46, 45, 46, 97, 96, 96, 96, - 96, 96, 96, 96, 96, 95, 92, 95, 93, 93, - 91, 91, 91, 91, 96, 24, 8, 93, 93, 91, - 93, 95, 93, 248, 248, 91, 93, 174, 176, 91, - 93, 95, 93, 91, 91, 95, 91, 93, 97, 93, - 359, 93, 91, 91, 178, 332, 93, 250, 248, 330, - 96, 96, 96, 96, 96, 93, 93, 93, 91, 91, - 248, -1, 334 + 3, 4, 3, 3, 5, 9, 79, 3, 4, 12, + 13, 12, 12, 17, 17, 18, 12, 13, 41, 42, + 11, 17, 18, 99, 3, 75, 99, 3, 3, 19, + 5, 99, 3, 12, 5, 79, 12, 12, 29, 30, + 43, 12, 43, 34, 67, 36, 49, 43, 49, 99, + 99, 45, 46, 49, 96, 99, 98, 20, 100, 50, + 99, 24, 65, 66, 65, 66, 76, 77, 43, 65, + 66, 61, 43, 63, 49, 45, 46, 3, 49, 5, + 20, 82, 83, 30, 24, 99, 12, 45, 46, 90, + 65, 66, 45, 46, 65, 66, 100, 100, 0, 100, + 100, 45, 46, 50, 100, 99, 30, 82, 83, 100, + 100, 82, 83, 79, 94, 90, 40, 43, 45, 46, + 44, 100, 94, 49, 100, 100, 50, 51, 98, 100, + 6, 7, 96, 99, 10, 98, 96, 100, 96, 65, + 66, 88, 89, 19, 98, 98, 100, 85, 86, 99, + 26, 95, 28, 100, 73, 74, 82, 83, 98, 35, + 100, 8, 100, 39, 11, 89, 45, 46, 95, 70, + 71, 72, 95, 20, 100, 96, 100, 24, 96, 70, + 71, 72, 29, 30, 98, 61, 96, 34, 96, 36, + 37, 38, 68, 69, 45, 46, 43, 45, 46, 100, + 47, 97, 78, 50, 80, 81, 73, 74, 84, 100, + 16, 87, 70, 71, 72, 62, 99, 64, 96, 25, + 94, 27, 92, 93, 100, 31, 32, 33, 48, 98, + 100, 96, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 96, 100, 96, 91, 252, 253, 254, 73, 74, + 48, 45, 46, 100, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 252, 253, 254, 45, 46, 45, 46, + 45, 46, 45, 46, 45, 46, 99, 96, 203, 204, + 96, 99, 99, 24, 99, 99, 99, 99, 99, 99, + 95, 98, 96, 96, 94, 94, 98, 94, 94, 100, + 8, 96, 177, 96, 96, 96, 94, 96, 94, 94, + 100, 98, 96, 96, 94, 96, 94, 99, 94, 252, + 252, 181, 94, 179, 98, 254, 96, 96, 94, 96, + 252, 99, 252, 94, 99, 99, 99, 99, 96, 96, + 96, 94, 377, 345, 343, -1, -1, -1, -1, 347 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 16, 25, 27, 31, 32, 33, 99, 100, 101, - 107, 113, 130, 133, 161, 184, 96, 96, 96, 96, - 96, 0, 101, 114, 131, 162, 134, 185, 3, 12, - 97, 115, 93, 95, 97, 132, 6, 7, 10, 19, + 0, 16, 25, 27, 31, 32, 33, 102, 103, 104, + 110, 116, 133, 136, 169, 192, 99, 99, 99, 99, + 99, 0, 104, 117, 134, 170, 137, 193, 3, 12, + 100, 118, 96, 98, 100, 135, 6, 7, 10, 19, 26, 28, 35, 39, 61, 68, 69, 78, 80, 81, - 84, 87, 97, 102, 103, 104, 105, 106, 125, 126, - 127, 163, 164, 165, 166, 167, 168, 169, 172, 173, - 174, 175, 8, 11, 20, 24, 29, 30, 34, 36, - 37, 38, 43, 47, 50, 62, 64, 97, 108, 109, - 110, 111, 112, 116, 119, 122, 135, 136, 137, 138, - 150, 151, 152, 153, 154, 160, 19, 61, 63, 97, - 186, 187, 188, 189, 190, 191, 91, 91, 93, 93, - 96, 45, 46, 92, 92, 93, 93, 95, 45, 46, - 95, 93, 75, 96, 93, 45, 46, 93, 94, 96, - 45, 46, 79, 96, 93, 79, 96, 79, 96, 93, - 93, 41, 42, 67, 91, 45, 46, 155, 93, 45, - 46, 93, 45, 46, 92, 45, 46, 95, 93, 128, - 76, 77, 176, 170, 96, 117, 96, 120, 96, 123, - 96, 96, 96, 48, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 157, 159, 9, 17, 97, 129, 96, - 96, 70, 71, 72, 97, 177, 85, 86, 97, 171, - 117, 3, 4, 12, 13, 17, 18, 43, 49, 65, - 66, 97, 118, 120, 3, 5, 12, 43, 49, 65, - 66, 82, 83, 97, 121, 123, 3, 5, 12, 43, - 49, 65, 66, 82, 83, 90, 97, 124, 139, 141, - 143, 95, 156, 92, 93, 176, 176, 73, 74, 73, - 74, 73, 74, 95, 93, 97, 91, 91, 91, 91, - 93, 93, 45, 46, 95, 93, 93, 97, 91, 93, - 91, 45, 46, 95, 93, 93, 91, 91, 97, 91, - 93, 91, 45, 46, 95, 93, 93, 91, 91, 93, - 97, 108, 109, 110, 111, 140, 151, 152, 40, 44, - 51, 89, 97, 110, 111, 142, 146, 147, 148, 149, - 88, 97, 110, 111, 144, 145, 146, 97, 97, 96, - 96, 96, 96, 96, 96, 93, 93, 93, 45, 46, - 45, 46, 180, 180, 178, 178, 182, 182, 3, 12, - 97, 181, 97, 24, 95, 97, 179, 97, 97, 158, - 183, 97, 91, 91, 48, 159, 24 + 84, 87, 100, 105, 106, 107, 108, 109, 128, 129, + 130, 171, 172, 173, 174, 175, 176, 177, 180, 181, + 182, 183, 8, 11, 20, 24, 29, 30, 34, 36, + 37, 38, 43, 47, 50, 62, 64, 91, 100, 111, + 112, 113, 114, 115, 119, 122, 125, 138, 139, 144, + 145, 146, 158, 159, 160, 161, 162, 168, 19, 61, + 63, 100, 194, 195, 196, 197, 198, 199, 94, 94, + 96, 96, 99, 45, 46, 95, 95, 96, 96, 98, + 45, 46, 98, 96, 75, 99, 96, 45, 46, 96, + 97, 99, 45, 46, 79, 99, 96, 79, 99, 79, + 99, 96, 96, 41, 42, 67, 94, 45, 46, 163, + 96, 45, 46, 96, 99, 45, 46, 95, 45, 46, + 98, 96, 131, 76, 77, 184, 178, 99, 120, 99, + 123, 99, 126, 99, 99, 99, 48, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 165, 167, 140, 9, + 17, 100, 132, 99, 99, 70, 71, 72, 100, 185, + 85, 86, 100, 179, 120, 3, 4, 12, 13, 17, + 18, 43, 49, 65, 66, 100, 121, 123, 3, 5, + 12, 43, 49, 65, 66, 82, 83, 100, 124, 126, + 3, 5, 12, 43, 49, 65, 66, 82, 83, 90, + 100, 127, 147, 149, 151, 98, 164, 92, 93, 100, + 141, 95, 96, 184, 184, 73, 74, 73, 74, 73, + 74, 98, 96, 100, 94, 94, 94, 94, 96, 96, + 45, 46, 98, 96, 96, 100, 94, 96, 94, 45, + 46, 98, 96, 96, 94, 94, 100, 94, 96, 94, + 45, 46, 98, 96, 96, 94, 94, 96, 100, 111, + 112, 113, 114, 148, 159, 160, 40, 44, 51, 89, + 100, 113, 114, 150, 154, 155, 156, 157, 88, 100, + 113, 114, 152, 153, 154, 45, 46, 45, 46, 99, + 100, 100, 99, 99, 99, 99, 99, 99, 96, 96, + 96, 45, 46, 45, 46, 142, 188, 188, 186, 186, + 190, 190, 98, 100, 143, 3, 12, 100, 189, 100, + 20, 24, 98, 100, 187, 100, 100, 166, 191, 100, + 94, 94, 48, 167, 24 }; #define yyerrok (yyerrstatus = 0) @@ -1956,7 +1981,7 @@ yyreduce: case 12: /* Line 1455 of yacc.c */ -#line 101 "read_config_yy.y" +#line 102 "read_config_yy.y" { strncpy(conf.logfile, DEFAULT_LOGFILE, FILENAME_MAXLEN); } @@ -1965,7 +1990,7 @@ yyreduce: case 13: /* Line 1455 of yacc.c */ -#line 106 "read_config_yy.y" +#line 107 "read_config_yy.y" { } break; @@ -1973,7 +1998,7 @@ yyreduce: case 14: /* Line 1455 of yacc.c */ -#line 110 "read_config_yy.y" +#line 111 "read_config_yy.y" { strncpy(conf.logfile, (yyvsp[(2) - (2)].string), FILENAME_MAXLEN); } @@ -1982,7 +2007,7 @@ yyreduce: case 15: /* Line 1455 of yacc.c */ -#line 115 "read_config_yy.y" +#line 116 "read_config_yy.y" { conf.syslog_facility = DEFAULT_SYSLOG_FACILITY; } @@ -1991,7 +2016,7 @@ yyreduce: case 16: /* Line 1455 of yacc.c */ -#line 120 "read_config_yy.y" +#line 121 "read_config_yy.y" { conf.syslog_facility = -1; } @@ -2000,7 +2025,7 @@ yyreduce: case 17: /* Line 1455 of yacc.c */ -#line 125 "read_config_yy.y" +#line 126 "read_config_yy.y" { if (!strcmp((yyvsp[(2) - (2)].string), "daemon")) conf.syslog_facility = LOG_DAEMON; @@ -2036,7 +2061,7 @@ yyreduce: case 18: /* Line 1455 of yacc.c */ -#line 157 "read_config_yy.y" +#line 158 "read_config_yy.y" { strncpy(conf.lockfile, (yyvsp[(2) - (2)].string), FILENAME_MAXLEN); } @@ -2045,7 +2070,7 @@ yyreduce: case 19: /* Line 1455 of yacc.c */ -#line 162 "read_config_yy.y" +#line 163 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`StripNAT' clause is obsolete, ignoring"); } @@ -2054,7 +2079,7 @@ yyreduce: case 20: /* Line 1455 of yacc.c */ -#line 167 "read_config_yy.y" +#line 168 "read_config_yy.y" { conf.refresh = (yyvsp[(2) - (2)].val); } @@ -2063,7 +2088,7 @@ yyreduce: case 21: /* Line 1455 of yacc.c */ -#line 172 "read_config_yy.y" +#line 173 "read_config_yy.y" { conf.cache_timeout = (yyvsp[(2) - (2)].val); } @@ -2072,7 +2097,7 @@ yyreduce: case 22: /* Line 1455 of yacc.c */ -#line 177 "read_config_yy.y" +#line 178 "read_config_yy.y" { conf.commit_timeout = (yyvsp[(2) - (2)].val); } @@ -2081,7 +2106,7 @@ yyreduce: case 23: /* Line 1455 of yacc.c */ -#line 182 "read_config_yy.y" +#line 183 "read_config_yy.y" { conf.purge_timeout = (yyvsp[(2) - (2)].val); } @@ -2090,7 +2115,7 @@ yyreduce: case 24: /* Line 1455 of yacc.c */ -#line 187 "read_config_yy.y" +#line 188 "read_config_yy.y" { print_err(CTD_CFG_WARN, "the use of `Checksum' outside the " "`Multicast' clause is ambiguous"); @@ -2105,7 +2130,7 @@ yyreduce: case 25: /* Line 1455 of yacc.c */ -#line 198 "read_config_yy.y" +#line 199 "read_config_yy.y" { print_err(CTD_CFG_WARN, "the use of `Checksum' outside the " "`Multicast' clause is ambiguous"); @@ -2120,7 +2145,7 @@ yyreduce: case 26: /* Line 1455 of yacc.c */ -#line 209 "read_config_yy.y" +#line 210 "read_config_yy.y" { ct_filter_set_logic(STATE(us_filter), CT_FILTER_ADDRESS, @@ -2134,7 +2159,7 @@ yyreduce: case 29: /* Line 1455 of yacc.c */ -#line 222 "read_config_yy.y" +#line 223 "read_config_yy.y" { union inet_address ip; @@ -2160,7 +2185,7 @@ yyreduce: case 30: /* Line 1455 of yacc.c */ -#line 244 "read_config_yy.y" +#line 245 "read_config_yy.y" { union inet_address ip; @@ -2190,7 +2215,7 @@ yyreduce: case 31: /* Line 1455 of yacc.c */ -#line 270 "read_config_yy.y" +#line 271 "read_config_yy.y" { if (conf.channel_type_global != CHANNEL_NONE && conf.channel_type_global != CHANNEL_MCAST) { @@ -2208,7 +2233,7 @@ yyreduce: case 32: /* Line 1455 of yacc.c */ -#line 284 "read_config_yy.y" +#line 285 "read_config_yy.y" { if (conf.channel_type_global != CHANNEL_NONE && conf.channel_type_global != CHANNEL_MCAST) { @@ -2228,7 +2253,7 @@ yyreduce: case 35: /* Line 1455 of yacc.c */ -#line 303 "read_config_yy.y" +#line 304 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2251,7 +2276,7 @@ yyreduce: case 36: /* Line 1455 of yacc.c */ -#line 322 "read_config_yy.y" +#line 323 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2295,7 +2320,7 @@ yyreduce: case 37: /* Line 1455 of yacc.c */ -#line 362 "read_config_yy.y" +#line 363 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2318,7 +2343,7 @@ yyreduce: case 38: /* Line 1455 of yacc.c */ -#line 381 "read_config_yy.y" +#line 382 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`IPv6_interface' not required, ignoring"); } @@ -2327,7 +2352,7 @@ yyreduce: case 39: /* Line 1455 of yacc.c */ -#line 386 "read_config_yy.y" +#line 387 "read_config_yy.y" { unsigned int idx; @@ -2351,7 +2376,7 @@ yyreduce: case 40: /* Line 1455 of yacc.c */ -#line 406 "read_config_yy.y" +#line 407 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`Backlog' option inside Multicast clause is " "obsolete. Please, remove it from " @@ -2362,7 +2387,7 @@ yyreduce: case 41: /* Line 1455 of yacc.c */ -#line 413 "read_config_yy.y" +#line 414 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.mcast.port = (yyvsp[(2) - (2)].val); @@ -2372,7 +2397,7 @@ yyreduce: case 42: /* Line 1455 of yacc.c */ -#line 419 "read_config_yy.y" +#line 420 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.mcast.sndbuf = (yyvsp[(2) - (2)].val); @@ -2382,7 +2407,7 @@ yyreduce: case 43: /* Line 1455 of yacc.c */ -#line 425 "read_config_yy.y" +#line 426 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.mcast.rcvbuf = (yyvsp[(2) - (2)].val); @@ -2392,7 +2417,7 @@ yyreduce: case 44: /* Line 1455 of yacc.c */ -#line 431 "read_config_yy.y" +#line 432 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.mcast.checksum = 0; @@ -2402,7 +2427,7 @@ yyreduce: case 45: /* Line 1455 of yacc.c */ -#line 437 "read_config_yy.y" +#line 438 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.mcast.checksum = 1; @@ -2412,7 +2437,7 @@ yyreduce: case 46: /* Line 1455 of yacc.c */ -#line 443 "read_config_yy.y" +#line 444 "read_config_yy.y" { if (conf.channel_type_global != CHANNEL_NONE && conf.channel_type_global != CHANNEL_UDP) { @@ -2430,7 +2455,7 @@ yyreduce: case 47: /* Line 1455 of yacc.c */ -#line 457 "read_config_yy.y" +#line 458 "read_config_yy.y" { if (conf.channel_type_global != CHANNEL_NONE && conf.channel_type_global != CHANNEL_UDP) { @@ -2450,7 +2475,7 @@ yyreduce: case 50: /* Line 1455 of yacc.c */ -#line 476 "read_config_yy.y" +#line 477 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2465,7 +2490,7 @@ yyreduce: case 51: /* Line 1455 of yacc.c */ -#line 487 "read_config_yy.y" +#line 488 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2486,7 +2511,7 @@ yyreduce: case 52: /* Line 1455 of yacc.c */ -#line 504 "read_config_yy.y" +#line 505 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2501,7 +2526,7 @@ yyreduce: case 53: /* Line 1455 of yacc.c */ -#line 515 "read_config_yy.y" +#line 516 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2522,7 +2547,7 @@ yyreduce: case 54: /* Line 1455 of yacc.c */ -#line 532 "read_config_yy.y" +#line 533 "read_config_yy.y" { int idx; @@ -2541,7 +2566,7 @@ yyreduce: case 55: /* Line 1455 of yacc.c */ -#line 547 "read_config_yy.y" +#line 548 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.udp.port = (yyvsp[(2) - (2)].val); @@ -2551,7 +2576,7 @@ yyreduce: case 56: /* Line 1455 of yacc.c */ -#line 553 "read_config_yy.y" +#line 554 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.udp.sndbuf = (yyvsp[(2) - (2)].val); @@ -2561,7 +2586,7 @@ yyreduce: case 57: /* Line 1455 of yacc.c */ -#line 559 "read_config_yy.y" +#line 560 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.udp.rcvbuf = (yyvsp[(2) - (2)].val); @@ -2571,7 +2596,7 @@ yyreduce: case 58: /* Line 1455 of yacc.c */ -#line 565 "read_config_yy.y" +#line 566 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.udp.checksum = 0; @@ -2581,7 +2606,7 @@ yyreduce: case 59: /* Line 1455 of yacc.c */ -#line 571 "read_config_yy.y" +#line 572 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.udp.checksum = 1; @@ -2591,7 +2616,7 @@ yyreduce: case 60: /* Line 1455 of yacc.c */ -#line 577 "read_config_yy.y" +#line 578 "read_config_yy.y" { if (conf.channel_type_global != CHANNEL_NONE && conf.channel_type_global != CHANNEL_TCP) { @@ -2611,7 +2636,7 @@ yyreduce: case 61: /* Line 1455 of yacc.c */ -#line 593 "read_config_yy.y" +#line 594 "read_config_yy.y" { if (conf.channel_type_global != CHANNEL_NONE && conf.channel_type_global != CHANNEL_TCP) { @@ -2633,7 +2658,7 @@ yyreduce: case 64: /* Line 1455 of yacc.c */ -#line 614 "read_config_yy.y" +#line 615 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2648,7 +2673,7 @@ yyreduce: case 65: /* Line 1455 of yacc.c */ -#line 625 "read_config_yy.y" +#line 626 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2669,7 +2694,7 @@ yyreduce: case 66: /* Line 1455 of yacc.c */ -#line 642 "read_config_yy.y" +#line 643 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2684,7 +2709,7 @@ yyreduce: case 67: /* Line 1455 of yacc.c */ -#line 653 "read_config_yy.y" +#line 654 "read_config_yy.y" { __max_dedicated_links_reached(); @@ -2705,7 +2730,7 @@ yyreduce: case 68: /* Line 1455 of yacc.c */ -#line 670 "read_config_yy.y" +#line 671 "read_config_yy.y" { int idx; @@ -2724,7 +2749,7 @@ yyreduce: case 69: /* Line 1455 of yacc.c */ -#line 685 "read_config_yy.y" +#line 686 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.tcp.port = (yyvsp[(2) - (2)].val); @@ -2734,7 +2759,7 @@ yyreduce: case 70: /* Line 1455 of yacc.c */ -#line 691 "read_config_yy.y" +#line 692 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.tcp.sndbuf = (yyvsp[(2) - (2)].val); @@ -2744,7 +2769,7 @@ yyreduce: case 71: /* Line 1455 of yacc.c */ -#line 697 "read_config_yy.y" +#line 698 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.tcp.rcvbuf = (yyvsp[(2) - (2)].val); @@ -2754,7 +2779,7 @@ yyreduce: case 72: /* Line 1455 of yacc.c */ -#line 703 "read_config_yy.y" +#line 704 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.tcp.checksum = 0; @@ -2764,7 +2789,7 @@ yyreduce: case 73: /* Line 1455 of yacc.c */ -#line 709 "read_config_yy.y" +#line 710 "read_config_yy.y" { __max_dedicated_links_reached(); conf.channel[conf.channel_num].u.tcp.checksum = 1; @@ -2774,7 +2799,7 @@ yyreduce: case 74: /* Line 1455 of yacc.c */ -#line 715 "read_config_yy.y" +#line 716 "read_config_yy.y" { __max_dedicated_links_reached(); CONFIG(channelc).error_queue_length = (yyvsp[(2) - (2)].val); @@ -2784,7 +2809,7 @@ yyreduce: case 75: /* Line 1455 of yacc.c */ -#line 721 "read_config_yy.y" +#line 722 "read_config_yy.y" { conf.hashsize = (yyvsp[(2) - (2)].val); } @@ -2793,7 +2818,7 @@ yyreduce: case 76: /* Line 1455 of yacc.c */ -#line 726 "read_config_yy.y" +#line 727 "read_config_yy.y" { conf.limit = (yyvsp[(2) - (2)].val); } @@ -2802,7 +2827,7 @@ yyreduce: case 80: /* Line 1455 of yacc.c */ -#line 737 "read_config_yy.y" +#line 738 "read_config_yy.y" { strcpy(conf.local.path, (yyvsp[(2) - (2)].string)); } @@ -2811,7 +2836,7 @@ yyreduce: case 81: /* Line 1455 of yacc.c */ -#line 742 "read_config_yy.y" +#line 743 "read_config_yy.y" { conf.local.backlog = (yyvsp[(2) - (2)].val); } @@ -2820,7 +2845,7 @@ yyreduce: case 82: /* Line 1455 of yacc.c */ -#line 747 "read_config_yy.y" +#line 748 "read_config_yy.y" { ct_filter_set_logic(STATE(us_filter), CT_FILTER_L4PROTO, @@ -2834,7 +2859,7 @@ yyreduce: case 85: /* Line 1455 of yacc.c */ -#line 761 "read_config_yy.y" +#line 762 "read_config_yy.y" { if ((yyvsp[(1) - (1)].val) < IPPROTO_MAX) ct_filter_add_proto(STATE(us_filter), (yyvsp[(1) - (1)].val)); @@ -2846,7 +2871,7 @@ yyreduce: case 86: /* Line 1455 of yacc.c */ -#line 769 "read_config_yy.y" +#line 770 "read_config_yy.y" { struct protoent *pent; @@ -2863,7 +2888,7 @@ yyreduce: case 87: /* Line 1455 of yacc.c */ -#line 782 "read_config_yy.y" +#line 783 "read_config_yy.y" { if (conf.flags & CTD_STATS_MODE) { print_err(CTD_CFG_ERROR, "cannot use both `Stats' and `Sync' " @@ -2874,139 +2899,210 @@ yyreduce: } break; - case 107: + case 111: /* Line 1455 of yacc.c */ -#line 814 "read_config_yy.y" +#line 822 "read_config_yy.y" + { + CONFIG(sync).tcp_window_tracking = 1; +} + break; + + case 112: + +/* Line 1455 of yacc.c */ +#line 827 "read_config_yy.y" + { + CONFIG(sync).tcp_window_tracking = 0; +} + break; + + case 113: + +/* Line 1455 of yacc.c */ +#line 832 "read_config_yy.y" + { + CONFIG(flags) |= CTD_EXPECT; + CONFIG(netlink).subsys_id = NFNL_SUBSYS_NONE; + CONFIG(netlink).groups = NF_NETLINK_CONNTRACK_NEW | + NF_NETLINK_CONNTRACK_UPDATE | + NF_NETLINK_CONNTRACK_DESTROY | + NF_NETLINK_CONNTRACK_EXP_NEW | + NF_NETLINK_CONNTRACK_EXP_UPDATE | + NF_NETLINK_CONNTRACK_EXP_DESTROY; +} + break; + + case 114: + +/* Line 1455 of yacc.c */ +#line 844 "read_config_yy.y" + { + CONFIG(netlink).subsys_id = NFNL_SUBSYS_CTNETLINK; + CONFIG(netlink).groups = NF_NETLINK_CONNTRACK_NEW | + NF_NETLINK_CONNTRACK_UPDATE | + NF_NETLINK_CONNTRACK_DESTROY; +} + break; + + case 115: + +/* Line 1455 of yacc.c */ +#line 852 "read_config_yy.y" + { + CONFIG(flags) |= CTD_EXPECT; + CONFIG(netlink).subsys_id = NFNL_SUBSYS_NONE; + CONFIG(netlink).groups = NF_NETLINK_CONNTRACK_NEW | + NF_NETLINK_CONNTRACK_UPDATE | + NF_NETLINK_CONNTRACK_DESTROY | + NF_NETLINK_CONNTRACK_EXP_NEW | + NF_NETLINK_CONNTRACK_EXP_UPDATE | + NF_NETLINK_CONNTRACK_EXP_DESTROY; +} + break; + + case 118: + +/* Line 1455 of yacc.c */ +#line 867 "read_config_yy.y" + { + exp_filter_add(STATE(exp_filter), (yyvsp[(1) - (1)].string)); +} + break; + + case 119: + +/* Line 1455 of yacc.c */ +#line 872 "read_config_yy.y" { conf.flags |= CTD_SYNC_ALARM; } break; - case 108: + case 120: /* Line 1455 of yacc.c */ -#line 819 "read_config_yy.y" +#line 877 "read_config_yy.y" { conf.flags |= CTD_SYNC_FTFW; } break; - case 109: + case 121: /* Line 1455 of yacc.c */ -#line 824 "read_config_yy.y" +#line 882 "read_config_yy.y" { conf.flags |= CTD_SYNC_NOTRACK; } break; - case 132: + case 144: /* Line 1455 of yacc.c */ -#line 860 "read_config_yy.y" +#line 918 "read_config_yy.y" { conf.sync.internal_cache_disable = 1; } break; - case 133: + case 145: /* Line 1455 of yacc.c */ -#line 865 "read_config_yy.y" +#line 923 "read_config_yy.y" { conf.sync.internal_cache_disable = 0; } break; - case 134: + case 146: /* Line 1455 of yacc.c */ -#line 870 "read_config_yy.y" +#line 928 "read_config_yy.y" { conf.sync.external_cache_disable = 1; } break; - case 135: + case 147: /* Line 1455 of yacc.c */ -#line 875 "read_config_yy.y" +#line 933 "read_config_yy.y" { conf.sync.external_cache_disable = 0; } break; - case 136: + case 148: /* Line 1455 of yacc.c */ -#line 880 "read_config_yy.y" +#line 938 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`ResendBufferSize' is deprecated. " "Use `ResendQueueSize' instead"); } break; - case 137: + case 149: /* Line 1455 of yacc.c */ -#line 886 "read_config_yy.y" +#line 944 "read_config_yy.y" { conf.resend_queue_size = (yyvsp[(2) - (2)].val); } break; - case 138: + case 150: /* Line 1455 of yacc.c */ -#line 891 "read_config_yy.y" +#line 949 "read_config_yy.y" { conf.window_size = (yyvsp[(2) - (2)].val); } break; - case 139: + case 151: /* Line 1455 of yacc.c */ -#line 896 "read_config_yy.y" +#line 954 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`DestroyTimeout' is deprecated. Remove it"); } break; - case 140: + case 152: /* Line 1455 of yacc.c */ -#line 901 "read_config_yy.y" +#line 959 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`RelaxTransitions' clause is obsolete. " "Please, remove it from conntrackd.conf"); } break; - case 141: + case 153: /* Line 1455 of yacc.c */ -#line 907 "read_config_yy.y" +#line 965 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`DelayDestroyMessages' clause is obsolete. " "Please, remove it from conntrackd.conf"); } break; - case 142: + case 154: /* Line 1455 of yacc.c */ -#line 913 "read_config_yy.y" +#line 971 "read_config_yy.y" { print_err(CTD_CFG_WARN, "the clause `ListenTo' is obsolete, ignoring"); } break; - case 143: + case 155: /* Line 1455 of yacc.c */ -#line 918 "read_config_yy.y" +#line 976 "read_config_yy.y" { ct_filter_set_logic(STATE(us_filter), CT_FILTER_STATE, @@ -3017,10 +3113,10 @@ yyreduce: } break; - case 146: + case 158: /* Line 1455 of yacc.c */ -#line 931 "read_config_yy.y" +#line 989 "read_config_yy.y" { if (strncmp((yyvsp[(1) - (1)].string), "TCP", strlen("TCP")) != 0) { print_err(CTD_CFG_WARN, "unsupported protocol `%s' in line %d", @@ -3029,10 +3125,10 @@ yyreduce: } break; - case 150: + case 162: /* Line 1455 of yacc.c */ -#line 943 "read_config_yy.y" +#line 1001 "read_config_yy.y" { ct_filter_add_state(STATE(us_filter), IPPROTO_TCP, @@ -3042,10 +3138,10 @@ yyreduce: } break; - case 151: + case 163: /* Line 1455 of yacc.c */ -#line 951 "read_config_yy.y" +#line 1009 "read_config_yy.y" { ct_filter_add_state(STATE(us_filter), IPPROTO_TCP, @@ -3055,10 +3151,10 @@ yyreduce: } break; - case 152: + case 164: /* Line 1455 of yacc.c */ -#line 959 "read_config_yy.y" +#line 1017 "read_config_yy.y" { ct_filter_add_state(STATE(us_filter), IPPROTO_TCP, @@ -3068,10 +3164,10 @@ yyreduce: } break; - case 153: + case 165: /* Line 1455 of yacc.c */ -#line 967 "read_config_yy.y" +#line 1025 "read_config_yy.y" { ct_filter_add_state(STATE(us_filter), IPPROTO_TCP, @@ -3081,10 +3177,10 @@ yyreduce: } break; - case 154: + case 166: /* Line 1455 of yacc.c */ -#line 975 "read_config_yy.y" +#line 1033 "read_config_yy.y" { ct_filter_add_state(STATE(us_filter), IPPROTO_TCP, @@ -3094,10 +3190,10 @@ yyreduce: } break; - case 155: + case 167: /* Line 1455 of yacc.c */ -#line 983 "read_config_yy.y" +#line 1041 "read_config_yy.y" { ct_filter_add_state(STATE(us_filter), IPPROTO_TCP, @@ -3107,10 +3203,10 @@ yyreduce: } break; - case 156: + case 168: /* Line 1455 of yacc.c */ -#line 991 "read_config_yy.y" +#line 1049 "read_config_yy.y" { ct_filter_add_state(STATE(us_filter), IPPROTO_TCP, @@ -3120,10 +3216,10 @@ yyreduce: } break; - case 157: + case 169: /* Line 1455 of yacc.c */ -#line 999 "read_config_yy.y" +#line 1057 "read_config_yy.y" { ct_filter_add_state(STATE(us_filter), IPPROTO_TCP, @@ -3133,10 +3229,10 @@ yyreduce: } break; - case 158: + case 170: /* Line 1455 of yacc.c */ -#line 1007 "read_config_yy.y" +#line 1065 "read_config_yy.y" { ct_filter_add_state(STATE(us_filter), IPPROTO_TCP, @@ -3146,102 +3242,102 @@ yyreduce: } break; - case 159: + case 171: /* Line 1455 of yacc.c */ -#line 1016 "read_config_yy.y" +#line 1074 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`CacheWriteThrough' clause is obsolete, " "ignoring"); } break; - case 160: + case 172: /* Line 1455 of yacc.c */ -#line 1022 "read_config_yy.y" +#line 1080 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`CacheWriteThrough' clause is obsolete, " "ignoring"); } break; - case 182: + case 194: /* Line 1455 of yacc.c */ -#line 1054 "read_config_yy.y" +#line 1112 "read_config_yy.y" { conf.netlink_buffer_size = (yyvsp[(2) - (2)].val); } break; - case 183: + case 195: /* Line 1455 of yacc.c */ -#line 1059 "read_config_yy.y" +#line 1117 "read_config_yy.y" { conf.netlink_buffer_size_max_grown = (yyvsp[(2) - (2)].val); } break; - case 184: + case 196: /* Line 1455 of yacc.c */ -#line 1064 "read_config_yy.y" +#line 1122 "read_config_yy.y" { conf.nl_overrun_resync = 30; } break; - case 185: + case 197: /* Line 1455 of yacc.c */ -#line 1069 "read_config_yy.y" +#line 1127 "read_config_yy.y" { conf.nl_overrun_resync = -1; } break; - case 186: + case 198: /* Line 1455 of yacc.c */ -#line 1074 "read_config_yy.y" +#line 1132 "read_config_yy.y" { conf.nl_overrun_resync = (yyvsp[(2) - (2)].val); } break; - case 187: + case 199: /* Line 1455 of yacc.c */ -#line 1079 "read_config_yy.y" +#line 1137 "read_config_yy.y" { conf.netlink.events_reliable = 1; } break; - case 188: + case 200: /* Line 1455 of yacc.c */ -#line 1084 "read_config_yy.y" +#line 1142 "read_config_yy.y" { conf.netlink.events_reliable = 0; } break; - case 189: + case 201: /* Line 1455 of yacc.c */ -#line 1089 "read_config_yy.y" +#line 1147 "read_config_yy.y" { conf.nice = (yyvsp[(2) - (2)].val); } break; - case 193: + case 205: /* Line 1455 of yacc.c */ -#line 1100 "read_config_yy.y" +#line 1158 "read_config_yy.y" { if (strcasecmp((yyvsp[(2) - (2)].string), "rr") == 0) { conf.sched.type = SCHED_RR; @@ -3254,10 +3350,10 @@ yyreduce: } break; - case 194: + case 206: /* Line 1455 of yacc.c */ -#line 1112 "read_config_yy.y" +#line 1170 "read_config_yy.y" { conf.sched.prio = (yyvsp[(2) - (2)].val); if (conf.sched.prio < 0 || conf.sched.prio > 99) { @@ -3267,10 +3363,10 @@ yyreduce: } break; - case 195: + case 207: /* Line 1455 of yacc.c */ -#line 1121 "read_config_yy.y" +#line 1179 "read_config_yy.y" { if (strncmp((yyvsp[(2) - (2)].string), "IPv6", strlen("IPv6")) == 0) conf.family = AF_INET6; @@ -3279,19 +3375,19 @@ yyreduce: } break; - case 196: + case 208: /* Line 1455 of yacc.c */ -#line 1129 "read_config_yy.y" +#line 1187 "read_config_yy.y" { CONFIG(event_iterations_limit) = (yyvsp[(2) - (2)].val); } break; - case 197: + case 209: /* Line 1455 of yacc.c */ -#line 1134 "read_config_yy.y" +#line 1192 "read_config_yy.y" { conf.flags |= CTD_POLL; conf.poll_kernel_secs = (yyvsp[(2) - (2)].val); @@ -3302,37 +3398,37 @@ yyreduce: } break; - case 198: + case 210: /* Line 1455 of yacc.c */ -#line 1144 "read_config_yy.y" +#line 1202 "read_config_yy.y" { CONFIG(filter_from_kernelspace) = 0; } break; - case 199: + case 211: /* Line 1455 of yacc.c */ -#line 1149 "read_config_yy.y" +#line 1207 "read_config_yy.y" { CONFIG(filter_from_kernelspace) = 0; } break; - case 200: + case 212: /* Line 1455 of yacc.c */ -#line 1154 "read_config_yy.y" +#line 1212 "read_config_yy.y" { CONFIG(filter_from_kernelspace) = 1; } break; - case 203: + case 215: /* Line 1455 of yacc.c */ -#line 1162 "read_config_yy.y" +#line 1220 "read_config_yy.y" { ct_filter_set_logic(STATE(us_filter), CT_FILTER_L4PROTO, @@ -3342,10 +3438,10 @@ yyreduce: } break; - case 204: + case 216: /* Line 1455 of yacc.c */ -#line 1171 "read_config_yy.y" +#line 1229 "read_config_yy.y" { ct_filter_set_logic(STATE(us_filter), CT_FILTER_L4PROTO, @@ -3359,10 +3455,10 @@ yyreduce: } break; - case 207: + case 219: /* Line 1455 of yacc.c */ -#line 1187 "read_config_yy.y" +#line 1245 "read_config_yy.y" { struct protoent *pent; @@ -3382,10 +3478,10 @@ yyreduce: } break; - case 208: + case 220: /* Line 1455 of yacc.c */ -#line 1206 "read_config_yy.y" +#line 1264 "read_config_yy.y" { struct protoent *pent; @@ -3405,10 +3501,56 @@ yyreduce: } break; - case 209: + case 221: + +/* Line 1455 of yacc.c */ +#line 1283 "read_config_yy.y" + { + struct protoent *pent; + + pent = getprotobyname("udp"); + if (pent == NULL) { + print_err(CTD_CFG_WARN, "getprotobyname() cannot find " + "protocol `udp' in /etc/protocols"); + break; + } + ct_filter_add_proto(STATE(us_filter), pent->p_proto); + + __kernel_filter_start(); + + nfct_filter_add_attr_u32(STATE(filter), + NFCT_FILTER_L4PROTO, + pent->p_proto); +} + break; + + case 222: /* Line 1455 of yacc.c */ -#line 1225 "read_config_yy.y" +#line 1302 "read_config_yy.y" + { + struct protoent *pent; + + pent = getprotobyname("udp"); + if (pent == NULL) { + print_err(CTD_CFG_WARN, "getprotobyname() cannot find " + "protocol `udp' in /etc/protocols"); + break; + } + ct_filter_add_proto(STATE(us_filter), pent->p_proto); + + __kernel_filter_start(); + + nfct_filter_add_attr_u32(STATE(filter), + NFCT_FILTER_L4PROTO, + pent->p_proto); +} + break; + + case 223: + +/* Line 1455 of yacc.c */ +#line 1321 "read_config_yy.y" { ct_filter_set_logic(STATE(us_filter), CT_FILTER_ADDRESS, @@ -3418,10 +3560,10 @@ yyreduce: } break; - case 210: + case 224: /* Line 1455 of yacc.c */ -#line 1234 "read_config_yy.y" +#line 1330 "read_config_yy.y" { ct_filter_set_logic(STATE(us_filter), CT_FILTER_ADDRESS, @@ -3444,10 +3586,10 @@ yyreduce: } break; - case 213: + case 227: /* Line 1455 of yacc.c */ -#line 1259 "read_config_yy.y" +#line 1355 "read_config_yy.y" { union inet_address ip; char *slash; @@ -3507,10 +3649,10 @@ yyreduce: } break; - case 214: + case 228: /* Line 1455 of yacc.c */ -#line 1318 "read_config_yy.y" +#line 1414 "read_config_yy.y" { union inet_address ip; char *slash; @@ -3571,10 +3713,10 @@ yyreduce: } break; - case 215: + case 229: /* Line 1455 of yacc.c */ -#line 1378 "read_config_yy.y" +#line 1474 "read_config_yy.y" { ct_filter_set_logic(STATE(us_filter), CT_FILTER_STATE, @@ -3584,10 +3726,10 @@ yyreduce: } break; - case 216: + case 230: /* Line 1455 of yacc.c */ -#line 1387 "read_config_yy.y" +#line 1483 "read_config_yy.y" { ct_filter_set_logic(STATE(us_filter), CT_FILTER_STATE, @@ -3602,10 +3744,10 @@ yyreduce: } break; - case 220: + case 234: /* Line 1455 of yacc.c */ -#line 1406 "read_config_yy.y" +#line 1502 "read_config_yy.y" { if (conf.flags & CTD_SYNC_MODE) { print_err(CTD_CFG_ERROR, "cannot use both `Stats' and `Sync' " @@ -3616,54 +3758,54 @@ yyreduce: } break; - case 228: + case 242: /* Line 1455 of yacc.c */ -#line 1427 "read_config_yy.y" +#line 1523 "read_config_yy.y" { strncpy(conf.stats.logfile, DEFAULT_STATS_LOGFILE, FILENAME_MAXLEN); } break; - case 229: + case 243: /* Line 1455 of yacc.c */ -#line 1432 "read_config_yy.y" +#line 1528 "read_config_yy.y" { } break; - case 230: + case 244: /* Line 1455 of yacc.c */ -#line 1436 "read_config_yy.y" +#line 1532 "read_config_yy.y" { strncpy(conf.stats.logfile, (yyvsp[(2) - (2)].string), FILENAME_MAXLEN); } break; - case 231: + case 245: /* Line 1455 of yacc.c */ -#line 1441 "read_config_yy.y" +#line 1537 "read_config_yy.y" { conf.stats.syslog_facility = DEFAULT_SYSLOG_FACILITY; } break; - case 232: + case 246: /* Line 1455 of yacc.c */ -#line 1446 "read_config_yy.y" +#line 1542 "read_config_yy.y" { conf.stats.syslog_facility = -1; } break; - case 233: + case 247: /* Line 1455 of yacc.c */ -#line 1451 "read_config_yy.y" +#line 1547 "read_config_yy.y" { if (!strcmp((yyvsp[(2) - (2)].string), "daemon")) conf.stats.syslog_facility = LOG_DAEMON; @@ -3696,10 +3838,10 @@ yyreduce: } break; - case 234: + case 248: /* Line 1455 of yacc.c */ -#line 1483 "read_config_yy.y" +#line 1579 "read_config_yy.y" { print_err(CTD_CFG_WARN, "`LogFileBufferSize' is deprecated"); } @@ -3708,7 +3850,7 @@ yyreduce: /* Line 1455 of yacc.c */ -#line 3712 "read_config_yy.c" +#line 3854 "read_config_yy.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3920,7 +4062,7 @@ yyreturn: /* Line 1675 of yacc.c */ -#line 1487 "read_config_yy.y" +#line 1583 "read_config_yy.y" int __attribute__((noreturn)) @@ -3998,6 +4140,7 @@ init_config(char *filename) /* Zero may be a valid facility */ CONFIG(syslog_facility) = -1; CONFIG(stats).syslog_facility = -1; + CONFIG(netlink).subsys_id = -1; yyrestart(fp); yyparse(); @@ -4036,7 +4179,7 @@ init_config(char *filename) /* default number of bucket of the hashtable that are committed in one run loop. XXX: no option available to tune this value yet. */ if (CONFIG(general).commit_steps == 0) - CONFIG(general).commit_steps = 64; + CONFIG(general).commit_steps = 8192; /* if overrun, automatically resync with kernel after 30 seconds */ if (CONFIG(nl_overrun_resync) == 0) @@ -4046,6 +4189,13 @@ init_config(char *filename) if (CONFIG(channelc).error_queue_length == 0) CONFIG(channelc).error_queue_length = 128; + if (CONFIG(netlink).subsys_id == -1) { + CONFIG(netlink).subsys_id = NFNL_SUBSYS_CTNETLINK; + CONFIG(netlink).groups = NF_NETLINK_CONNTRACK_NEW | + NF_NETLINK_CONNTRACK_UPDATE | + NF_NETLINK_CONNTRACK_DESTROY; + } + return 0; } |