comparison auto/lib/openssl/conf @ 9046: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
comparison
equal deleted inserted replaced
9029:639fa6723700 9046: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