[Midnightbsd-cvs] mports [22114] trunk/www/nginx: upgrade nginx

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Mon Dec 19 15:31:29 EST 2016


Revision: 22114
          http://svnweb.midnightbsd.org/mports/?rev=22114
Author:   laffer1
Date:     2016-12-19 15:31:29 -0500 (Mon, 19 Dec 2016)
Log Message:
-----------
upgrade nginx

Modified Paths:
--------------
    trunk/www/nginx/Makefile
    trunk/www/nginx/distinfo
    trunk/www/nginx/files/extra-patch-calio-iconv-nginx-module-config
    trunk/www/nginx/files/extra-patch-nginx-modsecurity-configure
    trunk/www/nginx/files/extra-patch-ngx_http_sflow_config.c
    trunk/www/nginx/files/extra-patch-ngx_http_sflow_config.h
    trunk/www/nginx/files/extra-patch-ngx_http_sflow_module.c
    trunk/www/nginx/files/extra-patch-ngx_http_tarantool-config
    trunk/www/nginx/files/extra-patch-passenger-build-nginx.rb
    trunk/www/nginx/files/patch-conf-nginx.conf
    trunk/www/nginx/pkg-plist

Added Paths:
-----------
    trunk/www/nginx/files/extra-patch-ngx_http_upstream_fair_module.c
    trunk/www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config
    trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c
    trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c
    trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c
    trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c
    trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h
    trunk/www/nginx/files/pkg-message.in

Modified: trunk/www/nginx/Makefile
===================================================================
--- trunk/www/nginx/Makefile	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/Makefile	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,12 +1,12 @@
 # $MidnightBSD$
 
 PORTNAME=	nginx
-PORTVERSION=	1.8.1
-PORTREVISION=	0
+PORTVERSION=	1.10.2
+PORTREVISION=	1
 PORTEPOCH=	2
 CATEGORIES=	www
 MASTER_SITES=	http://nginx.org/download/
-MASTER_SITES+=	FREEBSD_LOCAL/osa
+MASTER_SITES+=	LOCAL/osa
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=	ports at MidnightBSD.org
@@ -22,6 +22,7 @@
 
 NO_OPTIONS_SORT=	yes
 OPTIONS_DEFINE=	\
+	DSO \
 	DEBUG \
 	DEBUGLOG \
 	FILE_AIO \
@@ -37,11 +38,13 @@
 	HTTP_GZIP_STATIC \
 	HTTP_GUNZIP_FILTER \
 	HTTP_IMAGE_FILTER \
+	HTTP_MP4 \
 	HTTP_PERL \
 	HTTP_RANDOM_INDEX \
 	HTTP_REALIP \
 	HTTP_REWRITE \
 	HTTP_SECURE_LINK \
+	HTTP_SLICE \
 	HTTP_SSL \
 	HTTP_STATUS \
 	HTTP_SUB \
@@ -51,10 +54,14 @@
 	MAIL_POP3 \
 	MAIL_SMTP \
 	MAIL_SSL \
-	SPDY \
+	HTTPV2 \
+	NJS \
+	STREAM \
+	STREAM_SSL \
 	THREADS \
 	WWW \
 	AJP \
+	AWS_AUTH \
 	CACHE_PURGE \
 	CLOJURE \
 	CT \
@@ -72,6 +79,7 @@
 	HTTP_FOOTER \
 	HTTP_JSON_STATUS \
 	HTTP_MOGILEFS \
+	HTTP_MP4_H264 \
 	HTTP_NOTICE \
 	HTTP_PUSH \
 	HTTP_PUSH_STREAM \
@@ -81,12 +89,15 @@
 	HTTP_TARANTOOL \
 	HTTP_UPLOAD \
 	HTTP_UPLOAD_PROGRESS \
+	HTTP_UPSTREAM_CHECK \
 	HTTP_UPSTREAM_FAIR \
 	HTTP_UPSTREAM_STICKY \
+	HTTP_VIDEO_THUMBEXTRACTOR \
 	HTTP_ZIP \
 	ARRAYVAR \
 	BROTLI \
 	DRIZZLE \
+	DYNAMIC_UPSTREAM \
 	ENCRYPTSESSION \
 	FORMINPUT \
 	GRIDFS \
@@ -110,14 +121,18 @@
 	SRCACHE \
 	STATSD \
 	UDPLOG \
+	X11 \
 	XRID_HEADER \
-	XSS \
-	VIDEO
+	XSS
 
-OPTIONS_RADIO=		VIDEO
-OPTIONS_RADIO_VIDEO=	HTTP_MP4 HTTP_MP4_H264
-OPTIONS_DEFAULT=	IPV6 HTTP HTTP_CACHE HTTP_REWRITE HTTP_SSL HTTP_STATUS WWW
+OPTIONS_DEFAULT=DSO 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_SLICE HTTP_REWRITE HTTP_SSL HTTP_STATUS HTTP_SUB \
+		HTTPV2 MAIL MAIL_SSL STREAM STREAM_SSL THREADS WWW
 
+DSO_DESC=			Enable dynamic modules support
+DEBUG_DESC=			Build with debugging support
 DEBUGLOG_DESC=			Enable debug log (--with-debug)
 FILE_AIO_DESC=			Enable file aio
 GOOGLE_PERFTOOLS_DESC=		Enable google perftools module
@@ -137,6 +152,7 @@
 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
@@ -146,10 +162,14 @@
 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
+AWS_AUTH_DESC=			3rd party aws auth module
 CACHE_PURGE_DESC=		3rd party cache_purge module
 CLOJURE_DESC=			3rd party clojure module
 CT_DESC=			3rd party cert_transparency module (SSL req.)
@@ -177,12 +197,15 @@
 HTTP_TARANTOOL_DESC=		3rd party tarantool upstream module
 HTTP_UPLOAD_DESC=		3rd party upload module
 HTTP_UPLOAD_PROGRESS_DESC=	3rd party uploadprogress module
+HTTP_UPSTREAM_CHECK_DESC=	3rd party upstream check module
 HTTP_UPSTREAM_FAIR_DESC=	3rd party upstream fair module
 HTTP_UPSTREAM_STICKY_DESC=	3rd party upstream sticky module
+HTTP_VIDEO_THUMBEXTRACTOR_DESC=	3rd party video_thumbextractor module
 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
@@ -206,6 +229,7 @@
 SRCACHE_DESC=			3rd party srcache module
 STATSD_DESC=			3rd party statsd module
 UDPLOG_DESC=			3rd party udplog (syslog) module
+X11_DESC=			graphics/ImageMagick[-nox11] dependency
 XRID_HEADER_DESC=		3rd party x-rid header module
 XSS_DESC=			3rd party xss module
 VIDEO_DESC=			Video module support
@@ -214,6 +238,12 @@
 
 .include <bsd.mport.options.mk>
 
+.if ${PORT_OPTIONS:MX11}
+IMAGEMAGICK_LIB_DEPENDS= libMagickWand-6.so:${PORTSDIR}/graphics/ImageMagick
+.else
+IMAGEMAGICK_LIB_DEPENDS= libMagickWand-6.so:${PORTSDIR}/graphics/ImageMagick-nox11
+.endif
+
 .if ${PORT_OPTIONS:MPASSENGER}
 CATEGORIES+=	ruby
 USE_RUBY=	yes
@@ -221,16 +251,17 @@
 .endif
 
 NGINX_VARDIR?=	/var
-NGINX_LOGDIR?=	${NGINX_VARDIR}/log
+NGINX_LOGDIR?=	${NGINX_VARDIR}/log/nginx
 NGINX_RUNDIR?=	${NGINX_VARDIR}/run
 NGINX_TMPDIR?=	${NGINX_VARDIR}/tmp/nginx
 HTTP_PORT?=	80
 
-NGINX_ACCESSLOG?=	${NGINX_LOGDIR}/nginx-access.log
-NGINX_ERRORLOG?=	${NGINX_LOGDIR}/nginx-error.log
+NGINX_ACCESSLOG?=	${NGINX_LOGDIR}/access.log
+NGINX_ERRORLOG?=	${NGINX_LOGDIR}/error.log
 
 CONFLICTS?=	nginx-devel-1.*
 USE_RC_SUBR=	nginx
+SUB_FILES=	pkg-message
 SUB_LIST+=	WWWOWN=${WWWOWN} \
 		WWWGRP=${WWWGRP} \
 		NGINX_RUNDIR=${NGINX_RUNDIR} \
@@ -246,6 +277,11 @@
 		--error-log-path=${NGINX_ERRORLOG} \
 		--user=${WWWOWN} --group=${WWWGRP}
 
+.if !empty(PORT_OPTIONS:MDSO)
+MODULESDIR=	${TRUE_PREFIX}/libexec/${PORTNAME}
+CONFIGURE_ARGS+=--modules-path=${MODULESDIR}
+.endif
+
 .if empty(PORT_OPTIONS:MHTTP) && empty(PORT_OPTIONS:MMAIL)
 IGNORE=		requires at least HTTP or MAIL to \
 		be defined.  Please do 'make config' again
@@ -292,7 +328,7 @@
 
 .if ${PORT_OPTIONS:MHTTP_ACCESSKEY}
 NGINX_ACCESSKEY_VERSION=	2.0.3
-MASTER_SITES+=	LOCAL/osa:accesskey
+MASTER_SITES+=	FREEBSD_LOCAL/osa:accesskey
 DISTFILES+=	nginx-accesskey-${NGINX_ACCESSKEY_VERSION}.tar.gz:accesskey
 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-accesskey-${NGINX_ACCESSKEY_VERSION}
 .endif
@@ -302,12 +338,11 @@
 .endif
 
 .if ${PORT_OPTIONS:MHTTP_AUTH_DIGEST}
-GIT_AUTH_DIGEST_VERSION=	bd1c86a
-GH_ACCOUNT+=	samizdatco:auth_digest
+GIT_AUTH_DIGEST_VERSION=	cc61b4a
+GH_ACCOUNT+=	atomx:auth_digest
 GH_PROJECT+=	nginx-http-auth-digest:auth_digest
 GH_TAGNAME+=	${GIT_AUTH_DIGEST_VERSION}:auth_digest
 CONFIGURE_ARGS+=--add-module=${WRKSRC_auth_digest}
-EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-ngx_http_auth_digest_module.c
 .endif
 
 .if ${PORT_OPTIONS:MHTTP_AUTH_KRB5}
@@ -323,11 +358,15 @@
 
 .if ${PORT_OPTIONS:MHTTP_AUTH_LDAP}
 # WWW: https://github.com/kvspb/nginx-auth-ldap
-GIT_HTTP_AUTH_LDAP_VERSION=	8517bb0
+GIT_HTTP_AUTH_LDAP_VERSION=	dbcef31
 GH_ACCOUNT+=	kvspb:http_auth_ldap
 GH_PROJECT+=	nginx-auth-ldap:http_auth_ldap
 GH_TAGNAME+=	${GIT_HTTP_AUTH_LDAP_VERSION}:http_auth_ldap
-CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-auth-ldap-${GIT_HTTP_AUTH_LDAP_VERSION}
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_http_auth_ldap}
+.else
+CONFIGURE_ARGS+=--add-module=${WRKSRC_http_auth_ldap}
+.endif
 USE_OPENLDAP=	yes
 .endif
 
