diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-10-25 23:32:34 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-10-27 00:37:34 +0200 |
commit | cd4a4a385793bc423062c564eb6504d2c565f481 (patch) | |
tree | 511bc77fe2907ce470e3f47838c2130383117601 /src/cache.c | |
parent | b4dded0ca78df2a67245a3db1448a51207577ff1 (diff) |
cache: always set on NFT_CACHE_REFRESH for listing
This flag forces a refresh of the cache on list commands, several
object types are missing this flag, this fixes nft --interactive
mode.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/cache.c')
-rw-r--r-- | src/cache.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/cache.c b/src/cache.c index c602f93a..3cbf99e8 100644 --- a/src/cache.c +++ b/src/cache.c @@ -136,7 +136,7 @@ static unsigned int evaluate_cache_list(struct nft_ctx *nft, struct cmd *cmd, if (filter && cmd->handle.table.name) filter->table = cmd->handle.table.name; - flags |= NFT_CACHE_FULL | NFT_CACHE_REFRESH; + flags |= NFT_CACHE_FULL; break; case CMD_OBJ_SET: case CMD_OBJ_MAP: @@ -145,9 +145,9 @@ static unsigned int evaluate_cache_list(struct nft_ctx *nft, struct cmd *cmd, filter->set = cmd->handle.set.name; } if (nft_output_terse(&nft->output)) - flags |= (NFT_CACHE_FULL & ~NFT_CACHE_SETELEM) | NFT_CACHE_REFRESH; + flags |= (NFT_CACHE_FULL & ~NFT_CACHE_SETELEM); else - flags |= NFT_CACHE_FULL | NFT_CACHE_REFRESH; + flags |= NFT_CACHE_FULL; break; case CMD_OBJ_CHAINS: flags |= NFT_CACHE_TABLE | NFT_CACHE_CHAIN; @@ -161,13 +161,14 @@ static unsigned int evaluate_cache_list(struct nft_ctx *nft, struct cmd *cmd, break; case CMD_OBJ_RULESET: if (nft_output_terse(&nft->output)) - flags |= (NFT_CACHE_FULL & ~NFT_CACHE_SETELEM) | NFT_CACHE_REFRESH; + flags |= (NFT_CACHE_FULL & ~NFT_CACHE_SETELEM); else - flags |= NFT_CACHE_FULL | NFT_CACHE_REFRESH; + flags |= NFT_CACHE_FULL; default: - flags |= NFT_CACHE_FULL | NFT_CACHE_REFRESH; + flags |= NFT_CACHE_FULL; break; } + flags |= NFT_CACHE_REFRESH; return flags; } |