diff options
author | Pablo M. Bermudo Garay <pablombg@gmail.com> | 2016-07-26 18:45:24 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-07-27 13:56:51 +0200 |
commit | 68c57e809f69108694cce2d502a3ed1c328d13e8 (patch) | |
tree | 862c9d4e3cc4a15d9f800d98f9757eaea694a255 /extensions/libxt_helper.c | |
parent | 6604bc6131bf059bce458040ed6b93bcd37fb635 (diff) |
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 <pablombg@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'extensions/libxt_helper.c')
-rw-r--r-- | extensions/libxt_helper.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/extensions/libxt_helper.c b/extensions/libxt_helper.c index 6860127b..2afbf996 100644 --- a/extensions/libxt_helper.c +++ b/extensions/libxt_helper.c @@ -50,8 +50,12 @@ static int helper_xlate(struct xt_xlate *xl, { const struct xt_helper_info *info = (const void *)params->match->data; - xt_xlate_add(xl, "ct helper%s \\\"%s\\\"", - info->invert ? " !=" : "", info->name); + if (params->escape_quotes) + xt_xlate_add(xl, "ct helper%s \\\"%s\\\"", + info->invert ? " !=" : "", info->name); + else + xt_xlate_add(xl, "ct helper%s \"%s\"", + info->invert ? " !=" : "", info->name); return 1; } |