Mercurial > hg > nginx
comparison auto/lib/openssl/conf @ 9080:7da4791e0264 quic
QUIC: OpenSSL compatibility layer.
The change allows to compile QUIC with OpenSSL which lacks BoringSSL QUIC API.
This implementation does not support 0-RTT.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Wed, 22 Feb 2023 19:16:53 +0400 |
parents | 8c163ce5b55a |
children | 0ba26c99b3a1 |
comparison
equal
deleted
inserted
replaced
9079:639fa6723700 | 9080:7da4791e0264 |
---|---|
8 have=NGX_OPENSSL . auto/have | 8 have=NGX_OPENSSL . auto/have |
9 have=NGX_SSL . auto/have | 9 have=NGX_SSL . auto/have |
10 | 10 |
11 if [ $USE_OPENSSL_QUIC = YES ]; then | 11 if [ $USE_OPENSSL_QUIC = YES ]; then |
12 have=NGX_QUIC . auto/have | 12 have=NGX_QUIC . auto/have |
13 have=NGX_QUIC_OPENSSL_COMPAT . auto/have | |
13 fi | 14 fi |
14 | 15 |
15 case "$CC" in | 16 case "$CC" in |
16 | 17 |
17 cl | bcc32) | 18 cl | bcc32) |
122 if [ $ngx_found = yes ]; then | 123 if [ $ngx_found = yes ]; then |
123 have=NGX_SSL . auto/have | 124 have=NGX_SSL . auto/have |
124 CORE_INCS="$CORE_INCS $ngx_feature_path" | 125 CORE_INCS="$CORE_INCS $ngx_feature_path" |
125 CORE_LIBS="$CORE_LIBS $ngx_feature_libs" | 126 CORE_LIBS="$CORE_LIBS $ngx_feature_libs" |
126 OPENSSL=YES | 127 OPENSSL=YES |
128 | |
129 if [ $USE_OPENSSL_QUIC = YES ]; then | |
130 | |
131 ngx_feature="OpenSSL QUIC support" | |
132 ngx_feature_name="NGX_QUIC" | |
133 ngx_feature_test="SSL_set_quic_method(NULL, NULL)" | |
134 . auto/feature | |
135 | |
136 if [ $ngx_found = no ]; then | |
137 have=NGX_QUIC_OPENSSL_COMPAT . auto/have | |
138 | |
139 ngx_feature="OpenSSL QUIC compatibility" | |
140 ngx_feature_test="SSL_CTX_add_custom_ext(NULL, 0, 0, | |
141 NULL, NULL, NULL, NULL, NULL)" | |
142 . auto/feature | |
143 fi | |
144 | |
145 if [ $ngx_found = no ]; then | |
146 cat << END | |
147 | |
148 $0: error: certain modules require OpenSSL QUIC support. | |
149 You can either do not enable the modules, or install the OpenSSL library with | |
150 QUIC support into the system, or build the OpenSSL library with QUIC support | |
151 statically from the source with nginx by using --with-openssl=<path> option. | |
152 | |
153 END | |
154 exit 1 | |
155 fi | |
156 fi | |
127 fi | 157 fi |
128 fi | 158 fi |
129 | 159 |
130 if [ $OPENSSL != YES ]; then | 160 if [ $OPENSSL != YES ]; then |
131 | 161 |
138 | 168 |
139 END | 169 END |
140 exit 1 | 170 exit 1 |
141 fi | 171 fi |
142 | 172 |
143 if [ $USE_OPENSSL_QUIC = YES ]; then | |
144 | |
145 ngx_feature="OpenSSL QUIC support" | |
146 ngx_feature_name="NGX_QUIC" | |
147 ngx_feature_run=no | |
148 ngx_feature_incs="#include <openssl/ssl.h>" | |
149 ngx_feature_path= | |
150 ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL $NGX_LIBPTHREAD" | |
151 ngx_feature_test="SSL_set_quic_method(NULL, NULL)" | |
152 . auto/feature | |
153 | |
154 if [ $ngx_found = no ]; then | |
155 | |
156 cat << END | |
157 | |
158 $0: error: certain modules require OpenSSL QUIC support. | |
159 You can either do not enable the modules, or install the OpenSSL library with | |
160 QUIC support into the system, or build the OpenSSL library with QUIC support | |
161 statically from the source with nginx by using --with-openssl=<path> option. | |
162 | |
163 END | |
164 exit 1 | |
165 fi | |
166 fi | |
167 fi | 173 fi |