diff options
author | Florian Westphal <fw@strlen.de> | 2018-06-29 00:15:27 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2018-06-29 14:37:08 +0200 |
commit | 37d9d5bb822d6b8f0c334f79209e8309edcfed02 (patch) | |
tree | 048dc70f4593cfe5a3915731c372f0af0160fbb3 | |
parent | 816bd1fdecb63ab0f5757fa7239b0667654e978f (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>
-rw-r--r-- | iptables/xtables-eb.c | 17 |
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) |