summaryrefslogtreecommitdiffstats
path: root/src/json.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2018-10-29 14:04:07 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2018-10-29 18:19:13 +0100
commitbaa4e0e3fa5ff9ad6e3c97b0347ad23058c545d9 (patch)
tree3a9bbd3d76c459e1e0a3c6082fe584d5e24e6c1e /src/json.c
parent1a5153117784c267ceb81c048dd5e9b9c4309fbb (diff)
src: add NFT_CTX_OUTPUT_NUMERIC_PROTO
We keep printing layer 4 protocols as literals since we do not use /etc/protocols. This new flag allows us to print it as a number. libnftables internally uses this to print layer 4 protocol as numbers when part of a range. Acked-by: Phil Sutter <phil@nwl.cc> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/json.c b/src/json.c
index e90445fc..8a2bcd65 100644
--- a/src/json.c
+++ b/src/json.c
@@ -448,6 +448,7 @@ json_t *range_expr_json(const struct expr *expr, struct output_ctx *octx)
json_t *root;
octx->flags &= ~NFT_CTX_OUTPUT_SERVICE;
+ octx->flags |= NFT_CTX_OUTPUT_NUMERIC_PROTO;
root = json_pack("{s:[o, o]}", "range",
expr_print_json(expr->left, octx),
expr_print_json(expr->right, octx));
@@ -961,7 +962,7 @@ json_t *inet_protocol_type_json(const struct expr *expr,
{
struct protoent *p;
- if (octx->numeric < NFT_NUMERIC_ALL) {
+ if (!nft_output_numeric_proto(octx)) {
p = getprotobynumber(mpz_get_uint8(expr->value));
if (p != NULL)
return json_string(p->p_name);