MINOR: quic: protect QUIC specific bits
This commit is contained in:
parent
4107fdb7be
commit
c87799652a
@ -1241,7 +1241,7 @@ int qc_parse_frm(struct quic_frame *frm, struct quic_rx_packet *pkt,
|
|||||||
}
|
}
|
||||||
|
|
||||||
parser = qf_parser(frm->type);
|
parser = qf_parser(frm->type);
|
||||||
if (!(parser->mask & (1U << pkt->type))) {
|
if (pkt && !(parser->mask & (1U << pkt->type))) {
|
||||||
TRACE_DEVEL("unauthorized frame", QUIC_EV_CONN_PRSFRM, qc, frm);
|
TRACE_DEVEL("unauthorized frame", QUIC_EV_CONN_PRSFRM, qc, frm);
|
||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
@ -1253,6 +1253,7 @@ int qc_parse_frm(struct quic_frame *frm, struct quic_rx_packet *pkt,
|
|||||||
|
|
||||||
TRACE_PROTO("RX frm", QUIC_EV_CONN_PSTRM, qc, frm);
|
TRACE_PROTO("RX frm", QUIC_EV_CONN_PSTRM, qc, frm);
|
||||||
|
|
||||||
|
if (pkt)
|
||||||
pkt->flags |= parser->flags;
|
pkt->flags |= parser->flags;
|
||||||
|
|
||||||
ret = 1;
|
ret = 1;
|
||||||
@ -1276,7 +1277,7 @@ int qc_build_frm(unsigned char **pos, const unsigned char *end,
|
|||||||
|
|
||||||
TRACE_ENTER(QUIC_EV_CONN_BFRM, qc);
|
TRACE_ENTER(QUIC_EV_CONN_BFRM, qc);
|
||||||
builder = qf_builder(frm->type);
|
builder = qf_builder(frm->type);
|
||||||
if (!(builder->mask & (1U << pkt->type))) {
|
if (pkt && !(builder->mask & (1U << pkt->type))) {
|
||||||
/* XXX This it a bug to send an unauthorized frame with such a packet type XXX */
|
/* XXX This it a bug to send an unauthorized frame with such a packet type XXX */
|
||||||
TRACE_ERROR("unauthorized frame", QUIC_EV_CONN_BFRM, qc, frm);
|
TRACE_ERROR("unauthorized frame", QUIC_EV_CONN_BFRM, qc, frm);
|
||||||
BUG_ON(!(builder->mask & (1U << pkt->type)));
|
BUG_ON(!(builder->mask & (1U << pkt->type)));
|
||||||
@ -1293,6 +1294,7 @@ int qc_build_frm(unsigned char **pos, const unsigned char *end,
|
|||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pkt)
|
||||||
pkt->flags |= builder->flags;
|
pkt->flags |= builder->flags;
|
||||||
*pos = p;
|
*pos = p;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user