From: Christopher Faulet Date: Tue, 13 May 2025 16:35:29 +0000 (+0200) Subject: BUG/MINOR: mux-spop: Don't open new streams for SPOP connection on error X-Git-Tag: v3.1.8~39 X-Git-Url: http://git.haproxy.org/?a=commitdiff_plain;h=008cf82d78873832f3e605c21101223ddd16d9a5;p=haproxy-3.1.git BUG/MINOR: mux-spop: Don't open new streams for SPOP connection on error Till now, only SPOP connections fully closed or those with a TCP connection on error were concerned. But available streams could be reported for SPOP connections in error or closing state. But in these states, no NOTIFY frames will be sent and no ACK frames will be parsed. So, no new SPOP streams should be opened. This patch should be backported to 3.1. (cherry picked from commit 197eaaadfd636441ca6cc5d3e35c52197537bbd6) Signed-off-by: Willy Tarreau --- diff --git a/src/mux_spop.c b/src/mux_spop.c index 44d975a..c3d0214 100644 --- a/src/mux_spop.c +++ b/src/mux_spop.c @@ -594,7 +594,7 @@ static int spop_avail_streams(struct connection *conn) int ret1, ret2; /* Don't open new stream if the connection is closed */ - if (spop_conn->state == SPOP_CS_CLOSED) + if (spop_conn->state >= SPOP_CS_ERROR || (spop_conn->flags & (SPOP_CF_ERR_PENDING|SPOP_CF_ERROR))) return 0; /* May be negative if this setting has changed */