From 9bcd973a818bcc737f627ef9cef211b33229f18f Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Sat, 2 May 2020 09:21:24 +0200 Subject: [PATCH] BUG/MEDIUM: mux-fcgi: Fix wrong test on FCGI_CF_KEEP_CONN in fcgi_detach() When a stream is detached from its connection, we try to move the connection in an idle list to keep it opened, the session one or the server one. But it must only be done if there is no connection error and if we want to keep it open. This last statement is true if FCGI_CF_KEEP_CONN flag is set. But the test is inverted at the stage. This patch must be backported to 2.1. --- src/mux_fcgi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c index 1db86460d..5685ba9c4 100644 --- a/src/mux_fcgi.c +++ b/src/mux_fcgi.c @@ -3532,7 +3532,7 @@ static void fcgi_detach(struct conn_stream *cs) fcgi_strm_destroy(fstrm); if (!(fconn->conn->flags & (CO_FL_ERROR|CO_FL_SOCK_RD_SH|CO_FL_SOCK_WR_SH)) && - !(fconn->flags & FCGI_CF_KEEP_CONN)) { + (fconn->flags & FCGI_CF_KEEP_CONN)) { /* Never ever allow to reuse a connection from a non-reuse backend */ if ((fconn->proxy->options & PR_O_REUSE_MASK) == PR_O_REUSE_NEVR) fconn->conn->flags |= CO_FL_PRIVATE;