From 501d8be41d4e4910e874a1131f7de1521e0252d4 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Thu, 9 May 2019 13:35:37 +0200 Subject: json: Support nat in inet family Add the missing bits to JSON parser, printer, man page and testsuite. Fixes: fbe27464dee45 ("src: add nat support for the inet family") Signed-off-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso --- src/parser_json.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/parser_json.c') diff --git a/src/parser_json.c b/src/parser_json.c index 3dc3a5c5..b83c94d8 100644 --- a/src/parser_json.c +++ b/src/parser_json.c @@ -1840,9 +1840,9 @@ static int nat_type_parse(const char *type) static struct stmt *json_parse_nat_stmt(struct json_ctx *ctx, const char *key, json_t *value) { + int type, familyval; struct stmt *stmt; json_t *tmp; - int type; type = nat_type_parse(key); if (type < 0) { @@ -1850,7 +1850,12 @@ static struct stmt *json_parse_nat_stmt(struct json_ctx *ctx, return NULL; } + familyval = json_parse_family(ctx, value); + if (familyval < 0) + return NULL; + stmt = nat_stmt_alloc(int_loc, type); + stmt->nat.family = familyval; if (!json_unpack(value, "{s:o}", "addr", &tmp)) { stmt->nat.addr = json_parse_stmt_expr(ctx, tmp); -- cgit v1.2.3