mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 23:27:04 +02:00
MINOR: quic: handle all frame types on reception
Ensure every frame types are handled in qc_parse_pkt_frms. Add an ABORT_NOW on the default case. This is safe as an unknown frame must be rejected prior via qc_parse_frm().
This commit is contained in:
parent
5a2aa8c161
commit
80b82c2192
@ -882,6 +882,7 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
|
||||
case QUIC_FT_PING:
|
||||
break;
|
||||
case QUIC_FT_ACK:
|
||||
case QUIC_FT_ACK_ECN:
|
||||
{
|
||||
unsigned int rtt_sample;
|
||||
rtt_sample = UINT_MAX;
|
||||
@ -924,6 +925,9 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
|
||||
if (!qc_handle_crypto_frm(qc, &frm.crypto, pkt, qel, &fast_retrans))
|
||||
goto leave;
|
||||
break;
|
||||
case QUIC_FT_NEW_TOKEN:
|
||||
/* TODO */
|
||||
break;
|
||||
case QUIC_FT_STREAM_8 ... QUIC_FT_STREAM_F:
|
||||
{
|
||||
struct qf_stream *strm_frm = &frm.stream;
|
||||
@ -1023,6 +1027,10 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
|
||||
}
|
||||
break;
|
||||
}
|
||||
case QUIC_FT_PATH_CHALLENGE:
|
||||
case QUIC_FT_PATH_RESPONSE:
|
||||
/* TODO */
|
||||
break;
|
||||
case QUIC_FT_CONNECTION_CLOSE:
|
||||
case QUIC_FT_CONNECTION_CLOSE_APP:
|
||||
/* Increment the error counters */
|
||||
@ -1054,8 +1062,8 @@ static int qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,
|
||||
qc->state = QUIC_HS_ST_CONFIRMED;
|
||||
break;
|
||||
default:
|
||||
TRACE_ERROR("unknosw frame type", QUIC_EV_CONN_PRSHPKT, qc);
|
||||
goto leave;
|
||||
/* Unknown frame type must be rejected by qc_parse_frm(). */
|
||||
ABORT_NOW();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user