]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
src: payload: export and use payload_expr_cmp
authorFlorian Westphal <fw@strlen.de>
Fri, 8 Feb 2019 16:02:20 +0000 (17:02 +0100)
committerFlorian Westphal <fw@strlen.de>
Fri, 8 Feb 2019 20:22:33 +0000 (21:22 +0100)
expr->ops is going away, so export payload cmp and use it directly.

Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/payload.h
src/netlink_delinearize.c
src/payload.c

index 161c64aedf11bfdf36f2f2fe3f0a8bdf2b924dbc..a914d23930e92b8ae87d42483a35d895b4fb6f95 100644 (file)
@@ -59,4 +59,6 @@ extern void payload_expr_expand(struct list_head *list, struct expr *expr,
 extern void payload_expr_complete(struct expr *expr,
                                  const struct proto_ctx *ctx);
 
+bool payload_expr_cmp(const struct expr *e1, const struct expr *e2);
+
 #endif /* NFTABLES_PAYLOAD_H */
index d492910c2f93326add872ceadbe2bdf3372023e1..21c6858ab4a8fc0f8f6cfd898afb79c76940f32a 100644 (file)
@@ -2371,7 +2371,7 @@ static void stmt_payload_binop_postprocess(struct rule_pp_ctx *ctx)
                if (payload->ops->type != EXPR_PAYLOAD)
                        return;
 
-               if (!payload->ops->cmp(stmt->payload.expr, payload))
+               if (!payload_expr_cmp(stmt->payload.expr, payload))
                        return;
 
                mask = binop->right;
index f638b0c0848c41a7972f5d6d4f90459f7e8054df..5fd2a07bf8a5bfdd8e0961ed9446777facd532ea 100644 (file)
@@ -54,7 +54,7 @@ static void payload_expr_print(const struct expr *expr, struct output_ctx *octx)
                          expr->payload.offset, expr->len);
 }
 
-static bool payload_expr_cmp(const struct expr *e1, const struct expr *e2)
+bool payload_expr_cmp(const struct expr *e1, const struct expr *e2)
 {
        return e1->payload.desc   == e2->payload.desc &&
               e1->payload.tmpl   == e2->payload.tmpl &&