From 37d9d5bb822d6b8f0c334f79209e8309edcfed02 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Fri, 29 Jun 2018 00:15:27 +0200 Subject: 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 --- iptables/xtables-eb.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'iptables') 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) -- cgit v1.2.3