diff options
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; |