annotate auto/lib/openssl/conf @ 4115:70a45a504905

Workaround for cpu hog on errors with cached connections. Just doing another connect isn't safe as peer.get() may expect peer.tries to be strictly positive (this is the case e.g. with round robin with multiple upstream servers). Increment peer.tries to at least avoid cpu hog in round robin balancer (with the patch alert will be seen instead). This is not enough to fully address the problem though, hence TODO. We should be able to inform balancer that the error wasn't considered fatal and it may make sense to retry the same peer.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 15 Sep 2011 18:12:58 +0000
parents 4d47a0658e7d
children d620f497c50f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 399
diff changeset
1
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 399
diff changeset
2 # Copyright (C) Igor Sysoev
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 399
diff changeset
3
399
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5 if [ $OPENSSL != NONE ]; then
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7 case "$CC" in
2712
41f993457021 OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
8
2846
dfec0e090265 fix building OpenSSL on Win32
Igor Sysoev <igor@sysoev.ru>
parents: 2817
diff changeset
9 cl | bcc32)
2712
41f993457021 OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
10 have=NGX_OPENSSL . auto/have
41f993457021 OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
11 have=NGX_SSL . auto/have
41f993457021 OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
12
2846
dfec0e090265 fix building OpenSSL on Win32
Igor Sysoev <igor@sysoev.ru>
parents: 2817
diff changeset
13 CFLAGS="$CFLAGS -DNO_SYS_TYPES_H"
2712
41f993457021 OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
14
2846
dfec0e090265 fix building OpenSSL on Win32
Igor Sysoev <igor@sysoev.ru>
parents: 2817
diff changeset
15 CORE_INCS="$CORE_INCS $OPENSSL/openssl/include"
dfec0e090265 fix building OpenSSL on Win32
Igor Sysoev <igor@sysoev.ru>
parents: 2817
diff changeset
16 CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h"
dfec0e090265 fix building OpenSSL on Win32
Igor Sysoev <igor@sysoev.ru>
parents: 2817
diff changeset
17 CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib"
dfec0e090265 fix building OpenSSL on Win32
Igor Sysoev <igor@sysoev.ru>
parents: 2817
diff changeset
18 CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib"
2712
41f993457021 OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
19
2731
06d53ecd70c8 *) move advapi32.lib to core libs since it's required for Registry and Event Log
Igor Sysoev <igor@sysoev.ru>
parents: 2712
diff changeset
20 # libeay32.lib requires gdi32.lib
06d53ecd70c8 *) move advapi32.lib to core libs since it's required for Registry and Event Log
Igor Sysoev <igor@sysoev.ru>
parents: 2712
diff changeset
21 CORE_LIBS="$CORE_LIBS gdi32.lib"
3488
92378c49456d MSVC8 compatibility with OpenSSL 1.0.0
Igor Sysoev <igor@sysoev.ru>
parents: 3168
diff changeset
22 # OpenSSL 1.0.0 requires crypt32.lib
92378c49456d MSVC8 compatibility with OpenSSL 1.0.0
Igor Sysoev <igor@sysoev.ru>
parents: 3168
diff changeset
23 CORE_LIBS="$CORE_LIBS crypt32.lib"
2712
41f993457021 OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
24 ;;
41f993457021 OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
25
399
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
26 *)
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
27 have=NGX_OPENSSL . auto/have
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 561
diff changeset
28 have=NGX_SSL . auto/have
2846
dfec0e090265 fix building OpenSSL on Win32
Igor Sysoev <igor@sysoev.ru>
parents: 2817
diff changeset
29
3168
83c940b0d18a allow "make clean" for OpenSSL, the bug was introduced in r2874
Igor Sysoev <igor@sysoev.ru>
parents: 2893
diff changeset
30 CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
83c940b0d18a allow "make clean" for OpenSSL, the bug was introduced in r2874
Igor Sysoev <igor@sysoev.ru>
parents: 2893
diff changeset
31 CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
83c940b0d18a allow "make clean" for OpenSSL, the bug was introduced in r2874
Igor Sysoev <igor@sysoev.ru>
parents: 2893
diff changeset
32 CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
83c940b0d18a allow "make clean" for OpenSSL, the bug was introduced in r2874
Igor Sysoev <igor@sysoev.ru>
parents: 2893
diff changeset
33 CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
2817
38e59bcc35f2 test whether libdl is required for dynamic linking:
Igor Sysoev <igor@sysoev.ru>
parents: 2731
diff changeset
34 CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
35 ;;
399
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
36 esac
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
37
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
38 else
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
39
3683
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
40 if [ "$NGX_PLATFORM" != win32 ]; then
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 541
diff changeset
41
3683
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
42 OPENSSL=NO
583
4e296b7d25bf nginx-0.3.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
43
3683
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
44 ngx_feature="OpenSSL library"
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
45 ngx_feature_name="NGX_OPENSSL"
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
46 ngx_feature_run=no
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
47 ngx_feature_incs="#include <openssl/ssl.h>"
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
48 ngx_feature_path=
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
49 ngx_feature_libs="-lssl -lcrypto"
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
50 ngx_feature_test="SSL_library_init()"
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
51 . auto/feature
399
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
52
3683
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
53 if [ $ngx_found = yes ]; then
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
54 have=NGX_SSL . auto/have
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
55 CORE_LIBS="$CORE_LIBS $ngx_feature_libs $NGX_LIBDL"
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
56 OPENSSL=YES
3684
4d47a0658e7d stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents: 3683
diff changeset
57 fi
4d47a0658e7d stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents: 3683
diff changeset
58 fi
4d47a0658e7d stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents: 3683
diff changeset
59
4d47a0658e7d stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents: 3683
diff changeset
60 if [ $OPENSSL != YES ]; then
2893
da1ba8a5c8c9 stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents: 2876
diff changeset
61
da1ba8a5c8c9 stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents: 2876
diff changeset
62 cat << END
da1ba8a5c8c9 stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents: 2876
diff changeset
63
da1ba8a5c8c9 stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents: 2876
diff changeset
64 $0: error: SSL modules require the OpenSSL library.
da1ba8a5c8c9 stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents: 2876
diff changeset
65 You can either do not enable the modules, or install the OpenSSL library
da1ba8a5c8c9 stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents: 2876
diff changeset
66 into the system, or build the OpenSSL library statically from the source
da1ba8a5c8c9 stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents: 2876
diff changeset
67 with nginx by using --with-openssl=<path> option.
da1ba8a5c8c9 stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents: 2876
diff changeset
68
da1ba8a5c8c9 stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents: 2876
diff changeset
69 END
3684
4d47a0658e7d stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents: 3683
diff changeset
70 exit 1
3683
312c2f9b53ac do not use prebuild OpenSSL Win32 libraries
Igor Sysoev <igor@sysoev.ru>
parents: 3488
diff changeset
71 fi
399
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
72
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
73 fi