BUG/MINOR: quic: Unchecked pointer to Handshake packet number space

It is possible that there are still Initial crypto data in flight without
Handshake crypto data in flight. This is very rare but possible.

This issue was reported by handshakeloss interop test with quic-go as client
and @chipitsine in GH #2279.

No need to backport.
This commit is contained in:
Frdric Lcaille 2023-09-05 10:12:27 +02:00 committed by Willy Tarreau
parent 3afe54ed5b
commit aeb2f28ca7

View File

@ -1333,7 +1333,8 @@ int qc_dgrams_retransmit(struct quic_conn *qc)
if (!LIST_ISEMPTY(&hfrms))
hpktns->tx.pto_probe = 1;
qc->iel->retrans_frms = &ifrms;
qc->hel->retrans_frms = &hfrms;
if (qc->hel)
qc->hel->retrans_frms = &hfrms;
if (!qc_send_hdshk_pkts(qc, 1, qc->iel, qc->hel))
goto leave;
/* Put back unsent frames in their packet number spaces */