diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-01-09 14:47:04 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-01-10 11:03:27 +0100 |
commit | 0577772720a4ecb050a230f75346f90b246e93c8 (patch) | |
tree | a3fba8bb57e77c932e08dd0d4bbe49adb6312e5e /freebsd/sbin | |
parent | Update to FreeBSD head 2016-12-10 (diff) | |
download | rtems-libbsd-0577772720a4ecb050a230f75346f90b246e93c8.tar.bz2 |
Update to FreeBSD head 2017-01-09
Git mirror commit 1f8e4a995a6ede4bdb24e6d335ccda2bdb0175ab.
Diffstat (limited to 'freebsd/sbin')
-rw-r--r-- | freebsd/sbin/dhclient/dispatch.c | 8 | ||||
-rw-r--r-- | freebsd/sbin/pfctl/parse.c | 1594 | ||||
-rw-r--r-- | freebsd/sbin/pfctl/parse.y | 2 | ||||
-rw-r--r-- | freebsd/sbin/ping/ping.c | 7 | ||||
-rw-r--r-- | freebsd/sbin/route/keywords.h | 104 | ||||
-rw-r--r-- | freebsd/sbin/sysctl/sysctl.c | 2 |
6 files changed, 885 insertions, 832 deletions
diff --git a/freebsd/sbin/dhclient/dispatch.c b/freebsd/sbin/dhclient/dispatch.c index d37c9925..c0eee929 100644 --- a/freebsd/sbin/dhclient/dispatch.c +++ b/freebsd/sbin/dhclient/dispatch.c @@ -456,16 +456,12 @@ add_protocol(char *name, int fd, void (*handler)(struct protocol *), void remove_protocol(struct protocol *proto) { - struct protocol *p, *next, *prev; + struct protocol *p, *next; - prev = NULL; for (p = protocols; p; p = next) { next = p->next; if (p == proto) { - if (prev) - prev->next = p->next; - else - protocols = p->next; + protocols = p->next; free(p); } } diff --git a/freebsd/sbin/pfctl/parse.c b/freebsd/sbin/pfctl/parse.c index 1ae5fc95..c09d4ba4 100644 --- a/freebsd/sbin/pfctl/parse.c +++ b/freebsd/sbin/pfctl/parse.c @@ -438,6 +438,8 @@ void decide_address_family(struct node_host *, sa_family_t *); void remove_invalid_hosts(struct node_host **, sa_family_t *); int invalid_redirect(struct node_host *, sa_family_t); u_int16_t parseicmpspec(char *, sa_family_t); +int kw_casecmp(const void *, const void *); +int map_tos(char *string, int *); static TAILQ_HEAD(loadanchorshead, loadanchors) loadanchorshead = TAILQ_HEAD_INITIALIZER(loadanchorshead); @@ -530,7 +532,7 @@ int parseport(char *, struct range *r, int); (!((addr).iflags & PFI_AFLAG_NOALIAS) || \ !isdigit((addr).v.ifname[strlen((addr).v.ifname)-1]))) -#line 534 "pfctly.tab.c" +#line 536 "pfctly.tab.c" /* compatibility with bison */ #ifdef YYPARSE_PARAM @@ -892,149 +894,149 @@ static const YYINT pfctlydgoto[] = { 2, 124, 204, 266, 127, 268, 745, 586, 648, 531, 217, 278, 259, 171, 356, 358, 351, 536, 431, }; -static const YYINT pfctlysindex[] = { -28, - 0, 118, 1618, 94, 0, 604, 0, 57, -163, -158, - -158, -158, 1728, 392, -129, 213, -35, -49, 463, 0, - 680, -20, 213, -20, 519, 525, 538, 552, 569, 622, - 651, 664, 670, 678, 684, 691, 711, 714, 0, 716, - 424, 720, 726, 731, 749, 0, 0, 545, 650, 657, - 0, 0, 230, 0, -20, -158, 213, 213, 213, 386, - -93, -72, -226, -58, -230, 390, 403, 213, -107, -158, - 371, 1487, 754, 540, 486, 556, 0, 27, 0, 213, - -158, 428, 0, 326, 326, 326, 0, 0, 392, 579, - 392, 0, 0, 0, 0, 0, 0, 0, 0, 0, +static const YYINT pfctlysindex[] = { -48, + 0, 118, 1618, 71, 0, 604, 0, 35, -280, -218, + -218, -218, 1838, -9, -163, -21, -133, -49, 418, 0, + 680, 86, -21, 86, 504, 519, 525, 569, 580, 610, + 618, 634, 646, 651, 664, 670, 684, 711, 0, 714, + 424, 716, 755, 760, 764, 0, 0, 484, 508, 600, + 0, 0, 230, 0, 86, -218, -21, -21, -21, 313, + -93, -72, -226, -66, -230, 357, 375, -21, 428, -218, + 371, 1487, 738, 523, 471, 554, 0, 27, 0, -21, + -218, 475, 0, 21, 21, 21, 0, 0, -9, 633, + -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 516, 475, 532, 768, 601, 0, 579, 579, 579, 0, - 492, 496, 883, 0, 518, 883, 0, 0, 0, 0, + 516, 532, 535, 759, 565, 0, 633, 633, 633, 0, + 481, 492, 871, 0, 529, 871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 529, 0, 555, 559, - 489, 567, 577, 841, 0, 587, 0, 0, 931, 0, - 347, 0, 19, 579, 0, 883, 0, 0, 611, 655, - 1926, 0, 744, 0, 0, 0, 428, 540, 0, 0, - 0, 213, 213, 0, 0, 747, 213, 632, 0, 0, - 599, 0, 0, 997, 0, 0, 213, 747, 747, 747, - 0, 0, 883, -156, 0, 669, 0, 0, 0, 0, - 0, 0, 994, 689, 0, 0, 1487, -158, 0, 0, - 0, 603, 0, 0, 883, 611, 0, 0, 0, 1006, - 0, -57, 1022, 1024, 1028, 1035, 1050, 535, 707, 713, - 739, 0, 0, 1926, -57, -158, 0, 0, 579, 382, - -47, -187, 579, 1067, 0, 532, 0, 0, -81, 579, - -187, -187, -187, 0, 883, 13, 883, 49, 770, 1034, - 0, 0, 0, 347, 34, 1082, 0, -101, 67, 883, - 0, 883, 0, 0, 745, 0, 750, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 555, 0, 559, 567, + 558, 577, 587, 833, 0, 590, 0, 0, 857, 0, + 347, 0, 19, 633, 0, 871, 0, 0, 611, 655, + 1735, 0, 744, 0, 0, 0, 475, 523, 0, 0, + 0, -21, -21, 0, 0, 747, -21, 632, 0, 0, + 679, 0, 0, 988, 0, 0, -21, 747, 747, 747, + 0, 0, 871, -96, 0, 657, 0, 0, 0, 0, + 0, 0, 1006, 678, 0, 0, 1487, -218, 0, 0, + 0, 689, 0, 0, 871, 611, 0, 0, 0, 1031, + 0, -57, 1028, 1033, 1035, 1050, 1052, 550, 713, 775, + 776, 0, 0, 1735, -57, -218, 0, 0, 633, 382, + -47, -187, 633, 1067, 0, 535, 0, 0, -81, 633, + -187, -187, -187, 0, 871, 13, 871, 49, 782, 1034, + 0, 0, 0, 347, 34, 1088, 0, -97, 82, 871, + 0, 871, 0, 0, 789, 0, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 747, 0, - 39, 39, 39, 579, 0, 0, 883, 0, 0, 192, - 0, 758, 894, 747, 0, 1119, 777, 0, 883, 0, - -81, 747, 810, 810, 810, 0, 0, -156, 0, 0, - 669, 0, 801, 0, 82, 883, 0, 790, 791, 0, - 0, -101, 0, 1006, 0, 797, 0, 679, 0, 1134, - 349, 0, 724, 0, 1141, 483, 1142, -274, 922, 0, - 883, 807, 0, 0, 0, 0, 747, 541, 0, 83, - 883, 246, 0, 908, 0, 813, 1006, -45, 926, -187, - 0, 0, 28, 0, -187, 815, 0, 0, 0, 883, - 883, 834, 0, 0, 34, 0, 0, 0, 0, 883, - 86, 883, 0, 745, 0, -107, -107, 0, 931, 0, - 0, 750, 0, 24, 187, 214, 0, 931, 0, 0, - 224, 535, -107, 0, 931, 0, 190, 56, 190, 0, - 765, 0, 0, -187, 97, 883, 883, 0, 1143, 1144, - 1146, 428, 822, 0, 0, 0, 32, 0, 0, 575, - 1167, 838, 839, 0, 1171, 83, 0, 852, 810, 0, - 883, 0, 192, 0, 0, 0, 883, 108, 0, 0, - 0, 0, 0, 883, 0, 0, 797, 0, 0, 0, - 0, 349, 0, 535, 0, 535, 0, 535, 0, 483, - 535, 0, 0, 0, -274, 959, 883, 136, 1188, 0, - 0, -158, 0, 0, 0, 0, 765, 0, 0, 541, - 0, 61, 0, 0, 0, 0, 428, 137, 846, 847, - 848, 1193, 1176, 855, 0, -158, 953, 858, 0, 0, - 1405, 0, 0, 32, 1122, 4400, 0, 883, 0, 931, - 931, 931, 0, -107, 0, 32, 758, 0, 0, 56, - 0, 0, 0, 0, 0, 883, 155, 883, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 417, 0, 883, - 200, 0, 863, 595, 866, 868, 0, 869, 550, 879, - 0, 0, 1405, 883, 0, 0, 235, 361, 376, 972, - 975, 0, 976, 0, 135, 283, 550, 37, 978, 562, - 69, 877, 880, -158, 570, 0, 890, 0, 0, 0, - 0, 0, 0, 4400, 0, 0, 888, 892, 893, 535, - 0, 1006, 883, 0, 0, 61, 0, 883, 0, 984, - 0, 0, 0, 858, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -158, 0, 0, 1265, 0, 0, - 896, 1234, 0, 0, 883, 1007, 0, 0, 0, 883, - 1008, 0, 1249, 1249, 0, 0, 0, 883, 904, 630, - 0, 0, 0, 0, 883, 909, 642, 0, 0, 0, - -16, 934, 0, 0, 1249, 0, 0, 0, 0, 913, - 0, 0, 0, 1014, 0, 0, -158, 0, 931, 931, - 931, 1262, 810, 0, 883, 190, 428, 883, 0, 0, - 0, 896, 644, 659, 661, 665, 1487, 0, 0, 116, - 630, 0, 158, 642, 0, 0, 919, 0, 728, 0, - 734, 428, 0, 535, 535, 535, 0, 1017, 0, 883, - 363, 0, 0, 0, 654, 0, 385, 883, 0, 0, - 429, 883, 0, 0, 773, 452, 883, 0, 472, 883, - 0, 931, 0, 934, 0, 927, 0, 1269, 1271, 1272, - 190, 0, 0, 0, 190, 0, 0, 1296, 1304, 0, - 644, 0, 0, 661, 0, 0, 0, 116, 0, 0, - 158, 0, 930, 0, 1276, 0, 0, 0, 1037, 883, - 0, 0, 883, 883, 883, 883, 1277, 0, 428, 0, + 39, 39, 39, 633, 0, 0, 871, 0, 0, 192, + 0, 800, 914, 747, 0, 1140, 798, 0, 871, 0, + -81, 747, 826, 826, 826, 0, 0, -96, 0, 0, + 657, 0, 817, 0, 97, 871, 0, 807, 809, 0, + 0, -97, 0, 1031, 0, 808, 0, 731, 0, 1159, + 410, 0, 773, 0, 1160, 483, 1163, 352, 930, 0, + 871, 821, 0, 0, 0, 0, 747, 562, 0, 83, + 871, 246, 0, 923, 0, 824, 1031, -45, 946, -187, + 0, 0, 28, 0, -187, 837, 0, 0, 0, 871, + 871, 856, 0, 0, 34, 0, 0, 0, 0, 871, + 108, 871, 0, 789, 0, 428, 428, 0, 857, 0, + 0, 790, 0, 24, 187, 214, 0, 857, 0, 0, + 224, 550, 428, 0, 857, 0, 32, 56, 190, 0, + 765, 0, 0, -187, 136, 871, 871, 0, 1157, 1166, + 1168, 475, 840, 0, 0, 0, 32, 0, 0, 538, + 1183, 848, 849, 0, 1187, 83, 0, 864, 826, 0, + 871, 0, 192, 0, 0, 0, 871, 137, 0, 0, + 0, 0, 0, 871, 0, 0, 808, 0, 0, 0, + 0, 410, 0, 550, 0, 550, 0, 550, 0, 483, + 550, 0, 0, 0, 352, 972, 871, 155, 1200, 0, + 0, -218, 0, 0, 0, 0, 765, 0, 0, 562, + 0, 61, 0, 0, 0, 0, 475, 200, 858, 860, + 863, 1210, 1190, 868, 0, -218, 966, 874, 0, 0, + 1405, 0, 0, 32, 1132, 4400, 0, 871, 0, 857, + 857, 857, 0, 428, 0, 32, 800, 0, 0, 56, + 0, 0, 0, 0, 0, 871, 363, 871, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 417, 0, 871, + 385, 0, 876, 712, 877, 875, 0, 879, 570, 891, + 0, 0, 1405, 871, 0, 0, 235, 361, 376, 985, + 990, 0, 994, 0, 135, 283, 570, 37, 995, 575, + 69, 890, 895, -218, 595, 0, 907, 0, 0, 0, + 0, 0, 0, 4400, 0, 0, 902, 903, 904, 550, + 0, 1031, 871, 0, 0, 61, 0, 871, 0, 1011, + 0, 0, 0, 874, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -218, 0, 0, 1280, 0, 0, + 912, 1250, 0, 0, 871, 1018, 0, 0, 0, 871, + 1023, 0, 1264, 1264, 0, 0, 0, 871, 919, 630, + 0, 0, 0, 0, 871, 920, 659, 0, 0, 0, + -16, 948, 0, 0, 1264, 0, 0, 0, 0, 927, + 0, 0, 0, 1029, 0, 0, -218, 0, 857, 857, + 857, 1271, 826, 0, 871, 190, 475, 871, 0, 0, + 0, 912, 661, 665, 687, 697, 1487, 0, 0, 116, + 630, 0, 158, 659, 0, 0, 929, 0, 812, 0, + 813, 475, 0, 550, 550, 550, 0, 1030, 0, 871, + 429, 0, 0, 0, 654, 0, 452, 871, 0, 0, + 472, 871, 0, 0, 862, 501, 871, 0, 518, 871, + 0, 857, 0, 948, 0, 931, 0, 1276, 1278, 1281, + 190, 0, 0, 0, 190, 0, 0, 1311, 1313, 0, + 661, 0, 0, 687, 0, 0, 0, 116, 0, 0, + 158, 0, 941, 0, 1287, 0, 0, 0, 1047, 871, + 0, 0, 871, 871, 871, 871, 1291, 0, 475, 0, 0, 0, 0, 0, 0, 0, }; static const YYINT pfctlyrindex[] = { 36, - 0, 723, 738, 0, 0, 1644, 0, 0, 2743, 0, - 0, 0, 0, 986, 0, 1156, 0, 0, 0, 0, + 0, 723, 741, 0, 0, 1644, 0, 0, 2743, 0, + 0, 0, 0, 1000, 0, 1156, 0, 0, 0, 0, 0, 2290, 2701, 4182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, 1836, 1959, 0, 0, 0, 0, 3033, 1283, 1115, 1115, 1115, 0, - 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, - 0, 0, 1155, 1394, 0, 1521, 0, 939, 1813, 1027, + 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, + 0, 0, 1155, 1394, 0, 1521, 0, 963, 1697, 1027, 0, 0, 0, 4235, 4235, 878, 0, 0, 2811, 4313, 4202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3144, 0, 629, 629, 629, 0, - 0, 0, -99, 0, 0, 942, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 15, 0, -23, 0, 0, 0, 0, - 0, 1055, 0, 0, 0, 0, 1318, 4267, 0, 0, + 0, 1055, 0, 0, 0, 0, 1339, 4267, 0, 0, 0, 533, 2922, 0, 0, 4320, 3576, 0, 0, 0, - 687, 0, 0, 0, 2, 0, 3255, 219, 219, 219, + 710, 0, 0, 0, 2, 0, 3255, 219, 219, 219, 0, 0, 1481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 459, 0, 0, 78, 0, 0, 0, 30, 939, - 0, 1321, 258, 438, 795, 992, 1012, 0, 0, 0, - 0, 0, 0, 6, 1321, 0, 0, 0, -204, 3323, + 0, 459, 0, 0, 78, 0, 0, 0, 30, 963, + 0, 1351, 258, 438, 795, 992, 1012, 0, 0, 0, + 0, 0, 0, 6, 1351, 0, 0, 0, -204, 3323, 0, 505, 2139, 0, 0, 0, 0, 0, 0, 3459, - 73, 73, 73, 0, 574, -96, -27, 948, 0, 0, + 73, 73, 73, 0, 574, 273, -27, 978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, -18, - 0, 942, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1066, 0, - 0, 0, 0, 3528, 0, 0, 697, 0, 0, 510, + 0, 964, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, + 0, 0, 0, 3528, 0, 0, 733, 0, 0, 510, 0, 154, 2167, 8, 0, 0, 0, 0, 1352, 0, - 684, 3645, 1331, 1331, 1331, 0, 0, 0, 0, 0, + 664, 3645, 1357, 1357, 1357, 0, 0, 0, 0, 0, 0, 0, 572, 0, 80, -17, 0, 0, 0, 0, - 0, 519, 0, 939, 0, 0, 0, 948, 0, 0, - 0, 0, 948, 0, 0, 0, 0, 0, 0, 0, + 0, 504, 0, 963, 0, 0, 0, 978, 0, 0, + 0, 0, 978, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 2499, 2499, 2499, 3697, 0, 0, 0, 59, 0, 0, 2057, 0, 0, 748, 0, 2388, 2543, 0, 0, 510, 0, 3795, 0, 0, 0, 0, 574, -27, 690, 0, 0, 0, 0, 0, 0, 0, -18, - 948, -27, 0, 0, 0, 0, 0, 0, 287, 0, + 978, -27, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, 285, 0, 0, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 0, 3846, 687, 142, 175, 0, 0, 710, - 733, 0, 695, 0, 0, 0, 510, 0, 0, 414, + 0, 0, 0, 0, 514, 0, 510, 0, 0, 0, + 0, 0, 0, 3846, 710, 142, 175, 0, 0, 739, + 749, 0, 695, 0, 0, 0, 510, 0, 0, 414, 0, 0, 0, 0, 547, 0, 0, 0, 195, 0, - 942, 0, 510, 0, 882, 0, 1184, 704, 3935, 0, + 964, 0, 510, 0, 882, 0, 1184, 704, 3935, 0, 0, 0, 0, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, -17, 80, 0, 0, 0, 2610, 0, 0, 0, 0, 3391, 4079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, - 973, 0, 0, 510, 1338, 973, 0, -27, 0, 964, - 964, 964, 0, 0, 0, 510, -1, 0, 0, 0, + 1004, 0, 0, 510, 1358, 1004, 0, -27, 0, 999, + 999, 999, 0, 0, 0, 510, -1, 0, 0, 0, 0, 0, 0, 0, 0, 142, 240, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, -27, - 948, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1042,40 +1044,40 @@ static const YYINT pfctlyrindex[] = { 36, 0, 43, -17, 0, 0, 0, 0, 209, 0, 653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 697, 917, 0, 0, 0, 697, + 0, 0, 0, 0, 733, 917, 0, 0, 0, 733, 968, 0, 3981, 3981, 0, 0, 0, 175, 123, 0, 0, 0, 0, 0, 175, 828, 0, 0, 0, 0, 0, 0, 0, 0, 3981, 0, 0, 0, 0, 0, - 0, 0, 0, 4033, 0, 0, 0, 0, 687, 687, - 687, 0, 1, 0, 10, 0, 0, -27, 0, 0, + 0, 0, 0, 4033, 0, 0, 0, 0, 710, 710, + 710, 0, 1, 0, 10, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 999, 0, - 948, 0, 0, 0, 0, 0, 0, 1353, 0, 87, - 264, 0, 0, 0, 0, 0, 687, 142, 0, 0, - 687, 142, 0, 0, 1707, 240, 10, 0, 240, 10, - 0, 964, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1017, 0, + 978, 0, 0, 0, 0, 0, 0, 1376, 0, 87, + 264, 0, 0, 0, 0, 0, 710, 142, 0, 0, + 710, 142, 0, 0, 1689, 240, 10, 0, 240, 10, + 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1357, 87, + 0, 0, 0, 0, 0, 0, 0, 0, 1377, 87, 0, 0, 142, 142, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const YYINT pfctlygindex[] = { 0, - 1557, 0, -208, -102, -320, 0, 0, -476, -619, 771, - -70, 0, 0, 1359, 490, 1165, 0, 0, 0, 0, - 328, 1307, 0, 0, 874, 0, 0, -612, 0, 0, - 647, 578, -308, 0, 1650, 0, -331, 0, 0, 0, - -668, 0, -525, 0, 1128, 851, 923, 0, 0, -345, - 0, 0, -315, 0, 946, 0, 0, -379, 0, 677, - 0, -497, 0, 938, 0, -457, 0, 0, -554, 0, - 0, -444, 0, 0, 0, -421, 0, 860, 0, -8, - 1218, -80, 0, -182, 688, 1196, 537, 0, 130, 0, - 1136, 0, 0, -223, 0, 1170, 0, -312, 0, 0, - 1015, 0, 1004, 0, 936, 0, 0, 937, 0, 0, - 958, 0, 1472, 933, 821, 0, 0, -591, 0, 0, - 1100, 0, 1274, 1205, 0, 0, 872, 0, 0, 1135, - 0, -337, 955, 0, 842, -319, 0, 0, 0, 1462, - 1464, -3, -2, 0, 0, 0, 0, 0, 0, 0, + 1557, 0, -208, -102, -320, 0, 0, -480, -619, 796, + -70, 0, 0, 1391, 204, 1165, 0, 0, 0, 0, + 328, 1324, 0, 0, 953, 0, 0, -612, 0, 0, + 673, 598, -325, 0, -88, 0, -331, 0, 0, 0, + -668, 0, -581, 0, 1154, 851, 950, 0, 0, -345, + 0, 0, -315, 0, 969, 0, 0, -379, 0, 853, + 0, -497, 0, 959, 0, -457, 0, 0, -590, 0, + 0, -514, 0, 0, 0, -421, 0, 872, 0, -8, + 1249, -80, 0, -182, 715, 1218, 599, 0, 130, 0, + 1167, 0, 0, -223, 0, 1195, 0, -312, 0, 0, + 1038, 0, 1037, 0, 956, 0, 0, 960, 0, 0, + 974, 0, 1472, 954, 850, 0, 0, -591, 0, 0, + 1123, 0, 1295, 1224, 0, 0, 887, 0, 0, 1150, + 0, -337, 967, 0, 854, -319, 0, 0, 0, 1475, + 1477, -3, -2, 0, 0, 0, 0, 0, 0, 0, -169, -119, 0, -192, 0, 0, 0, 0, 0, -178, 0, 0, 0, 0, 0, 0, 0, 0, }; @@ -1088,34 +1090,34 @@ static const YYINT pfctlytable[] = { 44, 251, 319, 275, 274, 748, 1, 230, 116, 497, 128, 126, 336, 414, 275, 558, 280, 216, 725, 226, 167, 167, 143, 248, 484, 167, 282, 231, 133, 248, 275, - 275, 275, 173, 226, 421, 307, 682, 461, 362, 310, - 422, 423, 267, 264, 385, 480, 481, 328, 311, 331, - 728, 275, 216, 439, 1, 362, 177, 275, 275, 746, - 344, 467, 494, 46, 761, 275, 275, 275, 690, 424, - 216, 496, 803, 499, 610, 439, 53, 275, 275, 437, - 440, 438, 441, 276, 101, 216, 275, 20, 113, 216, - 275, 175, 309, 516, 275, 400, 708, 327, 391, 527, + 275, 275, 173, 226, 1, 307, 682, 461, 362, 310, + 46, 496, 267, 264, 385, 480, 481, 328, 311, 331, + 728, 275, 216, 439, 53, 362, 177, 275, 275, 746, + 344, 467, 494, 54, 761, 275, 275, 275, 690, 261, + 262, 263, 803, 499, 610, 439, 516, 275, 275, 437, + 440, 438, 441, 276, 101, 216, 275, 20, 113, 757, + 275, 175, 309, 752, 275, 400, 708, 327, 391, 527, 216, 225, 440, 438, 441, 326, 275, 329, 439, 166, 371, 216, 466, 134, 371, 309, 395, 129, 390, 169, - 345, 361, 346, 412, 538, 757, 309, 439, 705, 404, + 345, 361, 346, 412, 538, 56, 309, 439, 705, 404, 623, 474, 794, 330, 412, 440, 438, 441, 556, 216, - 216, 275, 309, 309, 309, 275, 412, 368, 584, 752, - 439, 343, 610, 722, 440, 438, 441, 338, 216, 383, - 621, 131, 121, 162, 416, 437, 394, 275, 559, 272, - 476, 275, 317, 180, 180, 180, 396, 440, 438, 441, - 54, 509, 477, 620, 167, 56, 486, 122, 251, 452, - 482, 631, 533, 805, 275, 275, 275, 298, 392, 490, - 87, 428, 88, 216, 758, 309, 495, 309, 275, 453, - 132, 447, 629, 488, 77, 339, 510, 668, 804, 275, - 549, 560, 437, 491, 81, 121, 275, 124, 275, 251, - 471, 472, 437, 169, 251, 251, 139, 140, 760, 625, - 475, 651, 478, 251, 275, 452, 412, 437, 416, 534, + 216, 275, 309, 309, 309, 275, 412, 368, 584, 722, + 439, 559, 610, 131, 440, 438, 441, 805, 216, 383, + 621, 338, 804, 162, 416, 437, 343, 275, 760, 272, + 359, 275, 317, 180, 180, 180, 396, 440, 438, 441, + 77, 394, 477, 620, 167, 380, 486, 91, 251, 452, + 482, 631, 476, 385, 275, 275, 275, 298, 392, 490, + 758, 428, 132, 216, 78, 309, 495, 309, 275, 453, + 80, 447, 629, 488, 73, 74, 510, 668, 115, 339, + 509, 533, 121, 491, 81, 121, 275, 124, 275, 251, + 471, 472, 437, 169, 251, 251, 806, 178, 434, 549, + 475, 651, 478, 251, 73, 452, 412, 122, 416, 534, 122, 1, 1, 1, 1, 101, 251, 251, 347, 437, 437, 437, 318, 437, 369, 453, 458, 248, 369, 251, 280, 125, 251, 248, 371, 439, 511, 512, 251, 550, - 1, 1, 1, 437, 633, 141, 281, 161, 91, 347, + 1, 1, 1, 437, 560, 141, 281, 161, 91, 347, 414, 251, 347, 1, 267, 275, 305, 306, 460, 534, - 267, 528, 440, 438, 441, 1, 806, 532, 80, 1, + 267, 528, 440, 438, 441, 1, 87, 532, 88, 1, 1, 1, 1, 1, 537, 412, 275, 113, 275, 275, 275, 617, 618, 619, 251, 275, 275, 1, 726, 1, 437, 248, 412, 4, 5, 6, 1, 548, 626, 280, @@ -1128,107 +1130,107 @@ static const YYINT pfctlytable[] = { 44, 309, 412, 275, 275, 174, 175, 286, 132, 309, 14, 632, 15, 689, 286, 286, 799, 452, 286, 16, 800, 580, 275, 309, 437, 647, 607, 174, 175, 369, 17, - 275, 275, 216, 286, 309, 370, 453, 18, 78, 309, - 251, 719, 416, 655, 309, 251, 251, 774, 412, 412, + 275, 275, 216, 286, 309, 370, 453, 18, 82, 309, + 251, 719, 416, 655, 309, 251, 251, 625, 412, 412, 412, 412, 412, 553, 251, 216, 309, 309, 660, 666, - 667, 19, 730, 704, 309, 309, 309, 309, 706, 780, - 412, 649, 580, 91, 267, 216, 412, 567, 666, 667, - 734, 735, 736, 82, 696, 275, 275, 412, 92, 416, - 416, 416, 416, 416, 93, 713, 286, 267, 286, 628, - 715, 673, 674, 607, 115, 448, 449, 94, 720, 99, - 764, 458, 766, 783, 152, 723, 290, 416, 275, 275, - 132, 95, 775, 390, 390, 390, 390, 390, 781, 99, - 290, 291, 784, 450, 451, 251, 787, 788, 96, 290, - 791, 356, 178, 793, 111, 739, 290, 290, 744, 73, - 290, 390, 275, 275, 347, 693, 790, 290, 291, 124, + 667, 19, 730, 704, 309, 309, 309, 309, 706, 633, + 412, 649, 580, 92, 267, 216, 412, 567, 666, 667, + 734, 735, 736, 111, 696, 275, 275, 412, 93, 416, + 416, 416, 416, 416, 94, 713, 286, 267, 286, 628, + 715, 673, 674, 607, 216, 448, 449, 112, 720, 99, + 764, 458, 766, 774, 152, 723, 290, 416, 275, 275, + 132, 216, 775, 390, 390, 390, 390, 390, 781, 99, + 290, 291, 784, 450, 451, 251, 780, 788, 95, 290, + 791, 356, 519, 793, 520, 739, 290, 290, 744, 96, + 290, 390, 275, 275, 347, 693, 783, 290, 291, 124, 124, 124, 124, 124, 124, 124, 290, 290, 291, 124, - 124, 124, 356, 114, 218, 356, 347, 275, 650, 519, - 773, 520, 219, 437, 437, 183, 743, 187, 782, 450, - 451, 97, 785, 437, 437, 437, 709, 789, 248, 255, - 792, 124, 216, 273, 437, 437, 216, 437, 437, 220, - 221, 696, 347, 347, 347, 73, 74, 347, 347, 347, - 98, 347, 386, 776, 347, 347, 673, 674, 437, 290, - 437, 290, 347, 99, 300, 286, 301, 302, 303, 100, - 810, 286, 286, 811, 812, 813, 814, 101, 733, 112, - 286, 286, 286, 102, 286, 286, 113, 286, 275, 357, - 103, 286, 286, 286, 300, 286, 406, 407, 84, 85, - 86, 286, 286, 286, 286, 286, 286, 286, 286, 403, - 104, 286, 216, 105, 286, 106, 437, 300, 743, 107, - 357, 286, 408, 357, 437, 108, 437, 286, 300, 286, - 109, 778, 779, 437, 653, 654, 144, 145, 286, 286, - 286, 286, 286, 286, 300, 300, 300, 414, 110, 658, - 659, 437, 437, 437, 411, 286, 267, 216, 763, 120, - 286, 216, 267, 136, 765, 286, 286, 216, 777, 132, - 132, 132, 132, 132, 132, 132, 137, 286, 286, 132, - 132, 132, 267, 161, 286, 286, 286, 286, 286, 241, - 450, 451, 41, 73, 126, 241, 241, 241, 290, 99, - 99, 174, 175, 786, 290, 290, 216, 300, 163, 300, - 165, 132, 188, 290, 290, 290, 437, 290, 290, 195, + 124, 124, 356, 114, 218, 356, 347, 275, 650, 97, + 773, 275, 219, 437, 437, 787, 743, 98, 782, 450, + 451, 437, 785, 437, 437, 437, 709, 789, 248, 113, + 792, 124, 790, 99, 437, 437, 275, 437, 437, 220, + 221, 696, 347, 347, 347, 100, 437, 347, 347, 347, + 101, 347, 386, 776, 347, 347, 673, 674, 437, 290, + 437, 290, 347, 102, 300, 286, 301, 302, 303, 103, + 810, 286, 286, 811, 812, 813, 814, 183, 733, 187, + 286, 286, 286, 104, 286, 286, 120, 286, 275, 357, + 421, 286, 286, 286, 300, 286, 422, 423, 84, 85, + 86, 286, 286, 286, 286, 286, 286, 286, 286, 255, + 105, 286, 216, 106, 286, 107, 437, 300, 743, 273, + 357, 286, 216, 357, 437, 424, 437, 286, 300, 286, + 136, 778, 779, 437, 653, 654, 144, 145, 286, 286, + 286, 286, 286, 286, 300, 300, 300, 414, 137, 658, + 659, 437, 437, 437, 108, 286, 267, 406, 407, 109, + 286, 403, 267, 110, 216, 286, 286, 161, 777, 132, + 132, 132, 132, 132, 132, 132, 73, 286, 286, 132, + 132, 132, 267, 408, 286, 286, 286, 286, 286, 241, + 450, 451, 41, 163, 126, 241, 241, 241, 290, 99, + 99, 139, 140, 411, 290, 290, 216, 300, 165, 300, + 195, 132, 188, 290, 290, 290, 437, 290, 290, 196, 290, 414, 415, 416, 290, 290, 290, 318, 290, 267, 267, 267, 267, 267, 290, 290, 290, 290, 290, 290, - 290, 290, 184, 185, 290, 210, 211, 290, 189, 190, - 318, 267, 437, 47, 290, 196, 417, 267, 437, 437, - 290, 318, 290, 48, 49, 50, 201, 356, 267, 267, - 202, 290, 290, 290, 290, 290, 290, 318, 318, 318, - 248, 69, 203, 99, 99, 248, 248, 437, 290, 356, - 214, 248, 205, 290, 248, 636, 637, 638, 290, 290, - 5, 6, 51, 207, 67, 192, 193, 126, 290, 291, - 290, 290, 670, 677, 305, 306, 335, 290, 290, 290, - 290, 290, 275, 642, 643, 356, 356, 356, 83, 208, - 356, 356, 356, 209, 356, 686, 687, 356, 356, 335, - 318, 212, 318, 694, 175, 356, 300, 275, 181, 182, - 335, 213, 300, 300, 84, 85, 86, 9, 10, 11, - 12, 215, 300, 300, 216, 300, 300, 338, 365, 366, + 290, 290, 763, 765, 290, 216, 216, 290, 174, 175, + 318, 267, 437, 47, 290, 201, 417, 267, 437, 437, + 290, 318, 290, 48, 49, 50, 202, 356, 267, 267, + 203, 290, 290, 290, 290, 290, 290, 318, 318, 318, + 248, 69, 214, 99, 99, 248, 248, 437, 290, 356, + 216, 248, 786, 290, 248, 216, 184, 185, 290, 290, + 5, 6, 51, 205, 67, 189, 190, 126, 192, 193, + 290, 290, 670, 677, 210, 211, 335, 290, 290, 290, + 290, 290, 275, 290, 291, 356, 356, 356, 83, 207, + 356, 356, 356, 208, 356, 305, 306, 356, 356, 335, + 318, 209, 318, 642, 643, 356, 300, 275, 686, 687, + 335, 212, 300, 300, 84, 85, 86, 9, 10, 11, + 12, 213, 300, 300, 215, 300, 300, 338, 694, 175, 437, 378, 300, 300, 300, 248, 300, 386, 386, 386, 386, 386, 300, 300, 224, 357, 300, 300, 300, 300, 338, 128, 300, 437, 437, 300, 232, 378, 378, 378, 246, 338, 300, 666, 667, 386, 254, 357, 300, 251, - 300, 130, 378, 378, 378, 673, 674, 653, 654, 300, - 300, 300, 300, 300, 300, 414, 241, 257, 167, 335, - 269, 335, 749, 750, 658, 659, 300, 670, 753, 754, - 677, 300, 125, 357, 357, 357, 300, 300, 357, 357, - 357, 285, 357, 286, 114, 357, 357, 287, 300, 300, - 437, 437, 270, 357, 288, 300, 300, 300, 300, 300, - 275, 275, 414, 414, 414, 414, 414, 437, 437, 289, - 338, 293, 338, 443, 443, 333, 318, 294, 437, 500, + 300, 130, 636, 637, 638, 378, 378, 378, 257, 300, + 300, 300, 300, 300, 300, 414, 241, 181, 182, 335, + 125, 335, 673, 674, 653, 654, 300, 670, 749, 750, + 677, 300, 269, 357, 357, 357, 300, 300, 357, 357, + 357, 270, 357, 167, 114, 357, 357, 285, 300, 300, + 658, 659, 286, 357, 287, 300, 300, 300, 300, 300, + 753, 754, 414, 414, 414, 414, 414, 437, 437, 288, + 338, 289, 338, 437, 437, 333, 318, 293, 437, 500, 501, 502, 503, 504, 414, 318, 318, 315, 318, 318, - 414, 323, 324, 325, 128, 670, 445, 445, 677, 318, - 437, 99, 337, 295, 241, 318, 318, 505, 347, 318, - 318, 318, 376, 352, 130, 318, 126, 126, 126, 126, + 414, 323, 324, 325, 128, 670, 275, 275, 677, 318, + 437, 99, 443, 443, 241, 318, 318, 505, 337, 318, + 318, 318, 445, 445, 130, 318, 126, 126, 126, 126, 126, 126, 126, 404, 404, 318, 126, 126, 126, 241, - 404, 404, 404, 318, 332, 378, 437, 437, 437, 381, - 382, 437, 437, 437, 233, 437, 386, 318, 437, 437, - 67, 67, 392, 397, 405, 398, 437, 114, 126, 318, - 281, 413, 420, 67, 318, 335, 67, 233, 427, 318, - 429, 456, 67, 463, 335, 335, 457, 335, 335, 470, - 473, 318, 318, 513, 514, 67, 515, 517, 335, 318, - 318, 318, 318, 521, 335, 335, 275, 524, 335, 335, - 335, 522, 523, 275, 335, 526, 546, 275, 551, 561, - 465, 562, 563, 564, 335, 469, 338, 565, 67, 566, - 568, 460, 335, 275, 585, 338, 338, 635, 338, 338, - 639, 640, 645, 641, 663, 67, 335, 664, 665, 338, - 685, 691, 67, 697, 692, 338, 338, 707, 335, 338, - 338, 338, 699, 335, 710, 338, 700, 701, 335, 650, - 712, 198, 199, 200, 508, 338, 714, 716, 717, 721, - 335, 335, 45, 338, 724, 681, 731, 732, 335, 335, - 335, 335, 737, 762, 771, 801, 275, 338, 275, 796, - 795, 797, 798, 802, 807, 45, 808, 815, 228, 338, - 809, 241, 99, 45, 338, 275, 45, 47, 229, 338, - 167, 437, 251, 128, 128, 128, 128, 128, 128, 128, - 416, 338, 338, 128, 128, 128, 99, 59, 437, 338, + 404, 404, 404, 318, 365, 366, 437, 437, 437, 294, + 295, 437, 437, 437, 233, 437, 332, 318, 437, 437, + 67, 67, 347, 352, 376, 378, 437, 114, 126, 318, + 381, 382, 386, 67, 318, 335, 67, 233, 392, 318, + 397, 281, 67, 398, 335, 335, 427, 335, 335, 405, + 413, 318, 318, 420, 429, 67, 456, 457, 335, 318, + 318, 318, 318, 463, 335, 335, 275, 513, 335, 335, + 335, 470, 473, 275, 335, 517, 514, 275, 515, 521, + 465, 522, 523, 524, 335, 469, 338, 526, 67, 546, + 551, 561, 335, 275, 562, 338, 338, 563, 338, 338, + 564, 565, 566, 568, 585, 67, 335, 460, 640, 338, + 635, 639, 67, 641, 645, 338, 338, 663, 335, 338, + 338, 338, 664, 335, 691, 338, 665, 685, 335, 692, + 697, 198, 199, 200, 508, 338, 699, 700, 701, 710, + 335, 335, 45, 338, 707, 650, 712, 714, 335, 335, + 335, 335, 716, 717, 721, 724, 275, 338, 275, 681, + 731, 737, 732, 762, 795, 45, 796, 771, 797, 338, + 801, 798, 802, 45, 338, 807, 45, 808, 229, 338, + 809, 815, 228, 128, 128, 128, 128, 128, 128, 128, + 241, 338, 338, 128, 128, 128, 99, 275, 47, 338, 338, 338, 338, 130, 130, 130, 130, 130, 130, 130, - 437, 41, 401, 130, 130, 130, 402, 680, 241, 241, - 241, 241, 241, 241, 241, 128, 241, 146, 767, 241, - 241, 241, 241, 316, 275, 529, 816, 241, 241, 241, - 241, 275, 518, 525, 247, 130, 112, 112, 112, 112, - 112, 112, 112, 230, 755, 45, 622, 112, 112, 334, - 241, 275, 271, 299, 297, 483, 233, 314, 479, 233, - 233, 233, 233, 233, 322, 543, 230, 233, 233, 233, - 233, 545, 233, 233, 698, 233, 233, 167, 114, 539, - 555, 399, 233, 233, 233, 245, 233, 233, 296, 233, - 233, 233, 233, 233, 646, 384, 233, 233, 233, 233, - 275, 554, 233, 703, 42, 233, 43, 0, 367, 0, - 0, 241, 233, 0, 275, 0, 275, 0, 233, 0, + 167, 437, 251, 130, 130, 130, 416, 59, 241, 241, + 241, 241, 241, 241, 241, 128, 241, 99, 437, 241, + 241, 241, 241, 437, 275, 401, 402, 241, 241, 241, + 241, 275, 680, 41, 146, 130, 112, 112, 112, 112, + 112, 112, 112, 230, 767, 45, 816, 112, 112, 316, + 241, 275, 529, 299, 525, 518, 233, 314, 622, 233, + 233, 233, 233, 233, 322, 247, 230, 233, 233, 233, + 233, 755, 233, 233, 271, 233, 233, 167, 114, 297, + 334, 479, 233, 233, 233, 543, 233, 233, 483, 233, + 233, 233, 233, 233, 545, 539, 233, 233, 233, 233, + 275, 555, 233, 698, 399, 233, 245, 296, 367, 646, + 384, 241, 233, 554, 275, 703, 275, 42, 233, 43, 233, 0, 0, 275, 275, 0, 0, 233, 0, 233, 233, 233, 233, 233, 233, 0, 0, 241, 241, 241, 241, 241, 241, 241, 0, 0, 233, 241, 241, 241, @@ -1265,7 +1267,7 @@ static const YYINT pfctlytable[] = { 44, 229, 0, 229, 229, 148, 229, 229, 229, 229, 229, 0, 0, 229, 229, 229, 229, 0, 0, 229, 0, 0, 229, 0, 0, 0, 0, 0, 0, 229, 275, - 0, 0, 0, 0, 229, 213, 229, 261, 262, 263, + 0, 0, 0, 0, 229, 213, 229, 0, 0, 0, 149, 150, 151, 229, 0, 152, 153, 154, 0, 155, 229, 0, 144, 145, 275, 275, 0, 0, 213, 0, 156, 0, 229, 38, 5, 6, 0, 229, 0, 0, @@ -1275,40 +1277,40 @@ static const YYINT pfctlytable[] = { 44, 209, 209, 209, 0, 0, 7, 209, 209, 209, 209, 0, 209, 209, 0, 209, 209, 0, 0, 0, 0, 0, 9, 10, 11, 12, 209, 209, 0, 209, 209, - 209, 209, 209, 0, 0, 209, 209, 209, 359, 0, + 209, 209, 209, 0, 0, 209, 209, 209, 0, 0, 0, 209, 0, 0, 0, 540, 0, 541, 0, 542, - 0, 209, 544, 380, 0, 0, 0, 0, 214, 209, - 0, 385, 211, 211, 211, 211, 211, 211, 211, 211, + 0, 209, 544, 0, 0, 0, 0, 0, 214, 209, + 0, 0, 211, 211, 211, 211, 211, 211, 211, 211, 211, 0, 0, 209, 211, 211, 211, 211, 0, 211, - 211, 214, 211, 211, 0, 209, 0, 0, 0, 0, + 211, 214, 211, 211, 437, 209, 0, 0, 0, 0, 209, 0, 0, 211, 211, 209, 211, 211, 211, 211, - 211, 0, 437, 211, 211, 211, 434, 209, 209, 211, + 211, 0, 0, 211, 211, 211, 437, 209, 209, 211, 0, 0, 0, 0, 0, 209, 209, 0, 0, 211, - 0, 0, 0, 0, 437, 0, 0, 211, 0, 0, - 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, - 64, 211, 65, 0, 66, 0, 67, 68, 69, 0, - 0, 0, 0, 211, 0, 0, 271, 0, 211, 0, - 437, 437, 437, 211, 0, 437, 437, 437, 0, 437, - 0, 0, 437, 437, 0, 211, 211, 0, 70, 271, - 437, 702, 0, 211, 211, 0, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 71, 72, 0, 213, 213, + 0, 0, 0, 0, 0, 0, 0, 211, 112, 112, + 112, 112, 112, 112, 112, 0, 0, 0, 114, 112, + 112, 211, 437, 437, 437, 0, 0, 437, 437, 437, + 0, 437, 0, 211, 437, 437, 271, 0, 211, 0, + 0, 0, 437, 211, 0, 0, 233, 234, 235, 236, + 237, 238, 239, 0, 0, 211, 211, 240, 241, 271, + 0, 702, 0, 211, 211, 0, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 0, 0, 0, 213, 213, 213, 213, 0, 213, 213, 0, 213, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 213, 0, 213, 213, 213, 213, 213, 0, 0, 213, 213, 213, 0, 0, 0, 213, 0, 0, 0, 0, 248, 0, - 0, 0, 0, 213, 112, 112, 112, 112, 112, 112, - 112, 213, 0, 0, 114, 112, 112, 0, 0, 0, + 0, 0, 0, 213, 0, 0, 60, 61, 62, 63, + 64, 213, 65, 0, 66, 0, 67, 68, 69, 0, 0, 248, 0, 0, 0, 213, 261, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, - 0, 0, 213, 0, 0, 0, 0, 213, 0, 261, + 0, 0, 213, 0, 0, 0, 0, 213, 70, 261, 0, 0, 0, 0, 0, 768, 769, 770, 0, 213, - 213, 0, 0, 0, 0, 0, 0, 213, 213, 214, + 213, 0, 0, 0, 0, 71, 72, 213, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 0, 0, 0, 214, 214, 214, 214, 0, 214, 214, 0, 214, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 214, 0, 214, 214, 214, 214, 214, 0, 0, - 214, 214, 214, 0, 0, 0, 214, 233, 234, 235, - 236, 237, 238, 239, 0, 0, 214, 0, 240, 241, + 214, 214, 214, 0, 0, 0, 214, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 214, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1569,34 +1571,34 @@ static const YYINT pfctlycheck[] = { 3, 33, 123, 33, 222, 713, 10, 166, 56, 428, 276, 123, 275, 10, 44, 512, 33, 44, 677, 40, 33, 33, 70, 267, 40, 33, 123, 169, 298, 273, 60, - 61, 62, 81, 40, 349, 123, 40, 123, 40, 267, - 355, 356, 10, 203, 10, 406, 407, 266, 276, 268, - 682, 33, 44, 33, 123, 40, 177, 125, 40, 712, - 279, 447, 423, 10, 724, 225, 125, 125, 40, 384, - 44, 427, 781, 429, 536, 33, 60, 40, 60, 40, - 60, 61, 62, 226, 123, 44, 40, 10, 123, 44, - 44, 123, 10, 442, 125, 344, 634, 125, 331, 459, + 61, 62, 81, 40, 123, 123, 40, 123, 40, 267, + 10, 427, 10, 203, 10, 406, 407, 266, 276, 268, + 682, 33, 44, 33, 60, 40, 177, 125, 40, 712, + 279, 447, 423, 384, 724, 225, 125, 125, 40, 198, + 199, 200, 781, 429, 536, 33, 442, 40, 60, 40, + 60, 61, 62, 226, 123, 44, 40, 10, 123, 720, + 44, 123, 10, 715, 125, 344, 634, 125, 331, 459, 44, 123, 60, 61, 62, 265, 60, 267, 33, 123, 123, 44, 125, 384, 123, 33, 335, 384, 328, 230, - 280, 123, 282, 10, 477, 720, 44, 33, 626, 348, + 280, 123, 282, 10, 477, 384, 44, 33, 626, 348, 550, 395, 764, 125, 353, 60, 61, 62, 510, 44, - 44, 123, 60, 61, 62, 44, 33, 307, 534, 715, - 33, 125, 614, 670, 60, 61, 62, 299, 44, 319, - 546, 260, 359, 74, 10, 123, 125, 33, 517, 218, - 125, 125, 294, 84, 85, 86, 336, 60, 61, 62, - 384, 125, 401, 544, 33, 384, 40, 384, 10, 40, - 409, 569, 125, 788, 60, 61, 62, 246, 10, 418, - 261, 361, 263, 44, 721, 123, 425, 125, 40, 60, - 309, 371, 568, 40, 384, 357, 435, 123, 784, 359, + 44, 123, 60, 61, 62, 44, 33, 307, 534, 670, + 33, 517, 614, 260, 60, 61, 62, 788, 44, 319, + 546, 299, 784, 74, 10, 123, 125, 33, 723, 218, + 299, 125, 294, 84, 85, 86, 336, 60, 61, 62, + 384, 125, 401, 544, 33, 314, 40, 24, 10, 40, + 409, 569, 125, 322, 60, 61, 62, 246, 10, 418, + 721, 361, 309, 44, 266, 123, 425, 125, 40, 60, + 384, 371, 568, 40, 264, 265, 435, 123, 55, 357, 125, 125, 359, 40, 314, 359, 125, 10, 60, 262, - 390, 391, 33, 344, 267, 268, 384, 385, 723, 125, - 400, 47, 402, 276, 384, 40, 288, 384, 288, 468, + 390, 391, 33, 344, 267, 268, 791, 257, 367, 125, + 400, 47, 402, 276, 264, 40, 288, 384, 288, 468, 384, 256, 257, 258, 259, 294, 289, 290, 10, 60, 61, 62, 384, 40, 277, 60, 377, 178, 277, 302, 288, 384, 305, 299, 123, 33, 436, 437, 311, 498, 285, 286, 287, 60, 125, 41, 384, 41, 299, 41, 288, 324, 44, 298, 262, 277, 384, 385, 384, 518, - 268, 461, 60, 61, 62, 310, 791, 467, 384, 314, + 268, 461, 60, 61, 62, 310, 261, 467, 263, 314, 315, 316, 317, 318, 474, 357, 384, 352, 300, 301, 384, 540, 541, 542, 357, 384, 384, 332, 385, 334, 384, 357, 374, 256, 257, 258, 341, 497, 557, 357, @@ -1609,107 +1611,107 @@ static const YYINT pfctlycheck[] = { 3, 318, 288, 384, 385, 384, 385, 33, 10, 326, 332, 570, 334, 384, 40, 41, 771, 40, 44, 341, 775, 531, 384, 340, 384, 584, 536, 384, 385, 277, 352, - 384, 385, 44, 60, 352, 284, 60, 360, 266, 357, + 384, 385, 44, 60, 352, 284, 60, 360, 61, 357, 262, 664, 288, 123, 362, 267, 268, 125, 335, 336, 337, 338, 339, 502, 276, 44, 374, 375, 123, 384, 385, 384, 685, 623, 382, 383, 384, 385, 628, 125, - 357, 277, 583, 24, 10, 44, 363, 526, 384, 385, - 699, 700, 701, 61, 605, 384, 385, 374, 10, 335, + 357, 277, 583, 10, 10, 44, 363, 526, 384, 385, + 699, 700, 701, 40, 605, 384, 385, 374, 10, 335, 336, 337, 338, 339, 10, 655, 123, 33, 125, 123, - 660, 384, 385, 614, 55, 300, 301, 10, 668, 40, + 660, 384, 385, 614, 44, 300, 301, 40, 668, 40, 729, 622, 731, 125, 41, 675, 10, 363, 384, 385, - 123, 10, 741, 335, 336, 337, 338, 339, 747, 60, + 123, 44, 741, 335, 336, 337, 338, 339, 747, 60, 384, 385, 751, 384, 385, 357, 125, 756, 10, 33, - 759, 10, 257, 762, 40, 705, 40, 41, 708, 264, + 759, 10, 45, 762, 47, 705, 40, 41, 708, 10, 44, 363, 384, 385, 306, 604, 125, 384, 385, 342, 343, 344, 345, 346, 347, 348, 60, 384, 385, 352, - 353, 354, 41, 384, 268, 44, 328, 44, 384, 45, - 740, 47, 276, 384, 385, 89, 707, 91, 748, 384, - 385, 10, 752, 349, 350, 351, 645, 757, 10, 41, - 760, 384, 44, 41, 358, 359, 44, 384, 385, 303, - 304, 732, 364, 365, 366, 264, 265, 369, 370, 371, + 353, 354, 41, 384, 268, 44, 328, 44, 384, 10, + 740, 359, 276, 384, 385, 125, 707, 10, 748, 384, + 385, 359, 752, 349, 350, 351, 645, 757, 10, 40, + 760, 384, 125, 10, 358, 359, 384, 384, 385, 303, + 304, 732, 364, 365, 366, 10, 384, 369, 370, 371, 10, 373, 10, 10, 376, 377, 384, 385, 384, 123, 384, 125, 384, 10, 293, 262, 295, 296, 297, 10, - 800, 268, 269, 803, 804, 805, 806, 10, 697, 40, - 277, 278, 279, 10, 281, 282, 40, 284, 125, 10, - 10, 288, 289, 290, 10, 292, 358, 359, 285, 286, + 800, 268, 269, 803, 804, 805, 806, 89, 697, 91, + 277, 278, 279, 10, 281, 282, 384, 284, 125, 10, + 349, 288, 289, 290, 10, 292, 355, 356, 285, 286, 287, 298, 299, 300, 301, 302, 303, 304, 305, 41, - 10, 308, 44, 10, 311, 10, 268, 33, 809, 10, - 41, 318, 384, 44, 276, 10, 33, 324, 44, 326, - 10, 745, 745, 40, 384, 385, 376, 377, 335, 336, - 337, 338, 339, 340, 60, 61, 62, 10, 10, 384, - 385, 303, 304, 60, 41, 352, 262, 44, 41, 384, - 357, 44, 268, 384, 41, 362, 363, 44, 125, 342, - 343, 344, 345, 346, 347, 348, 384, 374, 375, 352, - 353, 354, 288, 40, 381, 382, 383, 384, 385, 267, - 384, 385, 10, 264, 10, 273, 274, 275, 262, 300, - 301, 384, 385, 41, 268, 269, 44, 123, 333, 125, - 265, 384, 307, 277, 278, 279, 123, 281, 282, 62, + 10, 308, 44, 10, 311, 10, 268, 33, 809, 41, + 41, 318, 44, 44, 276, 384, 33, 324, 44, 326, + 384, 745, 745, 40, 384, 385, 376, 377, 335, 336, + 337, 338, 339, 340, 60, 61, 62, 10, 384, 384, + 385, 303, 304, 60, 10, 352, 262, 358, 359, 10, + 357, 41, 268, 10, 44, 362, 363, 40, 125, 342, + 343, 344, 345, 346, 347, 348, 264, 374, 375, 352, + 353, 354, 288, 384, 381, 382, 383, 384, 385, 267, + 384, 385, 10, 333, 10, 273, 274, 275, 262, 300, + 301, 384, 385, 41, 268, 269, 44, 123, 265, 125, + 62, 384, 307, 277, 278, 279, 123, 281, 282, 265, 284, 349, 350, 351, 288, 289, 290, 10, 292, 335, 336, 337, 338, 339, 298, 299, 300, 301, 302, 303, - 304, 305, 274, 275, 308, 367, 368, 311, 384, 385, - 33, 357, 349, 260, 318, 265, 384, 363, 355, 356, + 304, 305, 41, 41, 308, 44, 44, 311, 384, 385, + 33, 357, 349, 260, 318, 385, 384, 363, 355, 356, 324, 44, 326, 270, 271, 272, 385, 306, 374, 375, - 385, 335, 336, 337, 338, 339, 340, 60, 61, 62, - 262, 10, 10, 384, 385, 267, 268, 384, 352, 328, - 60, 273, 385, 357, 276, 311, 312, 313, 362, 363, + 10, 335, 336, 337, 338, 339, 340, 60, 61, 62, + 262, 10, 60, 384, 385, 267, 268, 384, 352, 328, + 44, 273, 41, 357, 276, 44, 274, 275, 362, 363, 257, 258, 309, 385, 33, 384, 385, 123, 384, 385, - 374, 375, 595, 596, 384, 385, 10, 381, 382, 383, + 374, 375, 595, 596, 367, 368, 10, 381, 382, 383, 384, 385, 359, 384, 385, 364, 365, 366, 259, 385, 369, 370, 371, 385, 373, 384, 385, 376, 377, 33, - 123, 385, 125, 384, 385, 384, 262, 384, 85, 86, + 123, 385, 125, 384, 385, 384, 262, 384, 384, 385, 44, 385, 268, 269, 285, 286, 287, 314, 315, 316, - 317, 385, 278, 279, 44, 281, 282, 10, 302, 303, + 317, 385, 278, 279, 385, 281, 282, 10, 384, 385, 277, 259, 288, 289, 290, 357, 292, 335, 336, 337, 338, 339, 298, 299, 384, 306, 302, 303, 304, 305, 33, 10, 308, 300, 301, 311, 352, 285, 286, 287, 267, 44, 318, 384, 385, 363, 385, 328, 324, 273, - 326, 10, 285, 286, 287, 384, 385, 384, 385, 335, - 336, 337, 338, 339, 340, 288, 10, 41, 33, 123, - 47, 125, 384, 385, 384, 385, 352, 720, 384, 385, - 723, 357, 384, 364, 365, 366, 362, 363, 369, 370, - 371, 40, 373, 40, 10, 376, 377, 40, 374, 375, - 384, 385, 384, 384, 40, 381, 382, 383, 384, 385, + 326, 10, 311, 312, 313, 285, 286, 287, 41, 335, + 336, 337, 338, 339, 340, 288, 10, 85, 86, 123, + 384, 125, 384, 385, 384, 385, 352, 720, 384, 385, + 723, 357, 47, 364, 365, 366, 362, 363, 369, 370, + 371, 384, 373, 33, 10, 376, 377, 40, 374, 375, + 384, 385, 40, 384, 40, 381, 382, 383, 384, 385, 384, 385, 335, 336, 337, 338, 339, 384, 385, 40, - 123, 385, 125, 384, 385, 62, 269, 385, 306, 335, + 123, 40, 125, 384, 385, 62, 269, 385, 306, 335, 336, 337, 338, 339, 357, 278, 279, 41, 281, 282, 363, 261, 262, 263, 123, 788, 384, 385, 791, 292, - 328, 374, 41, 385, 10, 298, 299, 363, 384, 302, - 303, 304, 375, 384, 123, 308, 342, 343, 344, 345, + 328, 374, 384, 385, 10, 298, 299, 363, 41, 302, + 303, 304, 384, 385, 123, 308, 342, 343, 344, 345, 346, 347, 348, 266, 267, 318, 352, 353, 354, 123, - 273, 274, 275, 326, 385, 262, 364, 365, 366, 41, - 384, 369, 370, 371, 10, 373, 357, 340, 376, 377, - 289, 290, 372, 384, 41, 385, 384, 123, 384, 352, - 384, 41, 41, 302, 357, 269, 305, 33, 267, 362, - 384, 284, 311, 268, 278, 279, 384, 281, 282, 385, - 367, 374, 375, 61, 61, 324, 61, 386, 292, 382, - 383, 384, 385, 47, 298, 299, 33, 47, 302, 303, - 304, 384, 384, 40, 308, 374, 268, 44, 41, 384, - 380, 385, 385, 41, 318, 385, 269, 62, 357, 385, - 288, 384, 326, 60, 123, 278, 279, 385, 281, 282, - 385, 384, 374, 385, 283, 374, 340, 283, 283, 292, - 283, 385, 381, 374, 385, 298, 299, 284, 352, 302, - 303, 304, 385, 357, 10, 308, 385, 385, 362, 384, - 47, 117, 118, 119, 434, 318, 280, 280, 40, 386, - 374, 375, 10, 326, 386, 362, 384, 284, 382, 383, - 384, 385, 41, 385, 288, 10, 123, 340, 125, 41, - 384, 41, 41, 10, 385, 33, 41, 41, 333, 352, - 284, 10, 384, 41, 357, 384, 44, 10, 164, 362, - 10, 384, 267, 342, 343, 344, 345, 346, 347, 348, - 10, 374, 375, 352, 353, 354, 374, 10, 385, 382, + 273, 274, 275, 326, 302, 303, 364, 365, 366, 385, + 385, 369, 370, 371, 10, 373, 385, 340, 376, 377, + 289, 290, 384, 384, 375, 262, 384, 123, 384, 352, + 41, 384, 357, 302, 357, 269, 305, 33, 372, 362, + 384, 384, 311, 385, 278, 279, 267, 281, 282, 41, + 41, 374, 375, 41, 384, 324, 284, 384, 292, 382, + 383, 384, 385, 268, 298, 299, 33, 61, 302, 303, + 304, 385, 367, 40, 308, 386, 61, 44, 61, 47, + 380, 384, 384, 47, 318, 385, 269, 374, 357, 268, + 41, 384, 326, 60, 385, 278, 279, 385, 281, 282, + 41, 62, 385, 288, 123, 374, 340, 384, 384, 292, + 385, 385, 381, 385, 374, 298, 299, 283, 352, 302, + 303, 304, 283, 357, 385, 308, 283, 283, 362, 385, + 374, 117, 118, 119, 434, 318, 385, 385, 385, 10, + 374, 375, 10, 326, 284, 384, 47, 280, 382, 383, + 384, 385, 280, 40, 386, 386, 123, 340, 125, 362, + 384, 41, 284, 385, 384, 33, 41, 288, 41, 352, + 10, 41, 10, 41, 357, 385, 44, 41, 164, 362, + 284, 41, 333, 342, 343, 344, 345, 346, 347, 348, + 10, 374, 375, 352, 353, 354, 384, 384, 10, 382, 383, 384, 385, 342, 343, 344, 345, 346, 347, 348, - 362, 3, 10, 352, 353, 354, 10, 597, 342, 343, - 344, 345, 346, 347, 348, 384, 262, 71, 732, 353, - 354, 267, 268, 256, 33, 463, 809, 273, 274, 275, - 276, 40, 447, 456, 177, 384, 342, 343, 344, 345, - 346, 347, 348, 10, 717, 123, 547, 353, 354, 274, - 384, 60, 217, 249, 245, 412, 262, 253, 404, 265, - 266, 267, 268, 269, 260, 490, 33, 273, 274, 275, - 276, 495, 278, 279, 614, 281, 282, 33, 384, 482, - 508, 342, 288, 289, 290, 172, 292, 293, 244, 295, - 296, 297, 298, 299, 583, 321, 302, 303, 304, 305, - 277, 507, 308, 622, 3, 311, 3, -1, 304, -1, - -1, 357, 318, -1, 123, -1, 125, -1, 324, -1, + 10, 384, 267, 352, 353, 354, 10, 10, 342, 343, + 344, 345, 346, 347, 348, 384, 262, 374, 362, 353, + 354, 267, 268, 385, 33, 10, 10, 273, 274, 275, + 276, 40, 597, 3, 71, 384, 342, 343, 344, 345, + 346, 347, 348, 10, 732, 123, 809, 353, 354, 256, + 384, 60, 463, 249, 456, 447, 262, 253, 547, 265, + 266, 267, 268, 269, 260, 177, 33, 273, 274, 275, + 276, 717, 278, 279, 217, 281, 282, 33, 384, 245, + 274, 404, 288, 289, 290, 490, 292, 293, 412, 295, + 296, 297, 298, 299, 495, 482, 302, 303, 304, 305, + 277, 508, 308, 614, 342, 311, 172, 244, 304, 583, + 321, 357, 318, 507, 123, 622, 125, 3, 324, 3, 326, -1, -1, 300, 301, -1, -1, 333, -1, 335, 336, 337, 338, 339, 340, -1, -1, 342, 343, 344, 345, 346, 347, 348, -1, -1, 352, 352, 353, 354, @@ -1746,7 +1748,7 @@ static const YYINT pfctlycheck[] = { 3, 290, -1, 292, 293, 328, 295, 296, 297, 298, 299, -1, -1, 302, 303, 304, 305, -1, -1, 308, -1, -1, 311, -1, -1, -1, -1, -1, -1, 318, 359, - -1, -1, -1, -1, 324, 10, 326, 198, 199, 200, + -1, -1, -1, -1, 324, 10, 326, -1, -1, -1, 364, 365, 366, 333, -1, 369, 370, 371, -1, 373, 340, -1, 376, 377, 384, 385, -1, -1, 33, -1, 384, -1, 352, 256, 257, 258, -1, 357, -1, -1, @@ -1756,40 +1758,40 @@ static const YYINT pfctlycheck[] = { 3, 267, 268, 269, -1, -1, 298, 273, 274, 275, 276, -1, 278, 279, -1, 281, 282, -1, -1, -1, -1, -1, 314, 315, 316, 317, 292, 293, -1, 295, 296, - 297, 298, 299, -1, -1, 302, 303, 304, 299, -1, + 297, 298, 299, -1, -1, 302, 303, 304, -1, -1, -1, 308, -1, -1, -1, 484, -1, 486, -1, 488, - -1, 318, 491, 314, -1, -1, -1, -1, 10, 326, - -1, 322, 261, 262, 263, 264, 265, 266, 267, 268, + -1, 318, 491, -1, -1, -1, -1, -1, 10, 326, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, -1, 340, 273, 274, 275, 276, -1, 278, - 279, 33, 281, 282, -1, 352, -1, -1, -1, -1, + 279, 33, 281, 282, 306, 352, -1, -1, -1, -1, 357, -1, -1, 292, 293, 362, 295, 296, 297, 298, - 299, -1, 306, 302, 303, 304, 367, 374, 375, 308, + 299, -1, -1, 302, 303, 304, 328, 374, 375, 308, -1, -1, -1, -1, -1, 382, 383, -1, -1, 318, - -1, -1, -1, -1, 328, -1, -1, 326, -1, -1, - -1, -1, -1, -1, -1, -1, 319, 320, 321, 322, - 323, 340, 325, -1, 327, -1, 329, 330, 331, -1, - -1, -1, -1, 352, -1, -1, 10, -1, 357, -1, - 364, 365, 366, 362, -1, 369, 370, 371, -1, 373, - -1, -1, 376, 377, -1, 374, 375, -1, 361, 33, - 384, 620, -1, 382, 383, -1, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 378, 379, -1, 273, 274, + -1, -1, -1, -1, -1, -1, -1, 326, 342, 343, + 344, 345, 346, 347, 348, -1, -1, -1, 352, 353, + 354, 340, 364, 365, 366, -1, -1, 369, 370, 371, + -1, 373, -1, 352, 376, 377, 10, -1, 357, -1, + -1, -1, 384, 362, -1, -1, 342, 343, 344, 345, + 346, 347, 348, -1, -1, 374, 375, 353, 354, 33, + -1, 620, -1, 382, 383, -1, 261, 262, 263, 264, + 265, 266, 267, 268, 269, -1, -1, -1, 273, 274, 275, 276, -1, 278, 279, -1, 281, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, 292, 293, -1, 295, 296, 297, 298, 299, -1, -1, 302, 303, 304, -1, -1, -1, 308, -1, -1, -1, -1, 10, -1, - -1, -1, -1, 318, 342, 343, 344, 345, 346, 347, - 348, 326, -1, -1, 352, 353, 354, -1, -1, -1, + -1, -1, -1, 318, -1, -1, 319, 320, 321, 322, + 323, 326, 325, -1, 327, -1, 329, 330, 331, -1, -1, 33, -1, -1, -1, 340, 10, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, 352, -1, -1, - -1, -1, 357, -1, -1, -1, -1, 362, -1, 33, + -1, -1, 357, -1, -1, -1, -1, 362, 361, 33, -1, -1, -1, -1, -1, 734, 735, 736, -1, 374, - 375, -1, -1, -1, -1, -1, -1, 382, 383, 261, + 375, -1, -1, -1, -1, 378, 379, 382, 383, 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, -1, -1, 273, 274, 275, 276, -1, 278, 279, -1, 281, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, 292, 293, -1, 295, 296, 297, 298, 299, -1, -1, - 302, 303, 304, -1, -1, -1, 308, 342, 343, 344, - 345, 346, 347, 348, -1, -1, 318, -1, 353, 354, + 302, 303, 304, -1, -1, -1, 308, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 318, -1, -1, -1, -1, -1, -1, -1, 326, -1, -1, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, 340, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -2494,7 +2496,7 @@ static const char *const pfctlyrule[] = { "nataction : no NAT natpasslog", "nataction : no RDR natpasslog", "natrule : nataction interface af proto fromto tag tagged rtable redirpool pool_opts", -"binatrule : no BINAT natpasslog interface af proto FROM host toipspec tag tagged rtable redirection", +"binatrule : no BINAT natpasslog interface af proto FROM ipspec toipspec tag tagged rtable redirection", "tag :", "tag : TAG STRING", "tagged :", @@ -2566,7 +2568,7 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 4545 "../../freebsd/sbin/pfctl/parse.y" +#line 4550 "../../freebsd/sbin/pfctl/parse.y" #ifdef __rtems__ RTEMS_LINKER_RWSET_CONTENT(bsd_prog_pfctl, extern YYSTYPE pfctlyval); RTEMS_LINKER_RWSET_CONTENT(bsd_prog_pfctl, extern YYSTYPE pfctlylval); @@ -4295,6 +4297,57 @@ pfctl_load_anchors(int dev, struct pfctl *pf, struct pfr_buffer *trans) } int +kw_casecmp(const void *k, const void *e) +{ + return (strcasecmp(k, ((const struct keywords *)e)->k_name)); +} + +int +map_tos(char *s, int *val) +{ + /* DiffServ Codepoints and other TOS mappings */ + const struct keywords toswords[] = { + { "af11", IPTOS_DSCP_AF11 }, + { "af12", IPTOS_DSCP_AF12 }, + { "af13", IPTOS_DSCP_AF13 }, + { "af21", IPTOS_DSCP_AF21 }, + { "af22", IPTOS_DSCP_AF22 }, + { "af23", IPTOS_DSCP_AF23 }, + { "af31", IPTOS_DSCP_AF31 }, + { "af32", IPTOS_DSCP_AF32 }, + { "af33", IPTOS_DSCP_AF33 }, + { "af41", IPTOS_DSCP_AF41 }, + { "af42", IPTOS_DSCP_AF42 }, + { "af43", IPTOS_DSCP_AF43 }, + { "critical", IPTOS_PREC_CRITIC_ECP }, + { "cs0", IPTOS_DSCP_CS0 }, + { "cs1", IPTOS_DSCP_CS1 }, + { "cs2", IPTOS_DSCP_CS2 }, + { "cs3", IPTOS_DSCP_CS3 }, + { "cs4", IPTOS_DSCP_CS4 }, + { "cs5", IPTOS_DSCP_CS5 }, + { "cs6", IPTOS_DSCP_CS6 }, + { "cs7", IPTOS_DSCP_CS7 }, + { "ef", IPTOS_DSCP_EF }, + { "inetcontrol", IPTOS_PREC_INTERNETCONTROL }, + { "lowdelay", IPTOS_LOWDELAY }, + { "netcontrol", IPTOS_PREC_NETCONTROL }, + { "reliability", IPTOS_RELIABILITY }, + { "throughput", IPTOS_THROUGHPUT } + }; + const struct keywords *p; + + p = bsearch(s, toswords, sizeof(toswords)/sizeof(toswords[0]), + sizeof(toswords[0]), kw_casecmp); + + if (p) { + *val = p->k_val; + return (1); + } + return (0); +} + +int rt_tableid_max(void) { #ifdef __FreeBSD__ @@ -4313,7 +4366,7 @@ rt_tableid_max(void) return (RT_TABLEID_MAX); #endif } -#line 4317 "pfctly.tab.c" +#line 4370 "pfctly.tab.c" #if YYDEBUG #include <stdio.h> /* needed for printf */ @@ -4516,11 +4569,11 @@ yyreduce: switch (yyn) { case 17: -#line 553 "../../freebsd/sbin/pfctl/parse.y" +#line 555 "../../freebsd/sbin/pfctl/parse.y" { file->errors++; } break; case 18: -#line 556 "../../freebsd/sbin/pfctl/parse.y" +#line 558 "../../freebsd/sbin/pfctl/parse.y" { struct file *nfile; @@ -4536,7 +4589,7 @@ case 18: } break; case 25: -#line 583 "../../freebsd/sbin/pfctl/parse.y" +#line 585 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "none")) yyval.v.i = 0; @@ -4551,7 +4604,7 @@ case 25: } break; case 26: -#line 597 "../../freebsd/sbin/pfctl/parse.y" +#line 599 "../../freebsd/sbin/pfctl/parse.y" { if (check_rulestate(PFCTL_STATE_OPTION)) { free(yystack.l_mark[0].v.string); @@ -4566,7 +4619,7 @@ case 26: } break; case 27: -#line 609 "../../freebsd/sbin/pfctl/parse.y" +#line 611 "../../freebsd/sbin/pfctl/parse.y" { if (!(pf->opts & PF_OPT_OPTIMIZE)) { pf->opts |= PF_OPT_OPTIMIZE; @@ -4575,7 +4628,7 @@ case 27: } break; case 32: -#line 619 "../../freebsd/sbin/pfctl/parse.y" +#line 621 "../../freebsd/sbin/pfctl/parse.y" { if (check_rulestate(PFCTL_STATE_OPTION)) { free(yystack.l_mark[0].v.string); @@ -4590,7 +4643,7 @@ case 32: } break; case 33: -#line 631 "../../freebsd/sbin/pfctl/parse.y" +#line 633 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number == 0 || yystack.l_mark[0].v.number > UINT_MAX) { yyerror("hostid must be non-zero"); @@ -4603,7 +4656,7 @@ case 33: } break; case 34: -#line 641 "../../freebsd/sbin/pfctl/parse.y" +#line 643 "../../freebsd/sbin/pfctl/parse.y" { if (pf->opts & PF_OPT_VERBOSE) printf("set block-policy drop\n"); @@ -4613,7 +4666,7 @@ case 34: } break; case 35: -#line 648 "../../freebsd/sbin/pfctl/parse.y" +#line 650 "../../freebsd/sbin/pfctl/parse.y" { if (pf->opts & PF_OPT_VERBOSE) printf("set block-policy return\n"); @@ -4623,7 +4676,7 @@ case 35: } break; case 36: -#line 655 "../../freebsd/sbin/pfctl/parse.y" +#line 657 "../../freebsd/sbin/pfctl/parse.y" { if (pf->opts & PF_OPT_VERBOSE) printf("set require-order %s\n", @@ -4632,7 +4685,7 @@ case 36: } break; case 37: -#line 661 "../../freebsd/sbin/pfctl/parse.y" +#line 663 "../../freebsd/sbin/pfctl/parse.y" { if (pf->opts & PF_OPT_VERBOSE) printf("set fingerprints \"%s\"\n", yystack.l_mark[0].v.string); @@ -4653,7 +4706,7 @@ case 37: } break; case 38: -#line 679 "../../freebsd/sbin/pfctl/parse.y" +#line 681 "../../freebsd/sbin/pfctl/parse.y" { if (pf->opts & PF_OPT_VERBOSE) switch (yystack.l_mark[0].v.i) { @@ -4668,7 +4721,7 @@ case 38: } break; case 39: -#line 691 "../../freebsd/sbin/pfctl/parse.y" +#line 693 "../../freebsd/sbin/pfctl/parse.y" { if (check_rulestate(PFCTL_STATE_OPTION)) { free(yystack.l_mark[0].v.string); @@ -4683,7 +4736,7 @@ case 39: } break; case 40: -#line 703 "../../freebsd/sbin/pfctl/parse.y" +#line 705 "../../freebsd/sbin/pfctl/parse.y" { if (expand_skip_interface(yystack.l_mark[0].v.interface) != 0) { yyerror("error setting skip interface(s)"); @@ -4692,7 +4745,7 @@ case 40: } break; case 41: -#line 709 "../../freebsd/sbin/pfctl/parse.y" +#line 711 "../../freebsd/sbin/pfctl/parse.y" { if (keep_state_defaults != NULL) { yyerror("cannot redefine state-defaults"); @@ -4702,11 +4755,11 @@ case 41: } break; case 42: -#line 718 "../../freebsd/sbin/pfctl/parse.y" +#line 720 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.string = yystack.l_mark[0].v.string; } break; case 43: -#line 719 "../../freebsd/sbin/pfctl/parse.y" +#line 721 "../../freebsd/sbin/pfctl/parse.y" { if ((yyval.v.string = strdup("all")) == NULL) { err(1, "stringall: strdup"); @@ -4714,7 +4767,7 @@ case 43: } break; case 44: -#line 726 "../../freebsd/sbin/pfctl/parse.y" +#line 728 "../../freebsd/sbin/pfctl/parse.y" { if (asprintf(&yyval.v.string, "%s %s", yystack.l_mark[-1].v.string, yystack.l_mark[0].v.string) == -1) err(1, "string: asprintf"); @@ -4723,7 +4776,7 @@ case 44: } break; case 46: -#line 735 "../../freebsd/sbin/pfctl/parse.y" +#line 737 "../../freebsd/sbin/pfctl/parse.y" { if (asprintf(&yyval.v.string, "%s %s", yystack.l_mark[-1].v.string, yystack.l_mark[0].v.string) == -1) err(1, "string: asprintf"); @@ -4732,7 +4785,7 @@ case 46: } break; case 48: -#line 744 "../../freebsd/sbin/pfctl/parse.y" +#line 746 "../../freebsd/sbin/pfctl/parse.y" { char *s; if (asprintf(&s, "%lld", (long long)yystack.l_mark[0].v.number) == -1) { @@ -4743,7 +4796,7 @@ case 48: } break; case 50: -#line 755 "../../freebsd/sbin/pfctl/parse.y" +#line 757 "../../freebsd/sbin/pfctl/parse.y" { if (pf->opts & PF_OPT_VERBOSE) printf("%s = \"%s\"\n", yystack.l_mark[-2].v.string, yystack.l_mark[0].v.string); @@ -4754,15 +4807,15 @@ case 50: } break; case 51: -#line 765 "../../freebsd/sbin/pfctl/parse.y" +#line 767 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.string = yystack.l_mark[0].v.string; } break; case 52: -#line 766 "../../freebsd/sbin/pfctl/parse.y" +#line 768 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.string = NULL; } break; case 57: -#line 776 "../../freebsd/sbin/pfctl/parse.y" +#line 778 "../../freebsd/sbin/pfctl/parse.y" { char ta[PF_ANCHOR_NAME_SIZE]; struct pf_ruleset *rs; @@ -4782,7 +4835,7 @@ case 57: } break; case 58: -#line 793 "../../freebsd/sbin/pfctl/parse.y" +#line 795 "../../freebsd/sbin/pfctl/parse.y" { pf->alast = pf->anchor; pf->asd--; @@ -4790,7 +4843,7 @@ case 58: } break; case 60: -#line 803 "../../freebsd/sbin/pfctl/parse.y" +#line 805 "../../freebsd/sbin/pfctl/parse.y" { struct pf_rule r; struct node_proto *proto; @@ -4925,7 +4978,7 @@ case 60: } break; case 61: -#line 935 "../../freebsd/sbin/pfctl/parse.y" +#line 937 "../../freebsd/sbin/pfctl/parse.y" { struct pf_rule r; @@ -4949,7 +5002,7 @@ case 61: } break; case 62: -#line 956 "../../freebsd/sbin/pfctl/parse.y" +#line 958 "../../freebsd/sbin/pfctl/parse.y" { struct pf_rule r; @@ -4994,7 +5047,7 @@ case 62: } break; case 63: -#line 998 "../../freebsd/sbin/pfctl/parse.y" +#line 1000 "../../freebsd/sbin/pfctl/parse.y" { struct pf_rule r; @@ -5032,7 +5085,7 @@ case 63: } break; case 64: -#line 1035 "../../freebsd/sbin/pfctl/parse.y" +#line 1037 "../../freebsd/sbin/pfctl/parse.y" { struct loadanchors *loadanchor; @@ -5065,7 +5118,7 @@ case 64: } break; case 65: -#line 1066 "../../freebsd/sbin/pfctl/parse.y" +#line 1068 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = yyval.v.b.w = 0; if (yystack.l_mark[-1].v.i) @@ -5075,7 +5128,7 @@ case 65: } break; case 66: -#line 1076 "../../freebsd/sbin/pfctl/parse.y" +#line 1078 "../../freebsd/sbin/pfctl/parse.y" { struct pf_rule r; @@ -5133,18 +5186,18 @@ case 66: } break; case 67: -#line 1133 "../../freebsd/sbin/pfctl/parse.y" +#line 1135 "../../freebsd/sbin/pfctl/parse.y" { bzero(&scrub_opts, sizeof scrub_opts); scrub_opts.rtableid = -1; } break; case 68: -#line 1138 "../../freebsd/sbin/pfctl/parse.y" +#line 1140 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.scrub_opts = scrub_opts; } break; case 69: -#line 1139 "../../freebsd/sbin/pfctl/parse.y" +#line 1141 "../../freebsd/sbin/pfctl/parse.y" { bzero(&scrub_opts, sizeof scrub_opts); scrub_opts.rtableid = -1; @@ -5152,7 +5205,7 @@ case 69: } break; case 72: -#line 1150 "../../freebsd/sbin/pfctl/parse.y" +#line 1152 "../../freebsd/sbin/pfctl/parse.y" { if (scrub_opts.nodf) { yyerror("no-df cannot be respecified"); @@ -5162,7 +5215,7 @@ case 72: } break; case 73: -#line 1157 "../../freebsd/sbin/pfctl/parse.y" +#line 1159 "../../freebsd/sbin/pfctl/parse.y" { if (scrub_opts.marker & SOM_MINTTL) { yyerror("min-ttl cannot be respecified"); @@ -5177,7 +5230,7 @@ case 73: } break; case 74: -#line 1169 "../../freebsd/sbin/pfctl/parse.y" +#line 1171 "../../freebsd/sbin/pfctl/parse.y" { if (scrub_opts.marker & SOM_MAXMSS) { yyerror("max-mss cannot be respecified"); @@ -5192,7 +5245,7 @@ case 74: } break; case 75: -#line 1181 "../../freebsd/sbin/pfctl/parse.y" +#line 1183 "../../freebsd/sbin/pfctl/parse.y" { if (scrub_opts.marker & SOM_SETTOS) { yyerror("set-tos cannot be respecified"); @@ -5203,7 +5256,7 @@ case 75: } break; case 76: -#line 1189 "../../freebsd/sbin/pfctl/parse.y" +#line 1191 "../../freebsd/sbin/pfctl/parse.y" { if (scrub_opts.marker & SOM_FRAGCACHE) { yyerror("fragcache cannot be respecified"); @@ -5214,7 +5267,7 @@ case 76: } break; case 77: -#line 1197 "../../freebsd/sbin/pfctl/parse.y" +#line 1199 "../../freebsd/sbin/pfctl/parse.y" { if (strcasecmp(yystack.l_mark[0].v.string, "tcp") != 0) { yyerror("scrub reassemble supports only tcp, " @@ -5231,7 +5284,7 @@ case 77: } break; case 78: -#line 1211 "../../freebsd/sbin/pfctl/parse.y" +#line 1213 "../../freebsd/sbin/pfctl/parse.y" { if (scrub_opts.randomid) { yyerror("random-id cannot be respecified"); @@ -5241,7 +5294,7 @@ case 78: } break; case 79: -#line 1218 "../../freebsd/sbin/pfctl/parse.y" +#line 1220 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > rt_tableid_max()) { yyerror("invalid rtable id"); @@ -5251,26 +5304,26 @@ case 79: } break; case 80: -#line 1225 "../../freebsd/sbin/pfctl/parse.y" +#line 1227 "../../freebsd/sbin/pfctl/parse.y" { scrub_opts.match_tag = yystack.l_mark[0].v.string; scrub_opts.match_tag_not = yystack.l_mark[-2].v.number; } break; case 81: -#line 1231 "../../freebsd/sbin/pfctl/parse.y" +#line 1233 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = 0; /* default */ } break; case 82: -#line 1232 "../../freebsd/sbin/pfctl/parse.y" +#line 1234 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = 0; } break; case 83: -#line 1233 "../../freebsd/sbin/pfctl/parse.y" +#line 1235 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = 0; } break; case 84: -#line 1236 "../../freebsd/sbin/pfctl/parse.y" +#line 1238 "../../freebsd/sbin/pfctl/parse.y" { struct pf_rule r; struct node_host *h = NULL, *hh; @@ -5358,19 +5411,19 @@ case 84: } break; case 85: -#line 1323 "../../freebsd/sbin/pfctl/parse.y" +#line 1325 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.interface = yystack.l_mark[0].v.interface; } break; case 86: -#line 1324 "../../freebsd/sbin/pfctl/parse.y" +#line 1326 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.interface = yystack.l_mark[-1].v.interface; } break; case 87: -#line 1327 "../../freebsd/sbin/pfctl/parse.y" +#line 1329 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.interface = yystack.l_mark[-1].v.interface; } break; case 88: -#line 1328 "../../freebsd/sbin/pfctl/parse.y" +#line 1330 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.interface->tail->next = yystack.l_mark[-1].v.interface; yystack.l_mark[-3].v.interface->tail = yystack.l_mark[-1].v.interface; @@ -5378,29 +5431,29 @@ case 88: } break; case 89: -#line 1335 "../../freebsd/sbin/pfctl/parse.y" +#line 1337 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.interface = yystack.l_mark[0].v.interface; } break; case 90: -#line 1336 "../../freebsd/sbin/pfctl/parse.y" +#line 1338 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-1].v.interface->dynamic = 1; yyval.v.interface = yystack.l_mark[-1].v.interface; } break; case 91: -#line 1342 "../../freebsd/sbin/pfctl/parse.y" +#line 1344 "../../freebsd/sbin/pfctl/parse.y" { bzero(&antispoof_opts, sizeof antispoof_opts); antispoof_opts.rtableid = -1; } break; case 92: -#line 1347 "../../freebsd/sbin/pfctl/parse.y" +#line 1349 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.antispoof_opts = antispoof_opts; } break; case 93: -#line 1348 "../../freebsd/sbin/pfctl/parse.y" +#line 1350 "../../freebsd/sbin/pfctl/parse.y" { bzero(&antispoof_opts, sizeof antispoof_opts); antispoof_opts.rtableid = -1; @@ -5408,7 +5461,7 @@ case 93: } break; case 96: -#line 1359 "../../freebsd/sbin/pfctl/parse.y" +#line 1361 "../../freebsd/sbin/pfctl/parse.y" { if (antispoof_opts.label) { yyerror("label cannot be redefined"); @@ -5418,7 +5471,7 @@ case 96: } break; case 97: -#line 1366 "../../freebsd/sbin/pfctl/parse.y" +#line 1368 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > rt_tableid_max()) { yyerror("invalid rtable id"); @@ -5428,15 +5481,15 @@ case 97: } break; case 98: -#line 1375 "../../freebsd/sbin/pfctl/parse.y" +#line 1377 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.number = 1; } break; case 99: -#line 1376 "../../freebsd/sbin/pfctl/parse.y" +#line 1378 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.number = 0; } break; case 100: -#line 1379 "../../freebsd/sbin/pfctl/parse.y" +#line 1381 "../../freebsd/sbin/pfctl/parse.y" { struct node_host *h, *nh; struct node_tinit *ti, *nti; @@ -5467,18 +5520,18 @@ case 100: } break; case 101: -#line 1409 "../../freebsd/sbin/pfctl/parse.y" +#line 1411 "../../freebsd/sbin/pfctl/parse.y" { bzero(&table_opts, sizeof table_opts); SIMPLEQ_INIT(&table_opts.init_nodes); } break; case 102: -#line 1414 "../../freebsd/sbin/pfctl/parse.y" +#line 1416 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.table_opts = table_opts; } break; case 103: -#line 1416 "../../freebsd/sbin/pfctl/parse.y" +#line 1418 "../../freebsd/sbin/pfctl/parse.y" { bzero(&table_opts, sizeof table_opts); SIMPLEQ_INIT(&table_opts.init_nodes); @@ -5486,7 +5539,7 @@ case 103: } break; case 106: -#line 1427 "../../freebsd/sbin/pfctl/parse.y" +#line 1429 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "const")) table_opts.flags |= PFR_TFLAG_CONST; @@ -5503,11 +5556,11 @@ case 106: } break; case 107: -#line 1441 "../../freebsd/sbin/pfctl/parse.y" +#line 1443 "../../freebsd/sbin/pfctl/parse.y" { table_opts.init_addr = 1; } break; case 108: -#line 1442 "../../freebsd/sbin/pfctl/parse.y" +#line 1444 "../../freebsd/sbin/pfctl/parse.y" { struct node_host *n; struct node_tinit *ti; @@ -5550,7 +5603,7 @@ case 108: } break; case 109: -#line 1482 "../../freebsd/sbin/pfctl/parse.y" +#line 1484 "../../freebsd/sbin/pfctl/parse.y" { struct node_tinit *ti; @@ -5563,7 +5616,7 @@ case 109: } break; case 110: -#line 1494 "../../freebsd/sbin/pfctl/parse.y" +#line 1496 "../../freebsd/sbin/pfctl/parse.y" { struct pf_altq a; @@ -5588,7 +5641,7 @@ case 110: } break; case 111: -#line 1518 "../../freebsd/sbin/pfctl/parse.y" +#line 1520 "../../freebsd/sbin/pfctl/parse.y" { struct pf_altq a; @@ -5626,7 +5679,7 @@ case 111: } break; case 112: -#line 1555 "../../freebsd/sbin/pfctl/parse.y" +#line 1557 "../../freebsd/sbin/pfctl/parse.y" { bzero(&queue_opts, sizeof queue_opts); queue_opts.priority = DEFAULT_PRIORITY; @@ -5636,11 +5689,11 @@ case 112: } break; case 113: -#line 1563 "../../freebsd/sbin/pfctl/parse.y" +#line 1565 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_opts = queue_opts; } break; case 114: -#line 1564 "../../freebsd/sbin/pfctl/parse.y" +#line 1566 "../../freebsd/sbin/pfctl/parse.y" { bzero(&queue_opts, sizeof queue_opts); queue_opts.priority = DEFAULT_PRIORITY; @@ -5651,7 +5704,7 @@ case 114: } break; case 117: -#line 1578 "../../freebsd/sbin/pfctl/parse.y" +#line 1580 "../../freebsd/sbin/pfctl/parse.y" { if (queue_opts.marker & QOM_BWSPEC) { yyerror("bandwidth cannot be respecified"); @@ -5662,7 +5715,7 @@ case 117: } break; case 118: -#line 1586 "../../freebsd/sbin/pfctl/parse.y" +#line 1588 "../../freebsd/sbin/pfctl/parse.y" { if (queue_opts.marker & QOM_PRIORITY) { yyerror("priority cannot be respecified"); @@ -5677,7 +5730,7 @@ case 118: } break; case 119: -#line 1598 "../../freebsd/sbin/pfctl/parse.y" +#line 1600 "../../freebsd/sbin/pfctl/parse.y" { if (queue_opts.marker & QOM_QLIMIT) { yyerror("qlimit cannot be respecified"); @@ -5692,7 +5745,7 @@ case 119: } break; case 120: -#line 1610 "../../freebsd/sbin/pfctl/parse.y" +#line 1612 "../../freebsd/sbin/pfctl/parse.y" { if (queue_opts.marker & QOM_SCHEDULER) { yyerror("scheduler cannot be respecified"); @@ -5703,7 +5756,7 @@ case 120: } break; case 121: -#line 1618 "../../freebsd/sbin/pfctl/parse.y" +#line 1620 "../../freebsd/sbin/pfctl/parse.y" { if (queue_opts.marker & QOM_TBRSIZE) { yyerror("tbrsize cannot be respecified"); @@ -5718,7 +5771,7 @@ case 121: } break; case 122: -#line 1632 "../../freebsd/sbin/pfctl/parse.y" +#line 1634 "../../freebsd/sbin/pfctl/parse.y" { double bps; char *cp; @@ -5764,7 +5817,7 @@ case 122: } break; case 123: -#line 1675 "../../freebsd/sbin/pfctl/parse.y" +#line 1677 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { yyerror("bandwidth number too big"); @@ -5775,35 +5828,35 @@ case 123: } break; case 124: -#line 1685 "../../freebsd/sbin/pfctl/parse.y" +#line 1687 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_CBQ; yyval.v.queue_options.data.cbq_opts.flags = 0; } break; case 125: -#line 1689 "../../freebsd/sbin/pfctl/parse.y" +#line 1691 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_CBQ; yyval.v.queue_options.data.cbq_opts.flags = yystack.l_mark[-1].v.number; } break; case 126: -#line 1693 "../../freebsd/sbin/pfctl/parse.y" +#line 1695 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_PRIQ; yyval.v.queue_options.data.priq_opts.flags = 0; } break; case 127: -#line 1697 "../../freebsd/sbin/pfctl/parse.y" +#line 1699 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_PRIQ; yyval.v.queue_options.data.priq_opts.flags = yystack.l_mark[-1].v.number; } break; case 128: -#line 1701 "../../freebsd/sbin/pfctl/parse.y" +#line 1703 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_HFSC; bzero(&yyval.v.queue_options.data.hfsc_opts, @@ -5811,14 +5864,14 @@ case 128: } break; case 129: -#line 1706 "../../freebsd/sbin/pfctl/parse.y" +#line 1708 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_HFSC; yyval.v.queue_options.data.hfsc_opts = yystack.l_mark[-1].v.hfsc_opts; } break; case 130: -#line 1710 "../../freebsd/sbin/pfctl/parse.y" +#line 1712 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_FAIRQ; bzero(&yyval.v.queue_options.data.fairq_opts, @@ -5826,14 +5879,14 @@ case 130: } break; case 131: -#line 1715 "../../freebsd/sbin/pfctl/parse.y" +#line 1717 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_FAIRQ; yyval.v.queue_options.data.fairq_opts = yystack.l_mark[-1].v.fairq_opts; } break; case 132: -#line 1719 "../../freebsd/sbin/pfctl/parse.y" +#line 1721 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_CODEL; bzero(&yyval.v.queue_options.data.codel_opts, @@ -5841,22 +5894,22 @@ case 132: } break; case 133: -#line 1724 "../../freebsd/sbin/pfctl/parse.y" +#line 1726 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue_options.qtype = ALTQT_CODEL; yyval.v.queue_options.data.codel_opts = yystack.l_mark[-1].v.codel_opts; } break; case 134: -#line 1730 "../../freebsd/sbin/pfctl/parse.y" +#line 1732 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.number |= yystack.l_mark[0].v.number; } break; case 135: -#line 1731 "../../freebsd/sbin/pfctl/parse.y" +#line 1733 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.number |= yystack.l_mark[0].v.number; } break; case 136: -#line 1734 "../../freebsd/sbin/pfctl/parse.y" +#line 1736 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "default")) yyval.v.number = CBQCLF_DEFCLASS; @@ -5879,15 +5932,15 @@ case 136: } break; case 137: -#line 1756 "../../freebsd/sbin/pfctl/parse.y" +#line 1758 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.number |= yystack.l_mark[0].v.number; } break; case 138: -#line 1757 "../../freebsd/sbin/pfctl/parse.y" +#line 1759 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.number |= yystack.l_mark[0].v.number; } break; case 139: -#line 1760 "../../freebsd/sbin/pfctl/parse.y" +#line 1762 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "default")) yyval.v.number = PRCF_DEFAULTCLASS; @@ -5908,20 +5961,20 @@ case 139: } break; case 140: -#line 1780 "../../freebsd/sbin/pfctl/parse.y" +#line 1782 "../../freebsd/sbin/pfctl/parse.y" { bzero(&hfsc_opts, sizeof(struct node_hfsc_opts)); } break; case 141: -#line 1784 "../../freebsd/sbin/pfctl/parse.y" +#line 1786 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.hfsc_opts = hfsc_opts; } break; case 144: -#line 1793 "../../freebsd/sbin/pfctl/parse.y" +#line 1795 "../../freebsd/sbin/pfctl/parse.y" { if (hfsc_opts.linkshare.used) { yyerror("linkshare already specified"); @@ -5932,7 +5985,7 @@ case 144: } break; case 145: -#line 1802 "../../freebsd/sbin/pfctl/parse.y" +#line 1804 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-3].v.number < 0 || yystack.l_mark[-3].v.number > INT_MAX) { yyerror("timing in curve out of range"); @@ -5949,7 +6002,7 @@ case 145: } break; case 146: -#line 1816 "../../freebsd/sbin/pfctl/parse.y" +#line 1818 "../../freebsd/sbin/pfctl/parse.y" { if (hfsc_opts.realtime.used) { yyerror("realtime already specified"); @@ -5960,7 +6013,7 @@ case 146: } break; case 147: -#line 1825 "../../freebsd/sbin/pfctl/parse.y" +#line 1827 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-3].v.number < 0 || yystack.l_mark[-3].v.number > INT_MAX) { yyerror("timing in curve out of range"); @@ -5977,7 +6030,7 @@ case 147: } break; case 148: -#line 1839 "../../freebsd/sbin/pfctl/parse.y" +#line 1841 "../../freebsd/sbin/pfctl/parse.y" { if (hfsc_opts.upperlimit.used) { yyerror("upperlimit already specified"); @@ -5988,7 +6041,7 @@ case 148: } break; case 149: -#line 1848 "../../freebsd/sbin/pfctl/parse.y" +#line 1850 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-3].v.number < 0 || yystack.l_mark[-3].v.number > INT_MAX) { yyerror("timing in curve out of range"); @@ -6005,7 +6058,7 @@ case 149: } break; case 150: -#line 1862 "../../freebsd/sbin/pfctl/parse.y" +#line 1864 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "default")) hfsc_opts.flags |= HFCF_DEFAULTCLASS; @@ -6026,20 +6079,20 @@ case 150: } break; case 151: -#line 1882 "../../freebsd/sbin/pfctl/parse.y" +#line 1884 "../../freebsd/sbin/pfctl/parse.y" { bzero(&fairq_opts, sizeof(struct node_fairq_opts)); } break; case 152: -#line 1886 "../../freebsd/sbin/pfctl/parse.y" +#line 1888 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.fairq_opts = fairq_opts; } break; case 155: -#line 1895 "../../freebsd/sbin/pfctl/parse.y" +#line 1897 "../../freebsd/sbin/pfctl/parse.y" { if (fairq_opts.linkshare.used) { yyerror("linkshare already specified"); @@ -6050,7 +6103,7 @@ case 155: } break; case 156: -#line 1903 "../../freebsd/sbin/pfctl/parse.y" +#line 1905 "../../freebsd/sbin/pfctl/parse.y" { if (fairq_opts.linkshare.used) { yyerror("linkshare already specified"); @@ -6063,19 +6116,19 @@ case 156: } break; case 157: -#line 1913 "../../freebsd/sbin/pfctl/parse.y" +#line 1915 "../../freebsd/sbin/pfctl/parse.y" { fairq_opts.hogs_bw = yystack.l_mark[0].v.queue_bwspec; } break; case 158: -#line 1916 "../../freebsd/sbin/pfctl/parse.y" +#line 1918 "../../freebsd/sbin/pfctl/parse.y" { fairq_opts.nbuckets = yystack.l_mark[0].v.number; } break; case 159: -#line 1919 "../../freebsd/sbin/pfctl/parse.y" +#line 1921 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "default")) fairq_opts.flags |= FARF_DEFAULTCLASS; @@ -6096,20 +6149,20 @@ case 159: } break; case 160: -#line 1939 "../../freebsd/sbin/pfctl/parse.y" +#line 1941 "../../freebsd/sbin/pfctl/parse.y" { bzero(&codel_opts, sizeof(struct codel_opts)); } break; case 161: -#line 1943 "../../freebsd/sbin/pfctl/parse.y" +#line 1945 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.codel_opts = codel_opts; } break; case 164: -#line 1952 "../../freebsd/sbin/pfctl/parse.y" +#line 1954 "../../freebsd/sbin/pfctl/parse.y" { if (codel_opts.interval) { yyerror("interval already specified"); @@ -6119,7 +6172,7 @@ case 164: } break; case 165: -#line 1959 "../../freebsd/sbin/pfctl/parse.y" +#line 1961 "../../freebsd/sbin/pfctl/parse.y" { if (codel_opts.target) { yyerror("target already specified"); @@ -6129,7 +6182,7 @@ case 165: } break; case 166: -#line 1966 "../../freebsd/sbin/pfctl/parse.y" +#line 1968 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "ecn")) codel_opts.ecn = 1; @@ -6142,23 +6195,23 @@ case 166: } break; case 167: -#line 1978 "../../freebsd/sbin/pfctl/parse.y" +#line 1980 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue = NULL; } break; case 168: -#line 1979 "../../freebsd/sbin/pfctl/parse.y" +#line 1981 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue = yystack.l_mark[0].v.queue; } break; case 169: -#line 1980 "../../freebsd/sbin/pfctl/parse.y" +#line 1982 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue = yystack.l_mark[-1].v.queue; } break; case 170: -#line 1983 "../../freebsd/sbin/pfctl/parse.y" +#line 1985 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue = yystack.l_mark[-1].v.queue; } break; case 171: -#line 1984 "../../freebsd/sbin/pfctl/parse.y" +#line 1986 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.queue->tail->next = yystack.l_mark[-1].v.queue; yystack.l_mark[-3].v.queue->tail = yystack.l_mark[-1].v.queue; @@ -6166,7 +6219,7 @@ case 171: } break; case 172: -#line 1991 "../../freebsd/sbin/pfctl/parse.y" +#line 1993 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.queue = calloc(1, sizeof(struct node_queue)); if (yyval.v.queue == NULL) @@ -6185,7 +6238,7 @@ case 172: } break; case 173: -#line 2011 "../../freebsd/sbin/pfctl/parse.y" +#line 2013 "../../freebsd/sbin/pfctl/parse.y" { struct pf_rule r; struct node_state_opt *o; @@ -6524,7 +6577,7 @@ case 173: memcpy(&r.rpool.key, yystack.l_mark[-4].v.route.key, sizeof(struct pf_poolhashkey)); } - if (r.rt && r.rt != PF_FASTROUTE) { + if (r.rt) { decide_address_family(yystack.l_mark[-4].v.route.host, &r.af); remove_invalid_hosts(&yystack.l_mark[-4].v.route.host, &r.af); if (yystack.l_mark[-4].v.route.host == NULL) { @@ -6610,18 +6663,18 @@ case 173: } break; case 174: -#line 2435 "../../freebsd/sbin/pfctl/parse.y" +#line 2437 "../../freebsd/sbin/pfctl/parse.y" { bzero(&filter_opts, sizeof filter_opts); filter_opts.rtableid = -1; } break; case 175: -#line 2440 "../../freebsd/sbin/pfctl/parse.y" +#line 2442 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.filter_opts = filter_opts; } break; case 176: -#line 2441 "../../freebsd/sbin/pfctl/parse.y" +#line 2443 "../../freebsd/sbin/pfctl/parse.y" { bzero(&filter_opts, sizeof filter_opts); filter_opts.rtableid = -1; @@ -6629,7 +6682,7 @@ case 176: } break; case 179: -#line 2452 "../../freebsd/sbin/pfctl/parse.y" +#line 2454 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.uid) yystack.l_mark[0].v.uid->tail->next = filter_opts.uid; @@ -6637,7 +6690,7 @@ case 179: } break; case 180: -#line 2457 "../../freebsd/sbin/pfctl/parse.y" +#line 2459 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.gid) yystack.l_mark[0].v.gid->tail->next = filter_opts.gid; @@ -6645,7 +6698,7 @@ case 180: } break; case 181: -#line 2462 "../../freebsd/sbin/pfctl/parse.y" +#line 2464 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.marker & FOM_FLAGS) { yyerror("flags cannot be redefined"); @@ -6659,7 +6712,7 @@ case 181: } break; case 182: -#line 2473 "../../freebsd/sbin/pfctl/parse.y" +#line 2475 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.marker & FOM_ICMP) { yyerror("icmp-type cannot be redefined"); @@ -6670,7 +6723,7 @@ case 182: } break; case 183: -#line 2481 "../../freebsd/sbin/pfctl/parse.y" +#line 2483 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.marker & FOM_PRIO) { yyerror("prio cannot be redefined"); @@ -6685,7 +6738,7 @@ case 183: } break; case 184: -#line 2493 "../../freebsd/sbin/pfctl/parse.y" +#line 2495 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.marker & FOM_TOS) { yyerror("tos cannot be redefined"); @@ -6696,7 +6749,7 @@ case 184: } break; case 185: -#line 2501 "../../freebsd/sbin/pfctl/parse.y" +#line 2503 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.marker & FOM_KEEP) { yyerror("modulate or keep cannot be redefined"); @@ -6708,19 +6761,19 @@ case 185: } break; case 186: -#line 2510 "../../freebsd/sbin/pfctl/parse.y" +#line 2512 "../../freebsd/sbin/pfctl/parse.y" { filter_opts.fragment = 1; } break; case 187: -#line 2513 "../../freebsd/sbin/pfctl/parse.y" +#line 2515 "../../freebsd/sbin/pfctl/parse.y" { filter_opts.allowopts = 1; } break; case 188: -#line 2516 "../../freebsd/sbin/pfctl/parse.y" +#line 2518 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.label) { yyerror("label cannot be redefined"); @@ -6730,7 +6783,7 @@ case 188: } break; case 189: -#line 2523 "../../freebsd/sbin/pfctl/parse.y" +#line 2525 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.queues.qname) { yyerror("queue cannot be redefined"); @@ -6740,20 +6793,20 @@ case 189: } break; case 190: -#line 2530 "../../freebsd/sbin/pfctl/parse.y" +#line 2532 "../../freebsd/sbin/pfctl/parse.y" { filter_opts.tag = yystack.l_mark[0].v.string; } break; case 191: -#line 2533 "../../freebsd/sbin/pfctl/parse.y" +#line 2535 "../../freebsd/sbin/pfctl/parse.y" { filter_opts.match_tag = yystack.l_mark[0].v.string; filter_opts.match_tag_not = yystack.l_mark[-2].v.number; } break; case 192: -#line 2537 "../../freebsd/sbin/pfctl/parse.y" +#line 2539 "../../freebsd/sbin/pfctl/parse.y" { double p; @@ -6768,7 +6821,7 @@ case 192: } break; case 193: -#line 2549 "../../freebsd/sbin/pfctl/parse.y" +#line 2551 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > rt_tableid_max()) { yyerror("invalid rtable id"); @@ -6778,7 +6831,7 @@ case 193: } break; case 194: -#line 2556 "../../freebsd/sbin/pfctl/parse.y" +#line 2558 "../../freebsd/sbin/pfctl/parse.y" { #ifdef __FreeBSD__ filter_opts.divert.port = yystack.l_mark[0].v.range.a; @@ -6790,7 +6843,7 @@ case 194: } break; case 195: -#line 2565 "../../freebsd/sbin/pfctl/parse.y" +#line 2567 "../../freebsd/sbin/pfctl/parse.y" { #ifndef __FreeBSD__ if ((filter_opts.divert.addr = host(yystack.l_mark[-2].v.string)) == NULL) { @@ -6811,7 +6864,7 @@ case 195: } break; case 196: -#line 2583 "../../freebsd/sbin/pfctl/parse.y" +#line 2585 "../../freebsd/sbin/pfctl/parse.y" { #ifdef __FreeBSD__ yyerror("divert-reply has no meaning in FreeBSD pf(4)"); @@ -6822,15 +6875,15 @@ case 196: } break; case 198: -#line 2594 "../../freebsd/sbin/pfctl/parse.y" +#line 2596 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.filter_opts = filter_opts; } break; case 199: -#line 2595 "../../freebsd/sbin/pfctl/parse.y" +#line 2597 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.filter_opts = filter_opts; } break; case 202: -#line 2602 "../../freebsd/sbin/pfctl/parse.y" +#line 2604 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.marker & FOM_SETPRIO) { yyerror("prio cannot be redefined"); @@ -6842,7 +6895,7 @@ case 202: } break; case 203: -#line 2611 "../../freebsd/sbin/pfctl/parse.y" +#line 2613 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > PF_PRIO_MAX) { yyerror("prio must be 0 - %u", PF_PRIO_MAX); @@ -6852,7 +6905,7 @@ case 203: } break; case 204: -#line 2618 "../../freebsd/sbin/pfctl/parse.y" +#line 2620 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-3].v.number < 0 || yystack.l_mark[-3].v.number > PF_PRIO_MAX || yystack.l_mark[-1].v.number < 0 || yystack.l_mark[-1].v.number > PF_PRIO_MAX) { @@ -6864,7 +6917,7 @@ case 204: } break; case 205: -#line 2629 "../../freebsd/sbin/pfctl/parse.y" +#line 2631 "../../freebsd/sbin/pfctl/parse.y" { char *e; double p = strtod(yystack.l_mark[0].v.string, &e); @@ -6883,21 +6936,21 @@ case 205: } break; case 206: -#line 2645 "../../freebsd/sbin/pfctl/parse.y" +#line 2647 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.probability = (double)yystack.l_mark[0].v.number; } break; case 207: -#line 2651 "../../freebsd/sbin/pfctl/parse.y" +#line 2653 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b1 = PF_PASS; yyval.v.b.b2 = yyval.v.b.w = 0; } break; case 208: -#line 2652 "../../freebsd/sbin/pfctl/parse.y" +#line 2654 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b = yystack.l_mark[0].v.b; yyval.v.b.b1 = PF_DROP; } break; case 209: -#line 2655 "../../freebsd/sbin/pfctl/parse.y" +#line 2657 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = blockpolicy; yyval.v.b.w = returnicmpdefault; @@ -6905,7 +6958,7 @@ case 209: } break; case 210: -#line 2660 "../../freebsd/sbin/pfctl/parse.y" +#line 2662 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = PFRULE_DROP; yyval.v.b.w = 0; @@ -6913,7 +6966,7 @@ case 210: } break; case 211: -#line 2665 "../../freebsd/sbin/pfctl/parse.y" +#line 2667 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = PFRULE_RETURNRST; yyval.v.b.w = 0; @@ -6921,7 +6974,7 @@ case 211: } break; case 212: -#line 2670 "../../freebsd/sbin/pfctl/parse.y" +#line 2672 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-1].v.number < 0 || yystack.l_mark[-1].v.number > 255) { yyerror("illegal ttl value %d", yystack.l_mark[-1].v.number); @@ -6933,7 +6986,7 @@ case 212: } break; case 213: -#line 2679 "../../freebsd/sbin/pfctl/parse.y" +#line 2681 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = PFRULE_RETURNICMP; yyval.v.b.w = returnicmpdefault; @@ -6941,7 +6994,7 @@ case 213: } break; case 214: -#line 2684 "../../freebsd/sbin/pfctl/parse.y" +#line 2686 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = PFRULE_RETURNICMP; yyval.v.b.w = returnicmpdefault; @@ -6949,7 +7002,7 @@ case 214: } break; case 215: -#line 2689 "../../freebsd/sbin/pfctl/parse.y" +#line 2691 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = PFRULE_RETURNICMP; yyval.v.b.w = yystack.l_mark[-1].v.number; @@ -6957,7 +7010,7 @@ case 215: } break; case 216: -#line 2694 "../../freebsd/sbin/pfctl/parse.y" +#line 2696 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = PFRULE_RETURNICMP; yyval.v.b.w = returnicmpdefault; @@ -6965,7 +7018,7 @@ case 216: } break; case 217: -#line 2699 "../../freebsd/sbin/pfctl/parse.y" +#line 2701 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = PFRULE_RETURNICMP; yyval.v.b.w = yystack.l_mark[-3].v.number; @@ -6973,7 +7026,7 @@ case 217: } break; case 218: -#line 2704 "../../freebsd/sbin/pfctl/parse.y" +#line 2706 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b2 = PFRULE_RETURN; yyval.v.b.w = returnicmpdefault; @@ -6981,7 +7034,7 @@ case 218: } break; case 219: -#line 2711 "../../freebsd/sbin/pfctl/parse.y" +#line 2713 "../../freebsd/sbin/pfctl/parse.y" { if (!(yyval.v.number = parseicmpspec(yystack.l_mark[0].v.string, AF_INET))) { free(yystack.l_mark[0].v.string); @@ -6991,7 +7044,7 @@ case 219: } break; case 220: -#line 2718 "../../freebsd/sbin/pfctl/parse.y" +#line 2720 "../../freebsd/sbin/pfctl/parse.y" { u_int8_t icmptype; @@ -7004,7 +7057,7 @@ case 220: } break; case 221: -#line 2730 "../../freebsd/sbin/pfctl/parse.y" +#line 2732 "../../freebsd/sbin/pfctl/parse.y" { if (!(yyval.v.number = parseicmpspec(yystack.l_mark[0].v.string, AF_INET6))) { free(yystack.l_mark[0].v.string); @@ -7014,7 +7067,7 @@ case 221: } break; case 222: -#line 2737 "../../freebsd/sbin/pfctl/parse.y" +#line 2739 "../../freebsd/sbin/pfctl/parse.y" { u_int8_t icmptype; @@ -7027,62 +7080,62 @@ case 222: } break; case 223: -#line 2749 "../../freebsd/sbin/pfctl/parse.y" +#line 2751 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_INOUT; } break; case 224: -#line 2750 "../../freebsd/sbin/pfctl/parse.y" +#line 2752 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_IN; } break; case 225: -#line 2751 "../../freebsd/sbin/pfctl/parse.y" +#line 2753 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_OUT; } break; case 226: -#line 2754 "../../freebsd/sbin/pfctl/parse.y" +#line 2756 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.quick = 0; } break; case 227: -#line 2755 "../../freebsd/sbin/pfctl/parse.y" +#line 2757 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.quick = 1; } break; case 228: -#line 2758 "../../freebsd/sbin/pfctl/parse.y" +#line 2760 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.log = 0; yyval.v.logquick.quick = 0; yyval.v.logquick.logif = 0; } break; case 229: -#line 2759 "../../freebsd/sbin/pfctl/parse.y" +#line 2761 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick = yystack.l_mark[0].v.logquick; yyval.v.logquick.quick = 0; } break; case 230: -#line 2760 "../../freebsd/sbin/pfctl/parse.y" +#line 2762 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.quick = 1; yyval.v.logquick.log = 0; yyval.v.logquick.logif = 0; } break; case 231: -#line 2761 "../../freebsd/sbin/pfctl/parse.y" +#line 2763 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick = yystack.l_mark[-1].v.logquick; yyval.v.logquick.quick = 1; } break; case 232: -#line 2762 "../../freebsd/sbin/pfctl/parse.y" +#line 2764 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick = yystack.l_mark[0].v.logquick; yyval.v.logquick.quick = 1; } break; case 233: -#line 2765 "../../freebsd/sbin/pfctl/parse.y" +#line 2767 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.log = PF_LOG; yyval.v.logquick.logif = 0; } break; case 234: -#line 2766 "../../freebsd/sbin/pfctl/parse.y" +#line 2768 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.log = PF_LOG | yystack.l_mark[-1].v.logquick.log; yyval.v.logquick.logif = yystack.l_mark[-1].v.logquick.logif; } break; case 235: -#line 2772 "../../freebsd/sbin/pfctl/parse.y" +#line 2774 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick = yystack.l_mark[0].v.logquick; } break; case 236: -#line 2773 "../../freebsd/sbin/pfctl/parse.y" +#line 2775 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.log = yystack.l_mark[-2].v.logquick.log | yystack.l_mark[0].v.logquick.log; yyval.v.logquick.logif = yystack.l_mark[0].v.logquick.logif; @@ -7091,19 +7144,19 @@ case 236: } break; case 237: -#line 2781 "../../freebsd/sbin/pfctl/parse.y" +#line 2783 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.log = PF_LOG_ALL; yyval.v.logquick.logif = 0; } break; case 238: -#line 2782 "../../freebsd/sbin/pfctl/parse.y" +#line 2784 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.log = PF_LOG_SOCKET_LOOKUP; yyval.v.logquick.logif = 0; } break; case 239: -#line 2783 "../../freebsd/sbin/pfctl/parse.y" +#line 2785 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.logquick.log = PF_LOG_SOCKET_LOOKUP; yyval.v.logquick.logif = 0; } break; case 240: -#line 2784 "../../freebsd/sbin/pfctl/parse.y" +#line 2786 "../../freebsd/sbin/pfctl/parse.y" { const char *errstr; u_int i; @@ -7125,23 +7178,23 @@ case 240: } break; case 241: -#line 2805 "../../freebsd/sbin/pfctl/parse.y" +#line 2807 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.interface = NULL; } break; case 242: -#line 2806 "../../freebsd/sbin/pfctl/parse.y" +#line 2808 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.interface = yystack.l_mark[0].v.interface; } break; case 243: -#line 2807 "../../freebsd/sbin/pfctl/parse.y" +#line 2809 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.interface = yystack.l_mark[-1].v.interface; } break; case 244: -#line 2810 "../../freebsd/sbin/pfctl/parse.y" +#line 2812 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.interface = yystack.l_mark[-1].v.interface; } break; case 245: -#line 2811 "../../freebsd/sbin/pfctl/parse.y" +#line 2813 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.interface->tail->next = yystack.l_mark[-1].v.interface; yystack.l_mark[-3].v.interface->tail = yystack.l_mark[-1].v.interface; @@ -7149,11 +7202,11 @@ case 245: } break; case 246: -#line 2818 "../../freebsd/sbin/pfctl/parse.y" +#line 2820 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.interface = yystack.l_mark[0].v.interface; yyval.v.interface->not = yystack.l_mark[-1].v.number; } break; case 247: -#line 2821 "../../freebsd/sbin/pfctl/parse.y" +#line 2823 "../../freebsd/sbin/pfctl/parse.y" { struct node_host *n; @@ -7178,35 +7231,35 @@ case 247: } break; case 248: -#line 2845 "../../freebsd/sbin/pfctl/parse.y" +#line 2847 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = 0; } break; case 249: -#line 2846 "../../freebsd/sbin/pfctl/parse.y" +#line 2848 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = AF_INET; } break; case 250: -#line 2847 "../../freebsd/sbin/pfctl/parse.y" +#line 2849 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = AF_INET6; } break; case 251: -#line 2850 "../../freebsd/sbin/pfctl/parse.y" +#line 2852 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.proto = NULL; } break; case 252: -#line 2851 "../../freebsd/sbin/pfctl/parse.y" +#line 2853 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.proto = yystack.l_mark[0].v.proto; } break; case 253: -#line 2852 "../../freebsd/sbin/pfctl/parse.y" +#line 2854 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.proto = yystack.l_mark[-1].v.proto; } break; case 254: -#line 2855 "../../freebsd/sbin/pfctl/parse.y" +#line 2857 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.proto = yystack.l_mark[-1].v.proto; } break; case 255: -#line 2856 "../../freebsd/sbin/pfctl/parse.y" +#line 2858 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.proto->tail->next = yystack.l_mark[-1].v.proto; yystack.l_mark[-3].v.proto->tail = yystack.l_mark[-1].v.proto; @@ -7214,7 +7267,7 @@ case 255: } break; case 256: -#line 2863 "../../freebsd/sbin/pfctl/parse.y" +#line 2865 "../../freebsd/sbin/pfctl/parse.y" { u_int8_t pr; @@ -7232,7 +7285,7 @@ case 256: } break; case 257: -#line 2880 "../../freebsd/sbin/pfctl/parse.y" +#line 2882 "../../freebsd/sbin/pfctl/parse.y" { struct protoent *p; @@ -7247,7 +7300,7 @@ case 257: } break; case 258: -#line 2892 "../../freebsd/sbin/pfctl/parse.y" +#line 2894 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { yyerror("protocol outside range"); @@ -7256,7 +7309,7 @@ case 258: } break; case 259: -#line 2900 "../../freebsd/sbin/pfctl/parse.y" +#line 2902 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.fromto.src.host = NULL; yyval.v.fromto.src.port = NULL; @@ -7266,7 +7319,7 @@ case 259: } break; case 260: -#line 2907 "../../freebsd/sbin/pfctl/parse.y" +#line 2909 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.fromto.src = yystack.l_mark[-2].v.peer; yyval.v.fromto.src_os = yystack.l_mark[-1].v.os; @@ -7274,19 +7327,19 @@ case 260: } break; case 261: -#line 2914 "../../freebsd/sbin/pfctl/parse.y" +#line 2916 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.os = NULL; } break; case 262: -#line 2915 "../../freebsd/sbin/pfctl/parse.y" +#line 2917 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.os = yystack.l_mark[0].v.os; } break; case 263: -#line 2916 "../../freebsd/sbin/pfctl/parse.y" +#line 2918 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.os = yystack.l_mark[-1].v.os; } break; case 264: -#line 2919 "../../freebsd/sbin/pfctl/parse.y" +#line 2921 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.os = calloc(1, sizeof(struct node_os)); if (yyval.v.os == NULL) @@ -7296,11 +7349,11 @@ case 264: } break; case 265: -#line 2928 "../../freebsd/sbin/pfctl/parse.y" +#line 2930 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.os = yystack.l_mark[-1].v.os; } break; case 266: -#line 2929 "../../freebsd/sbin/pfctl/parse.y" +#line 2931 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.os->tail->next = yystack.l_mark[-1].v.os; yystack.l_mark[-3].v.os->tail = yystack.l_mark[-1].v.os; @@ -7308,27 +7361,27 @@ case 266: } break; case 267: -#line 2936 "../../freebsd/sbin/pfctl/parse.y" +#line 2938 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.peer.host = NULL; yyval.v.peer.port = NULL; } break; case 268: -#line 2940 "../../freebsd/sbin/pfctl/parse.y" +#line 2942 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.peer = yystack.l_mark[0].v.peer; } break; case 269: -#line 2945 "../../freebsd/sbin/pfctl/parse.y" +#line 2947 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.peer.host = NULL; yyval.v.peer.port = NULL; } break; case 270: -#line 2949 "../../freebsd/sbin/pfctl/parse.y" +#line 2951 "../../freebsd/sbin/pfctl/parse.y" { if (disallow_urpf_failed(yystack.l_mark[0].v.peer.host, "\"urpf-failed\" is " "not permitted in a destination address")) @@ -7337,52 +7390,52 @@ case 270: } break; case 271: -#line 2957 "../../freebsd/sbin/pfctl/parse.y" +#line 2959 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.peer.host = yystack.l_mark[0].v.host; yyval.v.peer.port = NULL; } break; case 272: -#line 2961 "../../freebsd/sbin/pfctl/parse.y" +#line 2963 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.peer.host = yystack.l_mark[-2].v.host; yyval.v.peer.port = yystack.l_mark[0].v.port; } break; case 273: -#line 2965 "../../freebsd/sbin/pfctl/parse.y" +#line 2967 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.peer.host = NULL; yyval.v.peer.port = yystack.l_mark[0].v.port; } break; case 276: -#line 2975 "../../freebsd/sbin/pfctl/parse.y" +#line 2977 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = NULL; } break; case 277: -#line 2976 "../../freebsd/sbin/pfctl/parse.y" +#line 2978 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[0].v.host; } break; case 278: -#line 2977 "../../freebsd/sbin/pfctl/parse.y" +#line 2979 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[-1].v.host; } break; case 279: -#line 2980 "../../freebsd/sbin/pfctl/parse.y" +#line 2982 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[0].v.host; } break; case 280: -#line 2981 "../../freebsd/sbin/pfctl/parse.y" +#line 2983 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = NULL; } break; case 281: -#line 2984 "../../freebsd/sbin/pfctl/parse.y" +#line 2986 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[-1].v.host; } break; case 282: -#line 2985 "../../freebsd/sbin/pfctl/parse.y" +#line 2987 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-1].v.host == NULL) yyval.v.host = yystack.l_mark[-3].v.host; @@ -7396,7 +7449,7 @@ case 282: } break; case 283: -#line 2998 "../../freebsd/sbin/pfctl/parse.y" +#line 3000 "../../freebsd/sbin/pfctl/parse.y" { struct node_host *n; @@ -7406,7 +7459,7 @@ case 283: } break; case 284: -#line 3005 "../../freebsd/sbin/pfctl/parse.y" +#line 3007 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = calloc(1, sizeof(struct node_host)); if (yyval.v.host == NULL) @@ -7418,7 +7471,7 @@ case 284: } break; case 285: -#line 3014 "../../freebsd/sbin/pfctl/parse.y" +#line 3016 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = calloc(1, sizeof(struct node_host)); if (yyval.v.host == NULL) @@ -7430,7 +7483,7 @@ case 285: } break; case 286: -#line 3025 "../../freebsd/sbin/pfctl/parse.y" +#line 3027 "../../freebsd/sbin/pfctl/parse.y" { if ((yyval.v.host = host(yystack.l_mark[0].v.string)) == NULL) { /* error. "any" is handled elsewhere */ @@ -7443,7 +7496,7 @@ case 286: } break; case 287: -#line 3035 "../../freebsd/sbin/pfctl/parse.y" +#line 3037 "../../freebsd/sbin/pfctl/parse.y" { struct node_host *b, *e; @@ -7479,7 +7532,7 @@ case 287: } break; case 288: -#line 3068 "../../freebsd/sbin/pfctl/parse.y" +#line 3070 "../../freebsd/sbin/pfctl/parse.y" { char *buf; @@ -7496,7 +7549,7 @@ case 288: } break; case 289: -#line 3082 "../../freebsd/sbin/pfctl/parse.y" +#line 3084 "../../freebsd/sbin/pfctl/parse.y" { char *buf; @@ -7517,7 +7570,7 @@ case 289: } break; case 291: -#line 3101 "../../freebsd/sbin/pfctl/parse.y" +#line 3103 "../../freebsd/sbin/pfctl/parse.y" { struct node_host *n; @@ -7531,7 +7584,7 @@ case 291: } break; case 292: -#line 3112 "../../freebsd/sbin/pfctl/parse.y" +#line 3114 "../../freebsd/sbin/pfctl/parse.y" { if (strlen(yystack.l_mark[-1].v.string) >= PF_TABLE_NAME_SIZE) { yyerror("table name '%s' too long", yystack.l_mark[-1].v.string); @@ -7552,7 +7605,7 @@ case 292: } break; case 294: -#line 3133 "../../freebsd/sbin/pfctl/parse.y" +#line 3135 "../../freebsd/sbin/pfctl/parse.y" { u_long ulval; @@ -7566,7 +7619,7 @@ case 294: } break; case 295: -#line 3146 "../../freebsd/sbin/pfctl/parse.y" +#line 3148 "../../freebsd/sbin/pfctl/parse.y" { int flags = 0; char *p, *op; @@ -7621,19 +7674,19 @@ case 295: } break; case 296: -#line 3200 "../../freebsd/sbin/pfctl/parse.y" +#line 3202 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.port = yystack.l_mark[0].v.port; } break; case 297: -#line 3201 "../../freebsd/sbin/pfctl/parse.y" +#line 3203 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.port = yystack.l_mark[-1].v.port; } break; case 298: -#line 3204 "../../freebsd/sbin/pfctl/parse.y" +#line 3206 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.port = yystack.l_mark[-1].v.port; } break; case 299: -#line 3205 "../../freebsd/sbin/pfctl/parse.y" +#line 3207 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.port->tail->next = yystack.l_mark[-1].v.port; yystack.l_mark[-3].v.port->tail = yystack.l_mark[-1].v.port; @@ -7641,7 +7694,7 @@ case 299: } break; case 300: -#line 3212 "../../freebsd/sbin/pfctl/parse.y" +#line 3214 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.port = calloc(1, sizeof(struct node_port)); if (yyval.v.port == NULL) @@ -7657,7 +7710,7 @@ case 300: } break; case 301: -#line 3225 "../../freebsd/sbin/pfctl/parse.y" +#line 3227 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.range.t) { yyerror("':' cannot be used with an other " @@ -7675,7 +7728,7 @@ case 301: } break; case 302: -#line 3240 "../../freebsd/sbin/pfctl/parse.y" +#line 3242 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-2].v.range.t || yystack.l_mark[0].v.range.t) { yyerror("':' cannot be used with an other " @@ -7693,7 +7746,7 @@ case 302: } break; case 303: -#line 3257 "../../freebsd/sbin/pfctl/parse.y" +#line 3259 "../../freebsd/sbin/pfctl/parse.y" { if (parseport(yystack.l_mark[0].v.string, &yyval.v.range, 0) == -1) { free(yystack.l_mark[0].v.string); @@ -7703,7 +7756,7 @@ case 303: } break; case 304: -#line 3266 "../../freebsd/sbin/pfctl/parse.y" +#line 3268 "../../freebsd/sbin/pfctl/parse.y" { if (parseport(yystack.l_mark[0].v.string, &yyval.v.range, PPORT_RANGE) == -1) { free(yystack.l_mark[0].v.string); @@ -7713,19 +7766,19 @@ case 304: } break; case 305: -#line 3275 "../../freebsd/sbin/pfctl/parse.y" +#line 3277 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.uid = yystack.l_mark[0].v.uid; } break; case 306: -#line 3276 "../../freebsd/sbin/pfctl/parse.y" +#line 3278 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.uid = yystack.l_mark[-1].v.uid; } break; case 307: -#line 3279 "../../freebsd/sbin/pfctl/parse.y" +#line 3281 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.uid = yystack.l_mark[-1].v.uid; } break; case 308: -#line 3280 "../../freebsd/sbin/pfctl/parse.y" +#line 3282 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.uid->tail->next = yystack.l_mark[-1].v.uid; yystack.l_mark[-3].v.uid->tail = yystack.l_mark[-1].v.uid; @@ -7733,7 +7786,7 @@ case 308: } break; case 309: -#line 3287 "../../freebsd/sbin/pfctl/parse.y" +#line 3289 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.uid = calloc(1, sizeof(struct node_uid)); if (yyval.v.uid == NULL) @@ -7746,7 +7799,7 @@ case 309: } break; case 310: -#line 3297 "../../freebsd/sbin/pfctl/parse.y" +#line 3299 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number == UID_MAX && yystack.l_mark[-1].v.i != PF_OP_EQ && yystack.l_mark[-1].v.i != PF_OP_NE) { yyerror("user unknown requires operator = or " @@ -7764,7 +7817,7 @@ case 310: } break; case 311: -#line 3312 "../../freebsd/sbin/pfctl/parse.y" +#line 3314 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-2].v.number == UID_MAX || yystack.l_mark[0].v.number == UID_MAX) { yyerror("user unknown requires operator = or " @@ -7782,7 +7835,7 @@ case 311: } break; case 312: -#line 3329 "../../freebsd/sbin/pfctl/parse.y" +#line 3331 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "unknown")) yyval.v.number = UID_MAX; @@ -7800,7 +7853,7 @@ case 312: } break; case 313: -#line 3344 "../../freebsd/sbin/pfctl/parse.y" +#line 3346 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number >= UID_MAX) { yyerror("illegal uid value %lu", yystack.l_mark[0].v.number); @@ -7810,19 +7863,19 @@ case 313: } break; case 314: -#line 3353 "../../freebsd/sbin/pfctl/parse.y" +#line 3355 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.gid = yystack.l_mark[0].v.gid; } break; case 315: -#line 3354 "../../freebsd/sbin/pfctl/parse.y" +#line 3356 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.gid = yystack.l_mark[-1].v.gid; } break; case 316: -#line 3357 "../../freebsd/sbin/pfctl/parse.y" +#line 3359 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.gid = yystack.l_mark[-1].v.gid; } break; case 317: -#line 3358 "../../freebsd/sbin/pfctl/parse.y" +#line 3360 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.gid->tail->next = yystack.l_mark[-1].v.gid; yystack.l_mark[-3].v.gid->tail = yystack.l_mark[-1].v.gid; @@ -7830,7 +7883,7 @@ case 317: } break; case 318: -#line 3365 "../../freebsd/sbin/pfctl/parse.y" +#line 3367 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.gid = calloc(1, sizeof(struct node_gid)); if (yyval.v.gid == NULL) @@ -7843,7 +7896,7 @@ case 318: } break; case 319: -#line 3375 "../../freebsd/sbin/pfctl/parse.y" +#line 3377 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number == GID_MAX && yystack.l_mark[-1].v.i != PF_OP_EQ && yystack.l_mark[-1].v.i != PF_OP_NE) { yyerror("group unknown requires operator = or " @@ -7861,7 +7914,7 @@ case 319: } break; case 320: -#line 3390 "../../freebsd/sbin/pfctl/parse.y" +#line 3392 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-2].v.number == GID_MAX || yystack.l_mark[0].v.number == GID_MAX) { yyerror("group unknown requires operator = or " @@ -7879,7 +7932,7 @@ case 320: } break; case 321: -#line 3407 "../../freebsd/sbin/pfctl/parse.y" +#line 3409 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "unknown")) yyval.v.number = GID_MAX; @@ -7897,7 +7950,7 @@ case 321: } break; case 322: -#line 3422 "../../freebsd/sbin/pfctl/parse.y" +#line 3424 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number >= GID_MAX) { yyerror("illegal gid value %lu", yystack.l_mark[0].v.number); @@ -7907,7 +7960,7 @@ case 322: } break; case 323: -#line 3431 "../../freebsd/sbin/pfctl/parse.y" +#line 3433 "../../freebsd/sbin/pfctl/parse.y" { int f; @@ -7921,39 +7974,39 @@ case 323: } break; case 324: -#line 3444 "../../freebsd/sbin/pfctl/parse.y" +#line 3446 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b1 = yystack.l_mark[-2].v.b.b1; yyval.v.b.b2 = yystack.l_mark[0].v.b.b1; } break; case 325: -#line 3445 "../../freebsd/sbin/pfctl/parse.y" +#line 3447 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b1 = 0; yyval.v.b.b2 = yystack.l_mark[0].v.b.b1; } break; case 326: -#line 3446 "../../freebsd/sbin/pfctl/parse.y" +#line 3448 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b1 = 0; yyval.v.b.b2 = 0; } break; case 327: -#line 3449 "../../freebsd/sbin/pfctl/parse.y" +#line 3451 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.icmp = yystack.l_mark[0].v.icmp; } break; case 328: -#line 3450 "../../freebsd/sbin/pfctl/parse.y" +#line 3452 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.icmp = yystack.l_mark[-1].v.icmp; } break; case 329: -#line 3451 "../../freebsd/sbin/pfctl/parse.y" +#line 3453 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.icmp = yystack.l_mark[0].v.icmp; } break; case 330: -#line 3452 "../../freebsd/sbin/pfctl/parse.y" +#line 3454 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.icmp = yystack.l_mark[-1].v.icmp; } break; case 331: -#line 3455 "../../freebsd/sbin/pfctl/parse.y" +#line 3457 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.icmp = yystack.l_mark[-1].v.icmp; } break; case 332: -#line 3456 "../../freebsd/sbin/pfctl/parse.y" +#line 3458 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.icmp->tail->next = yystack.l_mark[-1].v.icmp; yystack.l_mark[-3].v.icmp->tail = yystack.l_mark[-1].v.icmp; @@ -7961,11 +8014,11 @@ case 332: } break; case 333: -#line 3463 "../../freebsd/sbin/pfctl/parse.y" +#line 3465 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.icmp = yystack.l_mark[-1].v.icmp; } break; case 334: -#line 3464 "../../freebsd/sbin/pfctl/parse.y" +#line 3466 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.icmp->tail->next = yystack.l_mark[-1].v.icmp; yystack.l_mark[-3].v.icmp->tail = yystack.l_mark[-1].v.icmp; @@ -7973,7 +8026,7 @@ case 334: } break; case 335: -#line 3471 "../../freebsd/sbin/pfctl/parse.y" +#line 3473 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.icmp = calloc(1, sizeof(struct node_icmp)); if (yyval.v.icmp == NULL) @@ -7986,7 +8039,7 @@ case 335: } break; case 336: -#line 3481 "../../freebsd/sbin/pfctl/parse.y" +#line 3483 "../../freebsd/sbin/pfctl/parse.y" { const struct icmpcodeent *p; @@ -8008,7 +8061,7 @@ case 336: } break; case 337: -#line 3500 "../../freebsd/sbin/pfctl/parse.y" +#line 3502 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { yyerror("illegal icmp-code %lu", yystack.l_mark[0].v.number); @@ -8025,7 +8078,7 @@ case 337: } break; case 338: -#line 3516 "../../freebsd/sbin/pfctl/parse.y" +#line 3518 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.icmp = calloc(1, sizeof(struct node_icmp)); if (yyval.v.icmp == NULL) @@ -8038,7 +8091,7 @@ case 338: } break; case 339: -#line 3526 "../../freebsd/sbin/pfctl/parse.y" +#line 3528 "../../freebsd/sbin/pfctl/parse.y" { const struct icmpcodeent *p; @@ -8060,7 +8113,7 @@ case 339: } break; case 340: -#line 3545 "../../freebsd/sbin/pfctl/parse.y" +#line 3547 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { yyerror("illegal icmp-code %lu", yystack.l_mark[0].v.number); @@ -8077,7 +8130,7 @@ case 340: } break; case 341: -#line 3561 "../../freebsd/sbin/pfctl/parse.y" +#line 3563 "../../freebsd/sbin/pfctl/parse.y" { const struct icmptypeent *p; @@ -8091,7 +8144,7 @@ case 341: } break; case 342: -#line 3572 "../../freebsd/sbin/pfctl/parse.y" +#line 3574 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { yyerror("illegal icmp-type %lu", yystack.l_mark[0].v.number); @@ -8101,7 +8154,7 @@ case 342: } break; case 343: -#line 3581 "../../freebsd/sbin/pfctl/parse.y" +#line 3583 "../../freebsd/sbin/pfctl/parse.y" { const struct icmptypeent *p; @@ -8116,7 +8169,7 @@ case 343: } break; case 344: -#line 3593 "../../freebsd/sbin/pfctl/parse.y" +#line 3595 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { yyerror("illegal icmp6-type %lu", yystack.l_mark[0].v.number); @@ -8126,17 +8179,19 @@ case 344: } break; case 345: -#line 3602 "../../freebsd/sbin/pfctl/parse.y" - { - if (!strcmp(yystack.l_mark[0].v.string, "lowdelay")) - yyval.v.number = IPTOS_LOWDELAY; - else if (!strcmp(yystack.l_mark[0].v.string, "throughput")) - yyval.v.number = IPTOS_THROUGHPUT; - else if (!strcmp(yystack.l_mark[0].v.string, "reliability")) - yyval.v.number = IPTOS_RELIABILITY; - else if (yystack.l_mark[0].v.string[0] == '0' && yystack.l_mark[0].v.string[1] == 'x') - yyval.v.number = strtoul(yystack.l_mark[0].v.string, NULL, 16); - else +#line 3604 "../../freebsd/sbin/pfctl/parse.y" + { + int val; + char *end; + + if (map_tos(yystack.l_mark[0].v.string, &val)) + yyval.v.number = val; + else if (yystack.l_mark[0].v.string[0] == '0' && yystack.l_mark[0].v.string[1] == 'x') { + errno = 0; + yyval.v.number = strtoul(yystack.l_mark[0].v.string, &end, 16); + if (errno || *end != '\0') + yyval.v.number = 256; + } else yyval.v.number = 256; /* flag bad argument */ if (yyval.v.number < 0 || yyval.v.number > 255) { yyerror("illegal tos value %s", yystack.l_mark[0].v.string); @@ -8147,7 +8202,7 @@ case 345: } break; case 346: -#line 3620 "../../freebsd/sbin/pfctl/parse.y" +#line 3624 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.number = yystack.l_mark[0].v.number; if (yyval.v.number < 0 || yyval.v.number > 255) { @@ -8157,85 +8212,85 @@ case 346: } break; case 347: -#line 3629 "../../freebsd/sbin/pfctl/parse.y" +#line 3633 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_SRCTRACK; } break; case 348: -#line 3630 "../../freebsd/sbin/pfctl/parse.y" +#line 3634 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_SRCTRACK_GLOBAL; } break; case 349: -#line 3631 "../../freebsd/sbin/pfctl/parse.y" +#line 3635 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_SRCTRACK_RULE; } break; case 350: -#line 3634 "../../freebsd/sbin/pfctl/parse.y" +#line 3638 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PFRULE_IFBOUND; } break; case 351: -#line 3637 "../../freebsd/sbin/pfctl/parse.y" +#line 3641 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = 0; } break; case 352: -#line 3642 "../../freebsd/sbin/pfctl/parse.y" +#line 3646 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.keep_state.action = 0; yyval.v.keep_state.options = NULL; } break; case 353: -#line 3646 "../../freebsd/sbin/pfctl/parse.y" +#line 3650 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.keep_state.action = PF_STATE_NORMAL; yyval.v.keep_state.options = yystack.l_mark[0].v.state_opt; } break; case 354: -#line 3650 "../../freebsd/sbin/pfctl/parse.y" +#line 3654 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.keep_state.action = PF_STATE_MODULATE; yyval.v.keep_state.options = yystack.l_mark[0].v.state_opt; } break; case 355: -#line 3654 "../../freebsd/sbin/pfctl/parse.y" +#line 3658 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.keep_state.action = PF_STATE_SYNPROXY; yyval.v.keep_state.options = yystack.l_mark[0].v.state_opt; } break; case 356: -#line 3660 "../../freebsd/sbin/pfctl/parse.y" +#line 3664 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = 0; } break; case 357: -#line 3661 "../../freebsd/sbin/pfctl/parse.y" +#line 3665 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_FLUSH; } break; case 358: -#line 3662 "../../freebsd/sbin/pfctl/parse.y" +#line 3666 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_FLUSH | PF_FLUSH_GLOBAL; } break; case 359: -#line 3667 "../../freebsd/sbin/pfctl/parse.y" +#line 3671 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.state_opt = yystack.l_mark[-1].v.state_opt; } break; case 360: -#line 3668 "../../freebsd/sbin/pfctl/parse.y" +#line 3672 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.state_opt = NULL; } break; case 361: -#line 3671 "../../freebsd/sbin/pfctl/parse.y" +#line 3675 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.state_opt = yystack.l_mark[0].v.state_opt; } break; case 362: -#line 3672 "../../freebsd/sbin/pfctl/parse.y" +#line 3676 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-2].v.state_opt->tail->next = yystack.l_mark[0].v.state_opt; yystack.l_mark[-2].v.state_opt->tail = yystack.l_mark[0].v.state_opt; @@ -8243,7 +8298,7 @@ case 362: } break; case 363: -#line 3679 "../../freebsd/sbin/pfctl/parse.y" +#line 3683 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { yyerror("only positive values permitted"); @@ -8259,7 +8314,7 @@ case 363: } break; case 364: -#line 3692 "../../freebsd/sbin/pfctl/parse.y" +#line 3696 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.state_opt = calloc(1, sizeof(struct node_state_opt)); if (yyval.v.state_opt == NULL) @@ -8270,7 +8325,7 @@ case 364: } break; case 365: -#line 3700 "../../freebsd/sbin/pfctl/parse.y" +#line 3704 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { yyerror("only positive values permitted"); @@ -8286,7 +8341,7 @@ case 365: } break; case 366: -#line 3713 "../../freebsd/sbin/pfctl/parse.y" +#line 3717 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { yyerror("only positive values permitted"); @@ -8302,7 +8357,7 @@ case 366: } break; case 367: -#line 3726 "../../freebsd/sbin/pfctl/parse.y" +#line 3730 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-2].v.number < 0 || yystack.l_mark[-2].v.number > UINT_MAX || yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { @@ -8320,7 +8375,7 @@ case 367: } break; case 368: -#line 3741 "../../freebsd/sbin/pfctl/parse.y" +#line 3745 "../../freebsd/sbin/pfctl/parse.y" { if (strlen(yystack.l_mark[-2].v.string) >= PF_TABLE_NAME_SIZE) { yyerror("table name '%s' too long", yystack.l_mark[-2].v.string); @@ -8341,7 +8396,7 @@ case 368: } break; case 369: -#line 3759 "../../freebsd/sbin/pfctl/parse.y" +#line 3763 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { yyerror("only positive values permitted"); @@ -8357,7 +8412,7 @@ case 369: } break; case 370: -#line 3772 "../../freebsd/sbin/pfctl/parse.y" +#line 3776 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.state_opt = calloc(1, sizeof(struct node_state_opt)); if (yyval.v.state_opt == NULL) @@ -8369,7 +8424,7 @@ case 370: } break; case 371: -#line 3781 "../../freebsd/sbin/pfctl/parse.y" +#line 3785 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.state_opt = calloc(1, sizeof(struct node_state_opt)); if (yyval.v.state_opt == NULL) @@ -8381,7 +8436,7 @@ case 371: } break; case 372: -#line 3790 "../../freebsd/sbin/pfctl/parse.y" +#line 3794 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.state_opt = calloc(1, sizeof(struct node_state_opt)); if (yyval.v.state_opt == NULL) @@ -8392,7 +8447,7 @@ case 372: } break; case 373: -#line 3798 "../../freebsd/sbin/pfctl/parse.y" +#line 3802 "../../freebsd/sbin/pfctl/parse.y" { int i; @@ -8425,42 +8480,42 @@ case 373: } break; case 374: -#line 3830 "../../freebsd/sbin/pfctl/parse.y" +#line 3834 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.string = yystack.l_mark[0].v.string; } break; case 375: -#line 3835 "../../freebsd/sbin/pfctl/parse.y" +#line 3839 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.qassign.qname = yystack.l_mark[0].v.string; yyval.v.qassign.pqname = NULL; } break; case 376: -#line 3839 "../../freebsd/sbin/pfctl/parse.y" +#line 3843 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.qassign.qname = yystack.l_mark[-1].v.string; yyval.v.qassign.pqname = NULL; } break; case 377: -#line 3843 "../../freebsd/sbin/pfctl/parse.y" +#line 3847 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.qassign.qname = yystack.l_mark[-3].v.string; yyval.v.qassign.pqname = yystack.l_mark[-1].v.string; } break; case 378: -#line 3849 "../../freebsd/sbin/pfctl/parse.y" +#line 3853 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = 0; } break; case 379: -#line 3850 "../../freebsd/sbin/pfctl/parse.y" +#line 3854 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = 1; } break; case 380: -#line 3853 "../../freebsd/sbin/pfctl/parse.y" +#line 3857 "../../freebsd/sbin/pfctl/parse.y" { if (parseport(yystack.l_mark[0].v.string, &yyval.v.range, PPORT_RANGE|PPORT_STAR) == -1) { free(yystack.l_mark[0].v.string); @@ -8470,19 +8525,19 @@ case 380: } break; case 381: -#line 3862 "../../freebsd/sbin/pfctl/parse.y" +#line 3866 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[0].v.host; } break; case 382: -#line 3863 "../../freebsd/sbin/pfctl/parse.y" +#line 3867 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[-1].v.host; } break; case 383: -#line 3866 "../../freebsd/sbin/pfctl/parse.y" +#line 3870 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[-1].v.host; } break; case 384: -#line 3867 "../../freebsd/sbin/pfctl/parse.y" +#line 3871 "../../freebsd/sbin/pfctl/parse.y" { yystack.l_mark[-3].v.host->tail->next = yystack.l_mark[-1].v.host; yystack.l_mark[-3].v.host->tail = yystack.l_mark[-1].v.host->tail; @@ -8490,11 +8545,11 @@ case 384: } break; case 385: -#line 3874 "../../freebsd/sbin/pfctl/parse.y" +#line 3878 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.redirection = NULL; } break; case 386: -#line 3875 "../../freebsd/sbin/pfctl/parse.y" +#line 3879 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.redirection = calloc(1, sizeof(struct redirection)); if (yyval.v.redirection == NULL) @@ -8504,7 +8559,7 @@ case 386: } break; case 387: -#line 3882 "../../freebsd/sbin/pfctl/parse.y" +#line 3886 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.redirection = calloc(1, sizeof(struct redirection)); if (yyval.v.redirection == NULL) @@ -8514,7 +8569,7 @@ case 387: } break; case 388: -#line 3892 "../../freebsd/sbin/pfctl/parse.y" +#line 3896 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.hashkey = calloc(1, sizeof(struct pf_poolhashkey)); if (yyval.v.hashkey == NULL) @@ -8526,7 +8581,7 @@ case 388: } break; case 389: -#line 3902 "../../freebsd/sbin/pfctl/parse.y" +#line 3906 "../../freebsd/sbin/pfctl/parse.y" { if (!strncmp(yystack.l_mark[0].v.string, "0x", 2)) { if (strlen(yystack.l_mark[0].v.string) != 34) { @@ -8566,22 +8621,22 @@ case 389: } break; case 390: -#line 3941 "../../freebsd/sbin/pfctl/parse.y" +#line 3945 "../../freebsd/sbin/pfctl/parse.y" { bzero(&pool_opts, sizeof pool_opts); } break; case 391: -#line 3943 "../../freebsd/sbin/pfctl/parse.y" +#line 3947 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.pool_opts = pool_opts; } break; case 392: -#line 3944 "../../freebsd/sbin/pfctl/parse.y" +#line 3948 "../../freebsd/sbin/pfctl/parse.y" { bzero(&pool_opts, sizeof pool_opts); yyval.v.pool_opts = pool_opts; } break; case 395: -#line 3954 "../../freebsd/sbin/pfctl/parse.y" +#line 3958 "../../freebsd/sbin/pfctl/parse.y" { if (pool_opts.type) { yyerror("pool type cannot be redefined"); @@ -8591,7 +8646,7 @@ case 395: } break; case 396: -#line 3961 "../../freebsd/sbin/pfctl/parse.y" +#line 3965 "../../freebsd/sbin/pfctl/parse.y" { if (pool_opts.type) { yyerror("pool type cannot be redefined"); @@ -8601,7 +8656,7 @@ case 396: } break; case 397: -#line 3968 "../../freebsd/sbin/pfctl/parse.y" +#line 3972 "../../freebsd/sbin/pfctl/parse.y" { if (pool_opts.type) { yyerror("pool type cannot be redefined"); @@ -8612,7 +8667,7 @@ case 397: } break; case 398: -#line 3976 "../../freebsd/sbin/pfctl/parse.y" +#line 3980 "../../freebsd/sbin/pfctl/parse.y" { if (pool_opts.type) { yyerror("pool type cannot be redefined"); @@ -8622,7 +8677,7 @@ case 398: } break; case 399: -#line 3983 "../../freebsd/sbin/pfctl/parse.y" +#line 3987 "../../freebsd/sbin/pfctl/parse.y" { if (pool_opts.staticport) { yyerror("static-port cannot be redefined"); @@ -8632,7 +8687,7 @@ case 399: } break; case 400: -#line 3990 "../../freebsd/sbin/pfctl/parse.y" +#line 3994 "../../freebsd/sbin/pfctl/parse.y" { if (filter_opts.marker & POM_STICKYADDRESS) { yyerror("sticky-address cannot be redefined"); @@ -8643,11 +8698,11 @@ case 400: } break; case 401: -#line 4000 "../../freebsd/sbin/pfctl/parse.y" +#line 4004 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.redirection = NULL; } break; case 402: -#line 4001 "../../freebsd/sbin/pfctl/parse.y" +#line 4005 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.redirection = calloc(1, sizeof(struct redirection)); if (yyval.v.redirection == NULL) @@ -8657,7 +8712,7 @@ case 402: } break; case 403: -#line 4008 "../../freebsd/sbin/pfctl/parse.y" +#line 4012 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.redirection = calloc(1, sizeof(struct redirection)); if (yyval.v.redirection == NULL) @@ -8667,23 +8722,23 @@ case 403: } break; case 404: -#line 4017 "../../freebsd/sbin/pfctl/parse.y" +#line 4021 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b1 = yyval.v.b.b2 = 0; yyval.v.b.w2 = 0; } break; case 405: -#line 4018 "../../freebsd/sbin/pfctl/parse.y" +#line 4022 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b1 = 1; yyval.v.b.b2 = 0; yyval.v.b.w2 = 0; } break; case 406: -#line 4019 "../../freebsd/sbin/pfctl/parse.y" +#line 4023 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b1 = 1; yyval.v.b.b2 = yystack.l_mark[0].v.logquick.log; yyval.v.b.w2 = yystack.l_mark[0].v.logquick.logif; } break; case 407: -#line 4020 "../../freebsd/sbin/pfctl/parse.y" +#line 4024 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.b.b1 = 0; yyval.v.b.b2 = yystack.l_mark[0].v.logquick.log; yyval.v.b.w2 = yystack.l_mark[0].v.logquick.logif; } break; case 408: -#line 4023 "../../freebsd/sbin/pfctl/parse.y" +#line 4027 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-2].v.i && yystack.l_mark[0].v.b.b1) { yyerror("\"pass\" not valid with \"no\""); @@ -8699,7 +8754,7 @@ case 408: } break; case 409: -#line 4036 "../../freebsd/sbin/pfctl/parse.y" +#line 4040 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-2].v.i && yystack.l_mark[0].v.b.b1) { yyerror("\"pass\" not valid with \"no\""); @@ -8715,7 +8770,7 @@ case 409: } break; case 410: -#line 4053 "../../freebsd/sbin/pfctl/parse.y" +#line 4057 "../../freebsd/sbin/pfctl/parse.y" { struct pf_rule r; @@ -8873,7 +8928,7 @@ case 410: } break; case 411: -#line 4212 "../../freebsd/sbin/pfctl/parse.y" +#line 4216 "../../freebsd/sbin/pfctl/parse.y" { struct pf_rule binat; struct pf_pooladdr *pa; @@ -9039,27 +9094,27 @@ case 411: } break; case 412: -#line 4377 "../../freebsd/sbin/pfctl/parse.y" +#line 4381 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.string = NULL; } break; case 413: -#line 4378 "../../freebsd/sbin/pfctl/parse.y" +#line 4382 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.string = yystack.l_mark[0].v.string; } break; case 414: -#line 4381 "../../freebsd/sbin/pfctl/parse.y" +#line 4385 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.tagged.neg = 0; yyval.v.tagged.name = NULL; } break; case 415: -#line 4382 "../../freebsd/sbin/pfctl/parse.y" +#line 4386 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.tagged.neg = yystack.l_mark[-2].v.number; yyval.v.tagged.name = yystack.l_mark[0].v.string; } break; case 416: -#line 4385 "../../freebsd/sbin/pfctl/parse.y" +#line 4389 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.rtableid = -1; } break; case 417: -#line 4386 "../../freebsd/sbin/pfctl/parse.y" +#line 4390 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > rt_tableid_max()) { yyerror("invalid rtable id"); @@ -9069,7 +9124,7 @@ case 417: } break; case 418: -#line 4395 "../../freebsd/sbin/pfctl/parse.y" +#line 4399 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = calloc(1, sizeof(struct node_host)); if (yyval.v.host == NULL) @@ -9081,18 +9136,18 @@ case 418: } break; case 419: -#line 4404 "../../freebsd/sbin/pfctl/parse.y" +#line 4408 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[-1].v.host; yyval.v.host->ifname = yystack.l_mark[-2].v.string; } break; case 420: -#line 4410 "../../freebsd/sbin/pfctl/parse.y" +#line 4414 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[-1].v.host; } break; case 421: -#line 4411 "../../freebsd/sbin/pfctl/parse.y" +#line 4415 "../../freebsd/sbin/pfctl/parse.y" { if (yystack.l_mark[-3].v.host->af == 0) yystack.l_mark[-3].v.host->af = yystack.l_mark[-1].v.host->af; @@ -9107,15 +9162,15 @@ case 421: } break; case 422: -#line 4425 "../../freebsd/sbin/pfctl/parse.y" +#line 4429 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[0].v.host; } break; case 423: -#line 4426 "../../freebsd/sbin/pfctl/parse.y" +#line 4430 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.host = yystack.l_mark[-1].v.host; } break; case 424: -#line 4429 "../../freebsd/sbin/pfctl/parse.y" +#line 4433 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.route.host = NULL; yyval.v.route.rt = 0; @@ -9123,15 +9178,16 @@ case 424: } break; case 425: -#line 4434 "../../freebsd/sbin/pfctl/parse.y" +#line 4438 "../../freebsd/sbin/pfctl/parse.y" { + /* backwards-compat */ yyval.v.route.host = NULL; - yyval.v.route.rt = PF_FASTROUTE; + yyval.v.route.rt = 0; yyval.v.route.pool_opts = 0; } break; case 426: -#line 4439 "../../freebsd/sbin/pfctl/parse.y" +#line 4444 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.route.host = yystack.l_mark[-1].v.host; yyval.v.route.rt = PF_ROUTETO; @@ -9141,7 +9197,7 @@ case 426: } break; case 427: -#line 4446 "../../freebsd/sbin/pfctl/parse.y" +#line 4451 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.route.host = yystack.l_mark[-1].v.host; yyval.v.route.rt = PF_REPLYTO; @@ -9151,7 +9207,7 @@ case 427: } break; case 428: -#line 4453 "../../freebsd/sbin/pfctl/parse.y" +#line 4458 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.route.host = yystack.l_mark[-1].v.host; yyval.v.route.rt = PF_DUPTO; @@ -9161,7 +9217,7 @@ case 428: } break; case 429: -#line 4463 "../../freebsd/sbin/pfctl/parse.y" +#line 4468 "../../freebsd/sbin/pfctl/parse.y" { if (check_rulestate(PFCTL_STATE_OPTION)) { free(yystack.l_mark[-1].v.string); @@ -9180,7 +9236,7 @@ case 429: } break; case 430: -#line 4479 "../../freebsd/sbin/pfctl/parse.y" +#line 4484 "../../freebsd/sbin/pfctl/parse.y" { if (check_rulestate(PFCTL_STATE_OPTION)) YYERROR; @@ -9193,7 +9249,7 @@ case 430: } break; case 433: -#line 4496 "../../freebsd/sbin/pfctl/parse.y" +#line 4501 "../../freebsd/sbin/pfctl/parse.y" { if (check_rulestate(PFCTL_STATE_OPTION)) { free(yystack.l_mark[-1].v.string); @@ -9212,11 +9268,11 @@ case 433: } break; case 438: -#line 4522 "../../freebsd/sbin/pfctl/parse.y" +#line 4527 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.number = 0; } break; case 439: -#line 4523 "../../freebsd/sbin/pfctl/parse.y" +#line 4528 "../../freebsd/sbin/pfctl/parse.y" { if (!strcmp(yystack.l_mark[0].v.string, "yes")) yyval.v.number = 1; @@ -9230,30 +9286,30 @@ case 439: } break; case 440: -#line 4536 "../../freebsd/sbin/pfctl/parse.y" +#line 4541 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_OP_EQ; } break; case 441: -#line 4537 "../../freebsd/sbin/pfctl/parse.y" +#line 4542 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_OP_NE; } break; case 442: -#line 4538 "../../freebsd/sbin/pfctl/parse.y" +#line 4543 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_OP_LE; } break; case 443: -#line 4539 "../../freebsd/sbin/pfctl/parse.y" +#line 4544 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_OP_LT; } break; case 444: -#line 4540 "../../freebsd/sbin/pfctl/parse.y" +#line 4545 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_OP_GE; } break; case 445: -#line 4541 "../../freebsd/sbin/pfctl/parse.y" +#line 4546 "../../freebsd/sbin/pfctl/parse.y" { yyval.v.i = PF_OP_GT; } break; -#line 9257 "pfctly.tab.c" +#line 9313 "pfctly.tab.c" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/freebsd/sbin/pfctl/parse.y b/freebsd/sbin/pfctl/parse.y index 9664aaf5..78ca561c 100644 --- a/freebsd/sbin/pfctl/parse.y +++ b/freebsd/sbin/pfctl/parse.y @@ -4211,7 +4211,7 @@ natrule : nataction interface af proto fromto tag tagged rtable } ; -binatrule : no BINAT natpasslog interface af proto FROM host toipspec tag +binatrule : no BINAT natpasslog interface af proto FROM ipspec toipspec tag tagged rtable redirection { struct pf_rule binat; diff --git a/freebsd/sbin/ping/ping.c b/freebsd/sbin/ping/ping.c index f0d1f7ce..e8d962f3 100644 --- a/freebsd/sbin/ping/ping.c +++ b/freebsd/sbin/ping/ping.c @@ -1743,6 +1743,7 @@ pr_icmph(struct icmp *icp) static void pr_iph(struct ip *ip) { + struct in_addr ina; u_char *cp; int hlen; @@ -1758,8 +1759,10 @@ pr_iph(struct ip *ip) (u_long) ntohl(ip->ip_off) & 0x1fff); (void)printf(" %02x %02x %04x", ip->ip_ttl, ip->ip_p, ntohs(ip->ip_sum)); - (void)printf(" %s ", inet_ntoa(*(struct in_addr *)&ip->ip_src.s_addr)); - (void)printf(" %s ", inet_ntoa(*(struct in_addr *)&ip->ip_dst.s_addr)); + memcpy(&ina, &ip->ip_src.s_addr, sizeof ina); + (void)printf(" %s ", inet_ntoa(ina)); + memcpy(&ina, &ip->ip_dst.s_addr, sizeof ina); + (void)printf(" %s ", inet_ntoa(ina)); /* dump any option bytes */ while (hlen-- > 20) { (void)printf("%02x", *cp++); diff --git a/freebsd/sbin/route/keywords.h b/freebsd/sbin/route/keywords.h index c7b5a6d0..435a3a2a 100644 --- a/freebsd/sbin/route/keywords.h +++ b/freebsd/sbin/route/keywords.h @@ -4,107 +4,105 @@ {"6", K_6}, #define K_ADD 3 {"add", K_ADD}, -#define K_ATALK 4 - {"atalk", K_ATALK}, -#define K_BLACKHOLE 5 +#define K_BLACKHOLE 4 {"blackhole", K_BLACKHOLE}, -#define K_CHANGE 6 +#define K_CHANGE 5 {"change", K_CHANGE}, -#define K_CLONING 7 +#define K_CLONING 6 {"cloning", K_CLONING}, -#define K_DEL 8 +#define K_DEL 7 {"del", K_DEL}, -#define K_DELETE 9 +#define K_DELETE 8 {"delete", K_DELETE}, -#define K_DST 10 +#define K_DST 9 {"dst", K_DST}, -#define K_EXPIRE 11 +#define K_EXPIRE 10 {"expire", K_EXPIRE}, -#define K_FIB 12 +#define K_FIB 11 {"fib", K_FIB}, -#define K_FLUSH 13 +#define K_FLUSH 12 {"flush", K_FLUSH}, -#define K_GATEWAY 14 +#define K_GATEWAY 13 {"gateway", K_GATEWAY}, -#define K_GENMASK 15 +#define K_GENMASK 14 {"genmask", K_GENMASK}, -#define K_GET 16 +#define K_GET 15 {"get", K_GET}, -#define K_HOST 17 +#define K_HOST 16 {"host", K_HOST}, -#define K_HOPCOUNT 18 +#define K_HOPCOUNT 17 {"hopcount", K_HOPCOUNT}, -#define K_IFACE 19 +#define K_IFACE 18 {"iface", K_IFACE}, -#define K_INTERFACE 20 +#define K_INTERFACE 19 {"interface", K_INTERFACE}, -#define K_IFA 21 +#define K_IFA 20 {"ifa", K_IFA}, -#define K_IFP 22 +#define K_IFP 21 {"ifp", K_IFP}, -#define K_INET 23 +#define K_INET 22 {"inet", K_INET}, -#define K_INET6 24 +#define K_INET6 23 {"inet6", K_INET6}, -#define K_ISO 25 +#define K_ISO 24 {"iso", K_ISO}, -#define K_LINK 26 +#define K_LINK 25 {"link", K_LINK}, -#define K_LLINFO 27 +#define K_LLINFO 26 {"llinfo", K_LLINFO}, -#define K_LOCK 28 +#define K_LOCK 27 {"lock", K_LOCK}, -#define K_LOCKREST 29 +#define K_LOCKREST 28 {"lockrest", K_LOCKREST}, -#define K_MASK 30 +#define K_MASK 29 {"mask", K_MASK}, -#define K_MONITOR 31 +#define K_MONITOR 30 {"monitor", K_MONITOR}, -#define K_MTU 32 +#define K_MTU 31 {"mtu", K_MTU}, -#define K_NET 33 +#define K_NET 32 {"net", K_NET}, -#define K_NETMASK 34 +#define K_NETMASK 33 {"netmask", K_NETMASK}, -#define K_NOSTATIC 35 +#define K_NOSTATIC 34 {"nostatic", K_NOSTATIC}, -#define K_NOSTICK 36 +#define K_NOSTICK 35 {"nostick", K_NOSTICK}, -#define K_OSI 37 +#define K_OSI 36 {"osi", K_OSI}, -#define K_PREFIXLEN 38 +#define K_PREFIXLEN 37 {"prefixlen", K_PREFIXLEN}, -#define K_PROTO1 39 +#define K_PROTO1 38 {"proto1", K_PROTO1}, -#define K_PROTO2 40 +#define K_PROTO2 39 {"proto2", K_PROTO2}, -#define K_PROXY 41 +#define K_PROXY 40 {"proxy", K_PROXY}, -#define K_RECVPIPE 42 +#define K_RECVPIPE 41 {"recvpipe", K_RECVPIPE}, -#define K_REJECT 43 +#define K_REJECT 42 {"reject", K_REJECT}, -#define K_RTT 44 +#define K_RTT 43 {"rtt", K_RTT}, -#define K_RTTVAR 45 +#define K_RTTVAR 44 {"rttvar", K_RTTVAR}, -#define K_SA 46 +#define K_SA 45 {"sa", K_SA}, -#define K_SENDPIPE 47 +#define K_SENDPIPE 46 {"sendpipe", K_SENDPIPE}, -#define K_SHOW 48 +#define K_SHOW 47 {"show", K_SHOW}, -#define K_SSTHRESH 49 +#define K_SSTHRESH 48 {"ssthresh", K_SSTHRESH}, -#define K_STATIC 50 +#define K_STATIC 49 {"static", K_STATIC}, -#define K_STICKY 51 +#define K_STICKY 50 {"sticky", K_STICKY}, -#define K_WEIGHT 52 +#define K_WEIGHT 51 {"weight", K_WEIGHT}, -#define K_X25 53 +#define K_X25 52 {"x25", K_X25}, -#define K_XNS 54 +#define K_XNS 53 {"xns", K_XNS}, -#define K_XRESOLVE 55 +#define K_XRESOLVE 54 {"xresolve", K_XRESOLVE}, diff --git a/freebsd/sbin/sysctl/sysctl.c b/freebsd/sbin/sysctl/sysctl.c index 03069a38..ef6e8c3b 100644 --- a/freebsd/sbin/sysctl/sysctl.c +++ b/freebsd/sbin/sysctl/sysctl.c @@ -129,7 +129,7 @@ static const char *ctl_typename[CTLTYPE+1] = { [CTLTYPE_ULONG] = "unsigned long", [CTLTYPE_U8] = "uint8_t", [CTLTYPE_U16] = "uint16_t", - [CTLTYPE_U32] = "uint16_t", + [CTLTYPE_U32] = "uint32_t", [CTLTYPE_U64] = "uint64_t", [CTLTYPE_S8] = "int8_t", [CTLTYPE_S16] = "int16_t", |