Changeset a779a3b in rtems-libbsd
- Timestamp:
- 05/02/18 09:56:39 (4 years ago)
- Branches:
- 5, 5-freebsd-12, 6-freebsd-12, master
- Children:
- dd35ec5
- Parents:
- 338f300
- git-author:
- Christian Mauderer <christian.mauderer@…> (05/02/18 09:56:39)
- git-committer:
- Christian Mauderer <christian.mauderer@…> (05/03/18 05:09:46)
- Location:
- freebsd/sbin/pfctl
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
freebsd/sbin/pfctl/parse.c
r338f300 ra779a3b 6 6 #define YYMAJOR 1 7 7 #define YYMINOR 9 8 #define YYPATCH 201 603248 #define YYPATCH 20170201 9 9 10 10 #define YYEMPTY (-1) … … 101 101 #ifdef __rtems__ 102 102 #include <machine/rtems-bsd-user-space.h> 103 #undef INET6 103 104 #endif /* __rtems__ */ 104 105 … … 533 534 !isdigit((addr).v.ifname[strlen((addr).v.ifname)-1]))) 534 535 535 #line 53 6"pfctly.tab.c"536 #line 537 "pfctly.tab.c" 536 537 537 538 /* compatibility with bison */ … … 2569 2570 /* variables for the parser stack */ 2570 2571 static YYSTACKDATA yystack; 2571 #line 455 0"../../freebsd/sbin/pfctl/parse.y"2572 #line 4551 "../../freebsd/sbin/pfctl/parse.y" 2572 2573 #ifdef __rtems__ 2573 2574 RTEMS_LINKER_RWSET_CONTENT(bsd_prog_pfctl, extern YYSTYPE pfctlyval); … … 4367 4368 #endif 4368 4369 } 4369 #line 437 0"pfctly.tab.c"4370 #line 4371 "pfctly.tab.c" 4370 4371 4371 4372 #if YYDEBUG 4372 #include <stdio.h> 4373 #include <stdio.h> /* needed for printf */ 4373 4374 #endif 4374 4375 … … 4442 4443 #endif 4443 4444 4445 yym = 0; 4446 yyn = 0; 4444 4447 yynerrs = 0; 4445 4448 yyerrflag = 0; … … 4461 4464 if (yychar < 0) 4462 4465 { 4463 if ((yychar = YYLEX) < 0) yychar = YYEOF; 4466 yychar = YYLEX; 4467 if (yychar < 0) yychar = YYEOF; 4464 4468 #if YYDEBUG 4465 4469 if (yydebug) 4466 4470 { 4467 yys = yyname[YYTRANSLATE(yychar)];4471 if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN]; 4468 4472 printf("%sdebug: state %d, reading %d (%s)\n", 4469 4473 YYPREFIX, yystate, yychar, yys); … … 4471 4475 #endif 4472 4476 } 4473 if (( yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&4474 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)4477 if (((yyn = yysindex[yystate]) != 0) && (yyn += yychar) >= 0 && 4478 yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar) 4475 4479 { 4476 4480 #if YYDEBUG … … 4479 4483 YYPREFIX, yystate, yytable[yyn]); 4480 4484 #endif 4481 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) 4482 { 4483 goto yyoverflow; 4484 } 4485 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow; 4485 4486 yystate = yytable[yyn]; 4486 4487 *++yystack.s_mark = yytable[yyn]; … … 4490 4491 goto yyloop; 4491 4492 } 4492 if (( yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&4493 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)4493 if (((yyn = yyrindex[yystate]) != 0) && (yyn += yychar) >= 0 && 4494 yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar) 4494 4495 { 4495 4496 yyn = yytable[yyn]; 4496 4497 goto yyreduce; 4497 4498 } 4498 if (yyerrflag ) goto yyinrecovery;4499 if (yyerrflag != 0) goto yyinrecovery; 4499 4500 4500 4501 YYERROR_CALL("syntax error"); 4501 4502 4502 goto yyerrlab; 4503 4503 goto yyerrlab; /* redundant goto avoids 'unused label' warning */ 4504 4504 yyerrlab: 4505 4505 ++yynerrs; … … 4511 4511 for (;;) 4512 4512 { 4513 if (( yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 &&4514 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)4513 if (((yyn = yysindex[*yystack.s_mark]) != 0) && (yyn += YYERRCODE) >= 0 && 4514 yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) YYERRCODE) 4515 4515 { 4516 4516 #if YYDEBUG … … 4519 4519 to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); 4520 4520 #endif 4521 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) 4522 { 4523 goto yyoverflow; 4524 } 4521 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow; 4525 4522 yystate = yytable[yyn]; 4526 4523 *++yystack.s_mark = yytable[yyn]; … … 4547 4544 if (yydebug) 4548 4545 { 4549 yys = yyname[YYTRANSLATE(yychar)];4546 if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN]; 4550 4547 printf("%sdebug: state %d, error recovery discards token %d (%s)\n", 4551 4548 YYPREFIX, yystate, yychar, yys); … … 4563 4560 #endif 4564 4561 yym = yylen[yyn]; 4565 if (yym )4562 if (yym > 0) 4566 4563 yyval = yystack.l_mark[1-yym]; 4567 4564 else 4568 4565 memset(&yyval, 0, sizeof yyval); 4566 4569 4567 switch (yyn) 4570 4568 { 4571 4569 case 17: 4572 #line 55 5"../../freebsd/sbin/pfctl/parse.y"4570 #line 556 "../../freebsd/sbin/pfctl/parse.y" 4573 4571 { file->errors++; } 4574 4572 break; 4575 4573 case 18: 4576 #line 55 8"../../freebsd/sbin/pfctl/parse.y"4574 #line 559 "../../freebsd/sbin/pfctl/parse.y" 4577 4575 { 4578 4576 struct file *nfile; … … 4590 4588 break; 4591 4589 case 25: 4592 #line 58 5"../../freebsd/sbin/pfctl/parse.y"4590 #line 586 "../../freebsd/sbin/pfctl/parse.y" 4593 4591 { 4594 4592 if (!strcmp(yystack.l_mark[0].v.string, "none")) … … 4605 4603 break; 4606 4604 case 26: 4607 #line 599"../../freebsd/sbin/pfctl/parse.y"4605 #line 600 "../../freebsd/sbin/pfctl/parse.y" 4608 4606 { 4609 4607 if (check_rulestate(PFCTL_STATE_OPTION)) { … … 4620 4618 break; 4621 4619 case 27: 4622 #line 61 1"../../freebsd/sbin/pfctl/parse.y"4620 #line 612 "../../freebsd/sbin/pfctl/parse.y" 4623 4621 { 4624 4622 if (!(pf->opts & PF_OPT_OPTIMIZE)) { … … 4629 4627 break; 4630 4628 case 32: 4631 #line 62 1"../../freebsd/sbin/pfctl/parse.y"4629 #line 622 "../../freebsd/sbin/pfctl/parse.y" 4632 4630 { 4633 4631 if (check_rulestate(PFCTL_STATE_OPTION)) { … … 4644 4642 break; 4645 4643 case 33: 4646 #line 63 3"../../freebsd/sbin/pfctl/parse.y"4644 #line 634 "../../freebsd/sbin/pfctl/parse.y" 4647 4645 { 4648 4646 if (yystack.l_mark[0].v.number == 0 || yystack.l_mark[0].v.number > UINT_MAX) { … … 4657 4655 break; 4658 4656 case 34: 4659 #line 64 3"../../freebsd/sbin/pfctl/parse.y"4657 #line 644 "../../freebsd/sbin/pfctl/parse.y" 4660 4658 { 4661 4659 if (pf->opts & PF_OPT_VERBOSE) … … 4667 4665 break; 4668 4666 case 35: 4669 #line 65 0"../../freebsd/sbin/pfctl/parse.y"4667 #line 651 "../../freebsd/sbin/pfctl/parse.y" 4670 4668 { 4671 4669 if (pf->opts & PF_OPT_VERBOSE) … … 4677 4675 break; 4678 4676 case 36: 4679 #line 65 7"../../freebsd/sbin/pfctl/parse.y"4677 #line 658 "../../freebsd/sbin/pfctl/parse.y" 4680 4678 { 4681 4679 if (pf->opts & PF_OPT_VERBOSE) … … 4686 4684 break; 4687 4685 case 37: 4688 #line 66 3"../../freebsd/sbin/pfctl/parse.y"4686 #line 664 "../../freebsd/sbin/pfctl/parse.y" 4689 4687 { 4690 4688 if (pf->opts & PF_OPT_VERBOSE) … … 4707 4705 break; 4708 4706 case 38: 4709 #line 68 1"../../freebsd/sbin/pfctl/parse.y"4707 #line 682 "../../freebsd/sbin/pfctl/parse.y" 4710 4708 { 4711 4709 if (pf->opts & PF_OPT_VERBOSE) … … 4722 4720 break; 4723 4721 case 39: 4724 #line 69 3"../../freebsd/sbin/pfctl/parse.y"4722 #line 694 "../../freebsd/sbin/pfctl/parse.y" 4725 4723 { 4726 4724 if (check_rulestate(PFCTL_STATE_OPTION)) { … … 4737 4735 break; 4738 4736 case 40: 4739 #line 70 5"../../freebsd/sbin/pfctl/parse.y"4737 #line 706 "../../freebsd/sbin/pfctl/parse.y" 4740 4738 { 4741 4739 if (expand_skip_interface(yystack.l_mark[0].v.interface) != 0) { … … 4746 4744 break; 4747 4745 case 41: 4748 #line 71 1"../../freebsd/sbin/pfctl/parse.y"4746 #line 712 "../../freebsd/sbin/pfctl/parse.y" 4749 4747 { 4750 4748 if (keep_state_defaults != NULL) { … … 4756 4754 break; 4757 4755 case 42: 4758 #line 72 0"../../freebsd/sbin/pfctl/parse.y"4756 #line 721 "../../freebsd/sbin/pfctl/parse.y" 4759 4757 { yyval.v.string = yystack.l_mark[0].v.string; } 4760 4758 break; 4761 4759 case 43: 4762 #line 72 1"../../freebsd/sbin/pfctl/parse.y"4760 #line 722 "../../freebsd/sbin/pfctl/parse.y" 4763 4761 { 4764 4762 if ((yyval.v.string = strdup("all")) == NULL) { … … 4768 4766 break; 4769 4767 case 44: 4770 #line 72 8"../../freebsd/sbin/pfctl/parse.y"4768 #line 729 "../../freebsd/sbin/pfctl/parse.y" 4771 4769 { 4772 4770 if (asprintf(&yyval.v.string, "%s %s", yystack.l_mark[-1].v.string, yystack.l_mark[0].v.string) == -1) … … 4777 4775 break; 4778 4776 case 46: 4779 #line 73 7"../../freebsd/sbin/pfctl/parse.y"4777 #line 738 "../../freebsd/sbin/pfctl/parse.y" 4780 4778 { 4781 4779 if (asprintf(&yyval.v.string, "%s %s", yystack.l_mark[-1].v.string, yystack.l_mark[0].v.string) == -1) … … 4786 4784 break; 4787 4785 case 48: 4788 #line 74 6"../../freebsd/sbin/pfctl/parse.y"4786 #line 747 "../../freebsd/sbin/pfctl/parse.y" 4789 4787 { 4790 4788 char *s; … … 4797 4795 break; 4798 4796 case 50: 4799 #line 75 7"../../freebsd/sbin/pfctl/parse.y"4797 #line 758 "../../freebsd/sbin/pfctl/parse.y" 4800 4798 { 4801 4799 if (pf->opts & PF_OPT_VERBOSE) … … 4808 4806 break; 4809 4807 case 51: 4810 #line 76 7"../../freebsd/sbin/pfctl/parse.y"4808 #line 768 "../../freebsd/sbin/pfctl/parse.y" 4811 4809 { yyval.v.string = yystack.l_mark[0].v.string; } 4812 4810 break; 4813 4811 case 52: 4814 #line 76 8"../../freebsd/sbin/pfctl/parse.y"4812 #line 769 "../../freebsd/sbin/pfctl/parse.y" 4815 4813 { yyval.v.string = NULL; } 4816 4814 break; 4817 4815 case 57: 4818 #line 77 8"../../freebsd/sbin/pfctl/parse.y"4816 #line 779 "../../freebsd/sbin/pfctl/parse.y" 4819 4817 { 4820 4818 char ta[PF_ANCHOR_NAME_SIZE]; … … 4836 4834 break; 4837 4835 case 58: 4838 #line 79 5"../../freebsd/sbin/pfctl/parse.y"4836 #line 796 "../../freebsd/sbin/pfctl/parse.y" 4839 4837 { 4840 4838 pf->alast = pf->anchor; … … 4844 4842 break; 4845 4843 case 60: 4846 #line 80 5"../../freebsd/sbin/pfctl/parse.y"4844 #line 806 "../../freebsd/sbin/pfctl/parse.y" 4847 4845 { 4848 4846 struct pf_rule r; … … 4979 4977 break; 4980 4978 case 61: 4981 #line 93 7"../../freebsd/sbin/pfctl/parse.y"4979 #line 938 "../../freebsd/sbin/pfctl/parse.y" 4982 4980 { 4983 4981 struct pf_rule r; … … 5003 5001 break; 5004 5002 case 62: 5005 #line 95 8"../../freebsd/sbin/pfctl/parse.y"5003 #line 959 "../../freebsd/sbin/pfctl/parse.y" 5006 5004 { 5007 5005 struct pf_rule r; … … 5048 5046 break; 5049 5047 case 63: 5050 #line 100 0"../../freebsd/sbin/pfctl/parse.y"5048 #line 1001 "../../freebsd/sbin/pfctl/parse.y" 5051 5049 { 5052 5050 struct pf_rule r; … … 5086 5084 break; 5087 5085 case 64: 5088 #line 103 7"../../freebsd/sbin/pfctl/parse.y"5086 #line 1038 "../../freebsd/sbin/pfctl/parse.y" 5089 5087 { 5090 5088 struct loadanchors *loadanchor; … … 5119 5117 break; 5120 5118 case 65: 5121 #line 106 8"../../freebsd/sbin/pfctl/parse.y"5119 #line 1069 "../../freebsd/sbin/pfctl/parse.y" 5122 5120 { 5123 5121 yyval.v.b.b2 = yyval.v.b.w = 0; … … 5129 5127 break; 5130 5128 case 66: 5131 #line 107 8"../../freebsd/sbin/pfctl/parse.y"5129 #line 1079 "../../freebsd/sbin/pfctl/parse.y" 5132 5130 { 5133 5131 struct pf_rule r; … … 5187 5185 break; 5188 5186 case 67: 5189 #line 113 5"../../freebsd/sbin/pfctl/parse.y"5187 #line 1136 "../../freebsd/sbin/pfctl/parse.y" 5190 5188 { 5191 5189 bzero(&scrub_opts, sizeof scrub_opts); … … 5194 5192 break; 5195 5193 case 68: 5196 #line 114 0"../../freebsd/sbin/pfctl/parse.y"5194 #line 1141 "../../freebsd/sbin/pfctl/parse.y" 5197 5195 { yyval.v.scrub_opts = scrub_opts; } 5198 5196 break; 5199 5197 case 69: 5200 #line 114 1"../../freebsd/sbin/pfctl/parse.y"5198 #line 1142 "../../freebsd/sbin/pfctl/parse.y" 5201 5199 { 5202 5200 bzero(&scrub_opts, sizeof scrub_opts); … … 5206 5204 break; 5207 5205 case 72: 5208 #line 115 2"../../freebsd/sbin/pfctl/parse.y"5206 #line 1153 "../../freebsd/sbin/pfctl/parse.y" 5209 5207 { 5210 5208 if (scrub_opts.nodf) { … … 5216 5214 break; 5217 5215 case 73: 5218 #line 11 59"../../freebsd/sbin/pfctl/parse.y"5216 #line 1160 "../../freebsd/sbin/pfctl/parse.y" 5219 5217 { 5220 5218 if (scrub_opts.marker & SOM_MINTTL) { … … 5231 5229 break; 5232 5230 case 74: 5233 #line 117 1"../../freebsd/sbin/pfctl/parse.y"5231 #line 1172 "../../freebsd/sbin/pfctl/parse.y" 5234 5232 { 5235 5233 if (scrub_opts.marker & SOM_MAXMSS) { … … 5246 5244 break; 5247 5245 case 75: 5248 #line 118 3"../../freebsd/sbin/pfctl/parse.y"5246 #line 1184 "../../freebsd/sbin/pfctl/parse.y" 5249 5247 { 5250 5248 if (scrub_opts.marker & SOM_SETTOS) { … … 5257 5255 break; 5258 5256 case 76: 5259 #line 119 1"../../freebsd/sbin/pfctl/parse.y"5257 #line 1192 "../../freebsd/sbin/pfctl/parse.y" 5260 5258 { 5261 5259 if (scrub_opts.marker & SOM_FRAGCACHE) { … … 5268 5266 break; 5269 5267 case 77: 5270 #line 1 199"../../freebsd/sbin/pfctl/parse.y"5268 #line 1200 "../../freebsd/sbin/pfctl/parse.y" 5271 5269 { 5272 5270 if (strcasecmp(yystack.l_mark[0].v.string, "tcp") != 0) { … … 5285 5283 break; 5286 5284 case 78: 5287 #line 121 3"../../freebsd/sbin/pfctl/parse.y"5285 #line 1214 "../../freebsd/sbin/pfctl/parse.y" 5288 5286 { 5289 5287 if (scrub_opts.randomid) { … … 5295 5293 break; 5296 5294 case 79: 5297 #line 122 0"../../freebsd/sbin/pfctl/parse.y"5295 #line 1221 "../../freebsd/sbin/pfctl/parse.y" 5298 5296 { 5299 5297 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > rt_tableid_max()) { … … 5305 5303 break; 5306 5304 case 80: 5307 #line 122 7"../../freebsd/sbin/pfctl/parse.y"5305 #line 1228 "../../freebsd/sbin/pfctl/parse.y" 5308 5306 { 5309 5307 scrub_opts.match_tag = yystack.l_mark[0].v.string; … … 5312 5310 break; 5313 5311 case 81: 5314 #line 123 3"../../freebsd/sbin/pfctl/parse.y"5312 #line 1234 "../../freebsd/sbin/pfctl/parse.y" 5315 5313 { yyval.v.i = 0; /* default */ } 5316 5314 break; 5317 5315 case 82: 5318 #line 1234 "../../freebsd/sbin/pfctl/parse.y"5319 { yyval.v.i = 0; }5320 break;5321 case 83:5322 5316 #line 1235 "../../freebsd/sbin/pfctl/parse.y" 5323 5317 { yyval.v.i = 0; } 5324 5318 break; 5319 case 83: 5320 #line 1236 "../../freebsd/sbin/pfctl/parse.y" 5321 { yyval.v.i = 0; } 5322 break; 5325 5323 case 84: 5326 #line 123 8"../../freebsd/sbin/pfctl/parse.y"5324 #line 1239 "../../freebsd/sbin/pfctl/parse.y" 5327 5325 { 5328 5326 struct pf_rule r; … … 5412 5410 break; 5413 5411 case 85: 5414 #line 132 5"../../freebsd/sbin/pfctl/parse.y"5412 #line 1326 "../../freebsd/sbin/pfctl/parse.y" 5415 5413 { yyval.v.interface = yystack.l_mark[0].v.interface; } 5416 5414 break; 5417 5415 case 86: 5418 #line 132 6"../../freebsd/sbin/pfctl/parse.y"5416 #line 1327 "../../freebsd/sbin/pfctl/parse.y" 5419 5417 { yyval.v.interface = yystack.l_mark[-1].v.interface; } 5420 5418 break; 5421 5419 case 87: 5422 #line 13 29"../../freebsd/sbin/pfctl/parse.y"5420 #line 1330 "../../freebsd/sbin/pfctl/parse.y" 5423 5421 { yyval.v.interface = yystack.l_mark[-1].v.interface; } 5424 5422 break; 5425 5423 case 88: 5426 #line 133 0"../../freebsd/sbin/pfctl/parse.y"5424 #line 1331 "../../freebsd/sbin/pfctl/parse.y" 5427 5425 { 5428 5426 yystack.l_mark[-3].v.interface->tail->next = yystack.l_mark[-1].v.interface; … … 5432 5430 break; 5433 5431 case 89: 5434 #line 133 7"../../freebsd/sbin/pfctl/parse.y"5432 #line 1338 "../../freebsd/sbin/pfctl/parse.y" 5435 5433 { yyval.v.interface = yystack.l_mark[0].v.interface; } 5436 5434 break; 5437 5435 case 90: 5438 #line 133 8"../../freebsd/sbin/pfctl/parse.y"5436 #line 1339 "../../freebsd/sbin/pfctl/parse.y" 5439 5437 { 5440 5438 yystack.l_mark[-1].v.interface->dynamic = 1; … … 5443 5441 break; 5444 5442 case 91: 5445 #line 134 4"../../freebsd/sbin/pfctl/parse.y"5443 #line 1345 "../../freebsd/sbin/pfctl/parse.y" 5446 5444 { 5447 5445 bzero(&antispoof_opts, sizeof antispoof_opts); … … 5450 5448 break; 5451 5449 case 92: 5452 #line 13 49"../../freebsd/sbin/pfctl/parse.y"5450 #line 1350 "../../freebsd/sbin/pfctl/parse.y" 5453 5451 { yyval.v.antispoof_opts = antispoof_opts; } 5454 5452 break; 5455 5453 case 93: 5456 #line 135 0"../../freebsd/sbin/pfctl/parse.y"5454 #line 1351 "../../freebsd/sbin/pfctl/parse.y" 5457 5455 { 5458 5456 bzero(&antispoof_opts, sizeof antispoof_opts); … … 5462 5460 break; 5463 5461 case 96: 5464 #line 136 1"../../freebsd/sbin/pfctl/parse.y"5462 #line 1362 "../../freebsd/sbin/pfctl/parse.y" 5465 5463 { 5466 5464 if (antispoof_opts.label) { … … 5472 5470 break; 5473 5471 case 97: 5474 #line 136 8"../../freebsd/sbin/pfctl/parse.y"5472 #line 1369 "../../freebsd/sbin/pfctl/parse.y" 5475 5473 { 5476 5474 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > rt_tableid_max()) { … … 5482 5480 break; 5483 5481 case 98: 5484 #line 137 7"../../freebsd/sbin/pfctl/parse.y"5482 #line 1378 "../../freebsd/sbin/pfctl/parse.y" 5485 5483 { yyval.v.number = 1; } 5486 5484 break; 5487 5485 case 99: 5488 #line 137 8"../../freebsd/sbin/pfctl/parse.y"5486 #line 1379 "../../freebsd/sbin/pfctl/parse.y" 5489 5487 { yyval.v.number = 0; } 5490 5488 break; 5491 5489 case 100: 5492 #line 138 1"../../freebsd/sbin/pfctl/parse.y"5490 #line 1382 "../../freebsd/sbin/pfctl/parse.y" 5493 5491 { 5494 5492 struct node_host *h, *nh; … … 5521 5519 break; 5522 5520 case 101: 5523 #line 141 1"../../freebsd/sbin/pfctl/parse.y"5521 #line 1412 "../../freebsd/sbin/pfctl/parse.y" 5524 5522 { 5525 5523 bzero(&table_opts, sizeof table_opts); … … 5528 5526 break; 5529 5527 case 102: 5530 #line 141 6"../../freebsd/sbin/pfctl/parse.y"5528 #line 1417 "../../freebsd/sbin/pfctl/parse.y" 5531 5529 { yyval.v.table_opts = table_opts; } 5532 5530 break; 5533 5531 case 103: 5534 #line 141 8"../../freebsd/sbin/pfctl/parse.y"5532 #line 1419 "../../freebsd/sbin/pfctl/parse.y" 5535 5533 { 5536 5534 bzero(&table_opts, sizeof table_opts); … … 5540 5538 break; 5541 5539 case 106: 5542 #line 14 29"../../freebsd/sbin/pfctl/parse.y"5540 #line 1430 "../../freebsd/sbin/pfctl/parse.y" 5543 5541 { 5544 5542 if (!strcmp(yystack.l_mark[0].v.string, "const")) … … 5557 5555 break; 5558 5556 case 107: 5559 #line 144 3"../../freebsd/sbin/pfctl/parse.y"5557 #line 1444 "../../freebsd/sbin/pfctl/parse.y" 5560 5558 { table_opts.init_addr = 1; } 5561 5559 break; 5562 5560 case 108: 5563 #line 144 4"../../freebsd/sbin/pfctl/parse.y"5561 #line 1445 "../../freebsd/sbin/pfctl/parse.y" 5564 5562 { 5565 5563 struct node_host *n; … … 5604 5602 break; 5605 5603 case 109: 5606 #line 148 4"../../freebsd/sbin/pfctl/parse.y"5604 #line 1485 "../../freebsd/sbin/pfctl/parse.y" 5607 5605 { 5608 5606 struct node_tinit *ti; … … 5617 5615 break; 5618 5616 case 110: 5619 #line 149 6"../../freebsd/sbin/pfctl/parse.y"5617 #line 1497 "../../freebsd/sbin/pfctl/parse.y" 5620 5618 { 5621 5619 struct pf_altq a; … … 5642 5640 break; 5643 5641 case 111: 5644 #line 152 0"../../freebsd/sbin/pfctl/parse.y"5642 #line 1521 "../../freebsd/sbin/pfctl/parse.y" 5645 5643 { 5646 5644 struct pf_altq a; … … 5680 5678 break; 5681 5679 case 112: 5682 #line 155 7"../../freebsd/sbin/pfctl/parse.y"5680 #line 1558 "../../freebsd/sbin/pfctl/parse.y" 5683 5681 { 5684 5682 bzero(&queue_opts, sizeof queue_opts); … … 5690 5688 break; 5691 5689 case 113: 5692 #line 156 5"../../freebsd/sbin/pfctl/parse.y"5690 #line 1566 "../../freebsd/sbin/pfctl/parse.y" 5693 5691 { yyval.v.queue_opts = queue_opts; } 5694 5692 break; 5695 5693 case 114: 5696 #line 156 6"../../freebsd/sbin/pfctl/parse.y"5694 #line 1567 "../../freebsd/sbin/pfctl/parse.y" 5697 5695 { 5698 5696 bzero(&queue_opts, sizeof queue_opts); … … 5705 5703 break; 5706 5704 case 117: 5707 #line 158 0"../../freebsd/sbin/pfctl/parse.y"5705 #line 1581 "../../freebsd/sbin/pfctl/parse.y" 5708 5706 { 5709 5707 if (queue_opts.marker & QOM_BWSPEC) { … … 5716 5714 break; 5717 5715 case 118: 5718 #line 158 8"../../freebsd/sbin/pfctl/parse.y"5716 #line 1589 "../../freebsd/sbin/pfctl/parse.y" 5719 5717 { 5720 5718 if (queue_opts.marker & QOM_PRIORITY) { … … 5731 5729 break; 5732 5730 case 119: 5733 #line 160 0"../../freebsd/sbin/pfctl/parse.y"5731 #line 1601 "../../freebsd/sbin/pfctl/parse.y" 5734 5732 { 5735 5733 if (queue_opts.marker & QOM_QLIMIT) { … … 5746 5744 break; 5747 5745 case 120: 5748 #line 161 2"../../freebsd/sbin/pfctl/parse.y"5746 #line 1613 "../../freebsd/sbin/pfctl/parse.y" 5749 5747 { 5750 5748 if (queue_opts.marker & QOM_SCHEDULER) { … … 5757 5755 break; 5758 5756 case 121: 5759 #line 162 0"../../freebsd/sbin/pfctl/parse.y"5757 #line 1621 "../../freebsd/sbin/pfctl/parse.y" 5760 5758 { 5761 5759 if (queue_opts.marker & QOM_TBRSIZE) { … … 5772 5770 break; 5773 5771 case 122: 5774 #line 163 4"../../freebsd/sbin/pfctl/parse.y"5772 #line 1635 "../../freebsd/sbin/pfctl/parse.y" 5775 5773 { 5776 5774 double bps; … … 5818 5816 break; 5819 5817 case 123: 5820 #line 167 7"../../freebsd/sbin/pfctl/parse.y"5818 #line 1678 "../../freebsd/sbin/pfctl/parse.y" 5821 5819 { 5822 5820 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { … … 5829 5827 break; 5830 5828 case 124: 5831 #line 168 7"../../freebsd/sbin/pfctl/parse.y"5829 #line 1688 "../../freebsd/sbin/pfctl/parse.y" 5832 5830 { 5833 5831 yyval.v.queue_options.qtype = ALTQT_CBQ; … … 5836 5834 break; 5837 5835 case 125: 5838 #line 169 1"../../freebsd/sbin/pfctl/parse.y"5836 #line 1692 "../../freebsd/sbin/pfctl/parse.y" 5839 5837 { 5840 5838 yyval.v.queue_options.qtype = ALTQT_CBQ; … … 5843 5841 break; 5844 5842 case 126: 5845 #line 169 5"../../freebsd/sbin/pfctl/parse.y"5843 #line 1696 "../../freebsd/sbin/pfctl/parse.y" 5846 5844 { 5847 5845 yyval.v.queue_options.qtype = ALTQT_PRIQ; … … 5850 5848 break; 5851 5849 case 127: 5852 #line 1 699"../../freebsd/sbin/pfctl/parse.y"5850 #line 1700 "../../freebsd/sbin/pfctl/parse.y" 5853 5851 { 5854 5852 yyval.v.queue_options.qtype = ALTQT_PRIQ; … … 5857 5855 break; 5858 5856 case 128: 5859 #line 170 3"../../freebsd/sbin/pfctl/parse.y"5857 #line 1704 "../../freebsd/sbin/pfctl/parse.y" 5860 5858 { 5861 5859 yyval.v.queue_options.qtype = ALTQT_HFSC; … … 5865 5863 break; 5866 5864 case 129: 5867 #line 170 8"../../freebsd/sbin/pfctl/parse.y"5865 #line 1709 "../../freebsd/sbin/pfctl/parse.y" 5868 5866 { 5869 5867 yyval.v.queue_options.qtype = ALTQT_HFSC; … … 5872 5870 break; 5873 5871 case 130: 5874 #line 171 2"../../freebsd/sbin/pfctl/parse.y"5872 #line 1713 "../../freebsd/sbin/pfctl/parse.y" 5875 5873 { 5876 5874 yyval.v.queue_options.qtype = ALTQT_FAIRQ; … … 5880 5878 break; 5881 5879 case 131: 5882 #line 171 7"../../freebsd/sbin/pfctl/parse.y"5880 #line 1718 "../../freebsd/sbin/pfctl/parse.y" 5883 5881 { 5884 5882 yyval.v.queue_options.qtype = ALTQT_FAIRQ; … … 5887 5885 break; 5888 5886 case 132: 5889 #line 172 1"../../freebsd/sbin/pfctl/parse.y"5887 #line 1722 "../../freebsd/sbin/pfctl/parse.y" 5890 5888 { 5891 5889 yyval.v.queue_options.qtype = ALTQT_CODEL; … … 5895 5893 break; 5896 5894 case 133: 5897 #line 172 6"../../freebsd/sbin/pfctl/parse.y"5895 #line 1727 "../../freebsd/sbin/pfctl/parse.y" 5898 5896 { 5899 5897 yyval.v.queue_options.qtype = ALTQT_CODEL; … … 5902 5900 break; 5903 5901 case 134: 5904 #line 1732 "../../freebsd/sbin/pfctl/parse.y"5905 { yyval.v.number |= yystack.l_mark[0].v.number; }5906 break;5907 case 135:5908 5902 #line 1733 "../../freebsd/sbin/pfctl/parse.y" 5909 5903 { yyval.v.number |= yystack.l_mark[0].v.number; } 5910 5904 break; 5905 case 135: 5906 #line 1734 "../../freebsd/sbin/pfctl/parse.y" 5907 { yyval.v.number |= yystack.l_mark[0].v.number; } 5908 break; 5911 5909 case 136: 5912 #line 173 6"../../freebsd/sbin/pfctl/parse.y"5910 #line 1737 "../../freebsd/sbin/pfctl/parse.y" 5913 5911 { 5914 5912 if (!strcmp(yystack.l_mark[0].v.string, "default")) … … 5933 5931 break; 5934 5932 case 137: 5935 #line 1758 "../../freebsd/sbin/pfctl/parse.y"5936 { yyval.v.number |= yystack.l_mark[0].v.number; }5937 break;5938 case 138:5939 5933 #line 1759 "../../freebsd/sbin/pfctl/parse.y" 5940 5934 { yyval.v.number |= yystack.l_mark[0].v.number; } 5941 5935 break; 5936 case 138: 5937 #line 1760 "../../freebsd/sbin/pfctl/parse.y" 5938 { yyval.v.number |= yystack.l_mark[0].v.number; } 5939 break; 5942 5940 case 139: 5943 #line 176 2"../../freebsd/sbin/pfctl/parse.y"5941 #line 1763 "../../freebsd/sbin/pfctl/parse.y" 5944 5942 { 5945 5943 if (!strcmp(yystack.l_mark[0].v.string, "default")) … … 5962 5960 break; 5963 5961 case 140: 5964 #line 178 2"../../freebsd/sbin/pfctl/parse.y"5962 #line 1783 "../../freebsd/sbin/pfctl/parse.y" 5965 5963 { 5966 5964 bzero(&hfsc_opts, … … 5969 5967 break; 5970 5968 case 141: 5971 #line 178 6"../../freebsd/sbin/pfctl/parse.y"5969 #line 1787 "../../freebsd/sbin/pfctl/parse.y" 5972 5970 { 5973 5971 yyval.v.hfsc_opts = hfsc_opts; … … 5975 5973 break; 5976 5974 case 144: 5977 #line 179 5"../../freebsd/sbin/pfctl/parse.y"5975 #line 1796 "../../freebsd/sbin/pfctl/parse.y" 5978 5976 { 5979 5977 if (hfsc_opts.linkshare.used) { … … 5986 5984 break; 5987 5985 case 145: 5988 #line 180 4"../../freebsd/sbin/pfctl/parse.y"5986 #line 1805 "../../freebsd/sbin/pfctl/parse.y" 5989 5987 { 5990 5988 if (yystack.l_mark[-3].v.number < 0 || yystack.l_mark[-3].v.number > INT_MAX) { … … 6003 6001 break; 6004 6002 case 146: 6005 #line 181 8"../../freebsd/sbin/pfctl/parse.y"6003 #line 1819 "../../freebsd/sbin/pfctl/parse.y" 6006 6004 { 6007 6005 if (hfsc_opts.realtime.used) { … … 6014 6012 break; 6015 6013 case 147: 6016 #line 182 7"../../freebsd/sbin/pfctl/parse.y"6014 #line 1828 "../../freebsd/sbin/pfctl/parse.y" 6017 6015 { 6018 6016 if (yystack.l_mark[-3].v.number < 0 || yystack.l_mark[-3].v.number > INT_MAX) { … … 6031 6029 break; 6032 6030 case 148: 6033 #line 184 1"../../freebsd/sbin/pfctl/parse.y"6031 #line 1842 "../../freebsd/sbin/pfctl/parse.y" 6034 6032 { 6035 6033 if (hfsc_opts.upperlimit.used) { … … 6042 6040 break; 6043 6041 case 149: 6044 #line 185 0"../../freebsd/sbin/pfctl/parse.y"6042 #line 1851 "../../freebsd/sbin/pfctl/parse.y" 6045 6043 { 6046 6044 if (yystack.l_mark[-3].v.number < 0 || yystack.l_mark[-3].v.number > INT_MAX) { … … 6059 6057 break; 6060 6058 case 150: 6061 #line 186 4"../../freebsd/sbin/pfctl/parse.y"6059 #line 1865 "../../freebsd/sbin/pfctl/parse.y" 6062 6060 { 6063 6061 if (!strcmp(yystack.l_mark[0].v.string, "default")) … … 6080 6078 break; 6081 6079 case 151: 6082 #line 188 4"../../freebsd/sbin/pfctl/parse.y"6080 #line 1885 "../../freebsd/sbin/pfctl/parse.y" 6083 6081 { 6084 6082 bzero(&fairq_opts, … … 6087 6085 break; 6088 6086 case 152: 6089 #line 188 8"../../freebsd/sbin/pfctl/parse.y"6087 #line 1889 "../../freebsd/sbin/pfctl/parse.y" 6090 6088 { 6091 6089 yyval.v.fairq_opts = fairq_opts; … … 6093 6091 break; 6094 6092 case 155: 6095 #line 189 7"../../freebsd/sbin/pfctl/parse.y"6093 #line 1898 "../../freebsd/sbin/pfctl/parse.y" 6096 6094 { 6097 6095 if (fairq_opts.linkshare.used) { … … 6104 6102 break; 6105 6103 case 156: 6106 #line 190 5"../../freebsd/sbin/pfctl/parse.y"6104 #line 1906 "../../freebsd/sbin/pfctl/parse.y" 6107 6105 { 6108 6106 if (fairq_opts.linkshare.used) { … … 6117 6115 break; 6118 6116 case 157: 6119 #line 191 5"../../freebsd/sbin/pfctl/parse.y"6117 #line 1916 "../../freebsd/sbin/pfctl/parse.y" 6120 6118 { 6121 6119 fairq_opts.hogs_bw = yystack.l_mark[0].v.queue_bwspec; … … 6123 6121 break; 6124 6122 case 158: 6125 #line 191 8"../../freebsd/sbin/pfctl/parse.y"6123 #line 1919 "../../freebsd/sbin/pfctl/parse.y" 6126 6124 { 6127 6125 fairq_opts.nbuckets = yystack.l_mark[0].v.number; … … 6129 6127 break; 6130 6128 case 159: 6131 #line 192 1"../../freebsd/sbin/pfctl/parse.y"6129 #line 1922 "../../freebsd/sbin/pfctl/parse.y" 6132 6130 { 6133 6131 if (!strcmp(yystack.l_mark[0].v.string, "default")) … … 6150 6148 break; 6151 6149 case 160: 6152 #line 194 1"../../freebsd/sbin/pfctl/parse.y"6150 #line 1942 "../../freebsd/sbin/pfctl/parse.y" 6153 6151 { 6154 6152 bzero(&codel_opts, … … 6157 6155 break; 6158 6156 case 161: 6159 #line 194 5"../../freebsd/sbin/pfctl/parse.y"6157 #line 1946 "../../freebsd/sbin/pfctl/parse.y" 6160 6158 { 6161 6159 yyval.v.codel_opts = codel_opts; … … 6163 6161 break; 6164 6162 case 164: 6165 #line 195 4"../../freebsd/sbin/pfctl/parse.y"6163 #line 1955 "../../freebsd/sbin/pfctl/parse.y" 6166 6164 { 6167 6165 if (codel_opts.interval) { … … 6173 6171 break; 6174 6172 case 165: 6175 #line 196 1"../../freebsd/sbin/pfctl/parse.y"6173 #line 1962 "../../freebsd/sbin/pfctl/parse.y" 6176 6174 { 6177 6175 if (codel_opts.target) { … … 6183 6181 break; 6184 6182 case 166: 6185 #line 196 8"../../freebsd/sbin/pfctl/parse.y"6183 #line 1969 "../../freebsd/sbin/pfctl/parse.y" 6186 6184 { 6187 6185 if (!strcmp(yystack.l_mark[0].v.string, "ecn")) … … 6196 6194 break; 6197 6195 case 167: 6198 #line 198 0"../../freebsd/sbin/pfctl/parse.y"6196 #line 1981 "../../freebsd/sbin/pfctl/parse.y" 6199 6197 { yyval.v.queue = NULL; } 6200 6198 break; 6201 6199 case 168: 6202 #line 198 1"../../freebsd/sbin/pfctl/parse.y"6200 #line 1982 "../../freebsd/sbin/pfctl/parse.y" 6203 6201 { yyval.v.queue = yystack.l_mark[0].v.queue; } 6204 6202 break; 6205 6203 case 169: 6206 #line 198 2"../../freebsd/sbin/pfctl/parse.y"6204 #line 1983 "../../freebsd/sbin/pfctl/parse.y" 6207 6205 { yyval.v.queue = yystack.l_mark[-1].v.queue; } 6208 6206 break; 6209 6207 case 170: 6210 #line 198 5"../../freebsd/sbin/pfctl/parse.y"6208 #line 1986 "../../freebsd/sbin/pfctl/parse.y" 6211 6209 { yyval.v.queue = yystack.l_mark[-1].v.queue; } 6212 6210 break; 6213 6211 case 171: 6214 #line 198 6"../../freebsd/sbin/pfctl/parse.y"6212 #line 1987 "../../freebsd/sbin/pfctl/parse.y" 6215 6213 { 6216 6214 yystack.l_mark[-3].v.queue->tail->next = yystack.l_mark[-1].v.queue; … … 6220 6218 break; 6221 6219 case 172: 6222 #line 199 3"../../freebsd/sbin/pfctl/parse.y"6220 #line 1994 "../../freebsd/sbin/pfctl/parse.y" 6223 6221 { 6224 6222 yyval.v.queue = calloc(1, sizeof(struct node_queue)); … … 6239 6237 break; 6240 6238 case 173: 6241 #line 201 3"../../freebsd/sbin/pfctl/parse.y"6239 #line 2014 "../../freebsd/sbin/pfctl/parse.y" 6242 6240 { 6243 6241 struct pf_rule r; … … 6664 6662 break; 6665 6663 case 174: 6666 #line 243 7"../../freebsd/sbin/pfctl/parse.y"6664 #line 2438 "../../freebsd/sbin/pfctl/parse.y" 6667 6665 { 6668 6666 bzero(&filter_opts, sizeof filter_opts); … … 6671 6669 break; 6672 6670 case 175: 6673 #line 244 2"../../freebsd/sbin/pfctl/parse.y"6671 #line 2443 "../../freebsd/sbin/pfctl/parse.y" 6674 6672 { yyval.v.filter_opts = filter_opts; } 6675 6673 break; 6676 6674 case 176: 6677 #line 244 3"../../freebsd/sbin/pfctl/parse.y"6675 #line 2444 "../../freebsd/sbin/pfctl/parse.y" 6678 6676 { 6679 6677 bzero(&filter_opts, sizeof filter_opts); … … 6683 6681 break; 6684 6682 case 179: 6685 #line 245 4"../../freebsd/sbin/pfctl/parse.y"6683 #line 2455 "../../freebsd/sbin/pfctl/parse.y" 6686 6684 { 6687 6685 if (filter_opts.uid) … … 6691 6689 break; 6692 6690 case 180: 6693 #line 24 59"../../freebsd/sbin/pfctl/parse.y"6691 #line 2460 "../../freebsd/sbin/pfctl/parse.y" 6694 6692 { 6695 6693 if (filter_opts.gid) … … 6699 6697 break; 6700 6698 case 181: 6701 #line 246 4"../../freebsd/sbin/pfctl/parse.y"6699 #line 2465 "../../freebsd/sbin/pfctl/parse.y" 6702 6700 { 6703 6701 if (filter_opts.marker & FOM_FLAGS) { … … 6713 6711 break; 6714 6712 case 182: 6715 #line 247 5"../../freebsd/sbin/pfctl/parse.y"6713 #line 2476 "../../freebsd/sbin/pfctl/parse.y" 6716 6714 { 6717 6715 if (filter_opts.marker & FOM_ICMP) { … … 6724 6722 break; 6725 6723 case 183: 6726 #line 248 3"../../freebsd/sbin/pfctl/parse.y"6724 #line 2484 "../../freebsd/sbin/pfctl/parse.y" 6727 6725 { 6728 6726 if (filter_opts.marker & FOM_PRIO) { … … 6739 6737 break; 6740 6738 case 184: 6741 #line 249 5"../../freebsd/sbin/pfctl/parse.y"6739 #line 2496 "../../freebsd/sbin/pfctl/parse.y" 6742 6740 { 6743 6741 if (filter_opts.marker & FOM_TOS) { … … 6750 6748 break; 6751 6749 case 185: 6752 #line 250 3"../../freebsd/sbin/pfctl/parse.y"6750 #line 2504 "../../freebsd/sbin/pfctl/parse.y" 6753 6751 { 6754 6752 if (filter_opts.marker & FOM_KEEP) { … … 6762 6760 break; 6763 6761 case 186: 6764 #line 251 2"../../freebsd/sbin/pfctl/parse.y"6762 #line 2513 "../../freebsd/sbin/pfctl/parse.y" 6765 6763 { 6766 6764 filter_opts.fragment = 1; … … 6768 6766 break; 6769 6767 case 187: 6770 #line 251 5"../../freebsd/sbin/pfctl/parse.y"6768 #line 2516 "../../freebsd/sbin/pfctl/parse.y" 6771 6769 { 6772 6770 filter_opts.allowopts = 1; … … 6774 6772 break; 6775 6773 case 188: 6776 #line 251 8"../../freebsd/sbin/pfctl/parse.y"6774 #line 2519 "../../freebsd/sbin/pfctl/parse.y" 6777 6775 { 6778 6776 if (filter_opts.label) { … … 6784 6782 break; 6785 6783 case 189: 6786 #line 252 5"../../freebsd/sbin/pfctl/parse.y"6784 #line 2526 "../../freebsd/sbin/pfctl/parse.y" 6787 6785 { 6788 6786 if (filter_opts.queues.qname) { … … 6794 6792 break; 6795 6793 case 190: 6796 #line 253 2"../../freebsd/sbin/pfctl/parse.y"6794 #line 2533 "../../freebsd/sbin/pfctl/parse.y" 6797 6795 { 6798 6796 filter_opts.tag = yystack.l_mark[0].v.string; … … 6800 6798 break; 6801 6799 case 191: 6802 #line 253 5"../../freebsd/sbin/pfctl/parse.y"6800 #line 2536 "../../freebsd/sbin/pfctl/parse.y" 6803 6801 { 6804 6802 filter_opts.match_tag = yystack.l_mark[0].v.string; … … 6807 6805 break; 6808 6806 case 192: 6809 #line 25 39"../../freebsd/sbin/pfctl/parse.y"6807 #line 2540 "../../freebsd/sbin/pfctl/parse.y" 6810 6808 { 6811 6809 double p; … … 6822 6820 break; 6823 6821 case 193: 6824 #line 255 1"../../freebsd/sbin/pfctl/parse.y"6822 #line 2552 "../../freebsd/sbin/pfctl/parse.y" 6825 6823 { 6826 6824 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > rt_tableid_max()) { … … 6832 6830 break; 6833 6831 case 194: 6834 #line 255 8"../../freebsd/sbin/pfctl/parse.y"6832 #line 2559 "../../freebsd/sbin/pfctl/parse.y" 6835 6833 { 6836 6834 #ifdef __FreeBSD__ … … 6844 6842 break; 6845 6843 case 195: 6846 #line 256 7"../../freebsd/sbin/pfctl/parse.y"6844 #line 2568 "../../freebsd/sbin/pfctl/parse.y" 6847 6845 { 6848 6846 #ifndef __FreeBSD__ … … 6865 6863 break; 6866 6864 case 196: 6867 #line 258 5"../../freebsd/sbin/pfctl/parse.y"6865 #line 2586 "../../freebsd/sbin/pfctl/parse.y" 6868 6866 { 6869 6867 #ifdef __FreeBSD__ … … 6876 6874 break; 6877 6875 case 198: 6878 #line 2596 "../../freebsd/sbin/pfctl/parse.y"6879 { yyval.v.filter_opts = filter_opts; }6880 break;6881 case 199:6882 6876 #line 2597 "../../freebsd/sbin/pfctl/parse.y" 6883 6877 { yyval.v.filter_opts = filter_opts; } 6884 6878 break; 6879 case 199: 6880 #line 2598 "../../freebsd/sbin/pfctl/parse.y" 6881 { yyval.v.filter_opts = filter_opts; } 6882 break; 6885 6883 case 202: 6886 #line 260 4"../../freebsd/sbin/pfctl/parse.y"6884 #line 2605 "../../freebsd/sbin/pfctl/parse.y" 6887 6885 { 6888 6886 if (filter_opts.marker & FOM_SETPRIO) { … … 6896 6894 break; 6897 6895 case 203: 6898 #line 261 3"../../freebsd/sbin/pfctl/parse.y"6896 #line 2614 "../../freebsd/sbin/pfctl/parse.y" 6899 6897 { 6900 6898 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > PF_PRIO_MAX) { … … 6906 6904 break; 6907 6905 case 204: 6908 #line 262 0"../../freebsd/sbin/pfctl/parse.y"6906 #line 2621 "../../freebsd/sbin/pfctl/parse.y" 6909 6907 { 6910 6908 if (yystack.l_mark[-3].v.number < 0 || yystack.l_mark[-3].v.number > PF_PRIO_MAX || … … 6918 6916 break; 6919 6917 case 205: 6920 #line 263 1"../../freebsd/sbin/pfctl/parse.y"6918 #line 2632 "../../freebsd/sbin/pfctl/parse.y" 6921 6919 { 6922 6920 char *e; … … 6937 6935 break; 6938 6936 case 206: 6939 #line 264 7"../../freebsd/sbin/pfctl/parse.y"6937 #line 2648 "../../freebsd/sbin/pfctl/parse.y" 6940 6938 { 6941 6939 yyval.v.probability = (double)yystack.l_mark[0].v.number; … … 6943 6941 break; 6944 6942 case 207: 6945 #line 265 3"../../freebsd/sbin/pfctl/parse.y"6943 #line 2654 "../../freebsd/sbin/pfctl/parse.y" 6946 6944 { yyval.v.b.b1 = PF_PASS; yyval.v.b.b2 = yyval.v.b.w = 0; } 6947 6945 break; 6948 6946 case 208: 6949 #line 265 4"../../freebsd/sbin/pfctl/parse.y"6947 #line 2655 "../../freebsd/sbin/pfctl/parse.y" 6950 6948 { yyval.v.b = yystack.l_mark[0].v.b; yyval.v.b.b1 = PF_DROP; } 6951 6949 break; 6952 6950 case 209: 6953 #line 265 7"../../freebsd/sbin/pfctl/parse.y"6951 #line 2658 "../../freebsd/sbin/pfctl/parse.y" 6954 6952 { 6955 6953 yyval.v.b.b2 = blockpolicy; … … 6959 6957 break; 6960 6958 case 210: 6961 #line 266 2"../../freebsd/sbin/pfctl/parse.y"6959 #line 2663 "../../freebsd/sbin/pfctl/parse.y" 6962 6960 { 6963 6961 yyval.v.b.b2 = PFRULE_DROP; … … 6967 6965 break; 6968 6966 case 211: 6969 #line 266 7"../../freebsd/sbin/pfctl/parse.y"6967 #line 2668 "../../freebsd/sbin/pfctl/parse.y" 6970 6968 { 6971 6969 yyval.v.b.b2 = PFRULE_RETURNRST; … … 6975 6973 break; 6976 6974 case 212: 6977 #line 267 2"../../freebsd/sbin/pfctl/parse.y"6975 #line 2673 "../../freebsd/sbin/pfctl/parse.y" 6978 6976 { 6979 6977 if (yystack.l_mark[-1].v.number < 0 || yystack.l_mark[-1].v.number > 255) { … … 6987 6985 break; 6988 6986 case 213: 6989 #line 268 1"../../freebsd/sbin/pfctl/parse.y"6987 #line 2682 "../../freebsd/sbin/pfctl/parse.y" 6990 6988 { 6991 6989 yyval.v.b.b2 = PFRULE_RETURNICMP; … … 6995 6993 break; 6996 6994 case 214: 6997 #line 268 6"../../freebsd/sbin/pfctl/parse.y"6995 #line 2687 "../../freebsd/sbin/pfctl/parse.y" 6998 6996 { 6999 6997 yyval.v.b.b2 = PFRULE_RETURNICMP; … … 7003 7001 break; 7004 7002 case 215: 7005 #line 269 1"../../freebsd/sbin/pfctl/parse.y"7003 #line 2692 "../../freebsd/sbin/pfctl/parse.y" 7006 7004 { 7007 7005 yyval.v.b.b2 = PFRULE_RETURNICMP; … … 7011 7009 break; 7012 7010 case 216: 7013 #line 269 6"../../freebsd/sbin/pfctl/parse.y"7011 #line 2697 "../../freebsd/sbin/pfctl/parse.y" 7014 7012 { 7015 7013 yyval.v.b.b2 = PFRULE_RETURNICMP; … … 7019 7017 break; 7020 7018 case 217: 7021 #line 270 1"../../freebsd/sbin/pfctl/parse.y"7019 #line 2702 "../../freebsd/sbin/pfctl/parse.y" 7022 7020 { 7023 7021 yyval.v.b.b2 = PFRULE_RETURNICMP; … … 7027 7025 break; 7028 7026 case 218: 7029 #line 270 6"../../freebsd/sbin/pfctl/parse.y"7027 #line 2707 "../../freebsd/sbin/pfctl/parse.y" 7030 7028 { 7031 7029 yyval.v.b.b2 = PFRULE_RETURN; … … 7035 7033 break; 7036 7034 case 219: 7037 #line 271 3"../../freebsd/sbin/pfctl/parse.y"7035 #line 2714 "../../freebsd/sbin/pfctl/parse.y" 7038 7036 { 7039 7037 if (!(yyval.v.number = parseicmpspec(yystack.l_mark[0].v.string, AF_INET))) { … … 7045 7043 break; 7046 7044 case 220: 7047 #line 272 0"../../freebsd/sbin/pfctl/parse.y"7045 #line 2721 "../../freebsd/sbin/pfctl/parse.y" 7048 7046 { 7049 7047 u_int8_t icmptype; … … 7058 7056 break; 7059 7057 case 221: 7060 #line 273 2"../../freebsd/sbin/pfctl/parse.y"7058 #line 2733 "../../freebsd/sbin/pfctl/parse.y" 7061 7059 { 7062 7060 if (!(yyval.v.number = parseicmpspec(yystack.l_mark[0].v.string, AF_INET6))) { … … 7068 7066 break; 7069 7067 case 222: 7070 #line 27 39"../../freebsd/sbin/pfctl/parse.y"7068 #line 2740 "../../freebsd/sbin/pfctl/parse.y" 7071 7069 { 7072 7070 u_int8_t icmptype; … … 7081 7079 break; 7082 7080 case 223: 7083 #line 275 1"../../freebsd/sbin/pfctl/parse.y"7081 #line 2752 "../../freebsd/sbin/pfctl/parse.y" 7084 7082 { yyval.v.i = PF_INOUT; } 7085 7083 break; 7086 7084 case 224: 7087 #line 275 2"../../freebsd/sbin/pfctl/parse.y"7085 #line 2753 "../../freebsd/sbin/pfctl/parse.y" 7088 7086 { yyval.v.i = PF_IN; } 7089 7087 break; 7090 7088 case 225: 7091 #line 275 3"../../freebsd/sbin/pfctl/parse.y"7089 #line 2754 "../../freebsd/sbin/pfctl/parse.y" 7092 7090 { yyval.v.i = PF_OUT; } 7093 7091 break; 7094 7092 case 226: 7095 #line 275 6"../../freebsd/sbin/pfctl/parse.y"7093 #line 2757 "../../freebsd/sbin/pfctl/parse.y" 7096 7094 { yyval.v.logquick.quick = 0; } 7097 7095 break; 7098 7096 case 227: 7099 #line 275 7"../../freebsd/sbin/pfctl/parse.y"7097 #line 2758 "../../freebsd/sbin/pfctl/parse.y" 7100 7098 { yyval.v.logquick.quick = 1; } 7101 7099 break; 7102 7100 case 228: 7103 #line 276 0"../../freebsd/sbin/pfctl/parse.y"7101 #line 2761 "../../freebsd/sbin/pfctl/parse.y" 7104 7102 { yyval.v.logquick.log = 0; yyval.v.logquick.quick = 0; yyval.v.logquick.logif = 0; } 7105 7103 break; 7106 7104 case 229: 7107 #line 276 1"../../freebsd/sbin/pfctl/parse.y"7105 #line 2762 "../../freebsd/sbin/pfctl/parse.y" 7108 7106 { yyval.v.logquick = yystack.l_mark[0].v.logquick; yyval.v.logquick.quick = 0; } 7109 7107 break; 7110 7108 case 230: 7111 #line 276 2"../../freebsd/sbin/pfctl/parse.y"7109 #line 2763 "../../freebsd/sbin/pfctl/parse.y" 7112 7110 { yyval.v.logquick.quick = 1; yyval.v.logquick.log = 0; yyval.v.logquick.logif = 0; } 7113 7111 break; 7114 7112 case 231: 7115 #line 276 3"../../freebsd/sbin/pfctl/parse.y"7113 #line 2764 "../../freebsd/sbin/pfctl/parse.y" 7116 7114 { yyval.v.logquick = yystack.l_mark[-1].v.logquick; yyval.v.logquick.quick = 1; } 7117 7115 break; 7118 7116 case 232: 7119 #line 276 4"../../freebsd/sbin/pfctl/parse.y"7117 #line 2765 "../../freebsd/sbin/pfctl/parse.y" 7120 7118 { yyval.v.logquick = yystack.l_mark[0].v.logquick; yyval.v.logquick.quick = 1; } 7121 7119 break; 7122 7120 case 233: 7123 #line 276 7"../../freebsd/sbin/pfctl/parse.y"7121 #line 2768 "../../freebsd/sbin/pfctl/parse.y" 7124 7122 { yyval.v.logquick.log = PF_LOG; yyval.v.logquick.logif = 0; } 7125 7123 break; 7126 7124 case 234: 7127 #line 276 8"../../freebsd/sbin/pfctl/parse.y"7125 #line 2769 "../../freebsd/sbin/pfctl/parse.y" 7128 7126 { 7129 7127 yyval.v.logquick.log = PF_LOG | yystack.l_mark[-1].v.logquick.log; … … 7132 7130 break; 7133 7131 case 235: 7134 #line 277 4"../../freebsd/sbin/pfctl/parse.y"7132 #line 2775 "../../freebsd/sbin/pfctl/parse.y" 7135 7133 { yyval.v.logquick = yystack.l_mark[0].v.logquick; } 7136 7134 break; 7137 7135 case 236: 7138 #line 277 5"../../freebsd/sbin/pfctl/parse.y"7136 #line 2776 "../../freebsd/sbin/pfctl/parse.y" 7139 7137 { 7140 7138 yyval.v.logquick.log = yystack.l_mark[-2].v.logquick.log | yystack.l_mark[0].v.logquick.log; … … 7145 7143 break; 7146 7144 case 237: 7147 #line 278 3"../../freebsd/sbin/pfctl/parse.y"7145 #line 2784 "../../freebsd/sbin/pfctl/parse.y" 7148 7146 { yyval.v.logquick.log = PF_LOG_ALL; yyval.v.logquick.logif = 0; } 7149 7147 break; 7150 7148 case 238: 7151 #line 2784 "../../freebsd/sbin/pfctl/parse.y"7152 { yyval.v.logquick.log = PF_LOG_SOCKET_LOOKUP; yyval.v.logquick.logif = 0; }7153 break;7154 case 239:7155 7149 #line 2785 "../../freebsd/sbin/pfctl/parse.y" 7156 7150 { yyval.v.logquick.log = PF_LOG_SOCKET_LOOKUP; yyval.v.logquick.logif = 0; } 7157 7151 break; 7152 case 239: 7153 #line 2786 "../../freebsd/sbin/pfctl/parse.y" 7154 { yyval.v.logquick.log = PF_LOG_SOCKET_LOOKUP; yyval.v.logquick.logif = 0; } 7155 break; 7158 7156 case 240: 7159 #line 278 6"../../freebsd/sbin/pfctl/parse.y"7157 #line 2787 "../../freebsd/sbin/pfctl/parse.y" 7160 7158 { 7161 7159 const char *errstr; … … 7179 7177 break; 7180 7178 case 241: 7181 #line 280 7"../../freebsd/sbin/pfctl/parse.y"7179 #line 2808 "../../freebsd/sbin/pfctl/parse.y" 7182 7180 { yyval.v.interface = NULL; } 7183 7181 break; 7184 7182 case 242: 7185 #line 280 8"../../freebsd/sbin/pfctl/parse.y"7183 #line 2809 "../../freebsd/sbin/pfctl/parse.y" 7186 7184 { yyval.v.interface = yystack.l_mark[0].v.interface; } 7187 7185 break; 7188 7186 case 243: 7189 #line 28 09"../../freebsd/sbin/pfctl/parse.y"7187 #line 2810 "../../freebsd/sbin/pfctl/parse.y" 7190 7188 { yyval.v.interface = yystack.l_mark[-1].v.interface; } 7191 7189 break; 7192 7190 case 244: 7193 #line 281 2"../../freebsd/sbin/pfctl/parse.y"7191 #line 2813 "../../freebsd/sbin/pfctl/parse.y" 7194 7192 { yyval.v.interface = yystack.l_mark[-1].v.interface; } 7195 7193 break; 7196 7194 case 245: 7197 #line 281 3"../../freebsd/sbin/pfctl/parse.y"7195 #line 2814 "../../freebsd/sbin/pfctl/parse.y" 7198 7196 { 7199 7197 yystack.l_mark[-3].v.interface->tail->next = yystack.l_mark[-1].v.interface; … … 7203 7201 break; 7204 7202 case 246: 7205 #line 282 0"../../freebsd/sbin/pfctl/parse.y"7203 #line 2821 "../../freebsd/sbin/pfctl/parse.y" 7206 7204 { yyval.v.interface = yystack.l_mark[0].v.interface; yyval.v.interface->not = yystack.l_mark[-1].v.number; } 7207 7205 break; 7208 7206 case 247: 7209 #line 282 3"../../freebsd/sbin/pfctl/parse.y"7207 #line 2824 "../../freebsd/sbin/pfctl/parse.y" 7210 7208 { 7211 7209 struct node_host *n; … … 7232 7230 break; 7233 7231 case 248: 7234 #line 284 7"../../freebsd/sbin/pfctl/parse.y"7232 #line 2848 "../../freebsd/sbin/pfctl/parse.y" 7235 7233 { yyval.v.i = 0; } 7236 7234 break; 7237 7235 case 249: 7238 #line 284 8"../../freebsd/sbin/pfctl/parse.y"7236 #line 2849 "../../freebsd/sbin/pfctl/parse.y" 7239 7237 { yyval.v.i = AF_INET; } 7240 7238 break; 7241 7239 case 250: 7242 #line 28 49"../../freebsd/sbin/pfctl/parse.y"7240 #line 2850 "../../freebsd/sbin/pfctl/parse.y" 7243 7241 { yyval.v.i = AF_INET6; } 7244 7242 break; 7245 7243 case 251: 7246 #line 285 2"../../freebsd/sbin/pfctl/parse.y"7244 #line 2853 "../../freebsd/sbin/pfctl/parse.y" 7247 7245 { yyval.v.proto = NULL; } 7248 7246 break; 7249 7247 case 252: 7250 #line 285 3"../../freebsd/sbin/pfctl/parse.y"7248 #line 2854 "../../freebsd/sbin/pfctl/parse.y" 7251 7249 { yyval.v.proto = yystack.l_mark[0].v.proto; } 7252 7250 break; 7253 7251 case 253: 7254 #line 285 4"../../freebsd/sbin/pfctl/parse.y"7252 #line 2855 "../../freebsd/sbin/pfctl/parse.y" 7255 7253 { yyval.v.proto = yystack.l_mark[-1].v.proto; } 7256 7254 break; 7257 7255 case 254: 7258 #line 285 7"../../freebsd/sbin/pfctl/parse.y"7256 #line 2858 "../../freebsd/sbin/pfctl/parse.y" 7259 7257 { yyval.v.proto = yystack.l_mark[-1].v.proto; } 7260 7258 break; 7261 7259 case 255: 7262 #line 285 8"../../freebsd/sbin/pfctl/parse.y"7260 #line 2859 "../../freebsd/sbin/pfctl/parse.y" 7263 7261 { 7264 7262 yystack.l_mark[-3].v.proto->tail->next = yystack.l_mark[-1].v.proto; … … 7268 7266 break; 7269 7267 case 256: 7270 #line 286 5"../../freebsd/sbin/pfctl/parse.y"7268 #line 2866 "../../freebsd/sbin/pfctl/parse.y" 7271 7269 { 7272 7270 u_int8_t pr; … … 7286 7284 break; 7287 7285 case 257: 7288 #line 288 2"../../freebsd/sbin/pfctl/parse.y"7286 #line 2883 "../../freebsd/sbin/pfctl/parse.y" 7289 7287 { 7290 7288 struct protoent *p; … … 7301 7299 break; 7302 7300 case 258: 7303 #line 289 4"../../freebsd/sbin/pfctl/parse.y"7301 #line 2895 "../../freebsd/sbin/pfctl/parse.y" 7304 7302 { 7305 7303 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { … … 7310 7308 break; 7311 7309 case 259: 7312 #line 290 2"../../freebsd/sbin/pfctl/parse.y"7310 #line 2903 "../../freebsd/sbin/pfctl/parse.y" 7313 7311 { 7314 7312 yyval.v.fromto.src.host = NULL; … … 7320 7318 break; 7321 7319 case 260: 7322 #line 29 09"../../freebsd/sbin/pfctl/parse.y"7320 #line 2910 "../../freebsd/sbin/pfctl/parse.y" 7323 7321 { 7324 7322 yyval.v.fromto.src = yystack.l_mark[-2].v.peer; … … 7328 7326 break; 7329 7327 case 261: 7330 #line 291 6"../../freebsd/sbin/pfctl/parse.y"7328 #line 2917 "../../freebsd/sbin/pfctl/parse.y" 7331 7329 { yyval.v.os = NULL; } 7332 7330 break; 7333 7331 case 262: 7334 #line 291 7"../../freebsd/sbin/pfctl/parse.y"7332 #line 2918 "../../freebsd/sbin/pfctl/parse.y" 7335 7333 { yyval.v.os = yystack.l_mark[0].v.os; } 7336 7334 break; 7337 7335 case 263: 7338 #line 291 8"../../freebsd/sbin/pfctl/parse.y"7336 #line 2919 "../../freebsd/sbin/pfctl/parse.y" 7339 7337 { yyval.v.os = yystack.l_mark[-1].v.os; } 7340 7338 break; 7341 7339 case 264: 7342 #line 292 1"../../freebsd/sbin/pfctl/parse.y"7340 #line 2922 "../../freebsd/sbin/pfctl/parse.y" 7343 7341 { 7344 7342 yyval.v.os = calloc(1, sizeof(struct node_os)); … … 7350 7348 break; 7351 7349 case 265: 7352 #line 293 0"../../freebsd/sbin/pfctl/parse.y"7350 #line 2931 "../../freebsd/sbin/pfctl/parse.y" 7353 7351 { yyval.v.os = yystack.l_mark[-1].v.os; } 7354 7352 break; 7355 7353 case 266: 7356 #line 293 1"../../freebsd/sbin/pfctl/parse.y"7354 #line 2932 "../../freebsd/sbin/pfctl/parse.y" 7357 7355 { 7358 7356 yystack.l_mark[-3].v.os->tail->next = yystack.l_mark[-1].v.os; … … 7362 7360 break; 7363 7361 case 267: 7364 #line 293 8"../../freebsd/sbin/pfctl/parse.y"7362 #line 2939 "../../freebsd/sbin/pfctl/parse.y" 7365 7363 { 7366 7364 yyval.v.peer.host = NULL; … … 7369 7367 break; 7370 7368 case 268: 7371 #line 294 2"../../freebsd/sbin/pfctl/parse.y"7369 #line 2943 "../../freebsd/sbin/pfctl/parse.y" 7372 7370 { 7373 7371 yyval.v.peer = yystack.l_mark[0].v.peer; … … 7375 7373 break; 7376 7374 case 269: 7377 #line 294 7"../../freebsd/sbin/pfctl/parse.y"7375 #line 2948 "../../freebsd/sbin/pfctl/parse.y" 7378 7376 { 7379 7377 yyval.v.peer.host = NULL; … … 7382 7380 break; 7383 7381 case 270: 7384 #line 295 1"../../freebsd/sbin/pfctl/parse.y"7382 #line 2952 "../../freebsd/sbin/pfctl/parse.y" 7385 7383 { 7386 7384 if (disallow_urpf_failed(yystack.l_mark[0].v.peer.host, "\"urpf-failed\" is " … … 7391 7389 break; 7392 7390 case 271: 7393 #line 29 59"../../freebsd/sbin/pfctl/parse.y"7391 #line 2960 "../../freebsd/sbin/pfctl/parse.y" 7394 7392 { 7395 7393 yyval.v.peer.host = yystack.l_mark[0].v.host; … … 7398 7396 break; 7399 7397 case 272: 7400 #line 296 3"../../freebsd/sbin/pfctl/parse.y"7398 #line 2964 "../../freebsd/sbin/pfctl/parse.y" 7401 7399 { 7402 7400 yyval.v.peer.host = yystack.l_mark[-2].v.host; … … 7405 7403 break; 7406 7404 case 273: 7407 #line 296 7"../../freebsd/sbin/pfctl/parse.y"7405 #line 2968 "../../freebsd/sbin/pfctl/parse.y" 7408 7406 { 7409 7407 yyval.v.peer.host = NULL; … … 7412 7410 break; 7413 7411 case 276: 7414 #line 297 7"../../freebsd/sbin/pfctl/parse.y"7412 #line 2978 "../../freebsd/sbin/pfctl/parse.y" 7415 7413 { yyval.v.host = NULL; } 7416 7414 break; 7417 7415 case 277: 7418 #line 297 8"../../freebsd/sbin/pfctl/parse.y"7416 #line 2979 "../../freebsd/sbin/pfctl/parse.y" 7419 7417 { yyval.v.host = yystack.l_mark[0].v.host; } 7420 7418 break; 7421 7419 case 278: 7422 #line 29 79"../../freebsd/sbin/pfctl/parse.y"7420 #line 2980 "../../freebsd/sbin/pfctl/parse.y" 7423 7421 { yyval.v.host = yystack.l_mark[-1].v.host; } 7424 7422 break; 7425 7423 case 279: 7426 #line 298 2"../../freebsd/sbin/pfctl/parse.y"7424 #line 2983 "../../freebsd/sbin/pfctl/parse.y" 7427 7425 { yyval.v.host = yystack.l_mark[0].v.host; } 7428 7426 break; 7429 7427 case 280: 7430 #line 298 3"../../freebsd/sbin/pfctl/parse.y"7428 #line 2984 "../../freebsd/sbin/pfctl/parse.y" 7431 7429 { yyval.v.host = NULL; } 7432 7430 break; 7433 7431 case 281: 7434 #line 298 6"../../freebsd/sbin/pfctl/parse.y"7432 #line 2987 "../../freebsd/sbin/pfctl/parse.y" 7435 7433 { yyval.v.host = yystack.l_mark[-1].v.host; } 7436 7434 break; 7437 7435 case 282: 7438 #line 298 7"../../freebsd/sbin/pfctl/parse.y"7436 #line 2988 "../../freebsd/sbin/pfctl/parse.y" 7439 7437 { 7440 7438 if (yystack.l_mark[-1].v.host == NULL) … … 7450 7448 break; 7451 7449 case 283: 7452 #line 300 0"../../freebsd/sbin/pfctl/parse.y"7450 #line 3001 "../../freebsd/sbin/pfctl/parse.y" 7453 7451 { 7454 7452 struct node_host *n; … … 7460 7458 break; 7461 7459 case 284: 7462 #line 300 7"../../freebsd/sbin/pfctl/parse.y"7460 #line 3008 "../../freebsd/sbin/pfctl/parse.y" 7463 7461 { 7464 7462 yyval.v.host = calloc(1, sizeof(struct node_host)); … … 7472 7470 break; 7473 7471 case 285: 7474 #line 301 6"../../freebsd/sbin/pfctl/parse.y"7472 #line 3017 "../../freebsd/sbin/pfctl/parse.y" 7475 7473 { 7476 7474 yyval.v.host = calloc(1, sizeof(struct node_host)); … … 7484 7482 break; 7485 7483 case 286: 7486 #line 302 7"../../freebsd/sbin/pfctl/parse.y"7484 #line 3028 "../../freebsd/sbin/pfctl/parse.y" 7487 7485 { 7488 7486 if ((yyval.v.host = host(yystack.l_mark[0].v.string)) == NULL) { … … 7497 7495 break; 7498 7496 case 287: 7499 #line 303 7"../../freebsd/sbin/pfctl/parse.y"7497 #line 3038 "../../freebsd/sbin/pfctl/parse.y" 7500 7498 { 7501 7499 struct node_host *b, *e; … … 7533 7531 break; 7534 7532 case 288: 7535 #line 307 0"../../freebsd/sbin/pfctl/parse.y"7533 #line 3071 "../../freebsd/sbin/pfctl/parse.y" 7536 7534 { 7537 7535 char *buf; … … 7550 7548 break; 7551 7549 case 289: 7552 #line 308 4"../../freebsd/sbin/pfctl/parse.y"7550 #line 3085 "../../freebsd/sbin/pfctl/parse.y" 7553 7551 { 7554 7552 char *buf; … … 7571 7569 break; 7572 7570 case 291: 7573 #line 310 3"../../freebsd/sbin/pfctl/parse.y"7571 #line 3104 "../../freebsd/sbin/pfctl/parse.y" 7574 7572 { 7575 7573 struct node_host *n; … … 7585 7583 break; 7586 7584 case 292: 7587 #line 311 4"../../freebsd/sbin/pfctl/parse.y"7585 #line 3115 "../../freebsd/sbin/pfctl/parse.y" 7588 7586 { 7589 7587 if (strlen(yystack.l_mark[-1].v.string) >= PF_TABLE_NAME_SIZE) { … … 7606 7604 break; 7607 7605 case 294: 7608 #line 313 5"../../freebsd/sbin/pfctl/parse.y"7606 #line 3136 "../../freebsd/sbin/pfctl/parse.y" 7609 7607 { 7610 7608 u_long ulval; … … 7620 7618 break; 7621 7619 case 295: 7622 #line 314 8"../../freebsd/sbin/pfctl/parse.y"7620 #line 3149 "../../freebsd/sbin/pfctl/parse.y" 7623 7621 { 7624 7622 int flags = 0; … … 7675 7673 break; 7676 7674 case 296: 7677 #line 320 2"../../freebsd/sbin/pfctl/parse.y"7675 #line 3203 "../../freebsd/sbin/pfctl/parse.y" 7678 7676 { yyval.v.port = yystack.l_mark[0].v.port; } 7679 7677 break; 7680 7678 case 297: 7681 #line 320 3"../../freebsd/sbin/pfctl/parse.y"7679 #line 3204 "../../freebsd/sbin/pfctl/parse.y" 7682 7680 { yyval.v.port = yystack.l_mark[-1].v.port; } 7683 7681 break; 7684 7682 case 298: 7685 #line 320 6"../../freebsd/sbin/pfctl/parse.y"7683 #line 3207 "../../freebsd/sbin/pfctl/parse.y" 7686 7684 { yyval.v.port = yystack.l_mark[-1].v.port; } 7687 7685 break; 7688 7686 case 299: 7689 #line 320 7"../../freebsd/sbin/pfctl/parse.y"7687 #line 3208 "../../freebsd/sbin/pfctl/parse.y" 7690 7688 { 7691 7689 yystack.l_mark[-3].v.port->tail->next = yystack.l_mark[-1].v.port; … … 7695 7693 break; 7696 7694 case 300: 7697 #line 321 4"../../freebsd/sbin/pfctl/parse.y"7695 #line 3215 "../../freebsd/sbin/pfctl/parse.y" 7698 7696 { 7699 7697 yyval.v.port = calloc(1, sizeof(struct node_port)); … … 7711 7709 break; 7712 7710 case 301: 7713 #line 322 7"../../freebsd/sbin/pfctl/parse.y"7711 #line 3228 "../../freebsd/sbin/pfctl/parse.y" 7714 7712 { 7715 7713 if (yystack.l_mark[0].v.range.t) { … … 7729 7727 break; 7730 7728 case 302: 7731 #line 324 2"../../freebsd/sbin/pfctl/parse.y"7729 #line 3243 "../../freebsd/sbin/pfctl/parse.y" 7732 7730 { 7733 7731 if (yystack.l_mark[-2].v.range.t || yystack.l_mark[0].v.range.t) { … … 7747 7745 break; 7748 7746 case 303: 7749 #line 32 59"../../freebsd/sbin/pfctl/parse.y"7747 #line 3260 "../../freebsd/sbin/pfctl/parse.y" 7750 7748 { 7751 7749 if (parseport(yystack.l_mark[0].v.string, &yyval.v.range, 0) == -1) { … … 7757 7755 break; 7758 7756 case 304: 7759 #line 326 8"../../freebsd/sbin/pfctl/parse.y"7757 #line 3269 "../../freebsd/sbin/pfctl/parse.y" 7760 7758 { 7761 7759 if (parseport(yystack.l_mark[0].v.string, &yyval.v.range, PPORT_RANGE) == -1) { … … 7767 7765 break; 7768 7766 case 305: 7769 #line 327 7"../../freebsd/sbin/pfctl/parse.y"7767 #line 3278 "../../freebsd/sbin/pfctl/parse.y" 7770 7768 { yyval.v.uid = yystack.l_mark[0].v.uid; } 7771 7769 break; 7772 7770 case 306: 7773 #line 327 8"../../freebsd/sbin/pfctl/parse.y"7771 #line 3279 "../../freebsd/sbin/pfctl/parse.y" 7774 7772 { yyval.v.uid = yystack.l_mark[-1].v.uid; } 7775 7773 break; 7776 7774 case 307: 7777 #line 328 1"../../freebsd/sbin/pfctl/parse.y"7775 #line 3282 "../../freebsd/sbin/pfctl/parse.y" 7778 7776 { yyval.v.uid = yystack.l_mark[-1].v.uid; } 7779 7777 break; 7780 7778 case 308: 7781 #line 328 2"../../freebsd/sbin/pfctl/parse.y"7779 #line 3283 "../../freebsd/sbin/pfctl/parse.y" 7782 7780 { 7783 7781 yystack.l_mark[-3].v.uid->tail->next = yystack.l_mark[-1].v.uid; … … 7787 7785 break; 7788 7786 case 309: 7789 #line 32 89"../../freebsd/sbin/pfctl/parse.y"7787 #line 3290 "../../freebsd/sbin/pfctl/parse.y" 7790 7788 { 7791 7789 yyval.v.uid = calloc(1, sizeof(struct node_uid)); … … 7800 7798 break; 7801 7799 case 310: 7802 #line 3 299"../../freebsd/sbin/pfctl/parse.y"7800 #line 3300 "../../freebsd/sbin/pfctl/parse.y" 7803 7801 { 7804 7802 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) { … … 7818 7816 break; 7819 7817 case 311: 7820 #line 331 4"../../freebsd/sbin/pfctl/parse.y"7818 #line 3315 "../../freebsd/sbin/pfctl/parse.y" 7821 7819 { 7822 7820 if (yystack.l_mark[-2].v.number == UID_MAX || yystack.l_mark[0].v.number == UID_MAX) { … … 7836 7834 break; 7837 7835 case 312: 7838 #line 333 1"../../freebsd/sbin/pfctl/parse.y"7836 #line 3332 "../../freebsd/sbin/pfctl/parse.y" 7839 7837 { 7840 7838 if (!strcmp(yystack.l_mark[0].v.string, "unknown")) … … 7854 7852 break; 7855 7853 case 313: 7856 #line 334 6"../../freebsd/sbin/pfctl/parse.y"7854 #line 3347 "../../freebsd/sbin/pfctl/parse.y" 7857 7855 { 7858 7856 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number >= UID_MAX) { … … 7864 7862 break; 7865 7863 case 314: 7866 #line 335 5"../../freebsd/sbin/pfctl/parse.y"7864 #line 3356 "../../freebsd/sbin/pfctl/parse.y" 7867 7865 { yyval.v.gid = yystack.l_mark[0].v.gid; } 7868 7866 break; 7869 7867 case 315: 7870 #line 335 6"../../freebsd/sbin/pfctl/parse.y"7868 #line 3357 "../../freebsd/sbin/pfctl/parse.y" 7871 7869 { yyval.v.gid = yystack.l_mark[-1].v.gid; } 7872 7870 break; 7873 7871 case 316: 7874 #line 33 59"../../freebsd/sbin/pfctl/parse.y"7872 #line 3360 "../../freebsd/sbin/pfctl/parse.y" 7875 7873 { yyval.v.gid = yystack.l_mark[-1].v.gid; } 7876 7874 break; 7877 7875 case 317: 7878 #line 336 0"../../freebsd/sbin/pfctl/parse.y"7876 #line 3361 "../../freebsd/sbin/pfctl/parse.y" 7879 7877 { 7880 7878 yystack.l_mark[-3].v.gid->tail->next = yystack.l_mark[-1].v.gid; … … 7884 7882 break; 7885 7883 case 318: 7886 #line 336 7"../../freebsd/sbin/pfctl/parse.y"7884 #line 3368 "../../freebsd/sbin/pfctl/parse.y" 7887 7885 { 7888 7886 yyval.v.gid = calloc(1, sizeof(struct node_gid)); … … 7897 7895 break; 7898 7896 case 319: 7899 #line 337 7"../../freebsd/sbin/pfctl/parse.y"7897 #line 3378 "../../freebsd/sbin/pfctl/parse.y" 7900 7898 { 7901 7899 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) { … … 7915 7913 break; 7916 7914 case 320: 7917 #line 339 2"../../freebsd/sbin/pfctl/parse.y"7915 #line 3393 "../../freebsd/sbin/pfctl/parse.y" 7918 7916 { 7919 7917 if (yystack.l_mark[-2].v.number == GID_MAX || yystack.l_mark[0].v.number == GID_MAX) { … … 7933 7931 break; 7934 7932 case 321: 7935 #line 34 09"../../freebsd/sbin/pfctl/parse.y"7933 #line 3410 "../../freebsd/sbin/pfctl/parse.y" 7936 7934 { 7937 7935 if (!strcmp(yystack.l_mark[0].v.string, "unknown")) … … 7951 7949 break; 7952 7950 case 322: 7953 #line 342 4"../../freebsd/sbin/pfctl/parse.y"7951 #line 3425 "../../freebsd/sbin/pfctl/parse.y" 7954 7952 { 7955 7953 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number >= GID_MAX) { … … 7961 7959 break; 7962 7960 case 323: 7963 #line 343 3"../../freebsd/sbin/pfctl/parse.y"7961 #line 3434 "../../freebsd/sbin/pfctl/parse.y" 7964 7962 { 7965 7963 int f; … … 7975 7973 break; 7976 7974 case 324: 7977 #line 344 6"../../freebsd/sbin/pfctl/parse.y"7975 #line 3447 "../../freebsd/sbin/pfctl/parse.y" 7978 7976 { yyval.v.b.b1 = yystack.l_mark[-2].v.b.b1; yyval.v.b.b2 = yystack.l_mark[0].v.b.b1; } 7979 7977 break; 7980 7978 case 325: 7981 #line 344 7"../../freebsd/sbin/pfctl/parse.y"7979 #line 3448 "../../freebsd/sbin/pfctl/parse.y" 7982 7980 { yyval.v.b.b1 = 0; yyval.v.b.b2 = yystack.l_mark[0].v.b.b1; } 7983 7981 break; 7984 7982 case 326: 7985 #line 344 8"../../freebsd/sbin/pfctl/parse.y"7983 #line 3449 "../../freebsd/sbin/pfctl/parse.y" 7986 7984 { yyval.v.b.b1 = 0; yyval.v.b.b2 = 0; } 7987 7985 break; 7988 7986 case 327: 7989 #line 345 1"../../freebsd/sbin/pfctl/parse.y"7987 #line 3452 "../../freebsd/sbin/pfctl/parse.y" 7990 7988 { yyval.v.icmp = yystack.l_mark[0].v.icmp; } 7991 7989 break; 7992 7990 case 328: 7993 #line 345 2"../../freebsd/sbin/pfctl/parse.y"7991 #line 3453 "../../freebsd/sbin/pfctl/parse.y" 7994 7992 { yyval.v.icmp = yystack.l_mark[-1].v.icmp; } 7995 7993 break; 7996 7994 case 329: 7997 #line 345 3"../../freebsd/sbin/pfctl/parse.y"7995 #line 3454 "../../freebsd/sbin/pfctl/parse.y" 7998 7996 { yyval.v.icmp = yystack.l_mark[0].v.icmp; } 7999 7997 break; 8000 7998 case 330: 8001 #line 345 4"../../freebsd/sbin/pfctl/parse.y"7999 #line 3455 "../../freebsd/sbin/pfctl/parse.y" 8002 8000 { yyval.v.icmp = yystack.l_mark[-1].v.icmp; } 8003 8001 break; 8004 8002 case 331: 8005 #line 345 7"../../freebsd/sbin/pfctl/parse.y"8003 #line 3458 "../../freebsd/sbin/pfctl/parse.y" 8006 8004 { yyval.v.icmp = yystack.l_mark[-1].v.icmp; } 8007 8005 break; 8008 8006 case 332: 8009 #line 345 8"../../freebsd/sbin/pfctl/parse.y"8007 #line 3459 "../../freebsd/sbin/pfctl/parse.y" 8010 8008 { 8011 8009 yystack.l_mark[-3].v.icmp->tail->next = yystack.l_mark[-1].v.icmp; … … 8015 8013 break; 8016 8014 case 333: 8017 #line 346 5"../../freebsd/sbin/pfctl/parse.y"8015 #line 3466 "../../freebsd/sbin/pfctl/parse.y" 8018 8016 { yyval.v.icmp = yystack.l_mark[-1].v.icmp; } 8019 8017 break; 8020 8018 case 334: 8021 #line 346 6"../../freebsd/sbin/pfctl/parse.y"8019 #line 3467 "../../freebsd/sbin/pfctl/parse.y" 8022 8020 { 8023 8021 yystack.l_mark[-3].v.icmp->tail->next = yystack.l_mark[-1].v.icmp; … … 8027 8025 break; 8028 8026 case 335: 8029 #line 347 3"../../freebsd/sbin/pfctl/parse.y"8027 #line 3474 "../../freebsd/sbin/pfctl/parse.y" 8030 8028 { 8031 8029 yyval.v.icmp = calloc(1, sizeof(struct node_icmp)); … … 8040 8038 break; 8041 8039 case 336: 8042 #line 348 3"../../freebsd/sbin/pfctl/parse.y"8040 #line 3484 "../../freebsd/sbin/pfctl/parse.y" 8043 8041 { 8044 8042 const struct icmpcodeent *p; … … 8062 8060 break; 8063 8061 case 337: 8064 #line 350 2"../../freebsd/sbin/pfctl/parse.y"8062 #line 3503 "../../freebsd/sbin/pfctl/parse.y" 8065 8063 { 8066 8064 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { … … 8079 8077 break; 8080 8078 case 338: 8081 #line 351 8"../../freebsd/sbin/pfctl/parse.y"8079 #line 3519 "../../freebsd/sbin/pfctl/parse.y" 8082 8080 { 8083 8081 yyval.v.icmp = calloc(1, sizeof(struct node_icmp)); … … 8092 8090 break; 8093 8091 case 339: 8094 #line 352 8"../../freebsd/sbin/pfctl/parse.y"8092 #line 3529 "../../freebsd/sbin/pfctl/parse.y" 8095 8093 { 8096 8094 const struct icmpcodeent *p; … … 8114 8112 break; 8115 8113 case 340: 8116 #line 354 7"../../freebsd/sbin/pfctl/parse.y"8114 #line 3548 "../../freebsd/sbin/pfctl/parse.y" 8117 8115 { 8118 8116 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { … … 8131 8129 break; 8132 8130 case 341: 8133 #line 356 3"../../freebsd/sbin/pfctl/parse.y"8131 #line 3564 "../../freebsd/sbin/pfctl/parse.y" 8134 8132 { 8135 8133 const struct icmptypeent *p; … … 8145 8143 break; 8146 8144 case 342: 8147 #line 357 4"../../freebsd/sbin/pfctl/parse.y"8145 #line 3575 "../../freebsd/sbin/pfctl/parse.y" 8148 8146 { 8149 8147 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { … … 8155 8153 break; 8156 8154 case 343: 8157 #line 358 3"../../freebsd/sbin/pfctl/parse.y"8155 #line 3584 "../../freebsd/sbin/pfctl/parse.y" 8158 8156 { 8159 8157 const struct icmptypeent *p; … … 8170 8168 break; 8171 8169 case 344: 8172 #line 359 5"../../freebsd/sbin/pfctl/parse.y"8170 #line 3596 "../../freebsd/sbin/pfctl/parse.y" 8173 8171 { 8174 8172 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > 255) { … … 8180 8178 break; 8181 8179 case 345: 8182 #line 360 4"../../freebsd/sbin/pfctl/parse.y"8180 #line 3605 "../../freebsd/sbin/pfctl/parse.y" 8183 8181 { 8184 8182 int val; … … 8203 8201 break; 8204 8202 case 346: 8205 #line 362 4"../../freebsd/sbin/pfctl/parse.y"8203 #line 3625 "../../freebsd/sbin/pfctl/parse.y" 8206 8204 { 8207 8205 yyval.v.number = yystack.l_mark[0].v.number; … … 8213 8211 break; 8214 8212 case 347: 8215 #line 363 3"../../freebsd/sbin/pfctl/parse.y"8213 #line 3634 "../../freebsd/sbin/pfctl/parse.y" 8216 8214 { yyval.v.i = PF_SRCTRACK; } 8217 8215 break; 8218 8216 case 348: 8219 #line 363 4"../../freebsd/sbin/pfctl/parse.y"8217 #line 3635 "../../freebsd/sbin/pfctl/parse.y" 8220 8218 { yyval.v.i = PF_SRCTRACK_GLOBAL; } 8221 8219 break; 8222 8220 case 349: 8223 #line 363 5"../../freebsd/sbin/pfctl/parse.y"8221 #line 3636 "../../freebsd/sbin/pfctl/parse.y" 8224 8222 { yyval.v.i = PF_SRCTRACK_RULE; } 8225 8223 break; 8226 8224 case 350: 8227 #line 363 8"../../freebsd/sbin/pfctl/parse.y"8225 #line 3639 "../../freebsd/sbin/pfctl/parse.y" 8228 8226 { 8229 8227 yyval.v.i = PFRULE_IFBOUND; … … 8231 8229 break; 8232 8230 case 351: 8233 #line 364 1"../../freebsd/sbin/pfctl/parse.y"8231 #line 3642 "../../freebsd/sbin/pfctl/parse.y" 8234 8232 { 8235 8233 yyval.v.i = 0; … … 8237 8235 break; 8238 8236 case 352: 8239 #line 364 6"../../freebsd/sbin/pfctl/parse.y"8237 #line 3647 "../../freebsd/sbin/pfctl/parse.y" 8240 8238 { 8241 8239 yyval.v.keep_state.action = 0; … … 8244 8242 break; 8245 8243 case 353: 8246 #line 365 0"../../freebsd/sbin/pfctl/parse.y"8244 #line 3651 "../../freebsd/sbin/pfctl/parse.y" 8247 8245 { 8248 8246 yyval.v.keep_state.action = PF_STATE_NORMAL; … … 8251 8249 break; 8252 8250 case 354: 8253 #line 365 4"../../freebsd/sbin/pfctl/parse.y"8251 #line 3655 "../../freebsd/sbin/pfctl/parse.y" 8254 8252 { 8255 8253 yyval.v.keep_state.action = PF_STATE_MODULATE; … … 8258 8256 break; 8259 8257 case 355: 8260 #line 365 8"../../freebsd/sbin/pfctl/parse.y"8258 #line 3659 "../../freebsd/sbin/pfctl/parse.y" 8261 8259 { 8262 8260 yyval.v.keep_state.action = PF_STATE_SYNPROXY; … … 8265 8263 break; 8266 8264 case 356: 8267 #line 366 4"../../freebsd/sbin/pfctl/parse.y"8265 #line 3665 "../../freebsd/sbin/pfctl/parse.y" 8268 8266 { yyval.v.i = 0; } 8269 8267 break; 8270 8268 case 357: 8271 #line 366 5"../../freebsd/sbin/pfctl/parse.y"8269 #line 3666 "../../freebsd/sbin/pfctl/parse.y" 8272 8270 { yyval.v.i = PF_FLUSH; } 8273 8271 break; 8274 8272 case 358: 8275 #line 366 6"../../freebsd/sbin/pfctl/parse.y"8273 #line 3667 "../../freebsd/sbin/pfctl/parse.y" 8276 8274 { 8277 8275 yyval.v.i = PF_FLUSH | PF_FLUSH_GLOBAL; … … 8279 8277 break; 8280 8278 case 359: 8281 #line 367 1"../../freebsd/sbin/pfctl/parse.y"8279 #line 3672 "../../freebsd/sbin/pfctl/parse.y" 8282 8280 { yyval.v.state_opt = yystack.l_mark[-1].v.state_opt; } 8283 8281 break; 8284 8282 case 360: 8285 #line 367 2"../../freebsd/sbin/pfctl/parse.y"8283 #line 3673 "../../freebsd/sbin/pfctl/parse.y" 8286 8284 { yyval.v.state_opt = NULL; } 8287 8285 break; 8288 8286 case 361: 8289 #line 367 5"../../freebsd/sbin/pfctl/parse.y"8287 #line 3676 "../../freebsd/sbin/pfctl/parse.y" 8290 8288 { yyval.v.state_opt = yystack.l_mark[0].v.state_opt; } 8291 8289 break; 8292 8290 case 362: 8293 #line 367 6"../../freebsd/sbin/pfctl/parse.y"8291 #line 3677 "../../freebsd/sbin/pfctl/parse.y" 8294 8292 { 8295 8293 yystack.l_mark[-2].v.state_opt->tail->next = yystack.l_mark[0].v.state_opt; … … 8299 8297 break; 8300 8298 case 363: 8301 #line 368 3"../../freebsd/sbin/pfctl/parse.y"8299 #line 3684 "../../freebsd/sbin/pfctl/parse.y" 8302 8300 { 8303 8301 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { … … 8315 8313 break; 8316 8314 case 364: 8317 #line 369 6"../../freebsd/sbin/pfctl/parse.y"8315 #line 3697 "../../freebsd/sbin/pfctl/parse.y" 8318 8316 { 8319 8317 yyval.v.state_opt = calloc(1, sizeof(struct node_state_opt)); … … 8326 8324 break; 8327 8325 case 365: 8328 #line 370 4"../../freebsd/sbin/pfctl/parse.y"8326 #line 3705 "../../freebsd/sbin/pfctl/parse.y" 8329 8327 { 8330 8328 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { … … 8342 8340 break; 8343 8341 case 366: 8344 #line 371 7"../../freebsd/sbin/pfctl/parse.y"8342 #line 3718 "../../freebsd/sbin/pfctl/parse.y" 8345 8343 { 8346 8344 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { … … 8358 8356 break; 8359 8357 case 367: 8360 #line 373 0"../../freebsd/sbin/pfctl/parse.y"8358 #line 3731 "../../freebsd/sbin/pfctl/parse.y" 8361 8359 { 8362 8360 if (yystack.l_mark[-2].v.number < 0 || yystack.l_mark[-2].v.number > UINT_MAX || … … 8376 8374 break; 8377 8375 case 368: 8378 #line 374 5"../../freebsd/sbin/pfctl/parse.y"8376 #line 3746 "../../freebsd/sbin/pfctl/parse.y" 8379 8377 { 8380 8378 if (strlen(yystack.l_mark[-2].v.string) >= PF_TABLE_NAME_SIZE) { … … 8397 8395 break; 8398 8396 case 369: 8399 #line 376 3"../../freebsd/sbin/pfctl/parse.y"8397 #line 3764 "../../freebsd/sbin/pfctl/parse.y" 8400 8398 { 8401 8399 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > UINT_MAX) { … … 8413 8411 break; 8414 8412 case 370: 8415 #line 377 6"../../freebsd/sbin/pfctl/parse.y"8413 #line 3777 "../../freebsd/sbin/pfctl/parse.y" 8416 8414 { 8417 8415 yyval.v.state_opt = calloc(1, sizeof(struct node_state_opt)); … … 8425 8423 break; 8426 8424 case 371: 8427 #line 378 5"../../freebsd/sbin/pfctl/parse.y"8425 #line 3786 "../../freebsd/sbin/pfctl/parse.y" 8428 8426 { 8429 8427 yyval.v.state_opt = calloc(1, sizeof(struct node_state_opt)); … … 8437 8435 break; 8438 8436 case 372: 8439 #line 379 4"../../freebsd/sbin/pfctl/parse.y"8437 #line 3795 "../../freebsd/sbin/pfctl/parse.y" 8440 8438 { 8441 8439 yyval.v.state_opt = calloc(1, sizeof(struct node_state_opt)); … … 8448 8446 break; 8449 8447 case 373: 8450 #line 380 2"../../freebsd/sbin/pfctl/parse.y"8448 #line 3803 "../../freebsd/sbin/pfctl/parse.y" 8451 8449 { 8452 8450 int i; … … 8481 8479 break; 8482 8480 case 374: 8483 #line 383 4"../../freebsd/sbin/pfctl/parse.y"8481 #line 3835 "../../freebsd/sbin/pfctl/parse.y" 8484 8482 { 8485 8483 yyval.v.string = yystack.l_mark[0].v.string; … … 8487 8485 break; 8488 8486 case 375: 8489 #line 38 39"../../freebsd/sbin/pfctl/parse.y"8487 #line 3840 "../../freebsd/sbin/pfctl/parse.y" 8490 8488 { 8491 8489 yyval.v.qassign.qname = yystack.l_mark[0].v.string; … … 8494 8492 break; 8495 8493 case 376: 8496 #line 384 3"../../freebsd/sbin/pfctl/parse.y"8494 #line 3844 "../../freebsd/sbin/pfctl/parse.y" 8497 8495 { 8498 8496 yyval.v.qassign.qname = yystack.l_mark[-1].v.string; … … 8501 8499 break; 8502 8500 case 377: 8503 #line 384 7"../../freebsd/sbin/pfctl/parse.y"8501 #line 3848 "../../freebsd/sbin/pfctl/parse.y" 8504 8502 { 8505 8503 yyval.v.qassign.qname = yystack.l_mark[-3].v.string; … … 8508 8506 break; 8509 8507 case 378: 8510 #line 385 3"../../freebsd/sbin/pfctl/parse.y"8508 #line 3854 "../../freebsd/sbin/pfctl/parse.y" 8511 8509 { yyval.v.i = 0; } 8512 8510 break; 8513 8511 case 379: 8514 #line 385 4"../../freebsd/sbin/pfctl/parse.y"8512 #line 3855 "../../freebsd/sbin/pfctl/parse.y" 8515 8513 { yyval.v.i = 1; } 8516 8514 break; 8517 8515 case 380: 8518 #line 385 7"../../freebsd/sbin/pfctl/parse.y"8516 #line 3858 "../../freebsd/sbin/pfctl/parse.y" 8519 8517 { 8520 8518 if (parseport(yystack.l_mark[0].v.string, &yyval.v.range, PPORT_RANGE|PPORT_STAR) == -1) { … … 8526 8524 break; 8527 8525 case 381: 8528 #line 386 6"../../freebsd/sbin/pfctl/parse.y"8526 #line 3867 "../../freebsd/sbin/pfctl/parse.y" 8529 8527 { yyval.v.host = yystack.l_mark[0].v.host; } 8530 8528 break; 8531 8529 case 382: 8532 #line 386 7"../../freebsd/sbin/pfctl/parse.y"8530 #line 3868 "../../freebsd/sbin/pfctl/parse.y" 8533 8531 { yyval.v.host = yystack.l_mark[-1].v.host; } 8534 8532 break; 8535 8533 case 383: 8536 #line 387 0"../../freebsd/sbin/pfctl/parse.y"8534 #line 3871 "../../freebsd/sbin/pfctl/parse.y" 8537 8535 { yyval.v.host = yystack.l_mark[-1].v.host; } 8538 8536 break; 8539 8537 case 384: 8540 #line 387 1"../../freebsd/sbin/pfctl/parse.y"8538 #line 3872 "../../freebsd/sbin/pfctl/parse.y" 8541 8539 { 8542 8540 yystack.l_mark[-3].v.host->tail->next = yystack.l_mark[-1].v.host; … … 8546 8544 break; 8547 8545 case 385: 8548 #line 387 8"../../freebsd/sbin/pfctl/parse.y"8546 #line 3879 "../../freebsd/sbin/pfctl/parse.y" 8549 8547 { yyval.v.redirection = NULL; } 8550 8548 break; 8551 8549 case 386: 8552 #line 38 79"../../freebsd/sbin/pfctl/parse.y"8550 #line 3880 "../../freebsd/sbin/pfctl/parse.y" 8553 8551 { 8554 8552 yyval.v.redirection = calloc(1, sizeof(struct redirection)); … … 8560 8558 break; 8561 8559 case 387: 8562 #line 388 6"../../freebsd/sbin/pfctl/parse.y"8560 #line 3887 "../../freebsd/sbin/pfctl/parse.y" 8563 8561 { 8564 8562 yyval.v.redirection = calloc(1, sizeof(struct redirection)); … … 8570 8568 break; 8571 8569 case 388: 8572 #line 389 6"../../freebsd/sbin/pfctl/parse.y"8570 #line 3897 "../../freebsd/sbin/pfctl/parse.y" 8573 8571 { 8574 8572 yyval.v.hashkey = calloc(1, sizeof(struct pf_poolhashkey)); … … 8582 8580 break; 8583 8581 case 389: 8584 #line 390 6"../../freebsd/sbin/pfctl/parse.y"8582 #line 3907 "../../freebsd/sbin/pfctl/parse.y" 8585 8583 { 8586 8584 if (!strncmp(yystack.l_mark[0].v.string, "0x", 2)) { … … 8622 8620 break; 8623 8621 case 390: 8624 #line 394 5"../../freebsd/sbin/pfctl/parse.y"8622 #line 3946 "../../freebsd/sbin/pfctl/parse.y" 8625 8623 { bzero(&pool_opts, sizeof pool_opts); } 8626 8624 break; 8627 8625 case 391: 8628 #line 394 7"../../freebsd/sbin/pfctl/parse.y"8626 #line 3948 "../../freebsd/sbin/pfctl/parse.y" 8629 8627 { yyval.v.pool_opts = pool_opts; } 8630 8628 break; 8631 8629 case 392: 8632 #line 394 8"../../freebsd/sbin/pfctl/parse.y"8630 #line 3949 "../../freebsd/sbin/pfctl/parse.y" 8633 8631 { 8634 8632 bzero(&pool_opts, sizeof pool_opts); … … 8637 8635 break; 8638 8636 case 395: 8639 #line 395 8"../../freebsd/sbin/pfctl/parse.y"8637 #line 3959 "../../freebsd/sbin/pfctl/parse.y" 8640 8638 { 8641 8639 if (pool_opts.type) { … … 8647 8645 break; 8648 8646 case 396: 8649 #line 396 5"../../freebsd/sbin/pfctl/parse.y"8647 #line 3966 "../../freebsd/sbin/pfctl/parse.y" 8650 8648 { 8651 8649 if (pool_opts.type) { … … 8657 8655 break; 8658 8656 case 397: 8659 #line 397 2"../../freebsd/sbin/pfctl/parse.y"8657 #line 3973 "../../freebsd/sbin/pfctl/parse.y" 8660 8658 { 8661 8659 if (pool_opts.type) { … … 8668 8666 break; 8669 8667 case 398: 8670 #line 398 0"../../freebsd/sbin/pfctl/parse.y"8668 #line 3981 "../../freebsd/sbin/pfctl/parse.y" 8671 8669 { 8672 8670 if (pool_opts.type) { … … 8678 8676 break; 8679 8677 case 399: 8680 #line 398 7"../../freebsd/sbin/pfctl/parse.y"8678 #line 3988 "../../freebsd/sbin/pfctl/parse.y" 8681 8679 { 8682 8680 if (pool_opts.staticport) { … … 8688 8686 break; 8689 8687 case 400: 8690 #line 399 4"../../freebsd/sbin/pfctl/parse.y"8688 #line 3995 "../../freebsd/sbin/pfctl/parse.y" 8691 8689 { 8692 8690 if (filter_opts.marker & POM_STICKYADDRESS) { … … 8699 8697 break; 8700 8698 case 401: 8701 #line 400 4"../../freebsd/sbin/pfctl/parse.y"8699 #line 4005 "../../freebsd/sbin/pfctl/parse.y" 8702 8700 { yyval.v.redirection = NULL; } 8703 8701 break; 8704 8702 case 402: 8705 #line 400 5"../../freebsd/sbin/pfctl/parse.y"8703 #line 4006 "../../freebsd/sbin/pfctl/parse.y" 8706 8704 { 8707 8705 yyval.v.redirection = calloc(1, sizeof(struct redirection)); … … 8713 8711 break; 8714 8712 case 403: 8715 #line 401 2"../../freebsd/sbin/pfctl/parse.y"8713 #line 4013 "../../freebsd/sbin/pfctl/parse.y" 8716 8714 { 8717 8715 yyval.v.redirection = calloc(1, sizeof(struct redirection)); … … 8723 8721 break; 8724 8722 case 404: 8725 #line 402 1"../../freebsd/sbin/pfctl/parse.y"8723 #line 4022 "../../freebsd/sbin/pfctl/parse.y" 8726 8724 { yyval.v.b.b1 = yyval.v.b.b2 = 0; yyval.v.b.w2 = 0; } 8727 8725 break; 8728 8726 case 405: 8729 #line 402 2"../../freebsd/sbin/pfctl/parse.y"8727 #line 4023 "../../freebsd/sbin/pfctl/parse.y" 8730 8728 { yyval.v.b.b1 = 1; yyval.v.b.b2 = 0; yyval.v.b.w2 = 0; } 8731 8729 break; 8732 8730 case 406: 8733 #line 402 3"../../freebsd/sbin/pfctl/parse.y"8731 #line 4024 "../../freebsd/sbin/pfctl/parse.y" 8734 8732 { 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; } 8735 8733 break; 8736 8734 case 407: 8737 #line 402 4"../../freebsd/sbin/pfctl/parse.y"8735 #line 4025 "../../freebsd/sbin/pfctl/parse.y" 8738 8736 { 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; } 8739 8737 break; 8740 8738 case 408: 8741 #line 402 7"../../freebsd/sbin/pfctl/parse.y"8739 #line 4028 "../../freebsd/sbin/pfctl/parse.y" 8742 8740 { 8743 8741 if (yystack.l_mark[-2].v.i && yystack.l_mark[0].v.b.b1) { … … 8755 8753 break; 8756 8754 case 409: 8757 #line 404 0"../../freebsd/sbin/pfctl/parse.y"8755 #line 4041 "../../freebsd/sbin/pfctl/parse.y" 8758 8756 { 8759 8757 if (yystack.l_mark[-2].v.i && yystack.l_mark[0].v.b.b1) { … … 8771 8769 break; 8772 8770 case 410: 8773 #line 405 7"../../freebsd/sbin/pfctl/parse.y"8771 #line 4058 "../../freebsd/sbin/pfctl/parse.y" 8774 8772 { 8775 8773 struct pf_rule r; … … 8929 8927 break; 8930 8928 case 411: 8931 #line 421 6"../../freebsd/sbin/pfctl/parse.y"8929 #line 4217 "../../freebsd/sbin/pfctl/parse.y" 8932 8930 { 8933 8931 struct pf_rule binat; … … 9095 9093 break; 9096 9094 case 412: 9097 #line 438 1"../../freebsd/sbin/pfctl/parse.y"9095 #line 4382 "../../freebsd/sbin/pfctl/parse.y" 9098 9096 { yyval.v.string = NULL; } 9099 9097 break; 9100 9098 case 413: 9101 #line 438 2"../../freebsd/sbin/pfctl/parse.y"9099 #line 4383 "../../freebsd/sbin/pfctl/parse.y" 9102 9100 { yyval.v.string = yystack.l_mark[0].v.string; } 9103 9101 break; 9104 9102 case 414: 9105 #line 438 5"../../freebsd/sbin/pfctl/parse.y"9103 #line 4386 "../../freebsd/sbin/pfctl/parse.y" 9106 9104 { yyval.v.tagged.neg = 0; yyval.v.tagged.name = NULL; } 9107 9105 break; 9108 9106 case 415: 9109 #line 438 6"../../freebsd/sbin/pfctl/parse.y"9107 #line 4387 "../../freebsd/sbin/pfctl/parse.y" 9110 9108 { yyval.v.tagged.neg = yystack.l_mark[-2].v.number; yyval.v.tagged.name = yystack.l_mark[0].v.string; } 9111 9109 break; 9112 9110 case 416: 9113 #line 43 89"../../freebsd/sbin/pfctl/parse.y"9111 #line 4390 "../../freebsd/sbin/pfctl/parse.y" 9114 9112 { yyval.v.rtableid = -1; } 9115 9113 break; 9116 9114 case 417: 9117 #line 439 0"../../freebsd/sbin/pfctl/parse.y"9115 #line 4391 "../../freebsd/sbin/pfctl/parse.y" 9118 9116 { 9119 9117 if (yystack.l_mark[0].v.number < 0 || yystack.l_mark[0].v.number > rt_tableid_max()) { … … 9125 9123 break; 9126 9124 case 418: 9127 #line 4 399"../../freebsd/sbin/pfctl/parse.y"9125 #line 4400 "../../freebsd/sbin/pfctl/parse.y" 9128 9126 { 9129 9127 yyval.v.host = calloc(1, sizeof(struct node_host)); … … 9137 9135 break; 9138 9136 case 419: 9139 #line 440 8"../../freebsd/sbin/pfctl/parse.y"9137 #line 4409 "../../freebsd/sbin/pfctl/parse.y" 9140 9138 { 9141 9139 yyval.v.host = yystack.l_mark[-1].v.host; … … 9144 9142 break; 9145 9143 case 420: 9146 #line 441 4"../../freebsd/sbin/pfctl/parse.y"9144 #line 4415 "../../freebsd/sbin/pfctl/parse.y" 9147 9145 { yyval.v.host = yystack.l_mark[-1].v.host; } 9148 9146 break; 9149 9147 case 421: 9150 #line 441 5"../../freebsd/sbin/pfctl/parse.y"9148 #line 4416 "../../freebsd/sbin/pfctl/parse.y" 9151 9149 { 9152 9150 if (yystack.l_mark[-3].v.host->af == 0) … … 9163 9161 break; 9164 9162 case 422: 9165 #line 44 29"../../freebsd/sbin/pfctl/parse.y"9163 #line 4430 "../../freebsd/sbin/pfctl/parse.y" 9166 9164 { yyval.v.host = yystack.l_mark[0].v.host; } 9167 9165 break; 9168 9166 case 423: 9169 #line 443 0"../../freebsd/sbin/pfctl/parse.y"9167 #line 4431 "../../freebsd/sbin/pfctl/parse.y" 9170 9168 { yyval.v.host = yystack.l_mark[-1].v.host; } 9171 9169 break; 9172 9170 case 424: 9173 #line 443 3"../../freebsd/sbin/pfctl/parse.y"9171 #line 4434 "../../freebsd/sbin/pfctl/parse.y" 9174 9172 { 9175 9173 yyval.v.route.host = NULL; … … 9179 9177 break; 9180 9178 case 425: 9181 #line 443 8"../../freebsd/sbin/pfctl/parse.y"9179 #line 4439 "../../freebsd/sbin/pfctl/parse.y" 9182 9180 { 9183 9181 /* backwards-compat */ … … 9188 9186 break; 9189 9187 case 426: 9190 #line 444 4"../../freebsd/sbin/pfctl/parse.y"9188 #line 4445 "../../freebsd/sbin/pfctl/parse.y" 9191 9189 { 9192 9190 yyval.v.route.host = yystack.l_mark[-1].v.host; … … 9198 9196 break; 9199 9197 case 427: 9200 #line 445 1"../../freebsd/sbin/pfctl/parse.y"9198 #line 4452 "../../freebsd/sbin/pfctl/parse.y" 9201 9199 { 9202 9200 yyval.v.route.host = yystack.l_mark[-1].v.host; … … 9208 9206 break; 9209 9207 case 428: 9210 #line 445 8"../../freebsd/sbin/pfctl/parse.y"9208 #line 4459 "../../freebsd/sbin/pfctl/parse.y" 9211 9209 { 9212 9210 yyval.v.route.host = yystack.l_mark[-1].v.host; … … 9218 9216 break; 9219 9217 case 429: 9220 #line 446 8"../../freebsd/sbin/pfctl/parse.y"9218 #line 4469 "../../freebsd/sbin/pfctl/parse.y" 9221 9219 { 9222 9220 if (check_rulestate(PFCTL_STATE_OPTION)) { … … 9237 9235 break; 9238 9236 case 430: 9239 #line 448 4"../../freebsd/sbin/pfctl/parse.y"9237 #line 4485 "../../freebsd/sbin/pfctl/parse.y" 9240 9238 { 9241 9239 if (check_rulestate(PFCTL_STATE_OPTION)) … … 9250 9248 break; 9251 9249 case 433: 9252 #line 450 1"../../freebsd/sbin/pfctl/parse.y"9250 #line 4502 "../../freebsd/sbin/pfctl/parse.y" 9253 9251 { 9254 9252 if (check_rulestate(PFCTL_STATE_OPTION)) { … … 9269 9267 break; 9270 9268 case 438: 9271 #line 452 7"../../freebsd/sbin/pfctl/parse.y"9269 #line 4528 "../../freebsd/sbin/pfctl/parse.y" 9272 9270 { yyval.v.number = 0; } 9273 9271 break; 9274 9272 case 439: 9275 #line 452 8"../../freebsd/sbin/pfctl/parse.y"9273 #line 4529 "../../freebsd/sbin/pfctl/parse.y" 9276 9274 { 9277 9275 if (!strcmp(yystack.l_mark[0].v.string, "yes")) … … 9287 9285 break; 9288 9286 case 440: 9289 #line 454 1"../../freebsd/sbin/pfctl/parse.y"9287 #line 4542 "../../freebsd/sbin/pfctl/parse.y" 9290 9288 { yyval.v.i = PF_OP_EQ; } 9291 9289 break; 9292 9290 case 441: 9293 #line 454 2"../../freebsd/sbin/pfctl/parse.y"9291 #line 4543 "../../freebsd/sbin/pfctl/parse.y" 9294 9292 { yyval.v.i = PF_OP_NE; } 9295 9293 break; 9296 9294 case 442: 9297 #line 454 3"../../freebsd/sbin/pfctl/parse.y"9295 #line 4544 "../../freebsd/sbin/pfctl/parse.y" 9298 9296 { yyval.v.i = PF_OP_LE; } 9299 9297 break; 9300 9298 case 443: 9301 #line 454 4"../../freebsd/sbin/pfctl/parse.y"9299 #line 4545 "../../freebsd/sbin/pfctl/parse.y" 9302 9300 { yyval.v.i = PF_OP_LT; } 9303 9301 break; 9304 9302 case 444: 9305 #line 454 5"../../freebsd/sbin/pfctl/parse.y"9303 #line 4546 "../../freebsd/sbin/pfctl/parse.y" 9306 9304 { yyval.v.i = PF_OP_GE; } 9307 9305 break; 9308 9306 case 445: 9309 #line 454 6"../../freebsd/sbin/pfctl/parse.y"9307 #line 4547 "../../freebsd/sbin/pfctl/parse.y" 9310 9308 { yyval.v.i = PF_OP_GT; } 9311 9309 break; 9312 #line 931 3"pfctly.tab.c"9310 #line 9311 "pfctly.tab.c" 9313 9311 } 9314 9312 yystack.s_mark -= yym; … … 9328 9326 if (yychar < 0) 9329 9327 { 9330 if ((yychar = YYLEX) < 0) yychar = YYEOF; 9328 yychar = YYLEX; 9329 if (yychar < 0) yychar = YYEOF; 9331 9330 #if YYDEBUG 9332 9331 if (yydebug) 9333 9332 { 9334 yys = yyname[YYTRANSLATE(yychar)];9333 if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN]; 9335 9334 printf("%sdebug: state %d, reading %d (%s)\n", 9336 9335 YYPREFIX, YYFINAL, yychar, yys); … … 9341 9340 goto yyloop; 9342 9341 } 9343 if (( yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&9344 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)9342 if (((yyn = yygindex[yym]) != 0) && (yyn += yystate) >= 0 && 9343 yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yystate) 9345 9344 yystate = yytable[yyn]; 9346 9345 else … … 9351 9350 to state %d\n", YYPREFIX, *yystack.s_mark, yystate); 9352 9351 #endif 9353 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) 9354 { 9355 goto yyoverflow; 9356 } 9352 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow; 9357 9353 *++yystack.s_mark = (YYINT) yystate; 9358 9354 *++yystack.l_mark = yyval; -
freebsd/sbin/pfctl/parse.y
r338f300 ra779a3b 30 30 #ifdef __rtems__ 31 31 #include <machine/rtems-bsd-user-space.h> 32 #undef INET6 32 33 #endif /* __rtems__ */ 33 34
Note: See TracChangeset
for help on using the changeset viewer.