summaryrefslogtreecommitdiffstats
path: root/iptables/xtables.c
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2021-12-23 18:29:40 +0100
committerPhil Sutter <phil@nwl.cc>2022-01-12 14:04:52 +0100
commitece001c258e3fd8779e177ef00394877f2327f56 (patch)
tree9ae2336ba2e9b9276132f41f331f5f62dfdbab1d /iptables/xtables.c
parent17abaeb16afd6cdc17dddb4e1526d31cdfc8cb60 (diff)
xtables: Pass xtables_args to check_inverse()
It holds the accessed family field as well and is more generic than nft_handle. Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'iptables/xtables.c')
-rw-r--r--iptables/xtables.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/iptables/xtables.c b/iptables/xtables.c
index db0cec24..5e8c027b 100644
--- a/iptables/xtables.c
+++ b/iptables/xtables.c
@@ -158,10 +158,10 @@ static void check_empty_interface(struct xtables_args *args, const char *arg)
fprintf(stderr, "%s", msg);
}
-static void check_inverse(struct nft_handle *h, const char option[],
+static void check_inverse(struct xtables_args *args, const char option[],
bool *invert, int *optidx, int argc)
{
- switch (h->family) {
+ switch (args->family) {
case NFPROTO_ARP:
break;
default:
@@ -364,7 +364,7 @@ void do_parse(struct nft_handle *h, int argc, char *argv[],
* Option selection
*/
case 'p':
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_PROTOCOL,
&args->invflags, invert);
@@ -387,14 +387,14 @@ void do_parse(struct nft_handle *h, int argc, char *argv[],
break;
case 's':
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_SOURCE,
&args->invflags, invert);
args->shostnetworkmask = argv[optind - 1];
break;
case 'd':
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_DESTINATION,
&args->invflags, invert);
args->dhostnetworkmask = argv[optind - 1];
@@ -410,21 +410,21 @@ void do_parse(struct nft_handle *h, int argc, char *argv[],
#endif
case 2:/* src-mac */
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_S_MAC, &args->invflags,
invert);
args->src_mac = argv[optind - 1];
break;
case 3:/* dst-mac */
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_D_MAC, &args->invflags,
invert);
args->dst_mac = argv[optind - 1];
break;
case 'l':/* hardware length */
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_H_LENGTH, &args->invflags,
invert);
args->arp_hlen = argv[optind - 1];
@@ -433,21 +433,21 @@ void do_parse(struct nft_handle *h, int argc, char *argv[],
case 8: /* was never supported, not even in arptables-legacy */
xtables_error(PARAMETER_PROBLEM, "not supported");
case 4:/* opcode */
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_OPCODE, &args->invflags,
invert);
args->arp_opcode = argv[optind - 1];
break;
case 5:/* h-type */
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_H_TYPE, &args->invflags,
invert);
args->arp_htype = argv[optind - 1];
break;
case 6:/* proto-type */
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_P_TYPE, &args->invflags,
invert);
args->arp_ptype = argv[optind - 1];
@@ -461,7 +461,7 @@ void do_parse(struct nft_handle *h, int argc, char *argv[],
case 'i':
check_empty_interface(args, optarg);
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_VIANAMEIN,
&args->invflags, invert);
xtables_parse_interface(argv[optind - 1],
@@ -471,7 +471,7 @@ void do_parse(struct nft_handle *h, int argc, char *argv[],
case 'o':
check_empty_interface(args, optarg);
- check_inverse(h, optarg, &invert, &optind, argc);
+ check_inverse(args, optarg, &invert, &optind, argc);
set_option(&cs->options, OPT_VIANAMEOUT,
&args->invflags, invert);
xtables_parse_interface(argv[optind - 1],