From 799653d536918a25179df1d9597dfa3c283ef989 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 31 Dec 2025 12:32:21 +0100 Subject: [PATCH] BUG/MINOR: backend: fix the conn_retries check for TFO In 2.6, the retries counter on a stream was changed from retries left to retries done via commit 731c8e6cf ("MINOR: stream: Simplify retries counter calculation"). However, one comparison fell through the cracks in order to detect whether or not we can use TFO (only first attempt), resulting in TFO never working anymore. This may be backported to all versions till 2.6. --- src/backend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend.c b/src/backend.c index 587e3e7c0..b13922d65 100644 --- a/src/backend.c +++ b/src/backend.c @@ -1447,7 +1447,7 @@ static int do_connect_server(struct stream *s, struct connection *conn) if (co_data(&s->res)) conn_flags |= CONNECT_HAS_DATA; - if (s->conn_retries == s->max_retries) + if (s->conn_retries == 0) conn_flags |= CONNECT_CAN_USE_TFO; if (!conn_ctrl_ready(conn) || !conn_xprt_ready(conn)) { ret = conn->ctrl->connect(conn, conn_flags);