From: Christopher Faulet Date: Mon, 14 Sep 2026 17:14:25 +0000 (+0200) Subject: BUG/MEDIUM: tcp-rules: Don't restart tcp-request content evaluation on yield X-Git-Tag: v3.5-dev7~15 X-Git-Url: https://git.kaiwu.me/?a=commitdiff_plain;h=a376a1f7616f72a49d18e96d4fcac0c3634064aa;p=haproxy.git BUG/MEDIUM: tcp-rules: Don't restart tcp-request content evaluation on yield The commit 9f1e9ee0e ("DEBUG: stream: Display the currently running rule in stream dump") introduced a regression. The currently evaluated "tcp-request content" rule was reset on resume while it should not. If it yielded again, the rules evaluation was restarted to the first rule. The "tcp-response content" rule evaluation was properly modified by the commit above. The same must be performed gor the "tcp-request content" rule evaluation. This patch should fix the issue #3496. It must be backported as far as 3.2. --- diff --git a/src/tcp_rules.c b/src/tcp_rules.c index 8b0d92df6..3c2772f2e 100644 --- a/src/tcp_rules.c +++ b/src/tcp_rules.c @@ -138,7 +138,6 @@ int tcp_inspect_request(struct stream *s, struct channel *req, int an_bit) int forced = s->flags & SF_RULE_FYIELD; rule = s->current_rule; - s->current_rule = NULL; s->flags &= ~SF_RULE_FYIELD; if (!(req->flags & SC_FL_ERROR) && !(req->flags & (CF_READ_TIMEOUT|CF_WRITE_TIMEOUT))) { s->waiting_entity.type = STRM_ENTITY_NONE;