@@ -354,6 +393,14 @@
 CONFIGURE_ARGS+=--add-module=${WRKSRC_ajp}
 .endif
 
+.if ${PORT_OPTIONS:MAWS_AUTH}
+NGINX_AWS_AUTH_VERSION=	1e62670
+GH_ACCOUNT+=	anomalizer:aws_auth
+GH_PROJECT+=	ngx_aws_auth:aws_auth
+GH_TAGNAME+=	${NGINX_AWS_AUTH_VERSION}:aws_auth
+CONFIGURE_ARGS+=--add-module=${WRKSRC_aws_auth}
+.endif
+
 .if ${PORT_OPTIONS:MCACHE_PURGE}
 NGINX_CACHE_PURGE_VERSION=	2.3
 MASTER_SITES+=	http://labs.frickle.com/files/:cache_purge
@@ -362,6 +409,7 @@
 .endif
 
 .if ${PORT_OPTIONS:MCLOJURE}
+CATEGORIES+=	java
 USE_JAVA=	yes
 JAVA_OS=	native
 JAVA_VERSION=	1.8
@@ -368,7 +416,7 @@
 JAVA_VENDOR=	openjdk
 JAVA_BUILD=	yes
 JAVA_RUN=	yes
-NGINX_CLOJURE_VERSION=	0.4.3
+NGINX_CLOJURE_VERSION=	0.4.4
 GH_ACCOUNT+=	nginx-clojure:clojure
 GH_PROJECT+=	nginx-clojure:clojure
 GH_TAGNAME+=	v${NGINX_CLOJURE_VERSION}:clojure
@@ -381,27 +429,38 @@
 GH_ACCOUNT+=	grahamedgecombe:ct
 GH_PROJECT+=	nginx-ct:ct
 GH_TAGNAME+=	${GIT_CT_VERSION}:ct
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_ct}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKSRC_ct}
+.endif
 NGINX_OPENSSL=	yes
 USE_HTTP_SSL=	yes
-WITH_OPENSSL_PORT=	yes
 .endif
 
 .if ${PORT_OPTIONS:MECHO}
-NGINX_ECHO_VERSION=	4f7aa50
+NGINX_ECHO_VERSION=	46334b3
 GH_ACCOUNT+=	openresty:echo
 GH_PROJECT+=	echo-nginx-module:echo
 GH_TAGNAME+=	${NGINX_ECHO_VERSION}:echo
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_echo}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKSRC_echo}
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MHEADERS_MORE}
-NGINX_HEADERS_MORE_VERSION=	f5559ec
+NGINX_HEADERS_MORE_VERSION=	84241e4
 GH_ACCOUNT+=	openresty:headers_more
 GH_PROJECT+=	headers-more-nginx-module:headers_more
 GH_TAGNAME+=	${NGINX_HEADERS_MORE_VERSION}:headers_more
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_headers_more}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKSRC_headers_more}
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MHTTP_DAV} || defined(USE_HTTP_DAV)
 CONFIGURE_ARGS+=--with-http_dav_module
@@ -422,8 +481,12 @@
 GH_ACCOUNT+=	openresty:eval
 GH_PROJECT+=	nginx-eval-module:eval
 GH_TAGNAME+=	${NGINX_EVAL_VERSION}:eval
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_eval}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKSRC_eval}
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MHTTP_FANCYINDEX}
 NGINX_FANCYINDEX_VERSION=	0.3.6
@@ -446,7 +509,7 @@
 .endif
 
 .if ${PORT_OPTIONS:MHTTP_JSON_STATUS}
-NGINX_JSON_STATUS_VERSION= 1d2f303 
+NGINX_JSON_STATUS_VERSION=	1d2f303
 GH_ACCOUNT+=	nginx-modules:json_status
 GH_PROJECT+=	ngx_http_json_status_module:json_status
 GH_TAGNAME+=	${NGINX_JSON_STATUS_VERSION}:json_status
@@ -454,7 +517,11 @@
 .endif
 
 .if ${PORT_OPTIONS:MHTTP_GEOIP}
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--with-http_geoip_module=dynamic
+.else
 CONFIGURE_ARGS+=--with-http_geoip_module
+.endif
 LIB_DEPENDS+=	libGeoIP.so:${PORTSDIR}/net/GeoIP
 .endif
 
@@ -468,8 +535,12 @@
 
 .if ${PORT_OPTIONS:MHTTP_IMAGE_FILTER}
 LIB_DEPENDS+=	libgd.so:${PORTSDIR}/graphics/gd
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--with-http_image_filter_module=dynamic
+.else
 CONFIGURE_ARGS+=--with-http_image_filter_module
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MHTTP_MP4}
 CONFIGURE_ARGS+=--with-http_mp4_module
@@ -502,12 +573,16 @@
 
 .if ${PORT_OPTIONS:MHTTP_PERL}
 CATEGORIES+=	perl5
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--with-http_perl_module=dynamic
+.else
 CONFIGURE_ARGS+=--with-http_perl_module
+.endif
 USES+=		perl5
 .endif
 
 .if ${PORT_OPTIONS:MHTTP_PUSH}
-GIT_PUSH_VERSION=	0.99.5
+GIT_PUSH_VERSION=	0.99.16
 GH_ACCOUNT+=	slact:push
 GH_PROJECT+=	nchan:push
 GH_TAGNAME+=	v${GIT_PUSH_VERSION}:push
@@ -532,10 +607,14 @@
 
 .if ${PORT_OPTIONS:MHTTP_REDIS}
 NGINX_REDIS_VERSION=	0.3.8
-MASTER_SITES+=	LOCAL/osa:redis
+MASTER_SITES+=	FREEBSD_LOCAL/osa:redis
 DISTFILES+=	ngx_http_redis-${NGINX_REDIS_VERSION}.tar.gz:redis
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKDIR}/ngx_http_redis-${NGINX_REDIS_VERSION}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_redis-${NGINX_REDIS_VERSION}
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MHTTP_RESPONSE}
 NGINX_RESPONSE_VERSION=	0.3
@@ -553,13 +632,16 @@
 .endif
 
 .if ${PORT_OPTIONS:MHTTP_TARANTOOL}
-LIB_DEPENDS+=	libmsgpuck.so:${PORTSDIR}/devel/msgpuck \
-		libyajl.so:${PORTSDIR}/devel/yajl
+LIB_DEPENDS+=	libmsgpuck.so:devel/msgpuck \
+		libyajl.so:devel/yajl
 GH_ACCOUNT+=	tarantool:nginx_tarantool
 GH_PROJECT+=	nginx_upstream_module:nginx_tarantool
-GH_TAGNAME+=	966f2f5:nginx_tarantool
-CFLAGS+=	-I${LOCALBASE}/include/msgpuck
+GH_TAGNAME+=	1278ee5:nginx_tarantool
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_nginx_tarantool}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKSRC_nginx_tarantool}
+.endif
 EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-ngx_http_tarantool-config
 .endif
 
@@ -567,6 +649,10 @@
 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
@@ -576,7 +662,7 @@
 .endif
 
 .if ${PORT_OPTIONS:MHTTP_UPLOAD}
-GIT_UPLOAD_VERSION= aba1e3f34c
+GIT_UPLOAD_VERSION=	aba1e3f34c
 GH_ACCOUNT+=	vkholodkov:upload
 GH_PROJECT+=	nginx-upload-module:upload
 GH_TAGNAME+=	${GIT_UPLOAD_VERSION}:upload
@@ -591,30 +677,67 @@
 CONFIGURE_ARGS+=--add-module=${WRKSRC_uploadprogress}
 .endif
 
+.if !empty(PORT_OPTIONS:MHTTP_UPSTREAM_CHECK)
+# WWW: https://github.com/yaoweibin/nginx_upstream_check_module
+NGINX_UPSTREAM_CHECK_VERSION=	10782ea
+GH_ACCOUNT+=	yaoweibin:upstreamcheck
+GH_PROJECT+=	nginx_upstream_check_module:upstreamcheck
+GH_TAGNAME+=	${NGINX_UPSTREAM_CHECK_VERSION}:upstreamcheck
+CONFIGURE_ARGS+=--add-module=${WRKSRC_upstreamcheck}
+EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c \
+		${PATCHDIR}/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c \
+		${PATCHDIR}/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c \
+		${PATCHDIR}/extra-patch-src-http-ngx_http_upstream_round_robin.c \
+		${PATCHDIR}/extra-patch-src-http-ngx_http_upstream_round_robin.h
+.endif
+
 .if !empty(PORT_OPTIONS:MHTTP_UPSTREAM_FAIR)
 NGINX_UPSTREAM_FAIR_VERSION=	20090923
 MASTER_SITES+=	LOCAL/osa:upstreamfair
 DISTFILES+=	nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION}.tar.gz:upstreamfair
 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION}
+.if !empty(PORT_OPTIONS:MHTTP_UPSTREAM_CHECK)
+EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-ngx_http_upstream_fair_module.c
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MHTTP_UPSTREAM_STICKY}
 USE_HTTP_SSL=	yes
-NGINX_UPSTREAM_STICKY_VERSION=	1.2.4
+NGINX_UPSTREAM_STICKY_VERSION=	08a395c66e42
 MASTER_SITES+=	https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/:upstreamsticky
 DISTFILES+=	${NGINX_UPSTREAM_STICKY_VERSION}.tar.gz:upstreamsticky
-CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-goodies-nginx-sticky-module-ng-c825ea7c5c91/
+CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-goodies-nginx-sticky-module-ng-${NGINX_UPSTREAM_STICKY_VERSION}/
 .endif
 
+.if ${PORT_OPTIONS:MHTTP_VIDEO_THUMBEXTRACTOR}
+NGINX_VIDEO_THUMBEXTRACTOR_VERSION=	0.7.0
+LIB_DEPENDS+= 	libjpeg.so:${PORTSDIR}/graphics/jpeg \
+		libavformat.so:${PORTSDIR}/multimedia/ffmpeg \
+		libavcodec.so:${PORTSDIR}/multimedia/ffmpeg \
+		libavutil.so:${PORTSDIR}/multimedia/ffmpeg \
+		libswscale.so:${PORTSDIR}/multimedia/ffmpeg \
+		${IMAGEMAGICK_LIB_DEPENDS}
+GH_ACCOUNT+=	wandenberg:vte
+GH_PROJECT+=	nginx-video-thumbextractor-module:vte
+GH_TAGNAME+=	${NGINX_VIDEO_THUMBEXTRACTOR_VERSION}:vte
+CONFIGURE_ARGS+=--add-module=${WRKSRC_vte} --with-cc-opt="-I ${LOCALBASE}/include \
+		-I ${LOCALBASE}/include/ImageMagick"
+.endif
+
 .if ${PORT_OPTIONS:MHTTP_XSLT}
 USE_GNOME+=	libxml2 libxslt
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--with-http_xslt_module=dynamic
+.else
 CONFIGURE_ARGS+=--with-http_xslt_module
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MHTTP_ZIP}
-NGINX_ZIP_VERSION=	1.1.6
-MASTER_SITES+=	http://mod-zip.googlecode.com/files/:zip
-DISTFILES+=	mod_zip-${NGINX_ZIP_VERSION}.tar.gz:zip
+NGINX_ZIP_VERSION=	ca0b345
+GH_ACCOUNT+=	evanmiller:mod_zip
+GH_PROJECT+=	mod_zip:mod_zip
+GH_TAGNAME+=	${NGINX_ZIP_VERSION}:mod_zip
 CONFIGURE_ARGS+=--add-module=${WRKDIR}/mod_zip-${NGINX_ZIP_VERSION}
 .endif
 
