]> git.kaiwu.me - nginx.git/commitdiff
Adjusted transport parameters stub for active_connection_id_limit.
authorSergey Kandaurov <pluknet@nginx.com>
Wed, 4 Mar 2020 13:05:39 +0000 (16:05 +0300)
committerSergey Kandaurov <pluknet@nginx.com>
Wed, 4 Mar 2020 13:05:39 +0000 (16:05 +0300)
As was objserved with ngtcp2 client, Finished CRYPTO frame within Handshake
packet may not be sent for some reason if there's nothing to append on 1-RTT.
This results in unnecessary retransmit.  To avoid this edge case, a non-zero
active_connection_id_limit transport parameter is now used to append datagram
with NEW_CONNECTION_ID 1-RTT frames.

src/event/ngx_event_quic.c

index 75947a6334429cde056a5836436e9be2d66111cc..9ba20f3fb6712ec6f111352d817dac0b8a968b26 100644 (file)
@@ -1127,7 +1127,8 @@ ngx_quic_new_connection(ngx_connection_t *c, ngx_ssl_t *ssl, ngx_buf_t *b)
         return NGX_ERROR;
     }
 
-    static const uint8_t params[12] = "\x00\x0a\x00\x3a\x00\x01\x00\x00\x09\x00\x01\x03";
+    /* STUB: initial_max_streams_uni=3, active_connection_id_limit=5 */
+    static const uint8_t params[12] = "\x00\x0a\x00\x0e\x00\x01\x05\x00\x09\x00\x01\x03";
 
     if (SSL_set_quic_transport_params(c->ssl->connection, params,
                                       sizeof(params)) == 0)