]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
Revert "intervals: do not merge intervals with different timeout"
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 17 Apr 2025 11:23:10 +0000 (13:23 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 17 Apr 2025 20:01:09 +0000 (22:01 +0200)
This reverts commit da0bac050c8b2588242727f9915a1ea8bc48ceb2.

This results in an error when adding an interval that overlaps an
existing interval in the kernel, this defeats the purpose of the
auto-merge feature.

Reported-by: Slavko <linux@slavino.sk>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/intervals.c

index 1ab443bcde87e4bc2127d89cb272647564634334..bf125a0c59d344f80d16fd69b39ca7eaa1f3ebc2 100644 (file)
@@ -162,8 +162,6 @@ static void set_prev_elem(struct expr **prev, struct expr *i,
        mpz_set(prev_range->high, range->high);
 }
 
-static struct expr *interval_expr_key(struct expr *i);
-
 static void setelem_automerge(struct set_automerge_ctx *ctx)
 {
        struct expr *i, *next, *prev = NULL;
@@ -183,9 +181,7 @@ static void setelem_automerge(struct set_automerge_ctx *ctx)
                range_expr_value_low(range.low, i);
                range_expr_value_high(range.high, i);
 
-               if (!prev ||
-                   interval_expr_key(prev)->timeout != interval_expr_key(i)->timeout ||
-                   interval_expr_key(prev)->expiration != interval_expr_key(i)->expiration) {
+               if (!prev) {
                        set_prev_elem(&prev, i, &prev_range, &range);
                        continue;
                }