diff options
author | Roman Arutyunyan <arut@nginx.com> | 2023-09-13 17:59:37 +0400 |
---|---|---|
committer | Roman Arutyunyan <arut@nginx.com> | 2023-09-13 17:59:37 +0400 |
commit | 33dca887925d9cec7153252dcd5380c394090936 (patch) | |
tree | 930802835f14c05c74f563975011721411c11dfb /src/http/v3/ngx_http_v3_module.c | |
parent | b489ba83e9be446923facfe1a2fe392be3095d1f (diff) | |
download | nginx-33dca887925d9cec7153252dcd5380c394090936.tar.gz nginx-33dca887925d9cec7153252dcd5380c394090936.zip |
QUIC: "handshake_timeout" configuration parameter.
Previously QUIC did not have such parameter and handshake duration was
controlled by HTTP/3. However that required creating and storing HTTP/3
session on first client datagram. Apparently there's no convenient way to
store the session object until QUIC handshake is complete. In the followup
patches session creation will be postponed to init() callback.
Diffstat (limited to 'src/http/v3/ngx_http_v3_module.c')
-rw-r--r-- | src/http/v3/ngx_http_v3_module.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/http/v3/ngx_http_v3_module.c b/src/http/v3/ngx_http_v3_module.c index 875e5f29b..139bd65f3 100644 --- a/src/http/v3/ngx_http_v3_module.c +++ b/src/http/v3/ngx_http_v3_module.c @@ -192,7 +192,7 @@ ngx_http_v3_create_srv_conf(ngx_conf_t *cf) * h3scf->quic.host_key = { 0, NULL } * h3scf->quic.stream_reject_code_uni = 0; * h3scf->quic.disable_active_migration = 0; - * h3scf->quic.timeout = 0; + * h3scf->quic.idle_timeout = 0; * h3scf->max_blocked_streams = 0; */ @@ -223,7 +223,8 @@ ngx_http_v3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) ngx_http_v3_srv_conf_t *prev = parent; ngx_http_v3_srv_conf_t *conf = child; - ngx_http_ssl_srv_conf_t *sscf; + ngx_http_ssl_srv_conf_t *sscf; + ngx_http_core_srv_conf_t *cscf; ngx_conf_merge_value(conf->enable, prev->enable, 1); @@ -281,6 +282,9 @@ ngx_http_v3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) return NGX_CONF_ERROR; } + cscf = ngx_http_conf_get_module_srv_conf(cf, ngx_http_core_module); + conf->quic.handshake_timeout = cscf->client_header_timeout; + sscf = ngx_http_conf_get_module_srv_conf(cf, ngx_http_ssl_module); conf->quic.ssl = &sscf->ssl; |