@@ -628,8 +751,20 @@
 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
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_dyn_upstream}
+.else
+CONFIGURE_ARGS+=--add-module=${WRKSRC_dyn_upstream}
+.endif
+.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
+NGINX_DEVEL_KIT_VERSION=	0.3.0
 GH_ACCOUNT+=	simpl:devel_kit
 GH_PROJECT+=	ngx_devel_kit:devel_kit
 GH_TAGNAME+=	v${NGINX_DEVEL_KIT_VERSION}:devel_kit
@@ -637,7 +772,7 @@
 .endif
 
 .if ${PORT_OPTIONS:MENCRYPTSESSION}
-NGINX_ENCRYPTSESSION_VERSION=	0.03
+NGINX_ENCRYPTSESSION_VERSION=	0.05
 GH_ACCOUNT+=	openresty:encryptsession
 GH_PROJECT+=	encrypted-session-nginx-module:encryptsession
 GH_TAGNAME+=	v${NGINX_ENCRYPTSESSION_VERSION}:encryptsession
@@ -665,15 +800,19 @@
 LIB_DEPENDS+=	libluajit-5.1.so:${PORTSDIR}/lang/luajit
 CONFIGURE_ENV+=	"LUAJIT_INC=${LOCALBASE}/include/luajit-2.0"
 CONFIGURE_ENV+=	"LUAJIT_LIB=${LOCALBASE}/lib"
-NGINX_LUA_VERSION=	7410339
+NGINX_LUA_VERSION=	0.10.6
 GH_ACCOUNT+=	openresty:lua
 GH_PROJECT+=	lua-nginx-module:lua
-GH_TAGNAME+=	${NGINX_LUA_VERSION}:lua
+GH_TAGNAME+=	v${NGINX_LUA_VERSION}:lua
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_lua}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKSRC_lua}
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MMEMC}
-NGINX_MEMC_VERSION=	0.16
+NGINX_MEMC_VERSION=	0.17
 GH_ACCOUNT+=	openresty:memc
 GH_PROJECT+=	memc-nginx-module:memc
 GH_TAGNAME+=	v${NGINX_MEMC_VERSION}:memc
@@ -681,7 +820,7 @@
 .endif
 
 .if ${PORT_OPTIONS:MMODSECURITY}
-NGINX_MODSECURITY_VERSION=	2.9.1-RC1
+NGINX_MODSECURITY_VERSION=	2.9.1
 LIB_DEPENDS+=	libapr-1.so:${PORTSDIR}/devel/apr1 \
 		libcurl.so:${PORTSDIR}/ftp/curl \
 		libluajit-5.1.so:${PORTSDIR}/lang/luajit \
@@ -713,10 +852,14 @@
 .endif
 
 .if ${PORT_OPTIONS:MPASSENGER}
-PASSENGER_VERSION=	5.0.26
+PASSENGER_VERSION=	5.0.30
 MASTER_SITES+=	http://s3.amazonaws.com/phusion-passenger/releases/:passenger
 DISTFILES+=	passenger-${PASSENGER_VERSION}.tar.gz:passenger
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKDIR}/passenger-${PASSENGER_VERSION}/src/nginx_module
+.else
 CONFIGURE_ARGS+=--add-module=${WRKDIR}/passenger-${PASSENGER_VERSION}/src/nginx_module
+.endif
 EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-passenger-build-nginx.rb
 .if empty(PORT_OPTIONS:MDEBUG)
 CONFIGURE_ENV+=	OPTIMIZE="yes"
@@ -726,6 +869,7 @@
 
 .if ${PORT_OPTIONS:MPOSTGRES}
 USES+=	pgsql
+USE_PGSQL=	yes
 NGINX_POSTGRES_VERSION=		1.0rc7
 GH_ACCOUNT+=	FRiCKLE:postgres
 GH_PROJECT+=	ngx_postgres:postgres
@@ -759,7 +903,7 @@
 .endif
 
 .if ${PORT_OPTIONS:MRTMP}
-NGINX_RTMP_VERSION=	1.1.7
+NGINX_RTMP_VERSION=	1.1.8
 GH_ACCOUNT+=	arut:rtmp
 GH_PROJECT+=	nginx-rtmp-module:rtmp
 GH_TAGNAME+=	v${NGINX_RTMP_VERSION}:rtmp
@@ -767,18 +911,22 @@
 .endif
 
 .if ${PORT_OPTIONS:MSET_MISC}
-NGINX_SET_MISC_VERSION=	6582fb4
+NGINX_SET_MISC_VERSION=	f808ef4
 GH_ACCOUNT+=	openresty:setmisc
 GH_PROJECT+=	set-misc-nginx-module:setmisc
 GH_TAGNAME+=	${NGINX_SET_MISC_VERSION}:setmisc
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_setmisc}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKSRC_setmisc}
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MSFLOW}
-NGINX_SFLOW_VERSION=	0.9.7
-MASTER_SITES+=	http://nginx-sflow-module.googlecode.com/files/:sflow
-DISTFILES+=	nginx-sflow-module-${NGINX_SFLOW_VERSION}.tar.gz:sflow
-CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-sflow-module-${NGINX_SFLOW_VERSION}
+NGINX_SFLOW_VERSION=	543c72a
+GH_ACCOUNT+=	sflow:sflow
+GH_PROJECT+=	nginx-sflow-module:sflow
+GH_TAGNAME+=	${NGINX_SFLOW_VERSION}:sflow
 EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-ngx_http_sflow_config.c \
 		${PATCHDIR}/extra-patch-ngx_http_sflow_config.h \
 		${PATCHDIR}/extra-patch-ngx_http_sflow_module.c
@@ -785,10 +933,10 @@
 .endif
 
 .if ${PORT_OPTIONS:MSHIBBOLETH}
-GIT_SHIBBOLETH_VERSION=	20150121
+GIT_SHIBBOLETH_VERSION=	4f1119b
 GH_ACCOUNT+=	nginx-shib:shib
 GH_PROJECT+=	nginx-http-shibboleth:shib
-GH_TAGNAME+=	v${GIT_SHIBBOLETH_VERSION}:shib
+GH_TAGNAME+=	${GIT_SHIBBOLETH_VERSION}:shib
 CONFIGURE_ARGS+=--add-module=${WRKSRC_shib}
 .endif
 
@@ -800,15 +948,18 @@
 .endif
 
 .if ${PORT_OPTIONS:MSMALL_LIGHT}
-NGINX_SMALL_LIGHT_VERSION=	0.6.15
-LIB_DEPENDS+=	libMagickCore-6.so:${PORTSDIR}/graphics/ImageMagick \
-		libMagickWand-6.so:${PORTSDIR}/graphics/ImageMagick \
+NGINX_SMALL_LIGHT_VERSION=	0.8.0
+LIB_DEPENDS+=	${IMAGEMAGICK_LIB_DEPENDS} \
 		libpcre.so:${PORTSDIR}/devel/pcre
 GH_ACCOUNT+=	cubicdaiya:small_light
 GH_PROJECT+=	ngx_small_light:small_light
 GH_TAGNAME+=	v${NGINX_SMALL_LIGHT_VERSION}:small_light
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_small_light}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKSRC_small_light}
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MSRCACHE}
 NGINX_SRCACHE_VERSION=	0.30
@@ -843,7 +994,7 @@
 .endif
 
 .if ${PORT_OPTIONS:MXSS}
-NGINX_XSS_VERSION=	0.04
+NGINX_XSS_VERSION=	0.05
 GH_ACCOUNT+=	openresty:xss
 GH_PROJECT+=	xss-nginx-module:xss
 GH_TAGNAME+=	v${NGINX_XSS_VERSION}:xss
@@ -850,12 +1001,36 @@
 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_spdy_module
+CONFIGURE_ARGS+=--with-http_v2_module
 .endif
 
+.if ${PORT_OPTIONS:MNJS}
+GH_ACCOUNT+=	nginx:njs
+GH_PROJECT+=	njs:njs
+GH_TAGNAME+=	f7d2d6f:njs
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_njs}/nginx
+.else
+CONFIGURE_ARGS+=--add-module=${WRKSRC_njs}/nginx
+.endif
+.endif
+
+.if ${PORT_OPTIONS:MSTREAM}
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--with-stream=dynamic
+.else
+CONFIGURE_ARGS+=--with-stream
+.endif
+.if ${PORT_OPTIONS:MSTREAM_SSL}
+NGINX_OPENSSL=	yes
+USE_HTTP_SSL=	yes
+CONFIGURE_ARGS+=--with-stream_ssl_module
+.endif
+.endif
+
 .if ${PORT_OPTIONS:MTHREADS}
 CONFIGURE_ARGS+=--with-threads
 .endif
@@ -872,7 +1047,11 @@
 .endif		# WITH_HTTP
 
 .if ${PORT_OPTIONS:MMAIL}
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--with-mail=dynamic
+.else
 CONFIGURE_ARGS+=--with-mail
+.endif
 .if empty(PORT_OPTIONS:MMAIL_IMAP)
 CONFIGURE_ARGS+=--without-mail_imap_module
 .endif
@@ -894,7 +1073,7 @@
 .endif
 
 .if ${PORT_OPTIONS:MARRAYVAR}
-NGINX_ARRAYVAR_VERSION=	0.03
+NGINX_ARRAYVAR_VERSION=	0.05
 GH_ACCOUNT+=	openresty:arrayvar
 GH_PROJECT+=	array-var-nginx-module:arrayvar
 GH_TAGNAME+=	v${NGINX_ARRAYVAR_VERSION}:arrayvar
@@ -902,17 +1081,21 @@
 .endif
 
 .if ${PORT_OPTIONS:MBROTLI}
-NGINX_BROTLI_VERSION=	86998c6
+NGINX_BROTLI_VERSION=	ada972b
 LIB_DEPENDS+=	libbrotlidec.so:${PORTSDIR}/devel/libbrotli \
 		libbrotlienc.so:${PORTSDIR}/devel/libbrotli
 GH_ACCOUNT+=	google:brotli
 GH_PROJECT+=	ngx_brotli:brotli
 GH_TAGNAME+=	${NGINX_BROTLI_VERSION}:brotli
+.if !empty(PORT_OPTIONS:MDSO)
+CONFIGURE_ARGS+=--add-dynamic-module=${WRKSRC_brotli}
+.else
 CONFIGURE_ARGS+=--add-module=${WRKSRC_brotli}
 .endif
+.endif
 
 .if ${PORT_OPTIONS:MFORMINPUT}
-NGINX_FORMINPUT_VERSION=	0.07
+NGINX_FORMINPUT_VERSION=	0.12
 GH_ACCOUNT+=	calio:forminput
 GH_PROJECT+=	form-input-nginx-module:forminput
 GH_TAGNAME+=	v${NGINX_FORMINPUT_VERSION}:forminput
@@ -921,7 +1104,7 @@
 
 .if ${PORT_OPTIONS:MICONV}
 USES+=		iconv
