summaryrefslogtreecommitdiffstats
path: root/iptables
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2018-06-29 00:15:27 +0200
committerFlorian Westphal <fw@strlen.de>2018-06-29 14:37:08 +0200
commit37d9d5bb822d6b8f0c334f79209e8309edcfed02 (patch)
tree048dc70f4593cfe5a3915731c372f0af0160fbb3 /iptables
parent816bd1fdecb63ab0f5757fa7239b0667654e978f (diff)
ebtables-nft: make -L, -X CHAINNAME work
In both cases the argument is optional, in both cases the argument wasn't evaluated. Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'iptables')
-rw-r--r--iptables/xtables-eb.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/iptables/xtables-eb.c b/iptables/xtables-eb.c
index a88bf62c..57026f0e 100644
--- a/iptables/xtables-eb.c
+++ b/iptables/xtables-eb.c
@@ -819,6 +819,11 @@ int do_commandeb(struct nft_handle *h, int argc, char *argv[], char **table)
ret = nft_chain_user_add(h, chain, *table);
break;
} else if (c == 'X') {
+ /* X arg is optional, optarg is NULL */
+ if (!chain && optind < argc && argv[optind][0] != '-') {
+ chain = argv[optind];
+ optind++;
+ }
ret = nft_chain_user_del(h, chain, *table);
break;
}
@@ -897,20 +902,10 @@ print_zero:
goto print_zero;
}
- /*if (!(replace->flags & OPT_KERNELDATA))
- ebt_get_kernel_table(replace, 0);
- i = -1;
if (optind < argc && argv[optind][0] != '-') {
- if ((i = ebt_get_chainnr(replace, argv[optind])) == -1)
- ebt_print_error2("Chain '%s' doesn't exist", argv[optind]);
+ chain = argv[optind];
optind++;
}
- if (i != -1) {
- if (c == 'Z')
- zerochain = i;
- else
- replace->selected_chain = i;
- }*/
break;
case 'V': /* Version */
if (OPT_COMMANDS)