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.
This commit is contained in:
Christopher Faulet 2019-07-04 17:12:12 +02:00
parent 16b2be93ad
commit f8db73efbe

View File

@ -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) {