-NGINX_ICONV_VERSION=	0.10
+NGINX_ICONV_VERSION=	0.14
 GH_ACCOUNT+=	calio:iconv
 GH_PROJECT+=	iconv-nginx-module:iconv
 GH_TAGNAME+=	v${NGINX_ICONV_VERSION}:iconv
@@ -929,7 +1112,7 @@
 EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-calio-iconv-nginx-module-config
 .endif
 
-PLIST_SUB+=	NGINX_TMPDIR=${NGINX_TMPDIR} WWWOWN=${WWWOWN} WWWGRP=${WWWGRP}
+PLIST_SUB+=	NGINX_TMPDIR=${NGINX_TMPDIR} NGINX_LOGDIR=${NGINX_LOGDIR} WWWOWN=${WWWOWN} WWWGRP=${WWWGRP}
 
 USERS?=	${WWWOWN}
 GROUPS?=${WWWGRP}
@@ -936,12 +1119,8 @@
 
 .if defined(NGINX_OPENSSL)
 USE_OPENSSL=	yes
-.if ${PORT_OPTIONS:MSPDY}
-.if ${OSVERSION} < 1000028
-WITH_OPENSSL_PORT=	yes
+WITH_OPENSSL_PORT=yes
 .endif
-.endif
-.endif
 
 pre-everything::
 	@${ECHO_MSG}
@@ -961,8 +1140,14 @@
 
 post-patch:
 	@${REINPLACE_CMD} 's!%%HTTP_PORT%%!${HTTP_PORT}!; \
-		s!%%PREFIX%%!${PREFIX}!' \
+		s!%%PREFIX%%!${PREFIX}!; \
+		s!%%NGINX_ERRORLOG%%!${NGINX_ERRORLOG}!' \
 		${WRKSRC}/conf/nginx.conf
+.if ${PORT_OPTIONS:MHTTP_ACCESSKEY}
+	@${REINPLACE_CMD} \
+		'128s!NGX_OK!NGX_DECLINED!' \
+		${WRKDIR}/nginx-accesskey-${NGINX_ACCESSKEY_VERSION}/ngx_http_accesskey_module.c
+.endif
 .if ${PORT_OPTIONS:MHTTP_AUTH_KRB5}
 	@${REINPLACE_CMD} \
 		's!%%GSSAPILIBS%%!${GSSAPILIBS}!' \
@@ -979,11 +1164,6 @@
 		's!^inline!static inline!' \
 		${WRKDIR}/mod_zip-${NGINX_ZIP_VERSION}/ngx_http_zip_parsers.*
 .endif
-.if ${PORT_OPTIONS:MCLOJURE}
-	@${REINPLACE_CMD} \
-		'54,57d' \
-		${WRKSRC_clojure}/src/c/config
-.endif
 .if ${PORT_OPTIONS:MDRIZZLE}
 	@${REINPLACE_CMD} \
 		's!%%PREFIX%%!${LOCALBASE}!g' \
@@ -1018,6 +1198,20 @@
 		'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' \
@@ -1037,7 +1231,7 @@
 pre-configure:
 .if ${PORT_OPTIONS:MMODSECURITY}
 	( cd ${WRKDIR}/modsecurity-${NGINX_MODSECURITY_VERSION} && \
-		CC="${CC}" ./${CONFIGURE_SCRIPT} --enable-standalone-module && \
+		CC="${CC}" ${CONFIGURE_CMD} --enable-standalone-module && \
 		${SETENV} ${MAKE_ENV} ${MAKE_CMD} )
 .endif
 .if ${PORT_OPTIONS:MSMALL_LIGHT}
@@ -1049,13 +1243,17 @@
 
 do-install:
 	${MKDIR} ${STAGEDIR}${ETCDIR}
+.if !empty(PORT_OPTIONS:MDSO)
+	${MKDIR} ${STAGEDIR}${MODULESDIR}
+.endif
 	${MKDIR} ${STAGEDIR}${NGINX_TMPDIR}
