Lines Matching refs:av

104 	if (!av[0])							\
106 if (_substrcmp(*av, "tablearg") == 0) { \
115 _xval = strtol(*av, &end, 10); \
117 if (!isdigit(**av) || *end != '\0' || (_xval == 0 && errno == EINVAL)) \
119 match_value(s_x, tok), *av); \
123 match_value(s_x, tok), min, max, *av); \
127 match_value(s_x, tok), *av); \
410 ipfw_cfg_lheader *cfg, size_t sz, int ac, char **av);
1006 fill_newports(ipfw_insn_u16 *cmd, char *av, int proto, int cblen) in fill_newports() argument
1010 char *s = av; in fill_newports()
1013 a = strtoport(av, &s, 0, proto); in fill_newports()
1014 if (s == av) /* empty or invalid argument */ in fill_newports()
1021 av = s + 1; in fill_newports()
1022 b = strtoport(av, &s, 0, proto); in fill_newports()
1024 if (s == av || (*s != ',' && *s != '\0')) in fill_newports()
1035 *s, av); in fill_newports()
1041 av = s + 1; in fill_newports()
1055 fill_dscp(ipfw_insn *cmd, char *av, int cblen) in fill_dscp() argument
1058 char *s = av, *a; in fill_dscp()
1337 fill_icmptypes(ipfw_insn_u32 *cmd, char *av) in fill_icmptypes() argument
1342 while (*av) { in fill_icmptypes()
1343 if (*av == ',') in fill_icmptypes()
1344 av++; in fill_icmptypes()
1346 type = strtoul(av, &av, 0); in fill_icmptypes()
1348 if (*av != ',' && *av != '\0') in fill_icmptypes()
2386 ipfw_sets_handler(char *av[]) in ipfw_sets_handler() argument
2396 av++; in ipfw_sets_handler()
2399 if (av[0] == NULL) in ipfw_sets_handler()
2401 if (_substrcmp(*av, "show") == 0) { in ipfw_sets_handler()
2422 } else if (_substrcmp(*av, "swap") == 0) { in ipfw_sets_handler()
2423 av++; in ipfw_sets_handler()
2424 if ( av[0] == NULL || av[1] == NULL ) in ipfw_sets_handler()
2426 rt.set = atoi(av[0]); in ipfw_sets_handler()
2427 rt.new_set = atoi(av[1]); in ipfw_sets_handler()
2428 if (!isdigit(*(av[0])) || rt.set > RESVD_SET) in ipfw_sets_handler()
2429 errx(EX_DATAERR, "invalid set number %s\n", av[0]); in ipfw_sets_handler()
2430 if (!isdigit(*(av[1])) || rt.new_set > RESVD_SET) in ipfw_sets_handler()
2431 errx(EX_DATAERR, "invalid set number %s\n", av[1]); in ipfw_sets_handler()
2433 } else if (_substrcmp(*av, "move") == 0) { in ipfw_sets_handler()
2434 av++; in ipfw_sets_handler()
2435 if (av[0] && _substrcmp(*av, "rule") == 0) { in ipfw_sets_handler()
2438 av++; in ipfw_sets_handler()
2441 if (av[0] == NULL || av[1] == NULL || av[2] == NULL || in ipfw_sets_handler()
2442 av[3] != NULL || _substrcmp(av[1], "to") != 0) in ipfw_sets_handler()
2444 rulenum = atoi(av[0]); in ipfw_sets_handler()
2445 rt.new_set = atoi(av[2]); in ipfw_sets_handler()
2451 rt.new_set = atoi(av[2]); in ipfw_sets_handler()
2452 if (!isdigit(*(av[0])) || (cmd == 3 && rt.set > RESVD_SET) || in ipfw_sets_handler()
2454 errx(EX_DATAERR, "invalid source number %s\n", av[0]); in ipfw_sets_handler()
2455 if (!isdigit(*(av[2])) || rt.new_set > RESVD_SET) in ipfw_sets_handler()
2456 errx(EX_DATAERR, "invalid dest. set %s\n", av[1]); in ipfw_sets_handler()
2461 } else if (_substrcmp(*av, "disable") == 0 || in ipfw_sets_handler()
2462 _substrcmp(*av, "enable") == 0 ) { in ipfw_sets_handler()
2463 int which = _substrcmp(*av, "enable") == 0 ? 1 : 0; in ipfw_sets_handler()
2465 av++; in ipfw_sets_handler()
2468 while (av[0]) { in ipfw_sets_handler()
2469 if (isdigit(**av)) { in ipfw_sets_handler()
2470 i = atoi(*av); in ipfw_sets_handler()
2475 } else if (_substrcmp(*av, "disable") == 0) in ipfw_sets_handler()
2477 else if (_substrcmp(*av, "enable") == 0) in ipfw_sets_handler()
2481 "invalid set command %s\n", *av); in ipfw_sets_handler()
2482 av++; in ipfw_sets_handler()
2494 errx(EX_USAGE, "invalid set command %s\n", *av); in ipfw_sets_handler()
2498 ipfw_sysctl_handler(char *av[], int which) in ipfw_sysctl_handler() argument
2500 av++; in ipfw_sysctl_handler()
2502 if (av[0] == NULL) { in ipfw_sysctl_handler()
2504 } else if (_substrcmp(*av, "firewall") == 0) { in ipfw_sysctl_handler()
2509 } else if (_substrcmp(*av, "one_pass") == 0) { in ipfw_sysctl_handler()
2512 } else if (_substrcmp(*av, "debug") == 0) { in ipfw_sysctl_handler()
2515 } else if (_substrcmp(*av, "verbose") == 0) { in ipfw_sysctl_handler()
2518 } else if (_substrcmp(*av, "dyn_keepalive") == 0) { in ipfw_sysctl_handler()
2522 } else if (_substrcmp(*av, "altq") == 0) { in ipfw_sysctl_handler()
2526 warnx("unrecognize enable/disable keyword: %s\n", *av); in ipfw_sysctl_handler()
2718 ipfw_list(int ac, char *av[], int show_counters) in ipfw_list() argument
2735 dummynet_list(ac, av, show_counters); in ipfw_list()
2743 av++; in ipfw_list()
2748 for (lac = ac, lav = av; lac != 0; lac--) { in ipfw_list()
2773 error = ipfw_show_config(&g_co, &sfo, cfg, sz, ac, av); in ipfw_list()
2783 ipfw_cfg_lheader *cfg, size_t sz, int ac, char *av[]) in ipfw_show_config() argument
2859 for (lac = ac, lav = av; lac != 0; lac--) { in ipfw_show_config()
2887 for (lac = ac, lav = av; lac != 0; lac--) { in ipfw_show_config()
3084 fill_table(struct _ipfw_insn *cmd, char *av, uint8_t opcode, in fill_table() argument
3091 if ((p = strchr(av + 6, ')')) == NULL) in fill_table()
3092 errx(EX_DATAERR, "forgotten parenthesis: '%s'", av); in fill_table()
3094 p = strchr(av + 6, ','); in fill_table()
3098 if ((uidx = pack_table(tstate, av + 6)) == 0) in fill_table()
3099 errx(EX_DATAERR, "Invalid table name: %s", av + 6); in fill_table()
3123 fill_ip(ipfw_insn_ip *cmd, char *av, int cblen, struct tidx *tstate) in fill_ip() argument
3130 if (_substrcmp(av, "any") == 0) in fill_ip()
3133 if (_substrcmp(av, "me") == 0) { in fill_ip()
3138 if (strncmp(av, "table(", 6) == 0) { in fill_ip()
3139 fill_table(&cmd->o, av, O_IP_DST_LOOKUP, tstate); in fill_ip()
3143 while (av) { in fill_ip()
3149 char *t = NULL, *p = strpbrk(av, "/:,{"); in fill_ip()
3165 if (lookup_host(av, (struct in_addr *)&d[0]) != 0) in fill_ip()
3166 errx(EX_NOHOST, "hostname ``%s'' unknown", av); in fill_ip()
3224 av = p + 1; in fill_ip()
3233 while (isdigit(*av)) { in fill_ip()
3235 int a = strtol(av, &s, 0); in fill_ip()
3237 if (s == av) { /* no parameter */ in fill_ip()
3238 if (*av != '}') in fill_ip()
3264 av = s+1; in fill_ip()
3268 av = p; in fill_ip()
3269 if (av) /* then *av must be a ',' */ in fill_ip()
3270 av++; in fill_ip()
3281 if (av == NULL && len == 0) /* only this entry */ in fill_ip()
3288 if (d[1] == (uint32_t)~0 && av == NULL && len == 0) { in fill_ip()
3337 ipfw_delete(char *av[]) in ipfw_delete() argument
3345 av++; in ipfw_delete()
3347 if ( *av && _substrcmp(*av, "set") == 0) { in ipfw_delete()
3354 av++; in ipfw_delete()
3358 while (*av && isdigit(**av)) { in ipfw_delete()
3359 i = strtol(*av, &sep, 10); in ipfw_delete()
3363 av++; in ipfw_delete()
3524 fill_comment(ipfw_insn *cmd, char **av, int cblen) in fill_comment() argument
3533 for (i = 0, l = 0; av[i] != NULL; i++) in fill_comment()
3534 l += strlen(av[i]) + 1; in fill_comment()
3544 for (i = 0; av[i] != NULL; i++) { in fill_comment()
3545 strcpy(p, av[i]); in fill_comment()
3546 p += strlen(av[i]); in fill_comment()
3569 add_mac(ipfw_insn *cmd, char *av[], int cblen) in add_mac() argument
3573 if ( ( av[0] == NULL ) || ( av[1] == NULL ) ) in add_mac()
3581 get_mac_addr_mask(av[0], mac->addr, mac->mask); /* dst */ in add_mac()
3582 get_mac_addr_mask(av[1], &(mac->addr[ETHER_ADDR_LEN]), in add_mac()
3588 add_mactype(ipfw_insn *cmd, char *av, int cblen) in add_mactype() argument
3590 if (!av) in add_mactype()
3592 if (strcmp(av, "any") != 0) { /* we have a non-null type */ in add_mactype()
3593 fill_newports((ipfw_insn_u16 *)cmd, av, IPPROTO_ETHERTYPE, in add_mactype()
3602 add_proto0(ipfw_insn *cmd, char *av, u_char *protop) in add_proto0() argument
3608 proto = strtol(av, &ep, 10); in add_proto0()
3610 if ((pe = getprotobyname(av)) == NULL) in add_proto0()
3621 add_proto(ipfw_insn *cmd, char *av, u_char *protop) in add_proto() argument
3625 if (_substrcmp(av, "all") == 0 || strcmp(av, "ip") == 0) in add_proto()
3627 else if (strcmp(av, "ip4") == 0) in add_proto()
3630 else if (strcmp(av, "ip6") == 0) { in add_proto()
3635 return add_proto0(cmd, av, protop); in add_proto()
3642 add_proto_compat(ipfw_insn *cmd, char *av, u_char *protop) in add_proto_compat() argument
3646 if (_substrcmp(av, "all") == 0 || strcmp(av, "ip") == 0) in add_proto_compat()
3648 else if (strcmp(av, "ipv4") == 0 || strcmp(av, "ip4") == 0) in add_proto_compat()
3651 else if (strcmp(av, "ipv6") == 0 || strcmp(av, "ip6") == 0) { in add_proto_compat()
3656 return add_proto0(cmd, av, protop); in add_proto_compat()
3663 add_srcip(ipfw_insn *cmd, char *av, int cblen, struct tidx *tstate) in add_srcip() argument
3665 fill_ip((ipfw_insn_ip *)cmd, av, cblen, tstate); in add_srcip()
3680 add_dstip(ipfw_insn *cmd, char *av, int cblen, struct tidx *tstate) in add_dstip() argument
3682 fill_ip((ipfw_insn_ip *)cmd, av, cblen, tstate); in add_dstip()
3717 add_ports(ipfw_insn *cmd, char *av, u_char proto, int opcode, int cblen) in add_ports() argument
3720 if (match_token(f_reserved_keywords, av) != -1) in add_ports()
3723 if (fill_newports((ipfw_insn_u16 *)cmd, av, proto, cblen)) { in add_ports()
3732 add_src(ipfw_insn *cmd, char *av, u_char proto, int cblen, struct tidx *tstate) in add_src() argument
3740 if ((ch = strpbrk(av, "/,")) != NULL) { in add_src()
3741 len = ch - av; in add_src()
3742 strlcpy(buf, av, sizeof(buf)); in add_src()
3747 host = av; in add_src()
3749 if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 || in add_src()
3751 ret = add_srcip6(cmd, av, cblen, tstate); in add_src()
3753 if (ret == NULL && (proto == IPPROTO_IP || strcmp(av, "me") == 0 || in add_src()
3755 ret = add_srcip(cmd, av, cblen, tstate); in add_src()
3756 if (ret == NULL && strcmp(av, "any") != 0) in add_src()
3763 add_dst(ipfw_insn *cmd, char *av, u_char proto, int cblen, struct tidx *tstate) in add_dst() argument
3771 if ((ch = strpbrk(av, "/,")) != NULL) { in add_dst()
3772 len = ch - av; in add_dst()
3773 strlcpy(buf, av, sizeof(buf)); in add_dst()
3778 host = av; in add_dst()
3780 if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 || in add_dst()
3782 ret = add_dstip6(cmd, av, cblen, tstate); in add_dst()
3784 if (ret == NULL && (proto == IPPROTO_IP || strcmp(av, "me") == 0 || in add_dst()
3786 ret = add_dstip(cmd, av, cblen, tstate); in add_dst()
3787 if (ret == NULL && strcmp(av, "any") != 0) in add_dst()
3806 compile_rule(char *av[], uint32_t *rbuf, int *rbufsize, struct tidx *tstate) in compile_rule() argument
3857 av++; in compile_rule()
3860 if (av[0] && isdigit(**av)) { in compile_rule()
3861 rule->rulenum = atoi(*av); in compile_rule()
3862 av++; in compile_rule()
3866 if (av[0] && av[1] && _substrcmp(*av, "set") == 0) { in compile_rule()
3867 int set = strtoul(av[1], NULL, 10); in compile_rule()
3869 errx(EX_DATAERR, "illegal set %s", av[1]); in compile_rule()
3872 av += 2; in compile_rule()
3876 if (av[0] && av[1] && _substrcmp(*av, "prob") == 0) { in compile_rule()
3877 match_prob = strtod(av[1], NULL); in compile_rule()
3880 errx(EX_DATAERR, "illegal match prob. %s", av[1]); in compile_rule()
3881 av += 2; in compile_rule()
3886 i = match_token(rule_actions, *av); in compile_rule()
3887 av++; in compile_rule()
3894 if (*av == NULL || in compile_rule()
3895 match_token(rule_options, *av) == TOK_COMMENT) { in compile_rule()
3900 if (*av[0] == ':') { in compile_rule()
3901 if (strcmp(*av + 1, "any") == 0) in compile_rule()
3903 else if (state_check_name(*av + 1) == 0) in compile_rule()
3904 action->arg1 = pack_object(tstate, *av + 1, in compile_rule()
3908 *av); in compile_rule()
3909 av++; in compile_rule()
3912 errx(EX_DATAERR, "Invalid state name %s", *av); in compile_rule()
3952 fill_reject_code(&action->arg1, *av); in compile_rule()
3953 av++; in compile_rule()
3959 fill_unreach6_code(&action->arg1, *av); in compile_rule()
3960 av++; in compile_rule()
3971 if (*av != NULL && _substrcmp(*av, "global") == 0) { in compile_rule()
3973 av++; in compile_rule()
4001 if (!av[0]) in compile_rule()
4002 errx(EX_USAGE, "missing argument for %s", *(av - 1)); in compile_rule()
4003 if (isdigit(**av)) { in compile_rule()
4004 action->arg1 = strtoul(*av, NULL, 10); in compile_rule()
4007 *(av - 1)); in compile_rule()
4008 } else if (_substrcmp(*av, "tablearg") == 0) { in compile_rule()
4013 s = getservbyname(av[0], "divert"); in compile_rule()
4019 errx(EX_DATAERR, "illegal argument for %s", *(av - 1)); in compile_rule()
4020 av++; in compile_rule()
4041 if (_substrcmp(*av, "tablearg") == 0) { in compile_rule()
4049 if (strchr(*av, '[')) in compile_rule()
4050 (*av)++; in compile_rule()
4055 s = strchr(*av, ','); in compile_rule()
4057 s = strchr(*av, ']'); in compile_rule()
4062 s = *av; in compile_rule()
4084 if (getaddrinfo(*av, NULL, NULL, &res)) in compile_rule()
4127 av++; in compile_rule()
4133 av--; /* go back... */ in compile_rule()
4143 if (_substrcmp(*av, "tablearg") == 0) { in compile_rule()
4146 action->arg1 = strtoul(*av, NULL, 10); in compile_rule()
4155 av++; in compile_rule()
4165 if (_substrcmp(*av, "tablearg") == 0) { in compile_rule()
4168 if (isalpha(*av[0])) { in compile_rule()
4169 if ((code = match_token(f_ipdscp, *av)) == -1) in compile_rule()
4173 action->arg1 = strtoul(*av, NULL, 10); in compile_rule()
4180 av++; in compile_rule()
4204 mss = strtoul(*av, NULL, 10); in compile_rule()
4206 errx(EX_USAGE, "invalid MSS value %s", *av); in compile_rule()
4208 av++; in compile_rule()
4213 av--; in compile_rule()
4214 if (match_token(rule_eactions, *av) == -1) in compile_rule()
4215 errx(EX_DATAERR, "invalid action %s\n", *av); in compile_rule()
4228 if (eaction_check_name(*av) != 0) in compile_rule()
4229 errx(EX_DATAERR, "Invalid eaction name %s", *av); in compile_rule()
4230 idx = pack_object(tstate, *av, IPFW_TLV_EACTION); in compile_rule()
4234 av++; in compile_rule()
4239 if (eaction_check_name(*av) != 0) in compile_rule()
4241 *av); in compile_rule()
4247 idx = pack_object(tstate, *av, 0); in compile_rule()
4251 av++; in compile_rule()
4263 while (av[0] != NULL && (i = match_token(rule_action_params, *av)) != -1) { in compile_rule()
4264 av++; in compile_rule()
4278 if (av[0] && _substrcmp(*av, "logamount") == 0) { in compile_rule()
4279 av++; in compile_rule()
4281 l = atoi(*av); in compile_rule()
4286 av++; in compile_rule()
4315 a->qid = altq_name_to_qid(*av); in compile_rule()
4316 av++; in compile_rule()
4332 av++; in compile_rule()
4343 if (*av != NULL && in compile_rule()
4344 match_token(rule_options, *av) == TOK_COMMENT) { in compile_rule()
4346 av++; in compile_rule()
4347 fill_comment(cmd, av, cblen); in compile_rule()
4349 av[0] = NULL; in compile_rule()
4355 if (av[0] && (*av[0] == '(' || *av[0] == '{')) { \ in compile_rule()
4360 if ( (av[0])[1] == '\0') { \ in compile_rule()
4361 av++; \ in compile_rule()
4363 (*av)++; \ in compile_rule()
4370 if (av[0] && ( \ in compile_rule()
4371 strcmp(*av, ")") == 0 || \ in compile_rule()
4372 strcmp(*av, "}") == 0)) { \ in compile_rule()
4375 av++; \ in compile_rule()
4381 if (av[0] && _substrcmp(*av, "not") == 0) { \ in compile_rule()
4385 av++; \ in compile_rule()
4389 if (av[0] && _substrcmp(*av, "or") == 0) { \ in compile_rule()
4393 av++; \ in compile_rule()
4408 if (_substrcmp(*av, "MAC") == 0 || in compile_rule()
4409 _substrcmp(*av, "mac") == 0) { in compile_rule()
4410 av++; /* the "MAC" keyword */ in compile_rule()
4411 add_mac(cmd, av); /* exits in case of errors */ in compile_rule()
4413 av += 2; /* dst-mac and src-mac */ in compile_rule()
4416 if (add_mactype(cmd, av[0])) in compile_rule()
4418 av++; /* any or mac-type */ in compile_rule()
4429 if (add_proto_compat(cmd, *av, &proto)) { in compile_rule()
4430 av++; in compile_rule()
4436 errx(EX_DATAERR, "invalid protocol ``%s''", *av); in compile_rule()
4448 if ((av[0] == NULL) || _substrcmp(*av, "from") != 0) in compile_rule()
4450 av++; in compile_rule()
4458 if (add_src(cmd, *av, proto, cblen, tstate)) { in compile_rule()
4459 av++; in compile_rule()
4465 errx(EX_USAGE, "bad source address %s", *av); in compile_rule()
4472 if ( av[0] != NULL ) { in compile_rule()
4473 if (_substrcmp(*av, "any") == 0 || in compile_rule()
4474 add_ports(cmd, *av, proto, O_IP_SRCPORT, cblen)) { in compile_rule()
4475 av++; in compile_rule()
4484 if ( (av[0] == NULL) || _substrcmp(*av, "to") != 0 ) in compile_rule()
4486 av++; in compile_rule()
4494 if (add_dst(cmd, *av, proto, cblen, tstate)) { in compile_rule()
4495 av++; in compile_rule()
4501 errx( EX_USAGE, "bad destination address %s", *av); in compile_rule()
4508 if (av[0]) { in compile_rule()
4509 if (_substrcmp(*av, "any") == 0 || in compile_rule()
4510 add_ports(cmd, *av, proto, O_IP_DSTPORT, cblen)) { in compile_rule()
4511 av++; in compile_rule()
4521 while ( av[0] != NULL ) { in compile_rule()
4525 s = *av; in compile_rule()
4535 av++; in compile_rule()
4586 if (*av != NULL && fill_flags(f_ipoff, *av, NULL, in compile_rule()
4588 av++; in compile_rule()
4611 fill_iface((ipfw_insn_if *)cmd, av[0], cblen, tstate); in compile_rule()
4612 av++; in compile_rule()
4625 fill_icmptypes((ipfw_insn_u32 *)cmd, *av); in compile_rule()
4626 av++; in compile_rule()
4631 fill_icmp6types((ipfw_insn_icmp6 *)cmd, *av, cblen); in compile_rule()
4632 av++; in compile_rule()
4637 if (strpbrk(*av, "-,")) { in compile_rule()
4638 if (!add_ports(cmd, *av, 0, O_IPTTL, cblen)) in compile_rule()
4639 errx(EX_DATAERR, "invalid ipttl %s", *av); in compile_rule()
4641 fill_cmd(cmd, O_IPTTL, 0, strtoul(*av, NULL, 0)); in compile_rule()
4642 av++; in compile_rule()
4647 if (strpbrk(*av, "-,")) { in compile_rule()
4648 if (!add_ports(cmd, *av, 0, O_IPID, cblen)) in compile_rule()
4649 errx(EX_DATAERR, "invalid ipid %s", *av); in compile_rule()
4651 fill_cmd(cmd, O_IPID, 0, strtoul(*av, NULL, 0)); in compile_rule()
4652 av++; in compile_rule()
4657 if (strpbrk(*av, "-,")) { in compile_rule()
4658 if (!add_ports(cmd, *av, 0, O_IPLEN, cblen)) in compile_rule()
4659 errx(EX_DATAERR, "invalid ip len %s", *av); in compile_rule()
4661 fill_cmd(cmd, O_IPLEN, 0, strtoul(*av, NULL, 0)); in compile_rule()
4662 av++; in compile_rule()
4667 fill_cmd(cmd, O_IPVER, 0, strtoul(*av, NULL, 0)); in compile_rule()
4668 av++; in compile_rule()
4674 (strtoul(*av, NULL, 0) & 7) << 5); in compile_rule()
4675 av++; in compile_rule()
4680 fill_dscp(cmd, *av, cblen); in compile_rule()
4681 av++; in compile_rule()
4686 fill_flags_cmd(cmd, O_IPOPT, f_ipopts, *av); in compile_rule()
4687 av++; in compile_rule()
4692 fill_flags_cmd(cmd, O_IPTOS, f_iptos, *av); in compile_rule()
4693 av++; in compile_rule()
4704 uid = strtoul(*av, &end, 0); in compile_rule()
4705 pwd = (*end == '\0') ? getpwuid(uid) : getpwnam(*av); in compile_rule()
4707 errx(EX_DATAERR, "uid \"%s\" nonexistent", *av); in compile_rule()
4710 av++; in compile_rule()
4722 gid = strtoul(*av, &end, 0); in compile_rule()
4723 grp = (*end == '\0') ? getgrgid(gid) : getgrnam(*av); in compile_rule()
4725 errx(EX_DATAERR, "gid \"%s\" nonexistent", *av); in compile_rule()
4728 av++; in compile_rule()
4751 jid = strtoul(*av, &end, 10); in compile_rule()
4753 jid = jail_getid(*av); in compile_rule()
4759 av++; in compile_rule()
4777 if (strpbrk(*av, "-,")) { in compile_rule()
4778 if (!add_ports(cmd, *av, 0, O_TCPDATALEN, cblen)) in compile_rule()
4779 errx(EX_DATAERR, "invalid tcpdata len %s", *av); in compile_rule()
4782 strtoul(*av, NULL, 0)); in compile_rule()
4783 av++; in compile_rule()
4788 fill_flags_cmd(cmd, O_TCPOPTS, f_tcpopts, *av); in compile_rule()
4789 av++; in compile_rule()
4797 cmd32->d[0] = htonl(strtoul(*av, NULL, 0)); in compile_rule()
4798 av++; in compile_rule()
4804 if (strpbrk(*av, "-,")) { in compile_rule()
4805 if (add_ports(cmd, *av, 0, in compile_rule()
4809 s, *av); in compile_rule()
4812 O_TCPMSS, 0, strtoul(*av, NULL, 0)); in compile_rule()
4813 av++; in compile_rule()
4819 fill_flags_cmd(cmd, O_TCPFLAGS, f_tcpflags, *av); in compile_rule()
4820 av++; in compile_rule()
4833 if (*av != NULL && *av[0] == ':') { in compile_rule()
4834 if (state_check_name(*av + 1) != 0) in compile_rule()
4836 "Invalid state name %s", *av); in compile_rule()
4837 uidx = pack_object(tstate, *av + 1, in compile_rule()
4839 av++; in compile_rule()
4868 while ( av[0] != NULL ) { in compile_rule()
4869 if ((val = match_token(limit_masks, *av)) <= 0) in compile_rule()
4872 av++; in compile_rule()
4880 av++; in compile_rule()
4882 if (*av != NULL && *av[0] == ':') { in compile_rule()
4883 if (state_check_name(*av + 1) != 0) in compile_rule()
4885 "Invalid state name %s", *av); in compile_rule()
4886 cmd->arg1 = pack_object(tstate, *av + 1, in compile_rule()
4888 av++; in compile_rule()
4897 if (add_proto(cmd, *av, &proto)) { in compile_rule()
4898 av++; in compile_rule()
4901 *av); in compile_rule()
4906 if (add_srcip(cmd, *av, cblen, tstate)) { in compile_rule()
4907 av++; in compile_rule()
4913 if (add_dstip(cmd, *av, cblen, tstate)) { in compile_rule()
4914 av++; in compile_rule()
4920 if (add_srcip6(cmd, *av, cblen, tstate)) { in compile_rule()
4921 av++; in compile_rule()
4927 if (add_dstip6(cmd, *av, cblen, tstate)) { in compile_rule()
4928 av++; in compile_rule()
4934 if (_substrcmp(*av, "any") == 0 || in compile_rule()
4935 add_ports(cmd, *av, proto, O_IP_SRCPORT, cblen)) { in compile_rule()
4936 av++; in compile_rule()
4938 errx(EX_DATAERR, "invalid source port %s", *av); in compile_rule()
4943 if (_substrcmp(*av, "any") == 0 || in compile_rule()
4944 add_ports(cmd, *av, proto, O_IP_DSTPORT, cblen)) { in compile_rule()
4945 av++; in compile_rule()
4948 *av); in compile_rule()
4952 if (add_mac(cmd, av, cblen)) in compile_rule()
4953 av += 2; in compile_rule()
4958 if (!add_mactype(cmd, *av, cblen)) in compile_rule()
4959 errx(EX_DATAERR, "invalid mac type %s", *av); in compile_rule()
4960 av++; in compile_rule()
4989 fill_ext6hdr( cmd, *av ); in compile_rule()
4990 av++; in compile_rule()
4997 fill_flow6( (ipfw_insn_u32 *) cmd, *av, cblen); in compile_rule()
4998 av++; in compile_rule()
5002 fill_comment(cmd, av, cblen); in compile_rule()
5003 av[0]=NULL; in compile_rule()
5007 if (av[0] && strpbrk(*av, "-,")) { in compile_rule()
5008 if (!add_ports(cmd, *av, 0, O_TAGGED, cblen)) in compile_rule()
5010 " list: %s", *av); in compile_rule()
5019 av++; in compile_rule()
5024 fill_cmd(cmd, O_FIB, 0, strtoul(*av, NULL, 0)); in compile_rule()
5025 av++; in compile_rule()
5035 if (!av[0] || !av[1]) in compile_rule()
5039 i = match_token(rule_options, *av); in compile_rule()
5045 errx(EX_USAGE, "format: cannot lookup on %s", *av); in compile_rule()
5047 av++; in compile_rule()
5049 if ((j = pack_table(tstate, *av)) == 0) in compile_rule()
5050 errx(EX_DATAERR, "Invalid table name: %s", *av); in compile_rule()
5053 av++; in compile_rule()
5058 if (strncmp(*av, "table(", 6) != 0) in compile_rule()
5061 fill_table(cmd, *av, O_IP_FLOW_LOOKUP, tstate); in compile_rule()
5062 av++; in compile_rule()
5315 ipfw_add(char *av[]) in ipfw_add() argument
5337 compile_rule(av, (uint32_t *)rule, &rbufsize, &ts); in ipfw_add()
5405 ipfw_zero(int ac, char *av[], int optname) in ipfw_zero() argument
5414 av++; ac--; in ipfw_zero()
5431 if (isdigit(**av)) { in ipfw_zero()
5432 arg = strtonum(*av, 0, 0xffff, &errstr); in ipfw_zero()
5435 "invalid rule number %s\n", *av); in ipfw_zero()
5456 errx(EX_USAGE, "invalid rule number ``%s''", *av); in ipfw_zero()
5458 av++; ac--; in ipfw_zero()
5538 ipfw_list_objects(int ac __unused, char *av[] __unused) in ipfw_list_objects()
5585 ipfw_internal_handler(int ac, char *av[]) in ipfw_internal_handler() argument
5589 ac--; av++; in ipfw_internal_handler()
5592 if ((tcmd = match_token(intcmds, *av)) == -1) in ipfw_internal_handler()
5593 errx(EX_USAGE, "invalid internal sub-cmd: %s", *av); in ipfw_internal_handler()
5600 ipfw_list_ta(ac, av); in ipfw_internal_handler()
5603 ipfw_list_objects(ac, av); in ipfw_internal_handler()
5606 ipfw_list_values(ac, av); in ipfw_internal_handler()