From 6c99d3baeabef9aa3a798b2251215f1026b48751 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Wed, 15 Jul 2020 15:55:52 +0200 Subject: [PATCH] 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. --- src/mux_fcgi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c index d1094d902..efe5d5465 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);