BUG/MEDIUM: connections: Don't forget to detach the connection from the SI.

When we're deferring the mux choice until the ALPN is negociated, we
attach the connection to the stream_interface until it's done, so that we
can destroy it if something goes wrong and the stream is destroy.
Before calling si_attach_cs() to attach the conn_stream once we have it,
call si_detach_endpoint(), or is_attach_cs() would destroy the connection.
This commit is contained in:
Olivier Houchard 2018-11-29 16:58:49 +01:00 committed by Willy Tarreau
parent 70d9b2fdb0
commit d76bd2d40b

View File

@ -1056,6 +1056,7 @@ static int conn_complete_server(struct connection *conn)
goto fail;
if (conn->flags & CO_FL_ERROR)
goto fail;
si_detach_endpoint(&s->si[1]);
cs = si_alloc_cs(&s->si[1], conn);
if (!cs)
goto fail;