From 8e0a0f5bea803a25608a465479f744f419374b95 Mon Sep 17 00:00:00 2001 From: "Sergey A. Osokin" Date: Tue, 26 Apr 2016 22:24:49 +0000 Subject: 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. --- www/nginx/Makefile | 126 ++++++++++++++++----- www/nginx/distinfo | 8 +- ...ra-patch-openresty-set-misc-nginx-module-config | 13 +++ .../extra-patch-passenger-src-nginx_module-config | 13 +++ ...rc-http-modules-ngx_http_upstream_hash_module.c | 18 +-- ...http-modules-ngx_http_upstream_ip_hash_module.c | 8 +- ...p-modules-ngx_http_upstream_least_conn_module.c | 12 +- ...-patch-src-http-ngx_http_upstream_round_robin.c | 57 +++++----- ...-patch-src-http-ngx_http_upstream_round_robin.h | 4 +- 9 files changed, 178 insertions(+), 81 deletions(-) create mode 100644 www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config create mode 100644 www/nginx/files/extra-patch-passenger-src-nginx_module-config (limited to 'www/nginx') 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 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 @@ -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 @@ -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 @@ -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 @@ -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; -- cgit v1.2.3