comparison src/event/ngx_event_quic.h @ 8634:831d1960826f quic

QUIC: generate default stateless reset token key. Previously, if quic_stateless_reset_token_key was empty or unspecified, initial stateless reset token was not generated. However subsequent tokens were generated with empty key, which resulted in error with certain SSL libraries, for example OpenSSL. Now a random 32-byte stateless reset token key is generated if none is specified in the configuration. As a result, stateless reset tokens are now generated for all server ids.
author Roman Arutyunyan <arut@nginx.com>
date Wed, 11 Nov 2020 21:08:48 +0000
parents feec2cc762f6
children dbad2d6d1898
comparison
equal deleted inserted replaced
8633:d8b01c2b8931 8634:831d1960826f
25 #define NGX_QUIC_MAX_UDP_PAYLOAD_OUT 1252 25 #define NGX_QUIC_MAX_UDP_PAYLOAD_OUT 1252
26 #define NGX_QUIC_MAX_UDP_PAYLOAD_OUT6 1232 26 #define NGX_QUIC_MAX_UDP_PAYLOAD_OUT6 1232
27 27
28 #define NGX_QUIC_DEFAULT_ACK_DELAY_EXPONENT 3 28 #define NGX_QUIC_DEFAULT_ACK_DELAY_EXPONENT 3
29 #define NGX_QUIC_DEFAULT_MAX_ACK_DELAY 25 29 #define NGX_QUIC_DEFAULT_MAX_ACK_DELAY 25
30 #define NGX_QUIC_DEFAULT_SRT_KEY_LEN 32
30 31
31 #define NGX_QUIC_RETRY_TIMEOUT 3000 32 #define NGX_QUIC_RETRY_TIMEOUT 3000
32 #define NGX_QUIC_RETRY_LIFETIME 30000 33 #define NGX_QUIC_RETRY_LIFETIME 30000
33 #define NGX_QUIC_RETRY_BUFFER_SIZE 128 34 #define NGX_QUIC_RETRY_BUFFER_SIZE 128
34 /* 1 flags + 4 version + 3 x (1 + 20) s/o/dcid + itag + token(44) */ 35 /* 1 flags + 4 version + 3 x (1 + 20) s/o/dcid + itag + token(44) */
80 ngx_flag_t disable_active_migration; 81 ngx_flag_t disable_active_migration;
81 ngx_str_t original_dcid; 82 ngx_str_t original_dcid;
82 ngx_str_t initial_scid; 83 ngx_str_t initial_scid;
83 ngx_str_t retry_scid; 84 ngx_str_t retry_scid;
84 u_char sr_token[NGX_QUIC_SR_TOKEN_LEN]; 85 u_char sr_token[NGX_QUIC_SR_TOKEN_LEN];
85 ngx_uint_t sr_enabled;
86 86
87 /* TODO */ 87 /* TODO */
88 void *preferred_address; 88 void *preferred_address;
89 } ngx_quic_tp_t; 89 } ngx_quic_tp_t;
90 90