BUG/MINOR: quic: wrong QUIC_FT_CONNECTION_CLOSE(0x1c) frame encoding

This is an old bug which was there since this commit:

     MINOR: quic: Avoid zeroing frame structures

It seems QUIC_FT_CONNECTION_CLOSE was confused with QUIC_FT_CONNECTION_CLOSE_APP
which does not include a "frame type" field. This field was not initialized
(so with a random value) which prevent the packet to be built because the
packet builder supposes the packet with such frames are very short.

Must be backported as far as 2.6.
This commit is contained in:
Frederic Lecaille 2025-06-23 16:52:09 +02:00
parent 7cb6167d04
commit 1e6d8f199c

View File

@ -1685,6 +1685,7 @@ static void qc_build_cc_frm(struct quic_conn *qc, struct quic_enc_level *qel,
* converting to a CONNECTION_CLOSE of type 0x1c.
*/
out->type = QUIC_FT_CONNECTION_CLOSE;
out->connection_close.frame_type = 0;
out->connection_close.error_code = QC_ERR_APPLICATION_ERROR;
out->connection_close.reason_phrase_len = 0;
}
@ -1696,6 +1697,7 @@ static void qc_build_cc_frm(struct quic_conn *qc, struct quic_enc_level *qel,
}
else {
out->type = QUIC_FT_CONNECTION_CLOSE;
out->connection_close.frame_type = 0;
out->connection_close.error_code = qc->err.code;
out->connection_close.reason_phrase_len = 0;
}