From: Christopher Faulet Date: Wed, 15 Jul 2020 13:55:52 +0000 (+0200) Subject: BUG/MINOR: mux-fcgi: Set conn state to RECORD_P when skipping the record padding X-Git-Tag: v2.3-dev1~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c99d3baeabef9aa3a798b2251215f1026b48751;p=thirdparty%2Fhaproxy.git BUG/MINOR: mux-fcgi: Set conn state to RECORD_P when skipping the record padding When the padding of a "stream" record (STDOUT or STDERR) is skipped, we must set the connection state to RECORD_P. It is especially important if the padding is not fully received. This patch must be backported as far as 2.1. --- diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c index d1094d9020..efe5d54656 100644 --- a/src/mux_fcgi.c +++ b/src/mux_fcgi.c @@ -2295,6 +2295,7 @@ static int fcgi_strm_handle_stdout(struct fcgi_conn *fconn, struct fcgi_strm *fs goto fail; end_transfer: + fconn->state = FCGI_CS_RECORD_P; fconn->drl += fconn->drp; fconn->drp = 0; ret = MIN(b_data(&fconn->dbuf), fconn->drl); @@ -2379,6 +2380,7 @@ static int fcgi_strm_handle_stderr(struct fcgi_conn *fconn, struct fcgi_strm *fs goto fail; end_transfer: + fconn->state = FCGI_CS_RECORD_P; fconn->drl += fconn->drp; fconn->drp = 0; ret = MIN(b_data(&fconn->dbuf), fconn->drl);