Mercurial > hg > nginx-quic
annotate auto/os/win32 @ 8717:e06283038ec8 quic
QUIC: clear SSL_OP_ENABLE_MIDDLEBOX_COMPAT on SSL context switch.
The SSL_OP_ENABLE_MIDDLEBOX_COMPAT option is provided by QuicTLS and enabled
by default in the newly created SSL contexts. SSL_set_quic_method() is used
to clear it, which is required for SSL handshake to work on QUIC connections.
Switching context in the ngx_http_ssl_servername() SNI callback overrides SSL
options from the new SSL context. This results in the option set again.
Fix is to explicitly clear it when switching to another SSL context.
Initially reported here (in Russian):
http://mailman.nginx.org/pipermail/nginx-ru/2021-November/063989.html
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 07 Dec 2021 15:49:51 +0300 |
parents | c9235164bbf1 |
children |
rev | line source |
---|---|
455 | 1 |
2 # Copyright (C) Igor Sysoev | |
4412 | 3 # Copyright (C) Nginx, Inc. |
455 | 4 |
5 | |
509 | 6 have=NGX_WIN32 . auto/have_headers |
455 | 7 |
8 CORE_INCS="$WIN32_INCS" | |
9 CORE_DEPS="$WIN32_DEPS" | |
10 CORE_SRCS="$WIN32_SRCS $IOCP_SRCS" | |
11 OS_CONFIG="$WIN32_CONFIG" | |
461 | 12 NGX_ICONS="$NGX_WIN32_ICONS" |
2813
c00763aa5e1b
divide select module into two modules: Unix and Win32 ones
Igor Sysoev <igor@sysoev.ru>
parents:
2731
diff
changeset
|
13 SELECT_SRCS=$WIN32_SELECT_SRCS |
7444
4089b3d2cb59
Win32: added WSAPoll() support.
Maxim Dounin <mdounin@mdounin.ru>
parents:
7443
diff
changeset
|
14 POLL_SRCS=$WIN32_POLL_SRCS |
455 | 15 |
6383 | 16 ngx_pic_opt= |
7031
b7b7f3a0cc28
Configure: use .exe for binaries for all win32 compilers.
Orgad Shaneh <orgads@gmail.com>
parents:
6724
diff
changeset
|
17 ngx_binext=".exe" |
6383 | 18 |
5360
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
19 case "$NGX_CC_NAME" in |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
20 |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
21 gcc) |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
22 CORE_LIBS="$CORE_LIBS -ladvapi32 -lws2_32" |
6383 | 23 MAIN_LINK="$MAIN_LINK -Wl,--export-all-symbols" |
24 MAIN_LINK="$MAIN_LINK -Wl,--out-implib=$NGX_OBJS/libnginx.a" | |
25 MODULE_LINK="-shared -L $NGX_OBJS -lnginx" | |
5360
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
26 ;; |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
27 |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
28 *) |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
29 CORE_LIBS="$CORE_LIBS advapi32.lib ws2_32.lib" |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
30 ;; |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
31 |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
32 esac |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
33 |
455 | 34 EVENT_MODULES="$EVENT_MODULES $IOCP_MODULE" |
7445
c9235164bbf1
Win32: enabled both select and poll on Windows by default.
Maxim Dounin <mdounin@mdounin.ru>
parents:
7444
diff
changeset
|
35 #EVENT_FOUND=YES |
455 | 36 |
6724
a6d116645c51
Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6383
diff
changeset
|
37 have=NGX_HAVE_INET6 . auto/have |
2814 | 38 |
469 | 39 have=NGX_HAVE_IOCP . auto/have |