With QMux, each peer has to first emit a transport parameters frame. If
the received frame is different, xprt_qmux handshake cannot proceed.
This patch removes the BUG_ON() in this case, replacing it with a safer
connection closure.
In the future, a graceful close with CONNECTION_CLOSE frame should be
implemented.
No need to backport.
goto fail;
/* TODO close connection with TRANSPORT_PARAMETER_ERROR if frame not present. */
- BUG_ON(frm.type != QUIC_FT_QX_TRANSPORT_PARAMETERS);
+ if (frm.type != QUIC_FT_QX_TRANSPORT_PARAMETERS)
+ goto fail;
if (!qc_parse_frm_payload(&frm, &pos, end, NULL))
goto fail;