+	${MKDIR} ${STAGEDIR}${NGINX_LOGDIR}
 	${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${STAGEDIR}${PREFIX}/sbin
 .for i in koi-utf koi-win win-utf
-	${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${ETCDIR}
+	${INSTALL_DATA} ${WRKSRC}/conf/${i} ${ETCDIR}
 .endfor
-.for i in fastcgi_params mime.types nginx.conf scgi_params uwsgi_params
-	${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${ETCDIR}/${i}-dist
+.for i in fastcgi_params mime.types scgi_params uwsgi_params
+	${INSTALL_DATA} ${WRKSRC}/conf/${i} ${ETCDIR}/${i}
 .endfor
 .if !empty(PORT_OPTIONS:MHTTP) && !empty(PORT_OPTIONS:MWWW)
 	${MKDIR} ${STAGEDIR}${PREFIX}/www/nginx-dist
@@ -1073,6 +1271,12 @@
 		${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/
 .endif
 
+# Install dynamic modules
+.if !empty(PORT_OPTIONS:MDSO)
+	(cd ${WRKSRC}/objs/ && ${FIND} . -name '*.so' -maxdepth 1 -type f \
+		-exec ${INSTALL_PROGRAM} "{}" ${FAKE_DESTDIR}${MODULESDIR} \;)
+.endif
+
 .if ${PORT_OPTIONS:MNAXSI}
 	${INSTALL_DATA} \
 	${WRKDIR}/naxsi-${NGINX_NAXSI_VERSION}/naxsi_config/naxsi_core.rules \
@@ -1090,4 +1294,17 @@
 	${ECHO_CMD} etc/nginx/naxsi_core.rules >> ${TMPPLIST}
 .endif
 
+# Add dynamic modules to the plist
+.if !empty(PORT_OPTIONS:MDSO)
+	(cd ${PREFIX} && ${FIND} ${MODULESDIR:S|${TRUE_PREFIX}/||} \
+		! -type d >>${TMPPLIST})
+# Update nginx.conf-dist with a list of staged dynamic modules
+	(cd ${FAKE_DESTDIR} && \
+		${FIND} ${MODULESDIR:S|^/||} -type f -name '*.so' \
+			-exec ${ECHO_CMD} "load_module /{};" \; \
+			>>${ETCDIR}/nginx.conf)
+.endif
+	${CAT} ${WRKSRC}/conf/nginx.conf \
+		>>${ETCDIR}/nginx.conf
+
 .include <bsd.port.mk>

Modified: trunk/www/nginx/distinfo
===================================================================
--- trunk/www/nginx/distinfo	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/distinfo	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,5 +1,6 @@
-SHA256 (nginx-1.8.1.tar.gz) = 8f4b3c630966c044ec72715754334d1fdf741caa1d5795fb4646c27d09f797b7
-SIZE (nginx-1.8.1.tar.gz) = 833473
+TIMESTAMP = 1476831245
+SHA256 (nginx-1.10.2.tar.gz) = 1045ac4987a396e2fa5d0011daf8987b612dd2f05181b67507da68cbe7d765c2
+SIZE (nginx-1.10.2.tar.gz) = 910812
 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
@@ -16,16 +17,12 @@
 SIZE (ngx_http_response-0.3.tar.gz) = 2244
 SHA256 (nginx_upstream_fair-20090923.tar.gz) = ec9ed7f856263e17faadee3dc7209932364ded4e546b829841c2454aa432450b
 SIZE (nginx_upstream_fair-20090923.tar.gz) = 10024
-SHA256 (1.2.4.tar.gz) = f79521a25322cb4f504547a0b0f76fd9d024c14440e5d790e26dda70ea4f701a
-SIZE (1.2.4.tar.gz) = 120448
-SHA256 (mod_zip-1.1.6.tar.gz) = d30546b4be8308c721df0240ebc38c474c6b577381a110321eded6dbed5104b1
-SIZE (mod_zip-1.1.6.tar.gz) = 21991
-SHA256 (modsecurity-2.9.1-RC1.tar.gz) = 86fd2462c556a11f812d76a3b97716cec2de0e81ee0a095d8280fdd6be384455
-SIZE (modsecurity-2.9.1-RC1.tar.gz) = 4265101
-SHA256 (passenger-5.0.26.tar.gz) = de3b63b65ff27d193096361a330d9db1dc07076c1ba9be5ecee90322d91dbbc9
-SIZE (passenger-5.0.26.tar.gz) = 5321762
-SHA256 (nginx-sflow-module-0.9.7.tar.gz) = 508d15a43059abab08281bfa66d2dd520e2e7635d0b17043549bb331c8755b76
-SIZE (nginx-sflow-module-0.9.7.tar.gz) = 27614
+SHA256 (08a395c66e42.tar.gz) = 53e440737ed1aff1f09fae150219a45f16add0c8d6e84546cb7d80f73ebffd90
+SIZE (08a395c66e42.tar.gz) = 120603
+SHA256 (modsecurity-2.9.1.tar.gz) = 958cc5a7a7430f93fac0fd6f8b9aa92fc1801efce0cda797d6029d44080a9b24
+SIZE (modsecurity-2.9.1.tar.gz) = 4261212
+SHA256 (passenger-5.0.30.tar.gz) = f367e0c1d808d7356c3749222194a72ea03efe61a3bf1b682bd05d47f087b4e3
+SIZE (passenger-5.0.30.tar.gz) = 5588130
 SHA256 (ngx_slowfs_cache-1.10.tar.gz) = 1e81453942e5b0877de1f1f06c56ae82918ea9818255cb935bcb673c95a758a1
 SIZE (ngx_slowfs_cache-1.10.tar.gz) = 11809
 SHA256 (nginx_udplog_module-1.0.0.tar.gz) = e0c0bfa524c3a675ad6c08b916d08e57ef45f9818cb8a0d848c2c83785c6e659
@@ -32,22 +29,24 @@
 SIZE (nginx_udplog_module-1.0.0.tar.gz) = 6284
 SHA256 (giom-nginx_accept_language_module-2f69842_GH0.tar.gz) = 5534ca63cdfc2a7dc4e1cbf9c2d54d3ed3f0e6c86b4a95be48ec0a3f41cc1eb0
 SIZE (giom-nginx_accept_language_module-2f69842_GH0.tar.gz) = 3393
-SHA256 (samizdatco-nginx-http-auth-digest-bd1c86a_GH0.tar.gz) = d3071ca4b70cfd7f437add772a2aa6ab585dafb5d5a2e3f5cc70af74da72acf2
-SIZE (samizdatco-nginx-http-auth-digest-bd1c86a_GH0.tar.gz) = 14458
+SHA256 (atomx-nginx-http-auth-digest-cc61b4a_GH0.tar.gz) = e68b34e03516a4ab43006eb4c481d6bc5e813e0d40876359c606a26c5c68ccf6
+SIZE (atomx-nginx-http-auth-digest-cc61b4a_GH0.tar.gz) = 16060
 SHA256 (stnoonan-spnego-http-auth-nginx-module-c85a38c_GH0.tar.gz) = b47b23a362aa338c377d6163d15abee6f33ff16bac5f86ee4d9543293fe8c4d1
 SIZE (stnoonan-spnego-http-auth-nginx-module-c85a38c_GH0.tar.gz) = 18120
-SHA256 (kvspb-nginx-auth-ldap-8517bb0_GH0.tar.gz) = a69cf8d5490620d5507d712fa234e137d9404e9c250563f2eb421eafa6209975
-SIZE (kvspb-nginx-auth-ldap-8517bb0_GH0.tar.gz) = 16947
+SHA256 (kvspb-nginx-auth-ldap-dbcef31_GH0.tar.gz) = 0ec4f099e50cc12a6319e37700e71540498d354831d1f09e113ee046ee0bb7b2
+SIZE (kvspb-nginx-auth-ldap-dbcef31_GH0.tar.gz) = 17001
 SHA256 (yaoweibin-nginx_ajp_module-bf6cd93_GH0.tar.gz) = 9e3f78ea73e2d606a95ee64fd3affa4c249f9b342e66b6b11b63061791f28316
 SIZE (yaoweibin-nginx_ajp_module-bf6cd93_GH0.tar.gz) = 109704
-SHA256 (nginx-clojure-nginx-clojure-v0.4.3_GH0.tar.gz) = fba7db2d16c0a2cf9a8d759baa6fdde1176bb9a4f0c747a218d3efd9f37298e8
-SIZE (nginx-clojure-nginx-clojure-v0.4.3_GH0.tar.gz) = 589270
+SHA256 (anomalizer-ngx_aws_auth-1e62670_GH0.tar.gz) = db7ceef4ae22cf5bfaf5abae64830dfeef203ca85f9f40f7d1f1d90f277478c0
+SIZE (anomalizer-ngx_aws_auth-1e62670_GH0.tar.gz) = 8260
+SHA256 (nginx-clojure-nginx-clojure-v0.4.4_GH0.tar.gz) = 642ebf4724fa7c3efd5349e60b442ac8671497406834804c903ec548bfdcb691
+SIZE (nginx-clojure-nginx-clojure-v0.4.4_GH0.tar.gz) = 603856
 SHA256 (grahamedgecombe-nginx-ct-f3cad5e_GH0.tar.gz) = 846e148f09ffea2ffc1b09b20c84408e23c170313f967513a85009717227c13a
 SIZE (grahamedgecombe-nginx-ct-f3cad5e_GH0.tar.gz) = 5521
-SHA256 (openresty-echo-nginx-module-4f7aa50_GH0.tar.gz) = 7b8bb5139001306a46f8e9ce0b7d09befff2f49741ecc6eb47299518764defcd
-SIZE (openresty-echo-nginx-module-4f7aa50_GH0.tar.gz) = 52144
-SHA256 (openresty-headers-more-nginx-module-f5559ec_GH0.tar.gz) = 422b12414a6f850cbb3ee96c225e5259eef4e949f70e63e27e6583ce3eb836ff
-SIZE (openresty-headers-more-nginx-module-f5559ec_GH0.tar.gz) = 27400
+SHA256 (openresty-echo-nginx-module-46334b3_GH0.tar.gz) = 00d42a5f562a0be5570110d9b70c8f2cace93b292421a6f994cf4ec76a8979f0
+SIZE (openresty-echo-nginx-module-46334b3_GH0.tar.gz) = 52766
+SHA256 (openresty-headers-more-nginx-module-84241e4_GH0.tar.gz) = d3442be9058682ed0ad1d294ab27effcb245c0a320fcf418c452dc923f714531
+SIZE (openresty-headers-more-nginx-module-84241e4_GH0.tar.gz) = 27951
 SHA256 (arut-nginx-dav-ext-module-v0.0.3_GH0.tar.gz) = d428a0236c933779cb40ac8c91afb19d5c25a376dc3caab825bfd543e1ee530d
 SIZE (arut-nginx-dav-ext-module-v0.0.3_GH0.tar.gz) = 6260
 SHA256 (openresty-nginx-eval-module-342c812_GH0.tar.gz) = c45f6438474593f0cf5229160327d20c2f2d72e9c0b5c8cf9e0ef8d5295de177
@@ -60,24 +59,32 @@
 SIZE (nginx-modules-ngx_http_json_status_module-1d2f303_GH0.tar.gz) = 6736
 SHA256 (kr-nginx-notice-3c95966_GH0.tar.gz) = e829fc94178cc8c91fef15a1fc44ee7ac162c13eddc0bba4c9427aaa23386885
 SIZE (kr-nginx-notice-3c95966_GH0.tar.gz) = 3343
-SHA256 (slact-nchan-v0.99.5_GH0.tar.gz) = 24e0bd3489aed50a5f43c3541723a5ed5d52f7750e967c4f16e62f5eddc6af2e
-SIZE (slact-nchan-v0.99.5_GH0.tar.gz) = 337474
+SHA256 (slact-nchan-v0.99.16_GH0.tar.gz) = 200cc1b02931a067c3edb07243a7faac80265ce6aab37af680cf7373011efc41
+SIZE (slact-nchan-v0.99.16_GH0.tar.gz) = 378626
 SHA256 (wandenberg-nginx-push-stream-module-0.5.1_GH0.tar.gz) = a95f31e80120fd7324795b92a0d94c0b43e1265df7fd0f1eba11a337c1e0a626
 SIZE (wandenberg-nginx-push-stream-module-0.5.1_GH0.tar.gz) = 175263
 SHA256 (yaoweibin-ngx_http_substitutions_filter_module-v0.6.4_GH0.tar.gz) = ed4ddbcf0c434f4a1e97b61251a63ace759792764bd5cb79ff20efe348db8db3
 SIZE (yaoweibin-ngx_http_substitutions_filter_module-v0.6.4_GH0.tar.gz) = 92230
-SHA256 (tarantool-nginx_upstream_module-966f2f5_GH0.tar.gz) = 8142475d8ecf0c02d2fc8051364729d842fe06b0b445b416c87c2f796bb42fa7
-SIZE (tarantool-nginx_upstream_module-966f2f5_GH0.tar.gz) = 873343
+SHA256 (tarantool-nginx_upstream_module-1278ee5_GH0.tar.gz) = 34d51afcd464582e6011a5d3abe6829c5690ddb9b50c993dfdafb4c725a4803a
+SIZE (tarantool-nginx_upstream_module-1278ee5_GH0.tar.gz) = 48378
 SHA256 (vkholodkov-nginx-upload-module-aba1e3f34c_GH0.tar.gz) = 62a2c4388585aec463a1cee30bc84953593a93f341dc1df61b42b452594d2a05
 SIZE (vkholodkov-nginx-upload-module-aba1e3f34c_GH0.tar.gz) = 28296
 SHA256 (masterzen-nginx-upload-progress-module-v0.9.0_GH0.tar.gz) = 93e29b9b437a2e34713de54c2861ea51151624aca09f73f9f44d1caaff01a6b1
 SIZE (masterzen-nginx-upload-progress-module-v0.9.0_GH0.tar.gz) = 16990
+SHA256 (yaoweibin-nginx_upstream_check_module-10782ea_GH0.tar.gz) = 52e6acd8c0264a59c5c948271015a59acd3cbcf91377456b7c8dc6f9feecef4a
+SIZE (yaoweibin-nginx_upstream_check_module-10782ea_GH0.tar.gz) = 128281
+SHA256 (wandenberg-nginx-video-thumbextractor-module-0.7.0_GH0.tar.gz) = 382bb41fa739f471fdab9fbabc5384d8ec7f25b5bb0c45c153f5cc01d428abe2
+SIZE (wandenberg-nginx-video-thumbextractor-module-0.7.0_GH0.tar.gz) = 2709351
+SHA256 (evanmiller-mod_zip-ca0b345_GH0.tar.gz) = babab586ebde83d3cf128eabdc3a66f922db740a43c943ffd9cd8b055acf3a5b
+SIZE (evanmiller-mod_zip-ca0b345_GH0.tar.gz) = 26035
 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 (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
-SIZE (openresty-encrypted-session-nginx-module-v0.03_GH0.tar.gz) = 8949
+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.3.0_GH0.tar.gz) = 88e05a99a8a7419066f5ae75966fb1efc409bad4522d14986da074554ae61619
+SIZE (simpl-ngx_devel_kit-v0.3.0_GH0.tar.gz) = 66455
+SHA256 (openresty-encrypted-session-nginx-module-v0.05_GH0.tar.gz) = 5aea148410d647ca1d5b4e6164a19fde989a4da332fa118e003071d87bf6eae4
+SIZE (openresty-encrypted-session-nginx-module-v0.05_GH0.tar.gz) = 10462
 SHA256 (mdirolf-nginx-gridfs-v0.8_GH0.tar.gz) = ef843824e0aac1dd60b392802861cc06426a4bc5f87d472c7ee00b1296693f2a
 SIZE (mdirolf-nginx-gridfs-v0.8_GH0.tar.gz) = 18883
 SHA256 (mongodb-mongo-c-driver-v0.3.1_GH0.tar.gz) = 552c54aff81c4701ace4eb1ce20c114433ee783b4b06c0105921a830c9486172
@@ -84,10 +91,10 @@
 SIZE (mongodb-mongo-c-driver-v0.3.1_GH0.tar.gz) = 53024
 SHA256 (arut-nginx-let-module-v0.0.4_GH0.tar.gz) = cbf6fcddc00a7e30289134bdeace12565e000cc7d4efee2d2ebb8799d0b88270
 SIZE (arut-nginx-let-module-v0.0.4_GH0.tar.gz) = 20534
-SHA256 (openresty-lua-nginx-module-7410339_GH0.tar.gz) = 1b78f243ea95efcfd6f5bda43fbe5849bff931b9620d22c75b3de6590e09c684
-SIZE (openresty-lua-nginx-module-7410339_GH0.tar.gz) = 574764
-SHA256 (openresty-memc-nginx-module-v0.16_GH0.tar.gz) = 24f3c3270831aed2d157c01ef74cb26eab26b832971fe7b9f42a03dbfac10ce4
-SIZE (openresty-memc-nginx-module-v0.16_GH0.tar.gz) = 38560
+SHA256 (openresty-lua-nginx-module-v0.10.6_GH0.tar.gz) = b98c4f648589bbf3e2c3d5fd18664e7a7ef89ac083e96c8e984fa919e7a7c073
+SIZE (openresty-lua-nginx-module-v0.10.6_GH0.tar.gz) = 597217
+SHA256 (openresty-memc-nginx-module-v0.17_GH0.tar.gz) = 25cbe3ff4931283a681260607bc91ae4a922075345d5770b293c6cd7f1e3bdcc
+SIZE (openresty-memc-nginx-module-v0.17_GH0.tar.gz) = 36369
 SHA256 (nbs-system-naxsi-0.54_GH0.tar.gz) = 9cc2c09405bc71f78ef26a8b6d70afcea3fccbe8125df70cb0cfc480133daba5
 SIZE (nbs-system-naxsi-0.54_GH0.tar.gz) = 163809
 SHA256 (FRiCKLE-ngx_postgres-1.0rc7_GH0.tar.gz) = c942e674a7273ab87caab4dcad626ab54852be192c29b1add50d2cb535e3cbb9
@@ -98,14 +105,16 @@
 SIZE (openresty-rds-json-nginx-module-v0.14_GH0.tar.gz) = 33496
 SHA256 (openresty-redis2-nginx-module-v0.12_GH0.tar.gz) = baf5274c815a5f27854747df09ff5bcd6d82e0baa2f224a9db6450d2f3a35a4f
 SIZE (openresty-redis2-nginx-module-v0.12_GH0.tar.gz) = 28981
-SHA256 (arut-nginx-rtmp-module-v1.1.7_GH0.tar.gz) = 7922b0e3d5f3d9c4b275e4908cfb8f5fb1bfb3ac2df77f4c262cda56df21aab3
-SIZE (arut-nginx-rtmp-module-v1.1.7_GH0.tar.gz) = 519735
-SHA256 (openresty-set-misc-nginx-module-6582fb4_GH0.tar.gz) = cc325830477dfcdbb355fc7b19cbc2f4e55c179b3b56fdfe0613b5a7b926235e
-SIZE (openresty-set-misc-nginx-module-6582fb4_GH0.tar.gz) = 35961
-SHA256 (nginx-shib-nginx-http-shibboleth-v20150121_GH0.tar.gz) = e38a19bb4d30e5487c013c4b6b3e3d5b96de82d63b776471cc2c381a5d00374d
-SIZE (nginx-shib-nginx-http-shibboleth-v20150121_GH0.tar.gz) = 10106
-SHA256 (cubicdaiya-ngx_small_light-v0.6.15_GH0.tar.gz) = 9bc9c221287a6db56a4a0eb7ac35a560fc15dfd6dafcb500fdea49a583527716
-SIZE (cubicdaiya-ngx_small_light-v0.6.15_GH0.tar.gz) = 54695
+SHA256 (arut-nginx-rtmp-module-v1.1.8_GH0.tar.gz) = de5866111a5b18c9dfb1c10f3a0e84b56af77f7005a41807368f7769b8a50965
+SIZE (arut-nginx-rtmp-module-v1.1.8_GH0.tar.gz) = 519647
+SHA256 (openresty-set-misc-nginx-module-f808ef4_GH0.tar.gz) = 5f32c484b29b9047dfa65fd3eec511c0f7c65f0f3ec0a4e0453359cf4642d405
+SIZE (openresty-set-misc-nginx-module-f808ef4_GH0.tar.gz) = 29340
+SHA256 (sflow-nginx-sflow-module-543c72a_GH0.tar.gz) = 95efdb1f6cfd6c32c577707f693eb6795c6f21ae062842bf84fe762d8b842955
+SIZE (sflow-nginx-sflow-module-543c72a_GH0.tar.gz) = 29504
+SHA256 (nginx-shib-nginx-http-shibboleth-4f1119b_GH0.tar.gz) = c25f284bc934f59a267d319385a3e11858efef786c84b49a77d09e7f5274bbf1
+SIZE (nginx-shib-nginx-http-shibboleth-4f1119b_GH0.tar.gz) = 16688
+SHA256 (cubicdaiya-ngx_small_light-v0.8.0_GH0.tar.gz) = 8f513d6d3df32c3b05327d40e16efd020532a911d3eeca8015eb6271f2d4fd1c
+SIZE (cubicdaiya-ngx_small_light-v0.8.0_GH0.tar.gz) = 55918
 SHA256 (openresty-srcache-nginx-module-v0.30_GH0.tar.gz) = e34b1ab5f5007661f73819f9c20fd6c2a46ed3e53364e9449b02ef2bd3628633
 SIZE (openresty-srcache-nginx-module-v0.30_GH0.tar.gz) = 58777
 SHA256 (zebrafishlabs-nginx-statsd-b756a12_GH0.tar.gz) = 4c5886edb1fbeb0b9a83c879b4be4b15a620627a18978aef636da3feafb284fe
@@ -112,13 +121,15 @@
 SIZE (zebrafishlabs-nginx-statsd-b756a12_GH0.tar.gz) = 6636
 SHA256 (gabor-nginx-x-rid-header-0daa3cc_GH0.tar.gz) = de784142d867a35ecc5443fa347c2903af0935669cdf2eaa9274f5253aac2267
 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 (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-86998c6_GH0.tar.gz) = 463a583cfbeacdf6d6db5630afaddc9eebeec44301ca68c660cc8fdf4580e5aa
-SIZE (google-ngx_brotli-86998c6_GH0.tar.gz) = 10890
-SHA256 (calio-form-input-nginx-module-v0.07_GH0.tar.gz) = c0c56cc697a290e98b88d4888bac8828041ef6f3049247d3cd3c63f2808d1e20
-SIZE (calio-form-input-nginx-module-v0.07_GH0.tar.gz) = 10563
-SHA256 (calio-iconv-nginx-module-v0.10_GH0.tar.gz) = 88e326eba7fdf9fd2376b1ba033b48cb0eee45136528cf5430ac9340088ce324
-SIZE (calio-iconv-nginx-module-v0.10_GH0.tar.gz) = 12513
+SHA256 (openresty-xss-nginx-module-v0.05_GH0.tar.gz) = 958bd8de773601d8d3138501cc4be0420f1c818a3987a70cc9c0023371e432cf
+SIZE (openresty-xss-nginx-module-v0.05_GH0.tar.gz) = 11477
+SHA256 (nginx-njs-f7d2d6f_GH0.tar.gz) = 67291a3ae4b98f17335f12951984bc9b1bf4f6367e4beff40638cd832d2fb281
+SIZE (nginx-njs-f7d2d6f_GH0.tar.gz) = 167815
+SHA256 (openresty-array-var-nginx-module-v0.05_GH0.tar.gz) = c949d4be6f3442c8e2937046448dc8d8def25c0e0fa6f4e805144cea45eabe80
+SIZE (openresty-array-var-nginx-module-v0.05_GH0.tar.gz) = 11280
+SHA256 (google-ngx_brotli-ada972b_GH0.tar.gz) = d3d0e22a2629cd017280e05bd3bf05aa7b5c820ebe8c79932ce161243911e776
+SIZE (google-ngx_brotli-ada972b_GH0.tar.gz) = 11128
+SHA256 (calio-form-input-nginx-module-v0.12_GH0.tar.gz) = 5c1869d55897075adb3fdf840b21060dc54669a1f840a36d1539acc7e59dd106
+SIZE (calio-form-input-nginx-module-v0.12_GH0.tar.gz) = 11090
+SHA256 (calio-iconv-nginx-module-v0.14_GH0.tar.gz) = b8b9f355c05c0790226512f6732348a2404d48531688a1fc04ce6768163bf462
+SIZE (calio-iconv-nginx-module-v0.14_GH0.tar.gz) = 13133

Modified: trunk/www/nginx/files/extra-patch-calio-iconv-nginx-module-config
===================================================================
--- trunk/www/nginx/files/extra-patch-calio-iconv-nginx-module-config	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/files/extra-patch-calio-iconv-nginx-module-config	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,5 +1,5 @@
---- ../iconv-nginx-module-0.10/config.orig	2013-04-16 17:57:17.000000000 -0700
-+++ ../iconv-nginx-module-0.10/config	2013-05-01 17:16:28.134624745 -0700
+--- ../iconv-nginx-module-0.14/config.orig	2013-04-16 17:57:17.000000000 -0700
++++ ../iconv-nginx-module-0.14/config	2013-05-01 17:16:28.134624745 -0700
 @@ -39,12 +39,12 @@
      fi
  

Modified: trunk/www/nginx/files/extra-patch-nginx-modsecurity-configure
===================================================================
--- trunk/www/nginx/files/extra-patch-nginx-modsecurity-configure	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/files/extra-patch-nginx-modsecurity-configure	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,5 +1,5 @@
---- ../modsecurity-2.9.1-RC1/configure.orig	2016-02-07 12:45:53.346098000 -0500
-+++ ../modsecurity-2.9.1-RC1/configure	2016-02-07 12:47:50.081558000 -0500
+--- ../modsecurity-2.9.1/configure.orig	2016-02-07 12:45:53.346098000 -0500
++++ ../modsecurity-2.9.1/configure	2016-02-07 12:47:50.081558000 -0500
 @@ -14949,7 +14949,7 @@
  LUA_LDADD=""
  LUA_LDFLAGS=""

Modified: trunk/www/nginx/files/extra-patch-ngx_http_sflow_config.c
===================================================================
--- trunk/www/nginx/files/extra-patch-ngx_http_sflow_config.c	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/files/extra-patch-ngx_http_sflow_config.c	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,5 +1,5 @@
---- ../nginx-sflow-module-0.9.7/ngx_http_sflow_config.c.orig	2012-06-07 04:52:57.000000000 +0400
-+++ ../nginx-sflow-module-0.9.7/ngx_http_sflow_config.c	2012-06-07 04:59:18.000000000 +0400
+--- ../nginx-sflow-module-543c72a/ngx_http_sflow_config.c.orig	2012-06-07 04:52:57.000000000 +0400
++++ ../nginx-sflow-module-543c72a/ngx_http_sflow_config.c	2012-06-07 04:59:18.000000000 +0400
 @@ -26,7 +26,6 @@
          ngx_log_error(NGX_LOG_ERR, log, 0, "getaddrinfo() failed: %s", gai_strerror(err));
          switch(err) {

Modified: trunk/www/nginx/files/extra-patch-ngx_http_sflow_config.h
===================================================================
--- trunk/www/nginx/files/extra-patch-ngx_http_sflow_config.h	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/files/extra-patch-ngx_http_sflow_config.h	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,5 +1,5 @@
---- ../nginx-sflow-module-0.9.7/ngx_http_sflow_config.h.orig	2012-07-31 21:36:49.000000000 +0400
-+++ ../nginx-sflow-module-0.9.7/ngx_http_sflow_config.h	2012-07-31 21:37:20.000000000 +0400
+--- ../nginx-sflow-module-543c72a/ngx_http_sflow_config.h.orig	2012-07-31 21:36:49.000000000 +0400
++++ ../nginx-sflow-module-543c72a/ngx_http_sflow_config.h	2012-07-31 21:37:20.000000000 +0400
 @@ -17,7 +17,7 @@
    -----------------___________________________------------------
  */

Modified: trunk/www/nginx/files/extra-patch-ngx_http_sflow_module.c
===================================================================
--- trunk/www/nginx/files/extra-patch-ngx_http_sflow_module.c	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/files/extra-patch-ngx_http_sflow_module.c	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,6 +1,6 @@
---- ../nginx-sflow-module-0.9.7/ngx_http_sflow_module.c.orig	2015-04-21 21:21:17.020547000 +0300
-+++ ../nginx-sflow-module-0.9.7/ngx_http_sflow_module.c	2015-04-21 21:22:26.994714000 +0300
-@@ -8,10 +8,6 @@
+--- ../nginx-sflow-module-543c72a/ngx_http_sflow_module.c.orig	2014-09-24 18:20:41.000000000 -0400
++++ ../nginx-sflow-module-543c72a/ngx_http_sflow_module.c	2016-08-06 21:26:24.515559000 -0400
+@@ -8,9 +8,6 @@
  #include <ngx_http.h>
  #include <nginx.h>
  
@@ -7,11 +7,10 @@
 -#if (NGX_THREADS)
 -#include <ngx_thread.h>
 -#endif
--
+ 
  #include "ngx_http_sflow_api.h"
  #include "ngx_http_sflow_config.h"
- 
-@@ -42,18 +38,10 @@
+@@ -74,18 +71,10 @@
      /* keep log ptr for callbacks */
      ngx_log_t *log;
  
@@ -28,12 +27,12 @@
  #define SFWB_COUNTDOWN(_c) (--(_c) == 0)
 -#endif
  
-     /* delegate acquiring the sflow config */
-     SFWBConfigManager *config_manager;
-@@ -411,13 +399,8 @@
- static int32_t ngx_http_sflow_add_random_skip(SFWB *sm)
+     /* skip countdown is handled per-worker to reduce lock contention.
+      * If all processes sample at 1:N it's the same as having only one
+@@ -645,13 +634,8 @@
  {
-     ngx_atomic_t next_skip = sfl_sampler_next_skip(sm->sampler);
+     sm->random_seed  = ((sm->random_seed * 32719) + 3) % 32749;
+     ngx_atomic_t next_skip = (sm->random_seed % ((2 * sm->sampling_rate) - 1)) + 1;
 -#if (NGX_THREADS)
 -    ngx_atomic_int_t test_skip = ngx_atomic_fetch_add(&sm->sflow_skip, next_skip);
 -    return (test_skip + next_skip);
@@ -44,17 +43,17 @@
  }
  
  /*_________________---------------------------__________________
-@@ -528,13 +511,6 @@
-     /* a pool to use for the agent so we can recycle the memory easily on a config change */
-     sm->masterPool = ngx_create_pool(SFWB_POOL_SIZ, cf->log);
+@@ -864,13 +848,6 @@
+ {
+     ngx_log_debug0(NGX_LOG_DEBUG_HTTP, cf->log, 0, "sflow: sfwb_init()");
  
 -#if (NGX_THREADS)
 -    /* a mutex to lock the sFlow agent when taking a sample (only needed if there
--       is more that one worker thread - right now it seems like threads are not even
--       an option in the configure script) */
+-     * is more that one worker thread - right now it seems like threads are not even
+-     * an option in the configure script)
+-     */
 -    sm->mut = ngx_mutex_init(cf->log, 0);
 -#endif
--
-     /* create and initialze the config_manager */
-     sm->config_manager = ngx_pcalloc(cf->pool, sizeof(SFWBConfigManager));
-     sfwb_config_init(sm->config_manager, cf->log);
+ 
+     /* look up some vars by name and cache the index numbers -- see ngx_http_variables.c */
+     ngx_str_t str_uri = ngx_string("request_uri"); /* the "unparsed" variant */

Modified: trunk/www/nginx/files/extra-patch-ngx_http_tarantool-config
===================================================================
--- trunk/www/nginx/files/extra-patch-ngx_http_tarantool-config	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/files/extra-patch-ngx_http_tarantool-config	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,11 +1,20 @@
---- ../nginx_upstream_module-966f2f5/config.orig	2015-08-20 23:33:02.000000000 +0300
-+++ ../nginx_upstream_module-966f2f5/config	2015-08-23 16:04:59.572045669 +0300
-@@ -4,7 +4,7 @@
+--- ../nginx_upstream_module-1278ee5/config.orig	2016-08-07 15:39:47.000000000 -0400
++++ ../nginx_upstream_module-1278ee5/config	2016-08-07 16:38:59.298414000 -0400
+@@ -1,14 +1,14 @@
+ ngx_addon_name="ngx_http_tnt_module"
+ 
+-__lib_yajl="$ngx_addon_dir/third_party/yajl/build/yajl-2.1.0/lib/libyajl_s.a"
++__lib_yajl="%%PREFIX%%/lib/libyajl.so"
+ 
+ __module_src_dir="$ngx_addon_dir/src"
+ 
+ __include_paths=" \
+           $ngx_addon_dir/src                                       \
+           $ngx_addon_dir/third_party                               \
+-          $ngx_addon_dir/third_party/msgpuck                       \
+-          $ngx_addon_dir/third_party/yajl/build/yajl-2.1.0/include \
++          %%PREFIX%%/include/msgpuck \
++          %%PREFIX%%/include/yajl \
            "
  
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs \
--           $ngx_addon_dir/third_party/yajl/build/yajl-2.1.0/lib/libyajl_s.a \
-+           %%PREFIX%%/lib/libyajl_s.a \
-            "
- 
- HTTP_MODULES="$HTTP_MODULES               \
+ __sources=" \

Added: trunk/www/nginx/files/extra-patch-ngx_http_upstream_fair_module.c
===================================================================
--- trunk/www/nginx/files/extra-patch-ngx_http_upstream_fair_module.c	                        (rev 0)
+++ trunk/www/nginx/files/extra-patch-ngx_http_upstream_fair_module.c	2016-12-19 20:31:29 UTC (rev 22114)
@@ -0,0 +1,89 @@
+--- ../nginx_upstream_fair-20090923/ngx_http_upstream_fair_module.c.orig	2009-09-24 01:38:16.000000000 +0800
++++ ../nginx_upstream_fair-20090923/ngx_http_upstream_fair_module.c	2016-03-24 13:56:02.990728000 +0800
+@@ -9,6 +9,10 @@
+ #include <ngx_core.h>
+ #include <ngx_http.h>
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++#include "ngx_http_upstream_check_module.h"
++#endif
++
+ typedef struct {
+     ngx_uint_t                          nreq;
+     ngx_uint_t                          total_req;
+@@ -42,6 +46,10 @@
+     ngx_uint_t                          max_fails;
+     time_t                              fail_timeout;
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++    ngx_uint_t                          check_index;
++#endif
++
+     time_t                              accessed;
+     ngx_uint_t                          down:1;
+ 
+@@ -474,6 +482,15 @@
+                 peers->peer[n].fail_timeout = server[i].fail_timeout;
+                 peers->peer[n].down = server[i].down;
+                 peers->peer[n].weight = server[i].down ? 0 : server[i].weight;
++#if (NGX_HTTP_UPSTREAM_CHECK)
++                if (!server[i].down) {
++                    peers->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;
++                }
++#endif
+                 n++;
+             }
+         }
+@@ -524,6 +541,15 @@
+                 backup->peer[n].max_fails = server[i].max_fails;
+                 backup->peer[n].fail_timeout = server[i].fail_timeout;
+                 backup->peer[n].down = server[i].down;
++#if (NGX_HTTP_UPSTREAM_CHECK)
++                if (!server[i].down) {
++                    backup->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;
++                }
++#endif
+                 n++;
+             }
+         }
+@@ -580,6 +606,9 @@
+         peers->peer[i].weight = 1;
+         peers->peer[i].max_fails = 1;
+         peers->peer[i].fail_timeout = 10;
++#if (NGX_HTTP_UPSTREAM_CHECK)
++        peers->peer[i].check_index = (ngx_uint_t) NGX_ERROR;
++#endif
+     }
+ 
+     us->peer.data = peers;
+@@ -721,6 +750,12 @@
+     peer = &fp->peers->peer[peer_id];
+ 
+     if (!peer->down) {
++#if (NGX_HTTP_UPSTREAM_CHECK)
++        ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
++                       "[upstream_fair] get fair peer, check_index: %ui",
++                       peer->check_index);
++        if (!ngx_http_upstream_check_peer_down(peer->check_index)) {
++#endif
+         if (peer->max_fails == 0 || peer->shared->fails < peer->max_fails) {
+             return NGX_OK;
+         }
+@@ -731,6 +766,9 @@
+             peer->shared->fails = 0;
+             return NGX_OK;
+         }
++#if (NGX_HTTP_UPSTREAM_CHECK)
++        }
++#endif
+     }
+ 
+     return NGX_BUSY;


