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.
This commit is contained in:
Olivier Houchard 2019-06-13 17:37:00 +02:00 committed by Olivier Houchard
parent f4a82fb26b
commit 6063003c96

View File

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