From 68c57e809f69108694cce2d502a3ed1c328d13e8 Mon Sep 17 00:00:00 2001 From: "Pablo M. Bermudo Garay" Date: Tue, 26 Jul 2016 18:45:24 +0200 Subject: xtables-translate: fix issue with quotes Some translations included escaped quotes when they were called from nft: $ sudo nft list ruleset table ip mangle { chain FORWARD { type filter hook forward priority -150; policy accept; ct helper \"ftp\" counter packets 0 bytes 0 ^^ ^^ } } This behavior is only correct when xlate functions are called from a xtables-translate command. This patch solves that issue using a new parameter (escape_quotes) in the xlate functions. Signed-off-by: Pablo M. Bermudo Garay Signed-off-by: Pablo Neira Ayuso --- iptables/xtables-translate.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'iptables') diff --git a/iptables/xtables-translate.c b/iptables/xtables-translate.c index 678228b2..9044d27c 100644 --- a/iptables/xtables-translate.c +++ b/iptables/xtables-translate.c @@ -53,6 +53,7 @@ int xlate_action(const struct iptables_command_state *cs, bool goto_set, .ip = (const void *)&cs->fw, .target = cs->target->t, .numeric = numeric, + .escape_quotes = true, }; ret = cs->target->xlate(xl, ¶ms); } @@ -79,6 +80,7 @@ int xlate_matches(const struct iptables_command_state *cs, struct xt_xlate *xl) .ip = (const void *)&cs->fw, .match = matchp->match->m, .numeric = numeric, + .escape_quotes = true, }; if (!matchp->match->xlate) -- cgit v1.2.3