From: Olivier Houchard Date: Thu, 13 Jun 2019 15:37:00 +0000 (+0200) Subject: BUG/MEDIUM: h1: Don't wait for handshake if we had an error. X-Git-Tag: v2.0.0~48 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6063003c969171009ed376201befe8a9da5d1e51;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: h1: Don't wait for handshake if we had an error. In h1_process(), only wait for the handshake if we had no error on the connection. If the handshake failed, we have to let the upper layer know. --- diff --git a/src/mux_h1.c b/src/mux_h1.c index 7fd07d3557..0de6690227 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -1937,7 +1937,7 @@ static int h1_process(struct h1c * h1c) if (h1c->flags & H1C_F_CS_WAIT_CONN) { if (!(conn->flags & (CO_FL_CONNECTED|CO_FL_ERROR)) || - (conn->flags & CO_FL_HANDSHAKE)) + (!(conn->flags & CO_FL_ERROR) && (conn->flags & CO_FL_HANDSHAKE))) goto end; h1c->flags &= ~H1C_F_CS_WAIT_CONN; h1_wake_stream_for_send(h1s);