From: Willy Tarreau Date: Wed, 31 Dec 2025 11:32:21 +0000 (+0100) Subject: BUG/MINOR: backend: fix the conn_retries check for TFO X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=799653d536918a25179df1d9597dfa3c283ef989;p=thirdparty%2Fhaproxy.git 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. --- 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);