From: Christopher Faulet Date: Thu, 4 Jul 2019 15:12:12 +0000 (+0200) Subject: BUG/MEDIUM: mux-h1: Handle TUNNEL state when outgoing messages are formatted X-Git-Tag: v2.1-dev1~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f8db73efbe5687624caa6b4b39e1619b78bf42d9;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: mux-h1: Handle TUNNEL state when outgoing messages are formatted Since the commit 94b2c7 ("MEDIUM: mux-h1: refactor output processing"), the formatting of outgoing messages is performed on the message state and no more on the HTX blocks read. But the TUNNEL state was left out. So, the HTTP tunneling using the CONNECT method or switching the protocol (for instance, the WebSocket) does not work. This issue was reported on Github. See #131. This patch must be backported to 2.0. --- diff --git a/src/mux_h1.c b/src/mux_h1.c index e0880e5e8d..89d9b7b651 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -1693,6 +1693,7 @@ static size_t h1_process_output(struct h1c *h1c, struct buffer *buf, size_t coun break; case H1_MSG_DATA: + case H1_MSG_TUNNEL: if (type == HTX_BLK_EOM) { /* Chunked message without explicit trailers */ if (h1m->flags & H1_MF_CHNK) {