]> git.ipfire.org Git - thirdparty/nftables.git/commit
ct timeout: fix 'list object x' vs. 'list objects in table' confusion
authorFlorian Westphal <fw@strlen.de>
Mon, 19 Jun 2023 20:43:06 +0000 (22:43 +0200)
committerFlorian Westphal <fw@strlen.de>
Tue, 20 Jun 2023 19:47:53 +0000 (21:47 +0200)
commit1d2e22fc0521bcf73ee1f891c291dc1bde47a6bb
tree6274cc3330a6199fe3624595eb94698b194e7802
parentd40c7623837424d4eb8048508b924887b092e050
ct timeout: fix 'list object x' vs. 'list objects in table' confusion

<empty ruleset>
$ nft list ct timeout table t
Error: No such file or directory
list ct timeout table t
                      ^
This is expected to list all 'ct timeout' objects.
The failure is correct, the table 't' does not exist.

But now lets add one:
$ nft add table t
$ nft list ct timeout  table t
Segmentation fault (core dumped)

... and thats not expected, nothing should be shown
and nft should exit normally.

Because of missing TIMEOUTS command enum, the backend thinks
it should do an object lookup, but as frontend asked for
'list of objects' rather than 'show this object',
handle.obj.name is NULL, which then results in this crash.

Update the command enums so that backend knows what the
frontend asked for.

Signed-off-by: Florian Westphal <fw@strlen.de>
include/rule.h
src/cache.c
src/evaluate.c
src/parser_bison.y
src/rule.c