mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 06:11:32 +02:00
BUG/MEDIUM: h1: Don't consider we're connected if the handshake isn't done.
In h1_process(), don't consider we're connected if we still have handshakes pending. It used not to happen, because we would not be called if there were any ongoing handshakes, but that changed now that the handshakes are handled by a xprt, and not by conn_fd_handler() directly.
This commit is contained in:
parent
92d093d641
commit
690e0f07f5
@ -1936,7 +1936,8 @@ static int h1_process(struct h1c * h1c)
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (h1c->flags & H1C_F_CS_WAIT_CONN) {
|
if (h1c->flags & H1C_F_CS_WAIT_CONN) {
|
||||||
if (!(conn->flags & (CO_FL_CONNECTED|CO_FL_ERROR)))
|
if (!(conn->flags & (CO_FL_CONNECTED|CO_FL_ERROR)) ||
|
||||||
|
(conn->flags & CO_FL_HANDSHAKE))
|
||||||
goto end;
|
goto end;
|
||||||
h1c->flags &= ~H1C_F_CS_WAIT_CONN;
|
h1c->flags &= ~H1C_F_CS_WAIT_CONN;
|
||||||
h1_wake_stream_for_send(h1s);
|
h1_wake_stream_for_send(h1s);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user