Property changes on: trunk/www/nginx/files/extra-patch-ngx_http_upstream_fair_module.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config
===================================================================
--- trunk/www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config	                        (rev 0)
+++ trunk/www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config	2016-12-19 20:31:29 UTC (rev 22114)
@@ -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"


Property changes on: trunk/www/nginx/files/extra-patch-openresty-set-misc-nginx-module-config
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/www/nginx/files/extra-patch-passenger-build-nginx.rb
===================================================================
--- trunk/www/nginx/files/extra-patch-passenger-build-nginx.rb	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/files/extra-patch-passenger-build-nginx.rb	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,15 +1,22 @@
---- ../passenger-5.0.26/build/nginx.rb.orig	2013-10-27 02:00:00.000000000 +0400
-+++ ../passenger-5.0.26/build/nginx.rb	2015-09-26 02:05:27.664684000 +0300
-@@ -32,6 +32,7 @@
+--- ../passenger-5.0.30/build/nginx.rb.orig	2013-10-26 18:00:00.000000000 -0400
++++ ../passenger-5.0.30/build/nginx.rb	2016-05-09 18:21:22.426777000 -0400
+@@ -33,13 +33,12 @@
  desc "Build Nginx support files"
  task :nginx => [
    :nginx_without_native_support,
+-  NATIVE_SUPPORT_TARGET
 +  LIBBOOST_OXT,
-   NATIVE_SUPPORT_TARGET
  ].compact
  
