From 071fa72b1db1ad897c19846720c3df40e9c4d574 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Sun, 27 Aug 2017 22:24:19 +0200 Subject: evaluate: convert expr_rt byteorder when evaluating statment arg expr_rt might write data in host byte order, so make sure to convert if needed. This makes 'tcp option maxseg size rt mtu' actually work, right now such rules are no-ops because nft_exthdr never increases the mss. While at it, extend the example to not bother testing non-syn packets. Reported-by: Matteo Croce Signed-off-by: Florian Westphal Acked-by: Pablo Neira Ayuso --- src/evaluate.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/evaluate.c b/src/evaluate.c index f21ac1a0..9954d5c5 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -1799,6 +1799,8 @@ static int stmt_evaluate_arg(struct eval_ctx *ctx, struct stmt *stmt, return stmt_binary_error(ctx, *expr, stmt, "you cannot reference a set here, " "unknown value to use"); + case EXPR_RT: + return byteorder_conversion(ctx, expr, byteorder); default: break; } -- cgit v1.2.3