aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;