nginxtra 1.2.8.8 → 1.4.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/nginxtra +1 -1
- data/bin/nginxtra_rails +1 -1
- data/lib/nginxtra/version.rb +1 -1
- data/vendor/nginx/CHANGES +202 -63
- data/vendor/nginx/CHANGES.ru +208 -66
- data/vendor/nginx/auto/lib/md5/conf +3 -3
- data/vendor/nginx/auto/lib/perl/conf +3 -1
- data/vendor/nginx/auto/lib/perl/make +21 -16
- data/vendor/nginx/auto/lib/sha1/conf +1 -1
- data/vendor/nginx/auto/modules +25 -4
- data/vendor/nginx/auto/options +7 -1
- data/vendor/nginx/auto/sources +15 -1
- data/vendor/nginx/auto/unix +14 -0
- data/vendor/nginx/src/core/nginx.h +2 -2
- data/vendor/nginx/src/core/ngx_array.c +1 -7
- data/vendor/nginx/src/core/ngx_array.h +2 -2
- data/vendor/nginx/src/core/ngx_connection.c +13 -7
- data/vendor/nginx/src/core/ngx_connection.h +1 -2
- data/vendor/nginx/src/core/ngx_core.h +1 -2
- data/vendor/nginx/src/core/ngx_crypt.c +37 -0
- data/vendor/nginx/src/core/ngx_cycle.h +1 -1
- data/vendor/nginx/src/core/ngx_inet.c +219 -48
- data/vendor/nginx/src/core/ngx_inet.h +1 -1
- data/vendor/nginx/src/event/modules/ngx_devpoll_module.c +7 -1
- data/vendor/nginx/src/event/modules/ngx_eventport_module.c +1 -1
- data/vendor/nginx/src/event/ngx_event.c +5 -1
- data/vendor/nginx/src/event/ngx_event.h +1 -0
- data/vendor/nginx/src/event/ngx_event_connect.c +1 -1
- data/vendor/nginx/src/event/ngx_event_openssl.c +135 -9
- data/vendor/nginx/src/event/ngx_event_openssl.h +9 -0
- data/vendor/nginx/src/event/ngx_event_openssl_stapling.c +1749 -0
- data/vendor/nginx/src/http/modules/ngx_http_addition_filter_module.c +1 -0
- data/vendor/nginx/src/http/modules/ngx_http_chunked_filter_module.c +1 -0
- data/vendor/nginx/src/http/modules/ngx_http_fastcgi_module.c +5 -0
- data/vendor/nginx/src/http/modules/ngx_http_flv_module.c +4 -0
- data/vendor/nginx/src/http/modules/ngx_http_geo_module.c +7 -8
- data/vendor/nginx/src/http/modules/ngx_http_geoip_module.c +10 -12
- data/vendor/nginx/src/http/modules/ngx_http_gunzip_filter_module.c +677 -0
- data/vendor/nginx/src/http/modules/ngx_http_gzip_filter_module.c +3 -0
- data/vendor/nginx/src/http/modules/ngx_http_gzip_static_module.c +36 -10
- data/vendor/nginx/src/http/modules/ngx_http_headers_filter_module.c +31 -13
- data/vendor/nginx/src/http/modules/ngx_http_image_filter_module.c +13 -0
- data/vendor/nginx/src/http/modules/ngx_http_limit_conn_module.c +18 -2
- data/vendor/nginx/src/http/modules/ngx_http_limit_req_module.c +19 -2
- data/vendor/nginx/src/http/modules/ngx_http_map_module.c +1 -1
- data/vendor/nginx/src/http/modules/ngx_http_memcached_module.c +60 -8
- data/vendor/nginx/src/http/modules/ngx_http_mp4_module.c +4 -8
- data/vendor/nginx/src/http/modules/ngx_http_not_modified_filter_module.c +126 -29
- data/vendor/nginx/src/http/modules/ngx_http_proxy_module.c +59 -301
- data/vendor/nginx/src/http/modules/ngx_http_range_filter_module.c +34 -6
- data/vendor/nginx/src/http/modules/ngx_http_realip_module.c +13 -12
- data/vendor/nginx/src/http/modules/ngx_http_scgi_module.c +30 -11
- data/vendor/nginx/src/http/modules/ngx_http_ssi_filter_module.c +1 -0
- data/vendor/nginx/src/http/modules/ngx_http_ssl_module.c +155 -4
- data/vendor/nginx/src/http/modules/ngx_http_ssl_module.h +6 -0
- data/vendor/nginx/src/http/modules/ngx_http_static_module.c +4 -0
- data/vendor/nginx/src/http/modules/ngx_http_stub_status_module.c +90 -3
- data/vendor/nginx/src/http/modules/ngx_http_sub_filter_module.c +1 -0
- data/vendor/nginx/src/http/modules/ngx_http_upstream_ip_hash_module.c +5 -0
- data/vendor/nginx/src/http/modules/ngx_http_upstream_least_conn_module.c +5 -0
- data/vendor/nginx/src/http/modules/ngx_http_uwsgi_module.c +14 -1
- data/vendor/nginx/src/http/modules/ngx_http_xslt_filter_module.c +1 -0
- data/vendor/nginx/src/http/modules/perl/Makefile.PL +4 -2
- data/vendor/nginx/src/http/modules/perl/nginx.pm +1 -1
- data/vendor/nginx/src/http/modules/perl/nginx.xs +36 -3
- data/vendor/nginx/src/http/ngx_http.c +24 -1
- data/vendor/nginx/src/http/ngx_http.h +26 -2
- data/vendor/nginx/src/http/ngx_http_core_module.c +136 -10
- data/vendor/nginx/src/http/ngx_http_core_module.h +37 -13
- data/vendor/nginx/src/http/ngx_http_header_filter_module.c +9 -2
- data/vendor/nginx/src/http/ngx_http_parse.c +404 -0
- data/vendor/nginx/src/http/ngx_http_request.c +840 -517
- data/vendor/nginx/src/http/ngx_http_request.h +37 -25
- data/vendor/nginx/src/http/ngx_http_request_body.c +585 -156
- data/vendor/nginx/src/http/ngx_http_spdy.c +2882 -0
- data/vendor/nginx/src/http/ngx_http_spdy.h +235 -0
- data/vendor/nginx/src/http/ngx_http_spdy_filter_module.c +999 -0
- data/vendor/nginx/src/http/ngx_http_spdy_module.c +351 -0
- data/vendor/nginx/src/http/ngx_http_spdy_module.h +36 -0
- data/vendor/nginx/src/http/ngx_http_special_response.c +3 -1
- data/vendor/nginx/src/http/ngx_http_upstream.c +415 -26
- data/vendor/nginx/src/http/ngx_http_upstream.h +11 -1
- data/vendor/nginx/src/http/ngx_http_upstream_round_robin.c +2 -45
- data/vendor/nginx/src/http/ngx_http_upstream_round_robin.h +0 -2
- data/vendor/nginx/src/http/ngx_http_variables.c +72 -12
- data/vendor/nginx/src/mail/ngx_mail.h +2 -2
- data/vendor/nginx/src/mail/ngx_mail_auth_http_module.c +35 -25
- data/vendor/nginx/src/mail/ngx_mail_core_module.c +5 -1
- metadata +9 -2
@@ -52,7 +52,7 @@ else
|
|
52
52
|
|
53
53
|
# FreeBSD, Solaris 10
|
54
54
|
|
55
|
-
ngx_feature="system md library"
|
55
|
+
ngx_feature="md5 in system md library"
|
56
56
|
ngx_feature_name=NGX_HAVE_MD5
|
57
57
|
ngx_feature_run=no
|
58
58
|
ngx_feature_incs="#include <md5.h>"
|
@@ -67,7 +67,7 @@ else
|
|
67
67
|
|
68
68
|
# Solaris 8/9
|
69
69
|
|
70
|
-
ngx_feature="system md5 library"
|
70
|
+
ngx_feature="md5 in system md5 library"
|
71
71
|
ngx_feature_libs="-lmd5"
|
72
72
|
. auto/feature
|
73
73
|
|
@@ -78,7 +78,7 @@ else
|
|
78
78
|
|
79
79
|
# OpenSSL crypto library
|
80
80
|
|
81
|
-
ngx_feature="OpenSSL
|
81
|
+
ngx_feature="md5 in system OpenSSL crypto library"
|
82
82
|
ngx_feature_name="NGX_OPENSSL_MD5"
|
83
83
|
ngx_feature_incs="#include <openssl/md5.h>"
|
84
84
|
ngx_feature_libs="-lcrypto"
|
@@ -40,6 +40,8 @@ if test -n "$NGX_PERL_VER"; then
|
|
40
40
|
|
41
41
|
ngx_perl_ldopts=`$NGX_PERL -MExtUtils::Embed -e ldopts`
|
42
42
|
|
43
|
+
ngx_perl_dlext=`$NGX_PERL -MConfig -e 'print $Config{dlext}'`
|
44
|
+
|
43
45
|
if $NGX_PERL -V:usemultiplicity | grep define > /dev/null; then
|
44
46
|
have=NGX_HAVE_PERL_MULTIPLICITY . auto/have
|
45
47
|
echo " + perl interpreter multiplicity found"
|
@@ -51,7 +53,7 @@ if test -n "$NGX_PERL_VER"; then
|
|
51
53
|
fi
|
52
54
|
|
53
55
|
CORE_LINK="$CORE_LINK $ngx_perl_ldopts"
|
54
|
-
LINK_DEPS="$LINK_DEPS $NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx
|
56
|
+
LINK_DEPS="$LINK_DEPS $NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx.$ngx_perl_dlext"
|
55
57
|
|
56
58
|
if test -n "$NGX_PERL_MODULES"; then
|
57
59
|
have=NGX_PERL_MODULES value="(u_char *) \"$NGX_PERL_MODULES\""
|
@@ -3,33 +3,38 @@
|
|
3
3
|
# Copyright (C) Nginx, Inc.
|
4
4
|
|
5
5
|
|
6
|
+
v=`grep 'define NGINX_VERSION' src/core/nginx.h | sed -e 's/^.*"\(.*\)".*/\1/'`
|
7
|
+
|
8
|
+
|
6
9
|
cat << END >> $NGX_MAKEFILE
|
7
10
|
|
8
|
-
$NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx
|
9
|
-
\$(CORE_DEPS) \$(HTTP_DEPS)
|
10
|
-
src/http/modules/perl/
|
11
|
-
src/http/modules/perl/nginx.xs \
|
12
|
-
src/http/modules/perl/ngx_http_perl_module.h \
|
11
|
+
$NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx.$ngx_perl_dlext: \\
|
12
|
+
\$(CORE_DEPS) \$(HTTP_DEPS) \\
|
13
|
+
src/http/modules/perl/ngx_http_perl_module.h \\
|
13
14
|
$NGX_OBJS/src/http/modules/perl/Makefile
|
14
|
-
cp src/http/modules/perl/nginx.* $NGX_OBJS/src/http/modules/perl/
|
15
|
-
|
16
15
|
cd $NGX_OBJS/src/http/modules/perl && \$(MAKE)
|
17
16
|
|
18
17
|
rm -rf $NGX_OBJS/install_perl
|
19
18
|
|
20
19
|
|
21
|
-
$NGX_OBJS/src/http/modules/perl/Makefile:
|
22
|
-
src/
|
23
|
-
src/http/modules/perl/
|
24
|
-
|
20
|
+
$NGX_OBJS/src/http/modules/perl/Makefile: \\
|
21
|
+
src/core/nginx.h \\
|
22
|
+
src/http/modules/perl/Makefile.PL \\
|
23
|
+
src/http/modules/perl/nginx.pm \\
|
24
|
+
src/http/modules/perl/nginx.xs \\
|
25
|
+
src/http/modules/perl/typemap
|
26
|
+
sed "s/%%VERSION%%/$v/" src/http/modules/perl/nginx.pm > \\
|
27
|
+
$NGX_OBJS/src/http/modules/perl/nginx.pm
|
28
|
+
cp -p src/http/modules/perl/nginx.xs $NGX_OBJS/src/http/modules/perl/
|
25
29
|
cp -p src/http/modules/perl/typemap $NGX_OBJS/src/http/modules/perl/
|
26
30
|
cp -p src/http/modules/perl/Makefile.PL $NGX_OBJS/src/http/modules/perl/
|
27
31
|
|
28
|
-
cd $NGX_OBJS/src/http/modules/perl
|
29
|
-
&& NGX_PM_CFLAGS="\$(NGX_PM_CFLAGS) -g $NGX_CC_OPT"
|
30
|
-
NGX_INCS="$CORE_INCS $NGX_OBJS $HTTP_INCS"
|
31
|
-
|
32
|
-
|
32
|
+
cd $NGX_OBJS/src/http/modules/perl \\
|
33
|
+
&& NGX_PM_CFLAGS="\$(NGX_PM_CFLAGS) -g $NGX_CC_OPT" \\
|
34
|
+
NGX_INCS="$CORE_INCS $NGX_OBJS $HTTP_INCS" \\
|
35
|
+
NGX_DEPS="\$(CORE_DEPS) \$(HTTP_DEPS)" \\
|
36
|
+
$NGX_PERL Makefile.PL \\
|
37
|
+
LIB=$NGX_PERL_MODULES \\
|
33
38
|
INSTALLSITEMAN3DIR=$NGX_PERL_MODULES_MAN
|
34
39
|
|
35
40
|
END
|
data/vendor/nginx/auto/modules
CHANGED
@@ -100,6 +100,7 @@ fi
|
|
100
100
|
# ngx_http_write_filter
|
101
101
|
# ngx_http_header_filter
|
102
102
|
# ngx_http_chunked_filter
|
103
|
+
# ngx_http_spdy_filter
|
103
104
|
# ngx_http_range_header_filter
|
104
105
|
# ngx_http_gzip_filter
|
105
106
|
# ngx_http_postpone_filter
|
@@ -109,6 +110,7 @@ fi
|
|
109
110
|
# ngx_http_image_filter
|
110
111
|
# ngx_http_sub_filter
|
111
112
|
# ngx_http_addition_filter
|
113
|
+
# ngx_http_gunzip_filter
|
112
114
|
# ngx_http_userid_filter
|
113
115
|
# ngx_http_headers_filter
|
114
116
|
# ngx_http_copy_filter
|
@@ -117,8 +119,13 @@ fi
|
|
117
119
|
|
118
120
|
HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
|
119
121
|
$HTTP_HEADER_FILTER_MODULE \
|
120
|
-
$HTTP_CHUNKED_FILTER_MODULE
|
121
|
-
|
122
|
+
$HTTP_CHUNKED_FILTER_MODULE"
|
123
|
+
|
124
|
+
if [ $HTTP_SPDY = YES ]; then
|
125
|
+
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SPDY_FILTER_MODULE"
|
126
|
+
fi
|
127
|
+
|
128
|
+
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_RANGE_HEADER_FILTER_MODULE"
|
122
129
|
|
123
130
|
if [ $HTTP_GZIP = YES ]; then
|
124
131
|
have=NGX_HTTP_GZIP . auto/have
|
@@ -166,11 +173,27 @@ if [ $HTTP_ADDITION = YES ]; then
|
|
166
173
|
HTTP_SRCS="$HTTP_SRCS $HTTP_ADDITION_SRCS"
|
167
174
|
fi
|
168
175
|
|
176
|
+
if [ $HTTP_GUNZIP = YES ]; then
|
177
|
+
have=NGX_HTTP_GZIP . auto/have
|
178
|
+
USE_ZLIB=YES
|
179
|
+
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GUNZIP_FILTER_MODULE"
|
180
|
+
HTTP_SRCS="$HTTP_SRCS $HTTP_GUNZIP_SRCS"
|
181
|
+
fi
|
182
|
+
|
169
183
|
if [ $HTTP_USERID = YES ]; then
|
170
184
|
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE"
|
171
185
|
HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS"
|
172
186
|
fi
|
173
187
|
|
188
|
+
|
189
|
+
if [ $HTTP_SPDY = YES ]; then
|
190
|
+
have=NGX_HTTP_SPDY . auto/have
|
191
|
+
USE_ZLIB=YES
|
192
|
+
HTTP_MODULES="$HTTP_MODULES $HTTP_SPDY_MODULE"
|
193
|
+
HTTP_DEPS="$HTTP_DEPS $HTTP_SPDY_DEPS"
|
194
|
+
HTTP_SRCS="$HTTP_SRCS $HTTP_SPDY_SRCS"
|
195
|
+
fi
|
196
|
+
|
174
197
|
HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE"
|
175
198
|
|
176
199
|
if [ $HTTP_GZIP_STATIC = YES ]; then
|
@@ -234,7 +257,6 @@ if [ $HTTP_STATUS = YES ]; then
|
|
234
257
|
fi
|
235
258
|
|
236
259
|
if [ $HTTP_GEO = YES ]; then
|
237
|
-
have=NGX_HTTP_GEO . auto/have
|
238
260
|
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
|
239
261
|
HTTP_MODULES="$HTTP_MODULES $HTTP_GEO_MODULE"
|
240
262
|
HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
|
@@ -276,7 +298,6 @@ if [ $HTTP_SSL = YES ]; then
|
|
276
298
|
fi
|
277
299
|
|
278
300
|
if [ $HTTP_PROXY = YES ]; then
|
279
|
-
have=NGX_HTTP_PROXY . auto/have
|
280
301
|
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
|
281
302
|
#USE_MD5=YES
|
282
303
|
HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
|
data/vendor/nginx/auto/options
CHANGED
@@ -15,7 +15,7 @@ NGX_LOCK_PATH=
|
|
15
15
|
NGX_USER=
|
16
16
|
NGX_GROUP=
|
17
17
|
|
18
|
-
CC=${CC:-
|
18
|
+
CC=${CC:-cc}
|
19
19
|
CPP=
|
20
20
|
NGX_OBJS=objs
|
21
21
|
|
@@ -60,6 +60,7 @@ HTTP_CACHE=YES
|
|
60
60
|
HTTP_CHARSET=YES
|
61
61
|
HTTP_GZIP=YES
|
62
62
|
HTTP_SSL=NO
|
63
|
+
HTTP_SPDY=NO
|
63
64
|
HTTP_SSI=YES
|
64
65
|
HTTP_POSTPONE=NO
|
65
66
|
HTTP_REALIP=NO
|
@@ -94,6 +95,7 @@ HTTP_SECURE_LINK=NO
|
|
94
95
|
HTTP_DEGRADATION=NO
|
95
96
|
HTTP_FLV=NO
|
96
97
|
HTTP_MP4=NO
|
98
|
+
HTTP_GUNZIP=NO
|
97
99
|
HTTP_GZIP_STATIC=NO
|
98
100
|
HTTP_UPSTREAM_IP_HASH=YES
|
99
101
|
HTTP_UPSTREAM_LEAST_CONN=YES
|
@@ -201,6 +203,7 @@ do
|
|
201
203
|
--http-scgi-temp-path=*) NGX_HTTP_SCGI_TEMP_PATH="$value" ;;
|
202
204
|
|
203
205
|
--with-http_ssl_module) HTTP_SSL=YES ;;
|
206
|
+
--with-http_spdy_module) HTTP_SPDY=YES ;;
|
204
207
|
--with-http_realip_module) HTTP_REALIP=YES ;;
|
205
208
|
--with-http_addition_module) HTTP_ADDITION=YES ;;
|
206
209
|
--with-http_xslt_module) HTTP_XSLT=YES ;;
|
@@ -210,6 +213,7 @@ do
|
|
210
213
|
--with-http_dav_module) HTTP_DAV=YES ;;
|
211
214
|
--with-http_flv_module) HTTP_FLV=YES ;;
|
212
215
|
--with-http_mp4_module) HTTP_MP4=YES ;;
|
216
|
+
--with-http_gunzip_module) HTTP_GUNZIP=YES ;;
|
213
217
|
--with-http_gzip_static_module) HTTP_GZIP_STATIC=YES ;;
|
214
218
|
--with-http_random_index_module) HTTP_RANDOM_INDEX=YES ;;
|
215
219
|
--with-http_secure_link_module) HTTP_SECURE_LINK=YES ;;
|
@@ -347,6 +351,7 @@ cat << END
|
|
347
351
|
--with-ipv6 enable IPv6 support
|
348
352
|
|
349
353
|
--with-http_ssl_module enable ngx_http_ssl_module
|
354
|
+
--with-http_spdy_module enable ngx_http_spdy_module
|
350
355
|
--with-http_realip_module enable ngx_http_realip_module
|
351
356
|
--with-http_addition_module enable ngx_http_addition_module
|
352
357
|
--with-http_xslt_module enable ngx_http_xslt_module
|
@@ -356,6 +361,7 @@ cat << END
|
|
356
361
|
--with-http_dav_module enable ngx_http_dav_module
|
357
362
|
--with-http_flv_module enable ngx_http_flv_module
|
358
363
|
--with-http_mp4_module enable ngx_http_mp4_module
|
364
|
+
--with-http_gunzip_module enable ngx_http_gunzip_module
|
359
365
|
--with-http_gzip_static_module enable ngx_http_gzip_static_module
|
360
366
|
--with-http_random_index_module enable ngx_http_random_index_module
|
361
367
|
--with-http_secure_link_module enable ngx_http_secure_link_module
|
data/vendor/nginx/auto/sources
CHANGED
@@ -77,7 +77,8 @@ REGEX_SRCS=src/core/ngx_regex.c
|
|
77
77
|
|
78
78
|
OPENSSL_MODULE=ngx_openssl_module
|
79
79
|
OPENSSL_DEPS=src/event/ngx_event_openssl.h
|
80
|
-
OPENSSL_SRCS=src/event/ngx_event_openssl.c
|
80
|
+
OPENSSL_SRCS="src/event/ngx_event_openssl.c \
|
81
|
+
src/event/ngx_event_openssl_stapling.c"
|
81
82
|
|
82
83
|
|
83
84
|
EVENT_MODULES="ngx_events_module ngx_event_core_module"
|
@@ -323,6 +324,15 @@ HTTP_POSTPONE_FILTER_SRCS=src/http/ngx_http_postpone_filter_module.c
|
|
323
324
|
HTTP_FILE_CACHE_SRCS=src/http/ngx_http_file_cache.c
|
324
325
|
|
325
326
|
|
327
|
+
HTTP_SPDY_MODULE=ngx_http_spdy_module
|
328
|
+
HTTP_SPDY_FILTER_MODULE=ngx_http_spdy_filter_module
|
329
|
+
HTTP_SPDY_DEPS="src/http/ngx_http_spdy.h \
|
330
|
+
src/http/ngx_http_spdy_module.h"
|
331
|
+
HTTP_SPDY_SRCS="src/http/ngx_http_spdy.c \
|
332
|
+
src/http/ngx_http_spdy_module.c \
|
333
|
+
src/http/ngx_http_spdy_filter_module.c"
|
334
|
+
|
335
|
+
|
326
336
|
HTTP_CHARSET_FILTER_MODULE=ngx_http_charset_filter_module
|
327
337
|
HTTP_CHARSET_SRCS=src/http/modules/ngx_http_charset_filter_module.c
|
328
338
|
|
@@ -331,6 +341,10 @@ HTTP_GZIP_FILTER_MODULE=ngx_http_gzip_filter_module
|
|
331
341
|
HTTP_GZIP_SRCS=src/http/modules/ngx_http_gzip_filter_module.c
|
332
342
|
|
333
343
|
|
344
|
+
HTTP_GUNZIP_FILTER_MODULE=ngx_http_gunzip_filter_module
|
345
|
+
HTTP_GUNZIP_SRCS=src/http/modules/ngx_http_gunzip_filter_module.c
|
346
|
+
|
347
|
+
|
334
348
|
HTTP_SSI_FILTER_MODULE=ngx_http_ssi_filter_module
|
335
349
|
HTTP_SSI_DEPS=src/http/modules/ngx_http_ssi_filter_module.h
|
336
350
|
HTTP_SSI_SRCS=src/http/modules/ngx_http_ssi_filter_module.c
|
data/vendor/nginx/auto/unix
CHANGED
@@ -778,3 +778,17 @@ ngx_feature_test="struct stat sb;
|
|
778
778
|
openat(AT_FDCWD, \".\", O_RDONLY|O_NOFOLLOW);
|
779
779
|
fstatat(AT_FDCWD, \".\", &sb, AT_SYMLINK_NOFOLLOW);"
|
780
780
|
. auto/feature
|
781
|
+
|
782
|
+
|
783
|
+
ngx_feature="getaddrinfo()"
|
784
|
+
ngx_feature_name="NGX_HAVE_GETADDRINFO"
|
785
|
+
ngx_feature_run=no
|
786
|
+
ngx_feature_incs="#include <sys/types.h>
|
787
|
+
#include <sys/socket.h>
|
788
|
+
#include <netdb.h>"
|
789
|
+
ngx_feature_path=
|
790
|
+
ngx_feature_libs=
|
791
|
+
ngx_feature_test='struct addrinfo *res;
|
792
|
+
if (getaddrinfo("localhost", NULL, NULL, &res) != 0) return 1;
|
793
|
+
freeaddrinfo(res)'
|
794
|
+
. auto/feature
|
@@ -19,16 +19,10 @@ ngx_array_create(ngx_pool_t *p, ngx_uint_t n, size_t size)
|
|
19
19
|
return NULL;
|
20
20
|
}
|
21
21
|
|
22
|
-
a
|
23
|
-
if (a->elts == NULL) {
|
22
|
+
if (ngx_array_init(a, p, n, size) != NGX_OK) {
|
24
23
|
return NULL;
|
25
24
|
}
|
26
25
|
|
27
|
-
a->nelts = 0;
|
28
|
-
a->size = size;
|
29
|
-
a->nalloc = n;
|
30
|
-
a->pool = p;
|
31
|
-
|
32
26
|
return a;
|
33
27
|
}
|
34
28
|
|
@@ -13,13 +13,13 @@
|
|
13
13
|
#include <ngx_core.h>
|
14
14
|
|
15
15
|
|
16
|
-
struct
|
16
|
+
typedef struct {
|
17
17
|
void *elts;
|
18
18
|
ngx_uint_t nelts;
|
19
19
|
size_t size;
|
20
20
|
ngx_uint_t nalloc;
|
21
21
|
ngx_pool_t *pool;
|
22
|
-
};
|
22
|
+
} ngx_array_t;
|
23
23
|
|
24
24
|
|
25
25
|
ngx_array_t *ngx_array_create(ngx_pool_t *p, ngx_uint_t n, size_t size);
|
@@ -336,10 +336,10 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle)
|
|
336
336
|
|
337
337
|
#if (NGX_HAVE_INET6 && defined IPV6_V6ONLY)
|
338
338
|
|
339
|
-
if (ls[i].sockaddr->sa_family == AF_INET6
|
339
|
+
if (ls[i].sockaddr->sa_family == AF_INET6) {
|
340
340
|
int ipv6only;
|
341
341
|
|
342
|
-
ipv6only =
|
342
|
+
ipv6only = ls[i].ipv6only;
|
343
343
|
|
344
344
|
if (setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
|
345
345
|
(const void *) &ipv6only, sizeof(int))
|
@@ -900,11 +900,9 @@ ngx_close_connection(ngx_connection_t *c)
|
|
900
900
|
c->read->closed = 1;
|
901
901
|
c->write->closed = 1;
|
902
902
|
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
c->write->locked = 0;
|
907
|
-
}
|
903
|
+
ngx_unlock(&c->lock);
|
904
|
+
c->read->locked = 0;
|
905
|
+
c->write->locked = 0;
|
908
906
|
|
909
907
|
ngx_mutex_unlock(ngx_posted_events_mutex);
|
910
908
|
|
@@ -972,6 +970,10 @@ ngx_reusable_connection(ngx_connection_t *c, ngx_uint_t reusable)
|
|
972
970
|
|
973
971
|
if (c->reusable) {
|
974
972
|
ngx_queue_remove(&c->queue);
|
973
|
+
|
974
|
+
#if (NGX_STAT_STUB)
|
975
|
+
(void) ngx_atomic_fetch_add(ngx_stat_waiting, -1);
|
976
|
+
#endif
|
975
977
|
}
|
976
978
|
|
977
979
|
c->reusable = reusable;
|
@@ -981,6 +983,10 @@ ngx_reusable_connection(ngx_connection_t *c, ngx_uint_t reusable)
|
|
981
983
|
|
982
984
|
ngx_queue_insert_head(
|
983
985
|
(ngx_queue_t *) &ngx_cycle->reusable_connections_queue, &c->queue);
|
986
|
+
|
987
|
+
#if (NGX_STAT_STUB)
|
988
|
+
(void) ngx_atomic_fetch_add(ngx_stat_waiting, 1);
|
989
|
+
#endif
|
984
990
|
}
|
985
991
|
}
|
986
992
|
|
@@ -64,7 +64,7 @@ struct ngx_listening_s {
|
|
64
64
|
unsigned addr_ntop:1;
|
65
65
|
|
66
66
|
#if (NGX_HAVE_INET6 && defined IPV6_V6ONLY)
|
67
|
-
unsigned ipv6only:
|
67
|
+
unsigned ipv6only:1;
|
68
68
|
#endif
|
69
69
|
unsigned keepalive:2;
|
70
70
|
|
@@ -152,7 +152,6 @@ struct ngx_connection_s {
|
|
152
152
|
|
153
153
|
unsigned log_error:3; /* ngx_connection_log_error_e */
|
154
154
|
|
155
|
-
unsigned single_connection:1;
|
156
155
|
unsigned unexpected_eof:1;
|
157
156
|
unsigned timedout:1;
|
158
157
|
unsigned error:1;
|
@@ -15,7 +15,6 @@ typedef struct ngx_cycle_s ngx_cycle_t;
|
|
15
15
|
typedef struct ngx_pool_s ngx_pool_t;
|
16
16
|
typedef struct ngx_chain_s ngx_chain_t;
|
17
17
|
typedef struct ngx_log_s ngx_log_t;
|
18
|
-
typedef struct ngx_array_s ngx_array_t;
|
19
18
|
typedef struct ngx_open_file_s ngx_open_file_t;
|
20
19
|
typedef struct ngx_command_s ngx_command_t;
|
21
20
|
typedef struct ngx_file_s ngx_file_t;
|
@@ -69,12 +68,12 @@ typedef void (*ngx_connection_handler_pt)(ngx_connection_t *c);
|
|
69
68
|
#include <ngx_slab.h>
|
70
69
|
#include <ngx_inet.h>
|
71
70
|
#include <ngx_cycle.h>
|
71
|
+
#include <ngx_resolver.h>
|
72
72
|
#if (NGX_OPENSSL)
|
73
73
|
#include <ngx_event_openssl.h>
|
74
74
|
#endif
|
75
75
|
#include <ngx_process_cycle.h>
|
76
76
|
#include <ngx_conf_file.h>
|
77
|
-
#include <ngx_resolver.h>
|
78
77
|
#include <ngx_open_file_cache.h>
|
79
78
|
#include <ngx_os.h>
|
80
79
|
#include <ngx_connection.h>
|
@@ -24,6 +24,8 @@ static ngx_int_t ngx_crypt_plain(ngx_pool_t *pool, u_char *key, u_char *salt,
|
|
24
24
|
|
25
25
|
static ngx_int_t ngx_crypt_ssha(ngx_pool_t *pool, u_char *key, u_char *salt,
|
26
26
|
u_char **encrypted);
|
27
|
+
static ngx_int_t ngx_crypt_sha(ngx_pool_t *pool, u_char *key, u_char *salt,
|
28
|
+
u_char **encrypted);
|
27
29
|
|
28
30
|
#endif
|
29
31
|
|
@@ -43,6 +45,9 @@ ngx_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
|
|
43
45
|
#if (NGX_HAVE_SHA1)
|
44
46
|
} else if (ngx_strncmp(salt, "{SSHA}", sizeof("{SSHA}") - 1) == 0) {
|
45
47
|
return ngx_crypt_ssha(pool, key, salt, encrypted);
|
48
|
+
|
49
|
+
} else if (ngx_strncmp(salt, "{SHA}", sizeof("{SHA}") - 1) == 0) {
|
50
|
+
return ngx_crypt_sha(pool, key, salt, encrypted);
|
46
51
|
#endif
|
47
52
|
}
|
48
53
|
|
@@ -241,6 +246,38 @@ ngx_crypt_ssha(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
|
|
241
246
|
return NGX_OK;
|
242
247
|
}
|
243
248
|
|
249
|
+
|
250
|
+
static ngx_int_t
|
251
|
+
ngx_crypt_sha(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
|
252
|
+
{
|
253
|
+
size_t len;
|
254
|
+
ngx_str_t encoded, decoded;
|
255
|
+
ngx_sha1_t sha1;
|
256
|
+
u_char digest[20];
|
257
|
+
|
258
|
+
/* "{SHA}" base64(SHA1(key)) */
|
259
|
+
|
260
|
+
decoded.len = sizeof(digest);
|
261
|
+
decoded.data = digest;
|
262
|
+
|
263
|
+
ngx_sha1_init(&sha1);
|
264
|
+
ngx_sha1_update(&sha1, key, ngx_strlen(key));
|
265
|
+
ngx_sha1_final(digest, &sha1);
|
266
|
+
|
267
|
+
len = sizeof("{SHA}") - 1 + ngx_base64_encoded_length(decoded.len) + 1;
|
268
|
+
|
269
|
+
*encrypted = ngx_pnalloc(pool, len);
|
270
|
+
if (*encrypted == NULL) {
|
271
|
+
return NGX_ERROR;
|
272
|
+
}
|
273
|
+
|
274
|
+
encoded.data = ngx_cpymem(*encrypted, "{SHA}", sizeof("{SHA}") - 1);
|
275
|
+
ngx_encode_base64(&encoded, &decoded);
|
276
|
+
encoded.data[encoded.len] = '\0';
|
277
|
+
|
278
|
+
return NGX_OK;
|
279
|
+
}
|
280
|
+
|
244
281
|
#endif /* NGX_HAVE_SHA1 */
|
245
282
|
|
246
283
|
#endif /* NGX_CRYPT */
|