diff options
author | Sergey Kandaurov <pluknet@nginx.com> | 2025-05-27 21:56:40 +0400 |
---|---|---|
committer | pluknet <pluknet@nginx.com> | 2025-06-23 22:35:09 +0400 |
commit | cedb855d75ceefd7fe513f9c27c9364678582786 (patch) | |
tree | e3d52ce0577c97e58919961b12e74b1f793511d2 /src | |
parent | cdf7a9c6cb7f344efc80d790fbacdc1c94ab16e3 (diff) | |
download | nginx-cedb855d75ceefd7fe513f9c27c9364678582786.tar.gz nginx-cedb855d75ceefd7fe513f9c27c9364678582786.zip |
QUIC: disabled OpenSSL 3.5 QUIC API support by default.
In OpenSSL 3.5.0, the "quic_transport_parameters" extension set
internally by the QUIC API is cleared on the SSL context switch,
which disables sending QUIC transport parameters if switching to
a different server block on SNI. See the initial report in [1].
This is fixed post OpenSSL 3.5.0 [2]. The fix is anticipated in
OpenSSL 3.5.1, which has not been released yet. When building
with OpenSSL 3.5, OpenSSL compat layer is now used by default.
The OpenSSL 3.5 QUIC API support can be switched back using
--with-cc-opt='-DNGX_QUIC_OPENSSL_API=1'.
[1] https://github.com/nginx/nginx/issues/711
[2] https://github.com/openssl/openssl/commit/45bd3c3798
Diffstat (limited to 'src')
-rw-r--r-- | src/event/quic/ngx_event_quic.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/event/quic/ngx_event_quic.h b/src/event/quic/ngx_event_quic.h index d95d3d85b..335d87191 100644 --- a/src/event/quic/ngx_event_quic.h +++ b/src/event/quic/ngx_event_quic.h @@ -13,7 +13,10 @@ #ifdef OSSL_RECORD_PROTECTION_LEVEL_NONE -#define NGX_QUIC_OPENSSL_API 1 +#ifndef NGX_QUIC_OPENSSL_API +#define NGX_QUIC_BORINGSSL_API 1 +#define NGX_QUIC_OPENSSL_COMPAT 1 +#endif #elif (defined SSL_R_MISSING_QUIC_TRANSPORT_PARAMETERS_EXTENSION) #define NGX_QUIC_QUICTLS_API 1 |