From: Florian Westphal <fw@strlen.de>
To: Martin Gignac <martin.gignac@gmail.com>
Cc: netfilter@vger.kernel.org,
netfilter-devel <netfilter-devel@vger.kernel.org>
Subject: Re: Unable to create a chain called "trace"
Date: Mon, 8 Feb 2021 16:49:15 +0100 [thread overview]
Message-ID: <20210208154915.GF16570@breakpoint.cc> (raw)
In-Reply-To: <CANf9dFMJN5ZsihtygUnEWB_9T=WLbEHrZY1a5mTqLgN7J39D5w@mail.gmail.com>
Martin Gignac <martin.gignac@gmail.com> wrote:
[ cc devel ]
> Out of curiosity, is there a reason why calling a chain "trace"
> results in an error?
>
> This configuration:
>
> chain trace {
> type filter hook prerouting priority -301;
> ip daddr 24.153.88.9 ip protocol icmp meta nftrace set 1
> }
>
> Results in the following error when I try loading the ruleset:
>
> /etc/firewall/rules.nft:40:9-13: Error: syntax error, unexpected
> trace, expecting string
> chain trace {
> ^^^^^
grammar bug.
Pablo, Phil, others, can you remind me why we never did:
diff --git a/src/monitor.c b/src/monitor.c
--- a/src/monitor.c
+++ b/src/monitor.c
@@ -254,7 +254,7 @@ static int netlink_events_chain_cb(const struct nlmsghdr *nlh, int type,
chain_print_plain(c, &monh->ctx->nft->output);
break;
case NFT_MSG_DELCHAIN:
- nft_mon_print(monh, "chain %s %s %s",
+ nft_mon_print(monh, "chain %s \"%s\" \"%s\"",
family2str(c->handle.family),
c->handle.table.name,
c->handle.chain.name);
diff --git a/src/parser_bison.y b/src/parser_bison.y
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -2395,6 +2395,7 @@ chain_policy : ACCEPT { $$ = NF_ACCEPT; }
;
identifier : STRING
+ | QUOTED_STRING
;
string : STRING
diff --git a/src/rule.c b/src/rule.c
index e4bb6bae276a..77477e535f2e 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -1236,7 +1236,7 @@ static void chain_print_declaration(const struct chain *chain,
if (chain->flags & CHAIN_F_BINDING)
return;
- nft_print(octx, "\tchain %s {", chain->handle.chain.name);
+ nft_print(octx, "\tchain \"%s\" {", chain->handle.chain.name);
if (nft_output_handle(octx))
nft_print(octx, " # handle %" PRIu64, chain->handle.handle.id);
if (chain->comment)
@@ -1297,7 +1297,7 @@ void chain_print_plain(const struct chain *chain, struct output_ctx *octx)
char priobuf[STD_PRIO_BUFSIZE];
int policy;
- nft_print(octx, "chain %s %s %s", family2str(chain->handle.family),
+ nft_print(octx, "chain %s \"%s\" \"%s\"", family2str(chain->handle.family),
chain->handle.table.name, chain->handle.chain.name);
if (chain->flags & CHAIN_F_BASECHAIN) {
?
next parent reply other threads:[~2021-02-08 15:50 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CANf9dFMJN5ZsihtygUnEWB_9T=WLbEHrZY1a5mTqLgN7J39D5w@mail.gmail.com>
2021-02-08 15:49 ` Florian Westphal [this message]
2021-02-08 16:47 ` Unable to create a chain called "trace" Phil Sutter
2021-02-08 17:14 ` Florian Westphal
2021-02-09 13:56 ` Phil Sutter
2021-02-12 0:05 ` Florian Westphal
2021-02-12 11:40 ` Phil Sutter
2021-02-12 12:20 ` Florian Westphal
2021-02-12 17:09 ` Pablo Neira Ayuso
2021-02-12 17:32 ` Phil Sutter
2021-02-12 17:54 ` Pablo Neira Ayuso
2021-02-12 21:07 ` Phil Sutter
2021-02-12 18:02 ` Balazs Scheidler
2021-02-17 19:59 ` Phil Sutter
2021-02-17 20:16 ` Florian Westphal
2021-02-12 12:29 ` Florian Westphal
2021-02-12 12:48 ` Phil Sutter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210208154915.GF16570@breakpoint.cc \
--to=fw@strlen.de \
--cc=martin.gignac@gmail.com \
--cc=netfilter-devel@vger.kernel.org \
--cc=netfilter@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).