diff options
author | Fernando Fernandez Mancera <ffmancera@riseup.net> | 2019-05-24 15:06:47 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-05-24 21:29:54 +0200 |
commit | f1e8a129ee428419a0d5a45a2f410e8e4008d109 (patch) | |
tree | 7216ec99ab5873ca6706c766a04b4d0209efef90 /src/evaluate.c | |
parent | 4b0f2a712b5792d2842d89fe68d4230e0eb05c7e (diff) |
src: Introduce chain_expr in jump and goto statements
Introduce expressions as a chain in jump and goto statements.
This is going to be used to support variables as a chain in the
following patches.
Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/evaluate.c')
-rw-r--r-- | src/evaluate.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/evaluate.c b/src/evaluate.c index 21d9e146..83940378 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -1947,6 +1947,10 @@ static int stmt_evaluate_verdict(struct eval_ctx *ctx, struct stmt *stmt) case EXPR_VERDICT: if (stmt->expr->verdict != NFT_CONTINUE) stmt->flags |= STMT_F_TERMINAL; + if (stmt->expr->chain != NULL) { + if (expr_evaluate(ctx, &stmt->expr->chain) < 0) + return -1; + } break; case EXPR_MAP: break; |