-@@ -40,7 +41,6 @@
+ desc "Build Nginx support files, including objects suitable for dynamic linking against Nginx"
+ task 'nginx:as_dynamic_module' => [
+   :nginx_dynamic_without_native_support,
+-  NATIVE_SUPPORT_TARGET
+ ].compact
  
+ # Workaround for https://github.com/jimweirich/rake/issues/274
+@@ -47,7 +46,6 @@
+ 
  task :nginx_without_native_support => [
    auto_generated_sources,
 -  AGENT_TARGET,
@@ -16,3 +23,11 @@
    COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).link_objects
  ].flatten
  
+@@ -55,7 +53,6 @@
+ # it also creates a namespace:clean task to clean up the output_dir
+ task :nginx_dynamic_without_native_support => [
+   auto_generated_sources,
+-  AGENT_TARGET,
+   define_libboost_oxt_task("nginx", NGINX_DYNAMIC_OUTPUT_DIR + "libboost_oxt", "-fPIC"),
+   COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).
+     set_namespace("nginx").set_output_dir(NGINX_DYNAMIC_OUTPUT_DIR + "module_libpassenger_common").define_tasks("-fPIC").

Added: trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c
===================================================================
--- trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c	                        (rev 0)
+++ trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c	2016-12-19 20:31:29 UTC (rev 22114)
@@ -0,0 +1,44 @@
+--- 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>
+ #include <ngx_http.h>
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++#include "ngx_http_upstream_check_module.h"
++#endif
+ 
+ typedef struct {
+     uint32_t                            hash;
+@@ -235,6 +238,15 @@ ngx_http_upstream_get_hash_peer(ngx_peer
+             goto next;
+         }
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++        ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
++            "get hash peer, check_index: %ui",
++             peer->check_index);
++        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
++            goto next;
++        }
++#endif
++
+         if (peer->max_fails
+             && peer->fails >= peer->max_fails
+             && now - peer->checked <= peer->fail_timeout)
+@@ -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;
++            }
++#endif
++
+             if (peer->server.len != server->len
+                 || ngx_strncmp(peer->server.data, server->data, server->len)
+                    != 0)


