diff options
author | Phil Sutter <phil@nwl.cc> | 2019-05-09 13:35:37 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-05-09 17:19:50 +0200 |
commit | 501d8be41d4e4910e874a1131f7de1521e0252d4 (patch) | |
tree | d2f9b2957a27a71f08c192ccf6ded20ed9a27881 /src/parser_json.c | |
parent | 590ba3efda281f3df125ede59fa547b30b97a643 (diff) |
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 <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/parser_json.c')
-rw-r--r-- | src/parser_json.c | 7 |
1 files changed, 6 insertions, 1 deletions
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); |