From baa4e0e3fa5ff9ad6e3c97b0347ad23058c545d9 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Mon, 29 Oct 2018 14:04:07 +0100 Subject: 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 Signed-off-by: Pablo Neira Ayuso --- src/json.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/json.c') 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); -- cgit v1.2.3