From: Pablo Neira Ayuso Date: Tue, 26 Sep 2023 14:55:50 +0000 (+0200) Subject: json: expose dynamic flag X-Git-Tag: v1.0.9~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=57f5aca0006ebf984ffc1f66d48cf3b74a3d1f59;p=thirdparty%2Fnftables.git json: expose dynamic flag 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 Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/json.c b/src/json.c index 446575c2..220ce0f7 100644 --- a/src/json.c +++ b/src/json.c @@ -176,6 +176,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 df327e95..16961d60 100644 --- a/src/parser_json.c +++ b/src/parser_json.c @@ -3136,6 +3136,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;