Property changes on: trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_hash_module.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c
===================================================================
--- trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c	                        (rev 0)
+++ trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c	2016-12-19 20:31:29 UTC (rev 22114)
@@ -0,0 +1,28 @@
+--- 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>
+ #include <ngx_http.h>
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++#include "ngx_http_upstream_check_module.h"
++#endif
+ 
+ typedef struct {
+     /* the round robin data must be first */
+@@ -205,6 +208,15 @@ ngx_http_upstream_get_ip_hash_peer(ngx_p
+             goto next;
+         }
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++        ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
++            "get ip_hash peer, check_index: %ui",
++             peer->check_index);
++        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
++            goto next;
++        }
++#endif
++
+         if (peer->max_fails
+             && peer->fails >= peer->max_fails
+             && now - peer->checked <= peer->fail_timeout)


Property changes on: trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_ip_hash_module.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c
===================================================================
--- trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c	                        (rev 0)
+++ trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c	2016-12-19 20:31:29 UTC (rev 22114)
@@ -0,0 +1,46 @@
+--- 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>
+ #include <ngx_http.h>
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++#include "ngx_http_upstream_check_module.h"
++#endif
+ 
+ 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;
+         }
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++        ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
++                "get least_conn peer, check_index: %ui",
++                peer->check_index);
++
++        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
++            continue;
++        }
++#endif
++
+         if (peer->max_fails
+             && peer->fails >= peer->max_fails
+             && now - peer->checked <= peer->fail_timeout)
+@@ -199,6 +212,16 @@ ngx_http_upstream_get_least_conn_peer(ng
+                 continue;
+             }
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++            ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
++                    "get least_conn peer, check_index: %ui",
++                    peer->check_index);
++
++            if (ngx_http_upstream_check_peer_down(peer->check_index)) {
++                continue;
++            }
++#endif
++
+             if (peer->conns * best->weight != best->conns * peer->weight) {
+                 continue;
+             }


Property changes on: trunk/www/nginx/files/extra-patch-src-http-modules-ngx_http_upstream_least_conn_module.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c
===================================================================
--- trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c	                        (rev 0)
+++ trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c	2016-12-19 20:31:29 UTC (rev 22114)
@@ -0,0 +1,101 @@
+--- 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>
+ #include <ngx_http.h>
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++#include "ngx_http_upstream_check_module.h"
++#endif
+ 
+ #define ngx_http_upstream_tries(p) ((p)->number                               \
+                                     + ((p)->next ? (p)->next->number : 0))
+@@ -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) {
++                    peer[n].check_index =
++                        ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]);
++                } else {
++                    peer[n].check_index = (ngx_uint_t) NGX_ERROR;
++                }
++#endif
+                 *peerp = &peer[n];
+                 peerp = &peer[n].next;
+                 n++;
+@@ -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) {
++                    peer[n].check_index =
++                        ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]);
++                }
++                else {
++                    peer[n].check_index = (ngx_uint_t) NGX_ERROR;
++                }
++#endif
+                 *peerp = &peer[n];
+                 peerp = &peer[n].next;
+                 n++;
+@@ -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)
++        peer[i].check_index = (ngx_uint_t) NGX_ERROR;
++#endif
+         *peerp = &peer[i];
+         peerp = &peer[i].next;
+     }
+@@ -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)
++        peer[0].check_index = (ngx_uint_t) NGX_ERROR;
++#endif
+         peers->peer = peer;
+ 
+     } 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)
++            peer[i].check_index = (ngx_uint_t) NGX_ERROR;
++#endif
+             *peerp = &peer[i];
+             peerp = &peer[i].next;
+         }
+@@ -441,6 +468,12 @@ ngx_http_upstream_get_round_robin_peer(n
+             goto failed;
+         }
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
++            goto failed;
++        }
++#endif
++
+         rrp->current = peer;
+ 
+     } else {
+@@ -542,6 +575,12 @@ ngx_http_upstream_get_peer(ngx_http_upst
+             continue;
+         }
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
++            continue;
++        }
++#endif
++
+         if (peer->max_fails
+             && peer->fails >= peer->max_fails
+             && now - peer->checked <= peer->fail_timeout)


Property changes on: trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h
===================================================================
--- trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h	                        (rev 0)
+++ trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h	2016-12-19 20:31:29 UTC (rev 22114)
@@ -0,0 +1,13 @@
+--- src/http/ngx_http_upstream_round_robin.h.orig	2016-02-24 14:53:24 UTC
++++ src/http/ngx_http_upstream_round_robin.h
+@@ -35,6 +35,10 @@ struct ngx_http_upstream_rr_peer_s {
+     ngx_uint_t                      max_fails;
+     time_t                          fail_timeout;
+ 
++#if (NGX_HTTP_UPSTREAM_CHECK)
++    ngx_uint_t                      check_index;
++#endif
++
+     ngx_uint_t                      down;          /* unsigned  down:1; */
+ 
+ #if (NGX_HTTP_SSL)


Property changes on: trunk/www/nginx/files/extra-patch-src-http-ngx_http_upstream_round_robin.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/www/nginx/files/patch-conf-nginx.conf
===================================================================
--- trunk/www/nginx/files/patch-conf-nginx.conf	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/files/patch-conf-nginx.conf	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,6 +1,24 @@
---- conf/nginx.conf.orig	Thu Jan 18 10:08:18 2007
-+++ conf/nginx.conf	Thu Jun 14 12:57:52 2007
-@@ -33,7 +33,7 @@
+--- conf/nginx.conf.orig	2016-05-31 13:47:01 UTC
++++ conf/nginx.conf
+@@ -2,9 +2,14 @@
+ #user  nobody;
+ worker_processes  1;
+ 
+-#error_log  logs/error.log;
+-#error_log  logs/error.log  notice;
+-#error_log  logs/error.log  info;
++# This default error log path is compiled-in to make sure configuration parsing
++# errors are logged somewhere, especially during unattended boot when stderr
++# isn't normally logged anywhere. This path will be touched on every nginx
++# start regardless of error log location configured here. See
++# https://trac.nginx.org/nginx/ticket/147 for more info. 
++#
++#error_log  %%NGINX_ERRORLOG%%;
++#
+ 
+ #pid        logs/nginx.pid;
+ 
+@@ -33,7 +38,7 @@ http {
      #gzip  on;
  
      server {
@@ -9,7 +27,7 @@
          server_name  localhost;
  
          #charset koi8-r;
-@@ -41,7 +41,7 @@
+@@ -41,7 +46,7 @@ http {
          #access_log  logs/host.access.log  main;
  
          location / {
@@ -18,7 +36,7 @@
              index  index.html index.htm;
          }
  
-@@ -51,7 +51,7 @@
+@@ -51,7 +56,7 @@ http {
          #
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {

Added: trunk/www/nginx/files/pkg-message.in
===================================================================
--- trunk/www/nginx/files/pkg-message.in	                        (rev 0)
+++ trunk/www/nginx/files/pkg-message.in	2016-12-19 20:31:29 UTC (rev 22114)
@@ -0,0 +1,23 @@
+
+===================================================================
+Recent version of the NGINX introduces dynamic modules support.  In
+FreeBSD ports tree this feature was enabled by default with the DSO
+knob.  Several vendor's and third-party modules have been converted
+to dynamic modules.  Unset the DSO knob builds an NGINX without
+dynamic modules support.
+
+To load a module at runtime, include the new `load_module'
+directive in the main context, specifying the path to the shared
+object file for the module, enclosed in quotation marks.  When you
+reload the configuration or restart NGINX, the module is loaded in.
+It is possible to specify a path relative to the source directory,
+or a full path, please see
+https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/ and
+http://nginx.org/en/docs/ngx_core_module.html#load_module for
+details.
+
+Default path for the NGINX dynamic modules is
+
+%%PREFIX%%/libexec/nginx.
+===================================================================
+


Property changes on: trunk/www/nginx/files/pkg-message.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/www/nginx/pkg-plist
===================================================================
--- trunk/www/nginx/pkg-plist	2016-11-18 02:25:36 UTC (rev 22113)
+++ trunk/www/nginx/pkg-plist	2016-12-19 20:31:29 UTC (rev 22114)
@@ -1,22 +1,11 @@
- at unexec if cmp -s %D/%%ETCDIR%%/fastcgi_params-dist %D/%%ETCDIR%%/fastcgi_params; then rm -f %D/%%ETCDIR%%/fastcgi_params; fi
-%%ETCDIR%%/fastcgi_params-dist
- at exec if [ ! -f %D/%%ETCDIR%%/fastcgi_params ] ; then cp -p %D/%F %B/fastcgi_params; fi
-%%ETCDIR%%/koi-utf
-%%ETCDIR%%/koi-win
- at unexec if cmp -s %D/%%ETCDIR%%/scgi_params-dist %D/%%ETCDIR%%/scgi_params; then rm -f %D/%%ETCDIR%%/scgi_params; fi
-%%ETCDIR%%/scgi_params-dist
- at exec if [ ! -f %D/%%ETCDIR%%/scgi_params ] ; then cp -p %D/%F %B/scgi_params; fi
- at unexec if cmp -s %D/%%ETCDIR%%/uwsgi_params-dist %D/%%ETCDIR%%/uwsgi_params; then rm -f %D/%%ETCDIR%%/uwsgi_params; fi
-%%ETCDIR%%/uwsgi_params-dist
- at exec if [ ! -f %D/%%ETCDIR%%/uwsgi_params ] ; then cp -p %D/%F %B/uwsgi_params; fi
-%%ETCDIR%%/win-utf
- at unexec if cmp -s %D/%%ETCDIR%%/mime.types-dist %D/%%ETCDIR%%/mime.types; then rm -f %D/%%ETCDIR%%/mime.types; fi
-%%ETCDIR%%/mime.types-dist
- at exec if [ ! -f %D/%%ETCDIR%%/mime.types ] ; then cp -p %D/%F %B/mime.types; fi
- at unexec if cmp -s %D/%%ETCDIR%%/nginx.conf-dist %D/%%ETCDIR%%/nginx.conf; then rm -f %D/%%ETCDIR%%/nginx.conf; fi
-%%ETCDIR%%/nginx.conf-dist
- at exec if [ ! -f %D/%%ETCDIR%%/nginx.conf ] ; then cp -p %D/%F %B/nginx.conf; fi
- at dirrmtry %%ETCDIR%%
+ at sample etc/nginx/fastcgi_params
+etc/nginx/koi-utf
+etc/nginx/koi-win
+ at sample etc/nginx/scgi_params
+ at sample etc/nginx/uwsgi_params
+etc/nginx/win-utf
+ at sample etc/nginx/mime.types
+ at sample etc/nginx/nginx.conf
 %%WWWDATA%%@exec mkdir -p -m 755 %D/www/nginx-dist
 %%WWWDATA%%@exec if [ ! -d %D/www/nginx/ ] ; then ln -fs %D/www/nginx-dist %D/www/nginx; fi
 %%WWWDATA%%www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
@@ -24,7 +13,7 @@
 %%WWWDATA%%www/nginx-dist/50x.html
 %%WWWDATA%%@exec chmod a-w %D/www/nginx-dist
 %%WWWDATA%%@unexec if [ -L %D/www/nginx ]; then rm -f %D/www/nginx; fi
-%%WWWDATA%%@dirrmtry www/nginx-dist
 sbin/nginx
- at unexec if [ -z ${UPGRADE_PORT} ] ; then rm -fr %%NGINX_TMPDIR%%; fi
+ at dir %%NGINX_TMPDIR%%
+ at dir %%NGINX_LOGDIR%%
 man/man8/nginx.8.gz



More information about the Midnightbsd-cvs mailing list