aboutsummaryrefslogtreecommitdiff
path: root/www/nginx
diff options
context:
space:
mode:
authorSergey A. Osokin <osa@FreeBSD.org>2016-04-26 22:24:49 +0000
committerSergey A. Osokin <osa@FreeBSD.org>2016-04-26 22:24:49 +0000
commit8e0a0f5bea803a25608a465479f744f419374b95 (patch)
tree468fba73411412c93d6679e44af149cbcf2c88a4 /www/nginx
parentc3f5c6228279cdc03e58baefc9d5c1078ca85bed (diff)
downloadports-8e0a0f5bea803a25608a465479f744f419374b95.tar.gz
ports-8e0a0f5bea803a25608a465479f744f419374b95.zip
Upgrade from 1.8.1 to 1.10.1.
Please note: several vendor's modules: o) http_geoip o) http_image_filter o) http_perl o) http_xslt o) mail o) stream as well as third-party modules, like: o) brotli o) dynamic_upstream o) echo o) eval o) headers_more o) http_redis o) lua o) njs o) passenger o) setmisc o) small_light have been reconfigured as dynamic modules. Also, the spdy module has been removed from 1.10.x branch and replaced by httpv2 module. In case of using of any of those modules it's highly recommend to review and update the nginx configuration file - nginx.conf.
Notes
Notes: svn path=/head/; revision=414084
Diffstat (limited to 'www/nginx')
-rw-r--r--www/nginx/Makefile126
-rw-r--r--www/nginx/distinfo8
-rw-r--r--www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config13
-rw-r--r--www/nginx/files/extra-patch-passenger-src-nginx_module-config13
-rw-r--r--www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c18
-rw-r--r--www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c8
-rw-r--r--www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c12
-rw-r--r--www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c57
-rw-r--r--www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h4
9 files changed, 178 insertions, 81 deletions
diff --git a/www/nginx/Makefile b/www/nginx/Makefile
index 2337ff827d71..756b9882422f 100644
--- a/www/nginx/Makefile
+++ b/www/nginx/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= nginx
-PORTVERSION= 1.8.1
-PORTREVISION= 2
+PORTVERSION= 1.10.0
PORTEPOCH= 2
CATEGORIES= www
MASTER_SITES= http://nginx.org/download/
@@ -44,6 +43,7 @@ OPTIONS_DEFINE= \
HTTP_REALIP \
HTTP_REWRITE \
HTTP_SECURE_LINK \
+ HTTP_SLICE \
HTTP_SSL \
HTTP_STATUS \
HTTP_SUB \
@@ -53,7 +53,10 @@ OPTIONS_DEFINE= \
MAIL_POP3 \
MAIL_SMTP \
MAIL_SSL \
- SPDY \
+ HTTPV2 \
+ NJS \
+ STREAM \
+ STREAM_SSL \
THREADS \
WWW \
AJP \
@@ -93,6 +96,7 @@ OPTIONS_DEFINE= \
ARRAYVAR \
BROTLI \
DRIZZLE \
+ DYNAMIC_UPSTREAM \
ENCRYPTSESSION \
FORMINPUT \
GRIDFS \
@@ -122,8 +126,8 @@ OPTIONS_DEFINE= \
OPTIONS_DEFAULT=IPV6 FILE_AIO HTTP HTTP_ADDITION HTTP_AUTH_REQ HTTP_CACHE \
HTTP_DAV HTTP_FLV HTTP_GZIP_STATIC HTTP_GUNZIP_FILTER \
HTTP_MP4 HTTP_RANDOM_INDEX HTTP_REALIP HTTP_SECURE_LINK \
- HTTP_REWRITE HTTP_SSL HTTP_STATUS HTTP_SUB MAIL MAIL_SSL \
- SPDY WWW
+ HTTP_SLICE HTTP_REWRITE HTTP_SSL HTTP_STATUS HTTP_SUB \
+ HTTPV2 MAIL MAIL_SSL STREAM STREAM_SSL THREADS WWW
DEBUGLOG_DESC= Enable debug log (--with-debug)
FILE_AIO_DESC= Enable file aio
@@ -144,6 +148,7 @@ HTTP_RANDOM_INDEX_DESC= Enable http_random_index module
HTTP_REALIP_DESC= Enable http_realip module
HTTP_REWRITE_DESC= Enable http_rewrite module
HTTP_SECURE_LINK_DESC= Enable http_secure_link module
+HTTP_SLICE_DESC= Enable http_slice module
HTTP_SSL_DESC= Enable http_ssl module
HTTP_STATUS_DESC= Enable http_stub_status module
HTTP_SUB_DESC= Enable http_sub module
@@ -153,7 +158,10 @@ MAIL_IMAP_DESC= Enable IMAP4 proxy module
MAIL_POP3_DESC= Enable POP3 proxy module
MAIL_SMTP_DESC= Enable SMTP proxy module
MAIL_SSL_DESC= Enable mail_ssl module
-SPDY_DESC= Enable SPDY protocol support (SSL req.)
+HTTPV2_DESC= Enable HTTP/2 protocol support (SSL req.)
+NJS_DESC= Enable http_javascript module
+STREAM_DESC= Enable stream module
+STREAM_SSL_DESC= Enable stream_ssl module (SSL req.)
THREADS_DESC= Enable threads support
WWW_DESC= Enable html sample files
AJP_DESC= 3rd party ajp module
@@ -193,6 +201,7 @@ HTTP_ZIP_DESC= 3rd party http_zip module
ARRAYVAR_DESC= 3rd party array_var module
BROTLI_DESC= 3rd party brotli module
DRIZZLE_DESC= 3rd party drizzlie module
+DYNAMIC_UPSTREAM_DESC= 3rd party dynamic_upstream module
ENCRYPTSESSION_DESC= 3rd party encrypted_session module
FORMINPUT_DESC= 3rd party form_input module
GRIDFS_DESC= 3rd party gridfs module
@@ -247,10 +256,12 @@ SUB_LIST+= WWWOWN=${WWWOWN} \
NGINX_TMPDIR=${NGINX_TMPDIR}
HAS_CONFIGURE= yes
+MODULESDIR= ${ETCDIR}/modules
CONFIGURE_ARGS+=--prefix=${ETCDIR} \
--with-cc-opt="-I ${LOCALBASE}/include" \
--with-ld-opt="-L ${LOCALBASE}/lib" \
--conf-path=${ETCDIR}/nginx.conf \
+ --modules-path=${MODULESDIR} \
--sbin-path=${PREFIX}/sbin/nginx \
--pid-path=${NGINX_RUNDIR}/nginx.pid \
--error-log-path=${NGINX_ERRORLOG} \
@@ -398,7 +409,7 @@ GIT_CT_VERSION= f3cad5e
GH_ACCOUNT+= grahamedgecombe:ct
GH_PROJECT+= nginx-ct:ct
GH_TAGNAME+= ${GIT_CT_VERSION}:ct
-CONFIGURE_ARGS+=--add-module=${WRKSRC_ct}
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_ct}
NGINX_OPENSSL= yes
USE_HTTP_SSL= yes
WITH_OPENSSL_PORT= yes
@@ -409,7 +420,7 @@ NGINX_ECHO_VERSION= 4f7aa50
GH_ACCOUNT+= openresty:echo
GH_PROJECT+= echo-nginx-module:echo
GH_TAGNAME+= ${NGINX_ECHO_VERSION}:echo
-CONFIGURE_ARGS+=--add-module=${WRKSRC_echo}
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_echo}
.endif
.if ${PORT_OPTIONS:MHEADERS_MORE}
@@ -417,7 +428,7 @@ NGINX_HEADERS_MORE_VERSION= f5559ec
GH_ACCOUNT+= openresty:headers_more
GH_PROJECT+= headers-more-nginx-module:headers_more
GH_TAGNAME+= ${NGINX_HEADERS_MORE_VERSION}:headers_more
-CONFIGURE_ARGS+=--add-module=${WRKSRC_headers_more}
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_headers_more}
.endif
.if ${PORT_OPTIONS:MHTTP_DAV} || defined(USE_HTTP_DAV)
@@ -439,7 +450,7 @@ NGINX_EVAL_VERSION= 342c812
GH_ACCOUNT+= openresty:eval
GH_PROJECT+= nginx-eval-module:eval
GH_TAGNAME+= ${NGINX_EVAL_VERSION}:eval
-CONFIGURE_ARGS+=--add-module=${WRKSRC_eval}
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_eval}
.endif
.if ${PORT_OPTIONS:MHTTP_FANCYINDEX}
@@ -471,7 +482,7 @@ CONFIGURE_ARGS+=--add-module=${WRKSRC_json_status}
.endif
.if ${PORT_OPTIONS:MHTTP_GEOIP}
-CONFIGURE_ARGS+=--with-http_geoip_module
+CONFIGURE_ARGS+=--with-http_geoip_module=dynamic
LIB_DEPENDS+= libGeoIP.so:net/GeoIP
.endif
@@ -485,7 +496,7 @@ CONFIGURE_ARGS+=--with-http_gunzip_module
.if ${PORT_OPTIONS:MHTTP_IMAGE_FILTER}
LIB_DEPENDS+= libgd.so:graphics/gd
-CONFIGURE_ARGS+=--with-http_image_filter_module
+CONFIGURE_ARGS+=--with-http_image_filter_module=dynamic
.endif
.if ${PORT_OPTIONS:MHTTP_MP4}
@@ -519,7 +530,7 @@ EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_notice_module.c
.if ${PORT_OPTIONS:MHTTP_PERL}
CATEGORIES+= perl5
-CONFIGURE_ARGS+=--with-http_perl_module
+CONFIGURE_ARGS+=--with-http_perl_module=dynamic
USES+= perl5
.endif
@@ -551,7 +562,7 @@ CONFIGURE_ARGS+=--with-http_realip_module
NGINX_REDIS_VERSION= 0.3.8
MASTER_SITES+= LOCAL/osa:redis
DISTFILES+= ngx_http_redis-${NGINX_REDIS_VERSION}.tar.gz:redis
-CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_redis-${NGINX_REDIS_VERSION}
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKDIR}/ngx_http_redis-${NGINX_REDIS_VERSION}
.endif
.if ${PORT_OPTIONS:MHTTP_RESPONSE}
@@ -584,6 +595,10 @@ EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_tarantool-config
CONFIGURE_ARGS+=--with-http_secure_link_module
.endif
+.if ${PORT_OPTIONS:MHTTP_SLICE}
+CONFIGURE_ARGS+=--with-http_slice_module
+.endif
+
.if ${PORT_OPTIONS:MHTTP_STATUS}
CONFIGURE_ARGS+=--with-http_stub_status_module
.endif
@@ -657,7 +672,7 @@ CONFIGURE_ARGS+=--add-module=${WRKSRC_vte} --with-cc-opt="-I ${LOCALBASE}/includ
.if ${PORT_OPTIONS:MHTTP_XSLT}
USE_GNOME+= libxml2 libxslt
-CONFIGURE_ARGS+=--with-http_xslt_module
+CONFIGURE_ARGS+=--with-http_xslt_module=dynamic
.endif
.if ${PORT_OPTIONS:MHTTP_ZIP}
@@ -677,6 +692,14 @@ CONFIGURE_ARGS+=--add-module=${WRKSRC_drizzle}
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-openresty-drizzle-nginx-module-config
.endif
+.if ${PORT_OPTIONS:MDYNAMIC_UPSTREAM}
+NGINX_DYNAMIC_UPSTREAM_VERSION= 0.1.3
+GH_ACCOUNT+= cubicdaiya:dyn_upstream
+GH_PROJECT+= ngx_dynamic_upstream:dyn_upstream
+GH_TAGNAME+= v${NGINX_DYNAMIC_UPSTREAM_VERSION}:dyn_upstream
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_dyn_upstream}
+.endif
+
.if ${PORT_OPTIONS:MARRAYVAR} || ${PORT_OPTIONS:MENCRYPTSESSION} || ${PORT_OPTIONS:MFORMINPUT} || ${PORT_OPTIONS:MICONV} || ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MSET_MISC}
NGINX_DEVEL_KIT_VERSION= 0.2.19
GH_ACCOUNT+= simpl:devel_kit
@@ -718,7 +741,7 @@ NGINX_LUA_VERSION= d44f8e0
GH_ACCOUNT+= openresty:lua
GH_PROJECT+= lua-nginx-module:lua
GH_TAGNAME+= ${NGINX_LUA_VERSION}:lua
-CONFIGURE_ARGS+=--add-module=${WRKSRC_lua}
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_lua}
.endif
.if ${PORT_OPTIONS:MMEMC}
@@ -765,8 +788,9 @@ CONFIGURE_ARGS+=--without-http_rewrite_module \
PASSENGER_VERSION= 5.0.26
MASTER_SITES+= http://s3.amazonaws.com/phusion-passenger/releases/:passenger
DISTFILES+= passenger-${PASSENGER_VERSION}.tar.gz:passenger
-CONFIGURE_ARGS+=--add-module=${WRKDIR}/passenger-${PASSENGER_VERSION}/src/nginx_module
-EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-passenger-build-nginx.rb
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKDIR}/passenger-${PASSENGER_VERSION}/src/nginx_module
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-passenger-build-nginx.rb \
+ ${PATCHDIR}/extra-patch-passenger-src-nginx_module-config
.if empty(PORT_OPTIONS:MDEBUG)
CONFIGURE_ENV+= OPTIMIZE="yes"
CFLAGS+= -DNDEBUG
@@ -820,7 +844,7 @@ NGINX_SET_MISC_VERSION= 6582fb4
GH_ACCOUNT+= openresty:setmisc
GH_PROJECT+= set-misc-nginx-module:setmisc
GH_TAGNAME+= ${NGINX_SET_MISC_VERSION}:setmisc
-CONFIGURE_ARGS+=--add-module=${WRKSRC_setmisc}
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_setmisc}
.endif
.if ${PORT_OPTIONS:MSFLOW}
@@ -856,7 +880,7 @@ LIB_DEPENDS+= libMagickCore-6.so:graphics/ImageMagick \
GH_ACCOUNT+= cubicdaiya:small_light
GH_PROJECT+= ngx_small_light:small_light
GH_TAGNAME+= v${NGINX_SMALL_LIGHT_VERSION}:small_light
-CONFIGURE_ARGS+=--add-module=${WRKSRC_small_light}
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_small_light}
.endif
.if ${PORT_OPTIONS:MSRCACHE}
@@ -899,10 +923,27 @@ GH_TAGNAME+= v${NGINX_XSS_VERSION}:xss
CONFIGURE_ARGS+=--add-module=${WRKSRC_xss}
.endif
-.if ${PORT_OPTIONS:MSPDY}
+.if ${PORT_OPTIONS:MHTTPV2}
+NGINX_OPENSSL= yes
+USE_HTTP_SSL= yes
+CONFIGURE_ARGS+=--with-http_v2_module
+WITH_OPENSSL_PORT= yes
+.endif
+
+.if ${PORT_OPTIONS:MNJS}
+GH_ACCOUNT+= nginx:njs
+GH_PROJECT+= njs:njs
+GH_TAGNAME+= c4a5f2b:njs
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_njs}/nginx
+.endif
+
+.if ${PORT_OPTIONS:MSTREAM}
+CONFIGURE_ARGS+=--with-stream=dynamic
+.if ${PORT_OPTIONS:MSTREAM_SSL}
NGINX_OPENSSL= yes
USE_HTTP_SSL= yes
-CONFIGURE_ARGS+=--with-http_spdy_module
+CONFIGURE_ARGS+=--with-stream_ssl_module
+.endif
.endif
.if ${PORT_OPTIONS:MTHREADS}
@@ -921,7 +962,7 @@ PLIST_SUB+= WWWDATA="@comment "
.endif # WITH_HTTP
.if ${PORT_OPTIONS:MMAIL}
-CONFIGURE_ARGS+=--with-mail
+CONFIGURE_ARGS+=--with-mail=dynamic
.if empty(PORT_OPTIONS:MMAIL_IMAP)
CONFIGURE_ARGS+=--without-mail_imap_module
.endif
@@ -957,7 +998,7 @@ LIB_DEPENDS+= libbrotlidec.so:devel/libbrotli \
GH_ACCOUNT+= google:brotli
GH_PROJECT+= ngx_brotli:brotli
GH_TAGNAME+= ${NGINX_BROTLI_VERSION}:brotli
-CONFIGURE_ARGS+=--add-module=${WRKSRC_brotli}
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_brotli}
.endif
.if ${PORT_OPTIONS:MFORMINPUT}
@@ -985,11 +1026,6 @@ GROUPS?=${WWWGRP}
.if defined(NGINX_OPENSSL)
USE_OPENSSL= yes
-.if ${PORT_OPTIONS:MSPDY}
-.if ${OSVERSION} < 1000028
-WITH_OPENSSL_PORT= yes
-.endif
-.endif
.endif
pre-everything::
@@ -1067,6 +1103,20 @@ post-patch:
's!%%PREFIX%%!${LOCALBASE}!g' \
${WRKDIR}/nginx-sflow-module-${NGINX_SFLOW_VERSION}/ngx_http_sflow_config.h
.endif
+.if ${PORT_OPTIONS:MSTATSD}
+ @${REINPLACE_CMD} \
+ 's!ngx_udp_connection_t!ngx_resolver_connection_t!g; \
+ s!uc->connection!uc->udp!g; \
+ s!e->udp_connection->connection!e->udp_connection->udp!g' \
+ ${WRKSRC_statsd}/ngx_http_statsd.c
+.endif
+.if ${PORT_OPTIONS:MUDPLOG}
+ @${REINPLACE_CMD} \
+ 's!ngx_udp_connection_t!ngx_resolver_connection_t!g; \
+ s!uc->connection!uc->udp!g; \
+ s!e->udp_connection->connection!e->udp_connection->udp!g' \
+ ${WRKDIR}/nginx_udplog_module-${NGINX_UDPLOG_VERSION}/ngx_http_udplog_module.c
+.endif
.if ${PORT_OPTIONS:MICONV}
@${REINPLACE_CMD} \
's!%%PREFIX%%!${LOCALBASE}!g' \
@@ -1098,12 +1148,13 @@ do-build:
do-install:
${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${MKDIR} ${STAGEDIR}${MODULESDIR}
${MKDIR} ${STAGEDIR}${NGINX_TMPDIR}
${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${STAGEDIR}${PREFIX}/sbin
.for i in koi-utf koi-win win-utf
${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${ETCDIR}
.endfor
-.for i in fastcgi_params mime.types nginx.conf scgi_params uwsgi_params
+.for i in fastcgi_params mime.types scgi_params uwsgi_params
${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${ETCDIR}/${i}-dist
.endfor
.if !empty(PORT_OPTIONS:MHTTP) && !empty(PORT_OPTIONS:MWWW)
@@ -1122,6 +1173,10 @@ do-install:
${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/
.endif
+# Install dynamic modules
+ (cd ${WRKSRC}/objs/ && ${FIND} . -name '*.so' -maxdepth 1 -type f \
+ -exec ${INSTALL_PROGRAM} "{}" ${STAGEDIR}${MODULESDIR} \;)
+
.if ${PORT_OPTIONS:MNAXSI}
${INSTALL_DATA} \
${WRKDIR}/naxsi-${NGINX_NAXSI_VERSION}/naxsi_config/naxsi_core.rules \
@@ -1139,4 +1194,15 @@ post-install:
${ECHO_CMD} etc/nginx/naxsi_core.rules >> ${TMPPLIST}
.endif
+# Add dynamic modules to the plist
+ (cd ${STAGEDIR}${PREFIX} && ${FIND} ${MODULESDIR:S|${PREFIX}/||} \
+ ! -type d >>${TMPPLIST})
+# Update nginx.conf-dist with a list of staged dynamic modules
+ (cd ${STAGEDIR}${ETCDIR} && \
+ ${FIND} ${MODULESDIR:S|${ETCDIR}/||} -type f -name '*.so' \
+ -exec ${ECHO_CMD} "load_module {};" \; \
+ >>${STAGEDIR}${ETCDIR}/nginx.conf-dist && \
+ ${CAT} ${WRKSRC}/conf/nginx.conf \
+ >>${STAGEDIR}${ETCDIR}/nginx.conf-dist)
+
.include <bsd.port.mk>
diff --git a/www/nginx/distinfo b/www/nginx/distinfo
index 7d3eefb11409..d8e2bf1cdfed 100644
--- a/www/nginx/distinfo
+++ b/www/nginx/distinfo
@@ -1,5 +1,5 @@
-SHA256 (nginx-1.8.1.tar.gz) = 8f4b3c630966c044ec72715754334d1fdf741caa1d5795fb4646c27d09f797b7
-SIZE (nginx-1.8.1.tar.gz) = 833473
+SHA256 (nginx-1.10.0.tar.gz) = 8ed647c3dd65bc4ced03b0e0f6bf9e633eff6b01bac772bcf97077d58bc2be4d
+SIZE (nginx-1.10.0.tar.gz) = 908954
SHA256 (nginx-accesskey-2.0.3.tar.gz) = d9e94321e78a02de16c57f3e048fd31059fd8116ed03d6de7180f435c52502b1
SIZE (nginx-accesskey-2.0.3.tar.gz) = 2632
SHA256 (ngx_http_auth_pam_module-1.2.tar.gz) = 5a85970ba61a99f55a26d2536a11d512b39bbd622f5737d25a9a8c10db81efa9
@@ -80,6 +80,8 @@ SHA256 (wandenberg-nginx-video-thumbextractor-module-0.7.0_GH0.tar.gz) = 382bb41
SIZE (wandenberg-nginx-video-thumbextractor-module-0.7.0_GH0.tar.gz) = 2709351
SHA256 (openresty-drizzle-nginx-module-v0.1.9_GH0.tar.gz) = aafb79d87273eec023025333c34d6d0108026a1ce2e09b20a53e8e2d9bf65080
SIZE (openresty-drizzle-nginx-module-v0.1.9_GH0.tar.gz) = 59024
+SHA256 (cubicdaiya-ngx_dynamic_upstream-v0.1.3_GH0.tar.gz) = bf60cf196c86193376d11f8c7a3826994b24a48bb36943bab8a25af6e776af3b
+SIZE (cubicdaiya-ngx_dynamic_upstream-v0.1.3_GH0.tar.gz) = 10921
SHA256 (simpl-ngx_devel_kit-v0.2.19_GH0.tar.gz) = 501f299abdb81b992a980bda182e5de5a4b2b3e275fbf72ee34dd7ae84c4b679
SIZE (simpl-ngx_devel_kit-v0.2.19_GH0.tar.gz) = 65029
SHA256 (openresty-encrypted-session-nginx-module-v0.03_GH0.tar.gz) = 4d0da617b3122b145dd46ec8618c6248db79c992704b23ed78e01bddf14173d3
@@ -120,6 +122,8 @@ SHA256 (gabor-nginx-x-rid-header-0daa3cc_GH0.tar.gz) = de784142d867a35ecc5443fa3
SIZE (gabor-nginx-x-rid-header-0daa3cc_GH0.tar.gz) = 2711
SHA256 (openresty-xss-nginx-module-v0.04_GH0.tar.gz) = 4e5230a644779b8298063d5c0bd7dc19531496369456d69dc5281ae1cca4d6ec
SIZE (openresty-xss-nginx-module-v0.04_GH0.tar.gz) = 10536
+SHA256 (nginx-njs-c4a5f2b_GH0.tar.gz) = 90859b979c76ad04fa3b45ed773ddfe14b6a9ca0b6d70626aa3293c2aad3d52d
+SIZE (nginx-njs-c4a5f2b_GH0.tar.gz) = 150513
SHA256 (openresty-array-var-nginx-module-v0.03_GH0.tar.gz) = f9892ec9a2e872d8aabeb2234d0d4c66cf85b8dbb2ca5c108a20c3d8c2111189
SIZE (openresty-array-var-nginx-module-v0.03_GH0.tar.gz) = 9520
SHA256 (google-ngx_brotli-2fc6f12_GH0.tar.gz) = f72daeb63db97e4facf99f6917f55f5d33e52f7f18d87c01fac05ec50274054f
diff --git a/www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config b/www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config
new file mode 100644
index 000000000000..4acc8aee7492
--- /dev/null
+++ b/www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config
@@ -0,0 +1,13 @@
+--- ../set-misc-nginx-module-0.29/config.orig 2011-12-09 10:27:53.861265188 +0300
++++ ../set-misc-nginx-module-0.29/config 2011-12-09 10:28:07.107259301 +0300
+@@ -1,10 +1,3 @@
+-if echo $HTTP_MODULES | grep " ndk_http_module" > /dev/null; then
+- echo "found ngx_devel_kit for ngx_set_misc; looks good."
+-else
+- echo "error: ngx_devel_kit is required to build ngx_set_misc; please put it before ngx_set_misc." 1>&2
+- exit 1
+-fi
+-
+ ngx_addon_name=ngx_http_set_misc_module
+ HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES ngx_http_set_misc_module"
+ NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/src/ngx_http_set_base32.c $ngx_addon_dir/src/ngx_http_set_default_value.c $ngx_addon_dir/src/ngx_http_set_hashed_upstream.c $ngx_addon_dir/src/ngx_http_set_quote_sql.c $ngx_addon_dir/src/ngx_http_set_quote_json.c $ngx_addon_dir/src/ngx_http_set_unescape_uri.c $ngx_addon_dir/src/ngx_http_set_misc_module.c $ngx_addon_dir/src/ngx_http_set_escape_uri.c $ngx_addon_dir/src/ngx_http_set_hash.c $ngx_addon_dir/src/ngx_http_set_local_today.c $ngx_addon_dir/src/ngx_http_set_hex.c $ngx_addon_dir/src/ngx_http_set_base64.c $ngx_addon_dir/src/ngx_http_set_random.c"
diff --git a/www/nginx/files/extra-patch-passenger-src-nginx_module-config b/www/nginx/files/extra-patch-passenger-src-nginx_module-config
new file mode 100644
index 000000000000..d33b40c028a3
--- /dev/null
+++ b/www/nginx/files/extra-patch-passenger-src-nginx_module-config
@@ -0,0 +1,13 @@
+--- ../passenger-5.0.26/src/nginx_module/config.orig 2016-03-04 17:28:49.527086000 -0500
++++ ../passenger-5.0.26/src/nginx_module/config 2016-03-04 17:29:16.364138000 -0500
+@@ -20,6 +20,10 @@
+ if ! cd $ngx_addon_dir; then
+ exit 1
+ fi
++ if [ "$ngx_module_link" = DYNAMIC ]; then
++ EXTRA_CXXFLAGS="-fPIC"
++ export EXTRA_CXXFLAGS
++ fi
+ if test "x$TRACE" = 1; then
+ if ! rake --trace nginx CACHING=false; then
+ exit 1
diff --git a/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c b/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c
index b80fbdd51c25..9267e597829f 100644
--- a/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c
+++ b/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c
@@ -1,4 +1,4 @@
---- src/http/modules/ngx_http_upstream_hash_module.c.orig 2016-01-26 14:39:32 UTC
+--- src/http/modules/ngx_http_upstream_hash_module.c.orig 2016-02-24 14:53:24 UTC
+++ src/http/modules/ngx_http_upstream_hash_module.c
@@ -9,6 +9,9 @@
#include <ngx_core.h>
@@ -10,7 +10,7 @@
typedef struct {
uint32_t hash;
-@@ -240,6 +243,15 @@ ngx_http_upstream_get_hash_peer(ngx_peer
+@@ -235,6 +238,15 @@ ngx_http_upstream_get_hash_peer(ngx_peer
goto next;
}
@@ -26,17 +26,17 @@
if (peer->max_fails
&& peer->fails >= peer->max_fails
&& now - peer->checked <= peer->fail_timeout)
-@@ -516,6 +528,15 @@ ngx_http_upstream_get_chash_peer(ngx_pee
+@@ -535,6 +547,15 @@ ngx_http_upstream_get_chash_peer(ngx_pee
continue;
}
+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
-+ "get consistent_hash peer, check_index: %ui",
-+ peer->check_index);
-+ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
-+ continue;
-+ }
++ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
++ "get consistent_hash peer, check_index: %ui",
++ peer->check_index);
++ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
++ continue;
++ }
+#endif
+
if (peer->server.len != server->len
diff --git a/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c b/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c
index 53d421963880..176876b9d23f 100644
--- a/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c
+++ b/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c
@@ -1,4 +1,4 @@
---- src/http/modules/ngx_http_upstream_ip_hash_module.c.orig 2016-01-26 14:39:32 UTC
+--- src/http/modules/ngx_http_upstream_ip_hash_module.c.orig 2016-02-24 14:53:24 UTC
+++ src/http/modules/ngx_http_upstream_ip_hash_module.c
@@ -9,6 +9,9 @@
#include <ngx_core.h>
@@ -10,8 +10,8 @@
typedef struct {
/* the round robin data must be first */
-@@ -212,6 +215,15 @@ ngx_http_upstream_get_ip_hash_peer(ngx_p
- goto next_try;
+@@ -205,6 +208,15 @@ ngx_http_upstream_get_ip_hash_peer(ngx_p
+ goto next;
}
+#if (NGX_HTTP_UPSTREAM_CHECK)
@@ -19,7 +19,7 @@
+ "get ip_hash peer, check_index: %ui",
+ peer->check_index);
+ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
-+ goto next_try;
++ goto next;
+ }
+#endif
+
diff --git a/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c b/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c
index c07b8be76ea4..84f88fd4d8cd 100644
--- a/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c
+++ b/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c
@@ -1,4 +1,4 @@
---- src/http/modules/ngx_http_upstream_least_conn_module.c.orig 2016-01-26 14:39:32 UTC
+--- src/http/modules/ngx_http_upstream_least_conn_module.c.orig 2016-02-24 14:53:24 UTC
+++ src/http/modules/ngx_http_upstream_least_conn_module.c
@@ -9,6 +9,9 @@
#include <ngx_core.h>
@@ -8,9 +8,9 @@
+#include "ngx_http_upstream_check_module.h"
+#endif
- typedef struct {
- ngx_uint_t *conns;
-@@ -203,6 +206,16 @@ ngx_http_upstream_get_least_conn_peer(ng
+ static ngx_int_t ngx_http_upstream_init_least_conn_peer(ngx_http_request_t *r,
+ ngx_http_upstream_srv_conf_t *us);
+@@ -148,6 +151,16 @@ ngx_http_upstream_get_least_conn_peer(ng
continue;
}
@@ -27,7 +27,7 @@
if (peer->max_fails
&& peer->fails >= peer->max_fails
&& now - peer->checked <= peer->fail_timeout)
-@@ -256,6 +269,16 @@ ngx_http_upstream_get_least_conn_peer(ng
+@@ -199,6 +212,16 @@ ngx_http_upstream_get_least_conn_peer(ng
continue;
}
@@ -41,6 +41,6 @@
+ }
+#endif
+
- if (lcp->conns[i] * best->weight != lcp->conns[p] * peer->weight) {
+ if (peer->conns * best->weight != best->conns * peer->weight) {
continue;
}
diff --git a/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c b/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c
index 9da4e8786b11..e5012b098309 100644
--- a/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c
+++ b/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c
@@ -1,4 +1,4 @@
---- src/http/ngx_http_upstream_round_robin.c.orig 2016-01-26 14:39:33 UTC
+--- src/http/ngx_http_upstream_round_robin.c.orig 2016-02-24 14:53:24 UTC
+++ src/http/ngx_http_upstream_round_robin.c
@@ -9,6 +9,9 @@
#include <ngx_core.h>
@@ -10,69 +10,70 @@
#define ngx_http_upstream_tries(p) ((p)->number \
+ ((p)->next ? (p)->next->number : 0))
-@@ -92,6 +95,14 @@ ngx_http_upstream_init_round_robin(ngx_c
+@@ -96,7 +99,14 @@ ngx_http_upstream_init_round_robin(ngx_c
peer[n].fail_timeout = server[i].fail_timeout;
peer[n].down = server[i].down;
peer[n].server = server[i].name;
+-
+#if (NGX_HTTP_UPSTREAM_CHECK)
+ if (!server[i].down) {
-+ peers->peer[n].check_index =
++ peer[n].check_index =
+ ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]);
+ } else {
-+ peers->peer[n].check_index = (ngx_uint_t) NGX_ERROR;
++ peer[n].check_index = (ngx_uint_t) NGX_ERROR;
+ }
+#endif
+ *peerp = &peer[n];
+ peerp = &peer[n].next;
n++;
- }
- }
-@@ -148,6 +159,15 @@ ngx_http_upstream_init_round_robin(ngx_c
+@@ -159,7 +169,15 @@ ngx_http_upstream_init_round_robin(ngx_c
peer[n].fail_timeout = server[i].fail_timeout;
peer[n].down = server[i].down;
peer[n].server = server[i].name;
+-
+#if (NGX_HTTP_UPSTREAM_CHECK)
+ if (!server[i].down) {
-+ backup->peer[n].check_index =
++ peer[n].check_index =
+ ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]);
+ }
+ else {
-+ backup->peer[n].check_index = (ngx_uint_t) NGX_ERROR;
++ peer[n].check_index = (ngx_uint_t) NGX_ERROR;
+ }
+#endif
+ *peerp = &peer[n];
+ peerp = &peer[n].next;
n++;
- }
- }
-@@ -207,6 +227,9 @@ ngx_http_upstream_init_round_robin(ngx_c
+@@ -225,6 +243,9 @@ ngx_http_upstream_init_round_robin(ngx_c
peer[i].current_weight = 0;
peer[i].max_fails = 1;
peer[i].fail_timeout = 10;
+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ peers->peer[i].check_index = (ngx_uint_t) NGX_ERROR;
++ peer[i].check_index = (ngx_uint_t) NGX_ERROR;
+#endif
+ *peerp = &peer[i];
+ peerp = &peer[i].next;
}
-
- us->peer.data = peers;
-@@ -316,7 +339,9 @@ ngx_http_upstream_create_round_robin_pee
+@@ -339,6 +360,9 @@ ngx_http_upstream_create_round_robin_pee
peer[0].current_weight = 0;
peer[0].max_fails = 1;
peer[0].fail_timeout = 10;
--
+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ peers->peer[0].check_index = (ngx_uint_t) NGX_ERROR;
++ peer[0].check_index = (ngx_uint_t) NGX_ERROR;
+#endif
- } else {
+ peers->peer = peer;
- for (i = 0; i < ur->naddrs; i++) {
-@@ -356,6 +381,9 @@ ngx_http_upstream_create_round_robin_pee
+ } else {
+@@ -381,6 +405,9 @@ ngx_http_upstream_create_round_robin_pee
peer[i].current_weight = 0;
peer[i].max_fails = 1;
peer[i].fail_timeout = 10;
+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ peers->peer[i].check_index = (ngx_uint_t) NGX_ERROR;
++ peer[i].check_index = (ngx_uint_t) NGX_ERROR;
+#endif
+ *peerp = &peer[i];
+ peerp = &peer[i].next;
}
- }
-
-@@ -415,6 +443,12 @@ ngx_http_upstream_get_round_robin_peer(n
+@@ -441,6 +468,12 @@ ngx_http_upstream_get_round_robin_peer(n
goto failed;
}
@@ -82,10 +83,10 @@
+ }
+#endif
+
- } else {
+ rrp->current = peer;
- /* there are several peers */
-@@ -507,6 +541,12 @@ ngx_http_upstream_get_peer(ngx_http_upst
+ } else {
+@@ -542,6 +575,12 @@ ngx_http_upstream_get_peer(ngx_http_upst
continue;
}
diff --git a/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h b/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h
index 69461f0c0e5c..9f6d868ff171 100644
--- a/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h
+++ b/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h
@@ -1,6 +1,6 @@
---- src/http/ngx_http_upstream_round_robin.h.orig 2016-01-26 14:39:33 UTC
+--- src/http/ngx_http_upstream_round_robin.h.orig 2016-02-24 14:53:24 UTC
+++ src/http/ngx_http_upstream_round_robin.h
-@@ -31,6 +31,10 @@ typedef struct {
+@@ -35,6 +35,10 @@ struct ngx_http_upstream_rr_peer_s {
ngx_uint_t max_fails;
time_t fail_timeout;