mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-05 22:56:57 +02:00
MINOR: quic-be: Allow sending 1200 bytes Initial datagrams
This easy to understand patch is not intrusive at all and cannot break the QUIC listeners. The QUIC client MUST always pad its datagrams with Initial packets. A "!l" (not a listener) test OR'ed with the existing ones is added to satisfy the condition to allow the build of such datagrams.
This commit is contained in:
parent
c898b29e64
commit
8a25fcd36e
@ -679,7 +679,7 @@ static int qc_prep_pkts(struct quic_conn *qc, struct buffer *buf,
|
||||
* datagrams carrying ack-eliciting Initial packets to at least the
|
||||
* smallest allowed maximum datagram size of 1200 bytes.
|
||||
*/
|
||||
if (qel == qc->iel && (!LIST_ISEMPTY(frms) || probe)) {
|
||||
if (qel == qc->iel && (!l || !LIST_ISEMPTY(frms) || probe)) {
|
||||
/* Ensure that no ack-eliciting packets are sent into too small datagrams */
|
||||
if (end - pos < QUIC_INITIAL_PACKET_MINLEN) {
|
||||
TRACE_PROTO("No more enough room to build an Initial packet",
|
||||
@ -704,7 +704,7 @@ static int qc_prep_pkts(struct quic_conn *qc, struct buffer *buf,
|
||||
*/
|
||||
cur_pkt = qc_build_pkt(&pos, end, qel, tls_ctx, frms,
|
||||
qc, ver, dglen, pkt_type, must_ack,
|
||||
padding && !next_qel && (!probe || !LIST_ISEMPTY(frms)),
|
||||
padding && (!l || (!next_qel && (!probe || !LIST_ISEMPTY(frms)))),
|
||||
probe, cc, &err);
|
||||
if (!cur_pkt) {
|
||||
switch (err) {
|
||||
|
Loading…
Reference in New Issue
Block a user