summaryrefslogtreecommitdiffstats
path: root/extensions/libxt_comment.c
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2022-11-30 10:31:52 +0100
committerPhil Sutter <phil@nwl.cc>2022-11-30 20:26:23 +0100
commit83604e7f7327b6b3197f98b4e579a2b88a4c7356 (patch)
treea6d3808c73531b172c112d590c8232417fdf9aeb /extensions/libxt_comment.c
parent71e159f62451736f217792a7f8cfa8ab00add4d0 (diff)
xlate: get rid of escape_quotes
Its not necessary to escape " characters, we can let xtables-translate print the entire translation/command enclosed in '' chracters, i.e. nft 'add rule ...', this also takes care of [, { and other special characters that some shells might parse otherwise (when copy-pasting translated output). The escape_quotes struct member is retained to avoid an ABI breakage. This breaks all xlate test cases, fixup in followup patches. v3: no need to escape ', replace strcmp(x, "") with x[0] (Phil Sutter) Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'extensions/libxt_comment.c')
-rw-r--r--extensions/libxt_comment.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/extensions/libxt_comment.c b/extensions/libxt_comment.c
index 69795b6c..e9c539f6 100644
--- a/extensions/libxt_comment.c
+++ b/extensions/libxt_comment.c
@@ -55,12 +55,7 @@ static int comment_xlate(struct xt_xlate *xl,
char comment[XT_MAX_COMMENT_LEN + sizeof("\\\"\\\"")];
commentinfo->comment[XT_MAX_COMMENT_LEN - 1] = '\0';
- if (params->escape_quotes)
- snprintf(comment, sizeof(comment), "\\\"%s\\\"",
- commentinfo->comment);
- else
- snprintf(comment, sizeof(comment), "\"%s\"",
- commentinfo->comment);
+ snprintf(comment, sizeof(comment), "\"%s\"", commentinfo->comment);
xt_xlate_add_comment(xl, comment);