Welcome! Log In Create A New Profile

Advanced

[QUIC] padding of Initial packets

Vladimir Homutov
February 02, 2022 05:58AM
# HG changeset patch
# User Vladimir Homutov <vl@nginx.com>
# Date 1643796973 -10800
# Wed Feb 02 13:16:13 2022 +0300
# Branch quic
# Node ID fbfbcf66990e8964bcf308f3869f37d1a1acceeb
# Parent 8c6645ecaeb6cbf27976fd9035440bfcab943117
QUIC: fixed padding of initial packets in case of limited path.

Previously, non-padded initial packet could be sent as a result of the
following situation:

- initial queue is not empty (so padding to 1200 is required)
- handhsake queue is not empty (so padding is to be added after h/s packet)
- path is limited

If serializing handshake packet would violate path limit, such packet was
omitted, and the non-padded initial packet was sent.

The fix is to avoid sending the packet at all in such case. This follows the
original intention introduced in c5155a0cb12f.

diff --git a/src/event/quic/ngx_event_quic_output.c b/src/event/quic/ngx_event_quic_output.c
--- a/src/event/quic/ngx_event_quic_output.c
+++ b/src/event/quic/ngx_event_quic_output.c
@@ -158,7 +158,14 @@ ngx_quic_create_datagrams(ngx_connection
? NGX_QUIC_MIN_INITIAL_SIZE - (p - dst) : 0;

if (min > len) {
- continue;
+ /* padding can't be applied - avoid sending the packet */
+
+ for (i = 0; i < NGX_QUIC_SEND_CTX_LAST; i++) {
+ ctx = &qc->send_ctx[i];
+ ngx_quic_revert_send(c, ctx, preserved_pnum[i]);
+ }
+
+ return NGX_OK;
}

n = ngx_quic_output_packet(c, ctx, p, len, min);

_______________________________________________
nginx-devel mailing list -- nginx-devel@nginx.org
To unsubscribe send an email to nginx-devel-leave@nginx.org
Subject Author Views Posted

[QUIC] padding of Initial packets

Vladimir Homutov 413 February 02, 2022 05:58AM

Re: [QUIC] padding of Initial packets

Sergey Kandaurov 136 February 02, 2022 06:10AM

Re: [QUIC] padding of Initial packets

Andrey Kolyshkin 111 February 08, 2022 06:12AM

Re: [QUIC] padding of Initial packets

Vladimir Homutov 104 February 08, 2022 07:46AM

Re: [QUIC] padding of Initial packets

Vladimir Homutov 176 February 09, 2022 08:38AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 309
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready