MINOR: quic: Do not accept wrong active_connection_id_limit values

A peer must not send active_connection_id_limit values smaller than 2
which is also the minimum value when not sent.

Make the transport parameters decoding fail in this case.

Must be backported to 2.7.
This commit is contained in:
Frédéric Lécaille 2023-03-06 13:57:40 +01:00 committed by Amaury Denoyelle
parent ebfafc212a
commit 4afbca611f

View File

@ -609,6 +609,13 @@ static int quic_transport_params_decode(struct quic_transport_params *p, int ser
!p->initial_source_connection_id_present)
return 0;
/* Note that if not received by the peer, active_connection_id_limit will
* have QUIC_TP_DFLT_ACTIVE_CONNECTION_ID_LIMIT as default value. This
* is also the minimum value for this transport parameter.
*/
if (p->active_connection_id_limit < QUIC_TP_DFLT_ACTIVE_CONNECTION_ID_LIMIT)
return 0;
return 1;
}