summaryrefslogtreecommitdiffstats
path: root/src/json.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2019-07-11 15:50:13 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2019-07-16 19:53:43 +0200
commit83fca32ec0e18a601c8f250f2767b5bba88566b6 (patch)
treebedbbb2de15ac71ba720ba81318f5325783e7c48 /src/json.c
parent04129edfe031c34d22e182f617d06e35d93a408f (diff)
evaluate: honor NFT_SET_OBJECT flag
This is noticeable when displaying mispelling errors, however, there are also few spots not checking for the object map flag. Before: # nft flush set inet filter countermxx Error: No such file or directory; did you mean set ‘countermap’ in table inet ‘filter’? flush set inet filter countermxx ^^^^^^^^^^ After: # nft flush set inet filter countermxx Error: No such file or directory; did you mean map ‘countermap’ in table inet ‘filter’? flush set inet filter countermxx ^^^^^^^^^^ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/json.c b/src/json.c
index b21677ef..215de65a 100644
--- a/src/json.c
+++ b/src/json.c
@@ -1605,14 +1605,13 @@ static json_t *do_list_sets_json(struct netlink_ctx *ctx, struct cmd *cmd)
list_for_each_entry(set, &table->sets, list) {
if (cmd->obj == CMD_OBJ_SETS &&
- (set->flags & NFT_SET_ANONYMOUS ||
- set->flags & NFT_SET_MAP))
+ !set_is_literal(set->flags))
continue;
if (cmd->obj == CMD_OBJ_METERS &&
!(set->flags & NFT_SET_EVAL))
continue;
if (cmd->obj == CMD_OBJ_MAPS &&
- !(set->flags & NFT_SET_MAP))
+ !map_is_literal(set->flags))
continue;
json_array_append_new(root, set_print_json(octx, set));
}