mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-09 16:47:18 +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:
|
case QUIC_FT_PING:
|
||||||
break;
|
break;
|
||||||
case QUIC_FT_ACK:
|
case QUIC_FT_ACK:
|
||||||
|
case QUIC_FT_ACK_ECN:
|
||||||
{
|
{
|
||||||
unsigned int rtt_sample;
|
unsigned int rtt_sample;
|
||||||
rtt_sample = UINT_MAX;
|
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))
|
if (!qc_handle_crypto_frm(qc, &frm.crypto, pkt, qel, &fast_retrans))
|
||||||
goto leave;
|
goto leave;
|
||||||
break;
|
break;
|
||||||
|
case QUIC_FT_NEW_TOKEN:
|
||||||
|
/* TODO */
|
||||||
|
break;
|
||||||
case QUIC_FT_STREAM_8 ... QUIC_FT_STREAM_F:
|
case QUIC_FT_STREAM_8 ... QUIC_FT_STREAM_F:
|
||||||
{
|
{
|
||||||
struct qf_stream *strm_frm = &frm.stream;
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
case QUIC_FT_PATH_CHALLENGE:
|
||||||
|
case QUIC_FT_PATH_RESPONSE:
|
||||||
|
/* TODO */
|
||||||
|
break;
|
||||||
case QUIC_FT_CONNECTION_CLOSE:
|
case QUIC_FT_CONNECTION_CLOSE:
|
||||||
case QUIC_FT_CONNECTION_CLOSE_APP:
|
case QUIC_FT_CONNECTION_CLOSE_APP:
|
||||||
/* Increment the error counters */
|
/* 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;
|
qc->state = QUIC_HS_ST_CONFIRMED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
TRACE_ERROR("unknosw frame type", QUIC_EV_CONN_PRSHPKT, qc);
|
/* Unknown frame type must be rejected by qc_parse_frm(). */
|
||||||
goto leave;
|
ABORT_NOW();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user