summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2023-09-26 16:55:50 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2023-11-03 12:24:21 +0100
commit4bf0583f8505d267db119884c636c0f0f814a1be (patch)
tree352930c2d6d5e12e5f5fea067f27f75a5dcb0a68
parent3b99ef54693d56e1ce57dcc484c373f35b612679 (diff)
json: expose dynamic flag
commit 57f5aca0006ebf984ffc1f66d48cf3b74a3d1f59 upstream. The dynamic flag is not exported via JSON, this triggers spurious ENOTSUPP errors when restoring rulesets in JSON with dynamic flags set on. Fixes: 6e45b102650a2 ("nft: set: print dynamic flag when set") Acked-by: Phil Sutter <phil@nwl.cc> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/json.c2
-rw-r--r--src/parser_json.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/json.c b/src/json.c
index 89ff8a34..c030e3d9 100644
--- a/src/json.c
+++ b/src/json.c
@@ -165,6 +165,8 @@ static json_t *set_print_json(struct output_ctx *octx, const struct set *set)
json_array_append_new(tmp, json_pack("s", "interval"));
if (set->flags & NFT_SET_TIMEOUT)
json_array_append_new(tmp, json_pack("s", "timeout"));
+ if (set->flags & NFT_SET_EVAL)
+ json_array_append_new(tmp, json_pack("s", "dynamic"));
if (json_array_size(tmp) > 0) {
json_object_set_new(root, "flags", tmp);
diff --git a/src/parser_json.c b/src/parser_json.c
index 915d5e65..868b4b06 100644
--- a/src/parser_json.c
+++ b/src/parser_json.c
@@ -3022,6 +3022,7 @@ static int string_to_set_flag(const char *str)
{ NFT_SET_CONSTANT, "constant" },
{ NFT_SET_INTERVAL, "interval" },
{ NFT_SET_TIMEOUT, "timeout" },
+ { NFT_SET_EVAL, "dynamic" },
};
unsigned int i;