summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2018-08-02 17:05:21 +0200
committerFlorian Westphal <fw@strlen.de>2018-08-04 14:53:51 +0200
commitd67d85d75e99f1c5e424d63d7ae5aab3a70c9473 (patch)
tree29a3ccfd96285f7f9c18edc9cc4083938c7095b3
parent2e478e90d3a0ec00b6702732f3a80328c6a4012d (diff)
ebtables: Print non-standard target parameters
If a rule has a non-standard target (i.e., cs->target != NULL), it may contain parameters. This patch enables printing them. The code assumed that a non-standard target is only present if cs->jumpto is not set, but that is wrong: If nft_rule_to_iptables_command_state() encounters a target expression, it calls nft_parse_target() which in turn calls the family-specific parse_target callback. All of them assign cs->target, whose name is later assigned to cs->jumpto by the first function. Signed-off-by: Phil Sutter <phil@nwl.cc> Signed-off-by: Florian Westphal <fw@strlen.de>
-rw-r--r--iptables/nft-bridge.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/iptables/nft-bridge.c b/iptables/nft-bridge.c
index bbcecd82..c8605dc9 100644
--- a/iptables/nft-bridge.c
+++ b/iptables/nft-bridge.c
@@ -466,8 +466,10 @@ static void nft_bridge_save_rule(const void *data, unsigned int format)
else
printf("CONTINUE");
}
- else if (cs->target != NULL && cs->target->print != NULL)
+ if (cs->target != NULL && cs->target->print != NULL) {
+ printf(" ");
cs->target->print(&cs->fw, cs->target->t, format & FMT_NUMERIC);
+ }
if (!(format & FMT_NOCOUNTS)) {
const char *counter_fmt;