git: 364b314d8899 - main - www/nginx: Update to 1.24.0

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Mon, 17 Apr 2023 10:21:01 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=364b314d88996ec0e94b44e8b4297bb52170e4cb

commit 364b314d88996ec0e94b44e8b4297bb52170e4cb
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2023-04-17 10:13:29 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2023-04-17 10:20:52 +0000

    www/nginx: Update to 1.24.0
    
    Update NGINX to 1.24.0
    Overview of the changes from nginx-devel. Osa has made many good changes in the last devel phases. These have been adopted into the nginx port (httpv3 ....). Also all modules were updated to the latest version
    
    Sponsored by:   Netzkommune GmbH
---
 www/nginx/Makefile                                 |   127 +-
 www/nginx/Makefile.extmod                          |   179 +-
 www/nginx/Makefile.options.desc                    |    23 +-
 www/nginx/distinfo                                 |   154 +-
 www/nginx/files/extra-patch-dynamic-tls            |   225 -
 www/nginx/files/extra-patch-h2-autotune            |   449 -
 www/nginx/files/extra-patch-httpv3                 | 26668 +++++++++++++++++++
 ...ra-patch-masterzen-nginx-upload-progress-module |     9 -
 www/nginx/files/extra-patch-naxsi_runtime.c        |    23 +
 www/nginx/files/extra-patch-nginx-ct-LibreSSL      |    18 +-
 ...xtra-patch-nginx-opentracing-opentracing-config |     4 +-
 .../files/extra-patch-nginx-vod-module-config      |    17 -
 .../extra-patch-ngx_dynamic_healthcheck-config     |    11 -
 .../extra-patch-ngx_http_auth_digest_module.c      |    30 -
 .../files/extra-patch-ngx_http_auth_ldap_module.c  |    10 +
 .../extra-patch-ngx_http_auth_spnego_module.c      |    89 +-
 www/nginx/files/extra-patch-ngx_http_clojure_mem.h |    11 +
 .../files/extra-patch-ngx_http_redis_module.c      |    34 +
 .../files/extra-patch-ngx_http_response-config     |    11 -
 .../extra-patch-ngx_http_uploadprogress_module.c   |    73 +
 .../extra-patch-ngx_http_upstream_fair_module.c    |    89 -
 .../extra-patch-ngx_http_upstream_fair_module.c.n  |    21 -
 ...tra-patch-openresty-drizzle-nginx-module-config |    10 +-
 ...ra-patch-openresty-set-misc-nginx-module-config |    13 -
 .../files/extra-patch-passenger-build-nginx.rb     |    10 +-
 .../files/extra-patch-passenger-disable-telemetry  |     4 +-
 ...xtra-patch-spnego-http-auth-nginx-module-config |     7 +-
 ...h-src_http_modules_ngx_http_slice_read_ahead.c} |     0
 www/nginx/files/nginx.in                           |     4 +-
 www/nginx/files/patch-conf-nginx.conf              |     2 +-
 www/nginx/pkg-plist                                |    53 +-
 31 files changed, 27168 insertions(+), 1210 deletions(-)

diff --git a/www/nginx/Makefile b/www/nginx/Makefile
index 0a498aa230a0..ee1a87c3082a 100644
--- a/www/nginx/Makefile
+++ b/www/nginx/Makefile
@@ -1,10 +1,9 @@
 PORTNAME=	nginx
-PORTVERSION=	1.22.1
-PORTREVISION?=	5
+PORTVERSION=	1.24.0
+PORTREVISION?=	0
 PORTEPOCH=	3
 CATEGORIES=	www
 MASTER_SITES=	https://nginx.org/download/ \
-		http://nginx.org/download/ \
 		LOCAL/joneum
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
 
@@ -15,14 +14,11 @@ WWW=		https://nginx.com/
 LICENSE=	BSD2CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN_mips=	error ngx_spinlock() or ngx_atomic_cmp_set() are not defined
-BROKEN_mips64=	error ngx_spinlock() or ngx_atomic_cmp_set() are not defined
-
 CONFLICTS_INSTALL=	nginx-devel
 
-PORTSCOUT=	limit:^1\.22\.[0-9]*
+PORTSCOUT=	limit:^1\.24\.[0-9]*
 
-USES=		compiler:c11 cpe
+USES=		cpe
 
 CPE_VENDOR=	f5
 CPE_PRODUCT=	nginx
@@ -41,8 +37,8 @@ CONFLICTS?=	nginx-devel-1.* \
 		nginx-full-1.* \
 		nginx-lite-1.* \
 		nginx-naxsi-1.*
-USE_RC_SUBR=	nginx
-SUB_FILES=	pkg-message
+USE_RC_SUBR?=	nginx
+SUB_FILES?=	pkg-message
 SUB_LIST+=	WWWOWN=${WWWOWN} \
 		WWWGRP=${WWWGRP} \
 		NGINX_RUNDIR=${NGINX_RUNDIR} \
@@ -52,7 +48,6 @@ SUB_LIST+=	WWWOWN=${WWWOWN} \
 HAS_CONFIGURE=	yes
 CONFIGURE_ARGS+=--prefix=${ETCDIR} \
 		--with-cc-opt="-I ${LOCALBASE}/include" \
-		--with-ld-opt="-L ${LOCALBASE}/lib" \
 		--conf-path=${ETCDIR}/nginx.conf \
 		--sbin-path=${PREFIX}/sbin/nginx \
 		--pid-path=${NGINX_RUNDIR}/nginx.pid \
@@ -69,48 +64,28 @@ GROUPS?=${WWWGRP}
 
 NO_OPTIONS_SORT=	yes
 
-OPTIONS_GROUP=	MAILGRP HTTPGRP STREAMGRP
+OPTIONS_GROUP=	HTTPGRP MAILGRP STREAMGRP
 # Modules that are part of the base nginx distribution
 OPTIONS_GROUP_HTTPGRP=	GOOGLE_PERFTOOLS HTTP HTTP_ADDITION HTTP_AUTH_REQ \
-	HTTP_CACHE HTTP_DAV HTTP_FLV HTTP_GUNZIP_FILTER HTTP_GZIP_STATIC \
-	HTTP_IMAGE_FILTER HTTP_MP4 HTTP_PERL HTTP_RANDOM_INDEX HTTP_REALIP \
-	HTTP_SECURE_LINK HTTP_SLICE HTTP_SLICE_AHEAD \
-	HTTP_SSL HTTP_STATUS HTTP_SUB HTTP_XSLT HTTPV2 HTTPV2_AUTOTUNE
-
-# External modules (arrayvar MUST appear after devel_kit for build-dep)
-OPTIONS_GROUP_HTTPGRP+=	AJP AWS_AUTH BROTLI CACHE_PURGE CLOJURE CT DEVEL_KIT \
-	ARRAYVAR DRIZZLE DYNAMIC_TLS DYNAMIC_HC DYNAMIC_UPSTREAM ECHO ENCRYPTSESSION \
-	FORMINPUT GRIDFS HEADERS_MORE HTTP_ACCEPT_LANGUAGE \
-	HTTP_AUTH_DIGEST HTTP_AUTH_JWT HTTP_AUTH_KRB5 HTTP_AUTH_LDAP \
-	HTTP_AUTH_PAM HTTP_DAV_EXT HTTP_EVAL HTTP_FANCYINDEX HTTP_FOOTER \
-	HTTP_GEOIP2 HTTP_IP2LOCATION HTTP_IP2PROXY HTTP_JSON_STATUS HTTP_MOGILEFS \
-	HTTP_MP4_H264 HTTP_NOTICE HTTP_PUSH HTTP_PUSH_STREAM HTTP_REDIS \
-	HTTP_RESPONSE HTTP_SUBS_FILTER HTTP_TARANTOOL HTTP_UPLOAD \
-	HTTP_UPLOAD_PROGRESS HTTP_UPSTREAM_CHECK HTTP_UPSTREAM_FAIR \
-	HTTP_UPSTREAM_STICKY HTTP_VIDEO_THUMBEXTRACTOR HTTP_ZIP ICONV LET LINK LUA \
-	MEMC MODSECURITY3 NAXSI OPENTRACING PASSENGER POSTGRES RDS_CSV \
-	RDS_JSON REDIS2 RTMP SET_MISC SFLOW SHIBBOLETH SLOWFS_CACHE \
-	SMALL_LIGHT SRCACHE VOD VTS XSS WEBSOCKIFY
+	HTTP_CACHE HTTP_DAV HTTP_DEGRADATION HTTP_FLV HTTP_GUNZIP_FILTER \
+	HTTP_GZIP_STATIC HTTP_IMAGE_FILTER HTTP_MP4 HTTP_PERL \
+	HTTP_RANDOM_INDEX HTTP_REALIP HTTP_SECURE_LINK HTTP_SLICE HTTP_SSL \
+	HTTP_STATUS HTTP_SUB HTTP_XSLT HTTPV2 HTTPV3 HTTPV3_BORING HTTPV3_LSSL \
+	HTTPV3_QTLS
 
 OPTIONS_GROUP_MAILGRP=	MAIL MAIL_IMAP MAIL_POP3 MAIL_SMTP MAIL_SSL
 
 OPTIONS_GROUP_STREAMGRP=	STREAM STREAM_REALIP STREAM_SSL \
 	STREAM_SSL_PREREAD
 
-OPTIONS_DEFINE=	DEBUG DEBUGLOG DSO FILE_AIO IPV6 NJS THREADS WWW
-
+OPTIONS_DEFINE=		DEBUG DEBUGLOG DSO FILE_AIO IPV6 NJS NJS_XML THREADS 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 PCRE_ONE STREAM STREAM_SSL STREAM_REALIP \
-		STREAM_SSL_PREREAD THREADS WWW
-
-OPTIONS_RADIO+=		PCRE
-OPTIONS_RADIO_PCRE=	PCRE_ONE PCRE_TWO
-PCRE_ONE_LIB_DEPENDS=	libpcre.so:devel/pcre
-PCRE_ONE_CONFIGURE_ON=	--without-pcre2
-PCRE_TWO_LIB_DEPENDS=	libpcre2-8.so:devel/pcre2
+		HTTP_DAV HTTP_FLV HTTP_GUNZIP_FILTER HTTP_GZIP_STATIC HTTP_MP4 \
+		HTTP_RANDOM_INDEX HTTP_REALIP HTTP_SECURE_LINK HTTP_SLICE HTTP_SSL \
+		HTTP_STATUS HTTP_SUB HTTPV2 MAIL MAIL_SSL STREAM \
+		STREAM_REALIP STREAM_SSL STREAM_SSL_PREREAD THREADS WWW
+
+LIB_DEPENDS+=	libpcre2-8.so:devel/pcre2
 
 OPTIONS_SUB=	yes
 
@@ -130,8 +105,9 @@ ${opt}_IMPLIES=	STREAM
 
 # If the target is makesum, make sure that every distfile is fetched.
 .if ${.TARGETS:Mmakesum}
-OPTIONS_DEFAULT=	${OPTIONS_DEFINE} ${OPTIONS_GROUP_HTTP} \
-	${OPTIONS_GROUP_MAIL} ${OPTIONS_GROUP_STREAM}
+OPTIONS_DEFAULT=	${OPTIONS_DEFINE} ${OPTIONS_GROUP_HTTPGRP} \
+	${OPTIONS_GROUP_MAILGRP} ${OPTIONS_GROUP_STREAMGRP} \
+	${OPTIONS_GROUP_THIRDPARTYGRP}
 .endif
 
 # Non-module options handling
@@ -158,6 +134,7 @@ HTTP_ADDITION_CONFIGURE_ON=	--with-http_addition_module
 HTTP_AUTH_REQ_CONFIGURE_ON=	--with-http_auth_request_module
 HTTP_CACHE_CONFIGURE_OFF=	--without-http-cache
 HTTP_DAV_CONFIGURE_ON=		--with-http_dav_module
+HTTP_DEGRADATION_CONFIGURE_ON=	--with-http_degradation_module
 HTTP_FLV_CONFIGURE_ON=		--with-http_flv_module
 HTTP_GZIP_STATIC_CONFIGURE_ON=	--with-http_gzip_static_module
 HTTP_GUNZIP_FILTER_CONFIGURE_ON=--with-http_gunzip_module
@@ -180,6 +157,22 @@ HTTP_XSLT_LIB_DEPENDS=		libxml2.so:textproc/libxml2 \
 HTTP_XSLT_VARS=			DSO_BASEMODS+=http_xslt_module
 HTTPV2_IMPLIES=			HTTP_SSL
 HTTPV2_CONFIGURE_ON=		--with-http_v2_module
+HTTPV3_CONFIGURE_ON=		--build=nginx-quic \
+				--with-stream_quic_module \
+				--with-http_v3_module
+HTTPV3_EXTRA_PATCHES=		${PATCHDIR}/extra-patch-httpv3:-p1
+HTTPV3_BORING_BUILD_DEPENDS=	${LOCALBASE}/bin/bssl:security/boringssl
+HTTPV3_BORING_RUN_DEPENDS=	${LOCALBASE}/bin/bssl:security/boringssl
+HTTPV3_BORING_IMPLIES=		HTTPV3
+HTTPV3_BORING_PREVENTS=		HTTPV3_LSSL HTTPV3_QTLS
+HTTPV3_LSSL_BUILD_DEPENDS=	${LOCALBASE}/include/tls.h:security/libressl-devel
+HTTPV3_LSSL_BUILD_DEPENDS=	${LOCALBASE}/include/tls.h:security/libressl-devel
+HTTPV3_LSSL_IMPLIES=		HTTPV3
+HTTPV3_LSSL_PREVENTS=		HTTPV3_BORING HTTPV3_QTLS
+HTTPV3_QTLS_BUILD_DEPENDS=	${LOCALBASE}/include/openssl/quic.h:security/openssl-quictls
+HTTPV3_QTLS_RUN_DEPENDS=	${LOCALBASE}/include/openssl/quic.h:security/openssl-quictls
+HTTPV3_QTLS_IMPLIES=		HTTPV3
+HTTPV3_QTLS_PREVENTS=		HTTPV3_BORING HTTPV3_LSSL
 MAIL_VARS=			DSO_BASEMODS+=mail
 MAIL_IMAP_CONFIGURE_OFF=	--without-mail_imap_module
 MAIL_POP3_CONFIGURE_OFF=	--without-mail_pop3_module
@@ -188,9 +181,9 @@ MAIL_SSL_USES=			ssl
 MAIL_SSL_CONFIGURE_ON=		--with-mail_ssl_module
 STREAM_VARS=			DSO_BASEMODS+=stream
 STREAM_REALIP_CONFIGURE_ON=	--with-stream_realip_module
-STREAM_SSL_IMPLIES=		HTTP_SSL
+STREAM_SSL_USES=		ssl
 STREAM_SSL_CONFIGURE_ON=	--with-stream_ssl_module
-STREAM_SSL_PREREAD_CONFIGURE_ON=	--with-stream_ssl_preread_module
+STREAM_SSL_PREREAD_CONFIGURE_ON=--with-stream_ssl_preread_module
 
 ### External modules
 .include "Makefile.extmod"
@@ -232,13 +225,21 @@ CONFIGURE_ENV+=	OPTIMIZE="yes"
 CFLAGS+=	-DNDEBUG
 .endif
 
-.if empty(PORT_OPTIONS:MPCRE_ONE) && empty(PORT_OPTIONS:MPCRE_TWO)
-IGNORE=		required at least PCRE_ONE or PCRE_TWO \
-		to be defined. Please do 'make config' again
+# Fix build failure on clang >= 12
+.if ${PORT_OPTIONS:MHTTP_PERL} && ${OSVERSION} >= 1301000
+CFLAGS+=	-Wno-compound-token-split-by-macro
+.endif
+
+.if empty(PORT_OPTIONS:MLUA) && empty(PORT_OPTIONS:MMODSECURITY3) && \
+    empty(PORT_OPTIONS:MPASSENGER)
+CONFIGURE_ARGS+=	--with-ld-opt="-L ${LOCALBASE}/lib"
+.else
+CONFIGURE_ARGS+=	--with-ld-opt="-L ${LOCALBASE}/lib -lpcre"
+LIB_DEPENDS+=		libpcre.so:devel/pcre
 .endif
 
-.if ${PORT_OPTIONS:MPCRE_ONE}
-NJS_CONFIGURE_ARGS=	--no-pcre2
+.if empty(PORT_OPTIONS:MNJS_XML)
+NJS_CONFIGURE_ARGS=	--no-libxml2
 .endif
 
 pre-everything::
@@ -251,9 +252,8 @@ pre-everything::
 .endif
 	@${ECHO_MSG}
 
-post-extract-GRIDFS-on:
-	@${RMDIR} ${WRKSRC_gridfs}/mongo-c-driver/
-	@${MV} ${WRKSRC_mongo_c} ${WRKSRC_gridfs}/mongo-c-driver
+pre-patch-HTTPV3-on:
+	@${MV} ${WRKSRC}/README ${WRKSRC}/README.1st
 
 post-patch:
 	@${REINPLACE_CMD} 's!%%HTTP_PORT%%!${HTTP_PORT}!; \
@@ -272,9 +272,9 @@ post-patch-FASTDFS-on:
 		's!%%PREFIX%%!${PREFIX}!g;s!%%LOCALBASE%%!${LOCALBASE}!g' \
 		${WRKSRC_fastdfs}/src/config
 
-# Respect CFLAGS by remove needless --std=c99 flag
 post-patch-GRIDFS-on:
-	@${REINPLACE_CMD} 's!--std=c99!-DMONGO_HAVE_STDINT!' ${WRKSRC_gridfs}/config
+	@${REINPLACE_CMD} 's!\/usr!${LOCALBASE}!g' \
+		${WRKSRC_gridfs}/nginx-gridfs/config
 
 post-patch-HTTP_AUTH_KRB5-on:
 	@${REINPLACE_CMD} 's!%%GSSAPILIBS%%!${GSSAPILIBS}!g; \
@@ -316,16 +316,14 @@ post-patch-SFLOW-on:
 
 post-patch-VOD-on:
 	@${REINPLACE_CMD} \
-	's!%%PREFIX%%!${LOCALBASE}!g' \
-	${WRKSRC_vod}/config
+		's!%%PREFIX%%!${LOCALBASE}!g' \
+		${WRKSRC_vod}/config
 
 pre-configure-SMALL_LIGHT-on:
 	( cd ${WRKSRC_small_light} && ./setup )
 
 do-configure-NJS-on:
-	( cd ${WRKSRC_njs} && ${SETENV} ${CONFIGURE_ENV} ${CONFIGURE_CMD} ${NJS_CONFIGURE_ARGS} \
-		&& ${SETENV} ${MAKE_ENV} ${MAKE_CMD} njs \
-		&& ${MV} build/njs ${WRKSRC_njs} )
+	( cd ${WRKSRC_njs} && ${SETENV} ${CONFIGURE_ENV} ${CONFIGURE_CMD} ${NJS_CONFIGURE_ARGS} )
 
 .if !target(do-install)
 do-install:
@@ -360,14 +358,13 @@ do-install-NAXSI-on:
 	${INSTALL_DATA} \
 	${WRKDIR}/naxsi-${NAXSI_NGINX_VER}/naxsi_config/naxsi_core.rules \
 	${STAGEDIR}${ETCDIR}
-
 .endif
 
 .if !target(post-install)
 post-install:
 	${MKDIR} ${STAGEDIR}${PREFIX}/share/vim/vimfiles
 	cd ${WRKSRC}/contrib/vim && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/share/vim/vimfiles
-	${INSTALL_MAN} ${WRKSRC}/objs/nginx.8 ${STAGEDIR}${MAN8PREFIX}/man/man8
+	${INSTALL_MAN} ${WRKSRC}/objs/nginx.8 ${STAGEDIR}${MAN8PREFIX}/share/man/man8
 	${CAT} ${WRKSRC}/conf/nginx.conf >> ${STAGEDIR}${ETCDIR}/nginx.conf-dist
 
 post-install-WWW-on:
diff --git a/www/nginx/Makefile.extmod b/www/nginx/Makefile.extmod
index 5ad50b415eec..da16d3e86f39 100644
--- a/www/nginx/Makefile.extmod
+++ b/www/nginx/Makefile.extmod
@@ -1,6 +1,22 @@
 ### External modules
-AJP_GH_TUPLE=		yaoweibin:nginx_ajp_module:fcbb2cc:ajp
-AJP_CONFIGURE_ON=	--add-module=${WRKSRC_ajp}
+
+OPTIONS_GROUP+=	THIRDPARTYGRP
+# External modules (arrayvar MUST appear after devel_kit for build-dep)
+OPTIONS_GROUP_THIRDPARTYGRP=	AJP AWS_AUTH BROTLI CACHE_PURGE CLOJURE COOKIE_FLAG CT \
+	DEVEL_KIT ARRAYVAR DRIZZLE DYNAMIC_UPSTREAM ECHO ENCRYPTSESSION \
+	FIPS_CHECK FORMINPUT GRIDFS HEADERS_MORE HTTP_ACCEPT_LANGUAGE HTTP_AUTH_DIGEST \
+	HTTP_AUTH_KRB5 HTTP_AUTH_LDAP HTTP_AUTH_PAM HTTP_DAV_EXT HTTP_EVAL \
+	HTTP_FANCYINDEX HTTP_FOOTER HTTP_GEOIP2 HTTP_IP2LOCATION HTTP_IP2PROXY \
+	HTTP_JSON_STATUS HTTP_MOGILEFS HTTP_MP4_H264 HTTP_NOTICE HTTP_PUSH \
+	HTTP_PUSH_STREAM HTTP_REDIS HTTP_SLICE_AHEAD HTTP_SUBS_FILTER HTTP_TARANTOOL \
+	HTTP_UPLOAD HTTP_UPLOAD_PROGRESS HTTP_UPSTREAM_CHECK HTTP_UPSTREAM_FAIR \
+	HTTP_UPSTREAM_STICKY HTTP_VIDEO_THUMBEXTRACTOR HTTP_ZIP ICONV LET LINK LUA MEMC \
+	MODSECURITY3 NAXSI OPENTRACING PASSENGER POSTGRES RDS_CSV RDS_JSON \
+	REDIS2 RTMP SET_MISC SFLOW SHIBBOLETH SLOWFS_CACHE SRCACHE STS \
+	VOD VTS XSS WEBSOCKIFY
+
+AJP_GH_TUPLE=		msva:nginx_ajp_module:fcbb2cc:ajp
+AJP_VARS=		DSO_EXTMODS+=ajp
 
 ARRAYVAR_IMPLIES=	DEVEL_KIT
 ARRAYVAR_GH_TUPLE=	openresty:array-var-nginx-module:v0.05:arrayvar
@@ -13,80 +29,79 @@ BROTLI_LIB_DEPENDS=	libbrotlicommon.so:archivers/brotli
 BROTLI_GH_TUPLE=	google:ngx_brotli:9aec15e:brotli
 BROTLI_VARS=		DSO_EXTMODS+=brotli
 
-CACHE_PURGE_GH_TUPLE=		nginx-modules:ngx_cache_purge:4746629:cache_purge
-CACHE_PURGE_CONFIGURE_ON=	--add-module=${WRKDIR}/ngx_cache_purge-4746629
+CACHE_PURGE_GH_TUPLE=	torden:ngx_cache_purge:2b977cf:cache_purge
+CACHE_PURGE_VARS=	DSO_EXTMODS+=cache_purge
 
 CLOJURE_CATEGORIES+=	java
 CLOJURE_USE=		JAVA=yes JAVA_OS=native JAVA_VERSION=1.8 \
 			JAVA_VENDOR=openjdk JAVA_BUILD=yes JAVA_RUN=yes
-CLOJURE_GH_TUPLE=	nginx-clojure:nginx-clojure:v0.5.2:clojure
+CLOJURE_GH_TUPLE=	nginx-clojure:nginx-clojure:4347955:clojure
 CLOJURE_CONFIGURE_ENV=	"JNI_INCS=-I${LOCALBASE}/openjdk8/include -I${LOCALBASE}/openjdk8/include/freebsd"
 CLOJURE_VARS=		DSO_EXTMODS+=clojure CLOJURE_SUBDIR=/src/c
+CLOJURE_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_clojure_mem.h
+
+COOKIE_FLAG_GH_TUPLE=	AirisX:nginx_cookie_flag_module:c4ff449:cookie_flag
+COOKIE_FLAG_VARS=	DSO_EXTMODS+=cookie_flag
 
 CT_IMPLIES=		HTTP_SSL
-CT_GH_TUPLE=		grahamedgecombe:nginx-ct:v1.3.2:ct
+CT_GH_TUPLE=		grahamedgecombe:nginx-ct:93e9884:ct
 CT_VARS=		DSO_EXTMODS+=ct
 CT_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-nginx-ct-LibreSSL
 
+ECHO_GH_TUPLE=		openresty:echo-nginx-module:5a402aa:echo
+ECHO_VARS=		DSO_EXTMODS+=echo
+
 DRIZZLE_LIB_DEPENDS=	libdrizzle.so:databases/libdrizzle
 DRIZZLE_CONFIGURE_ENV=	LIBDRIZZLE_INC=${LOCALBASE}/include \
 			LIBDRIZZLE_LIB=${LOCALBASE}/lib
-DRIZZLE_GH_TUPLE=	openresty:drizzle-nginx-module:v0.1.11:drizzle
+DRIZZLE_GH_TUPLE=	openresty:drizzle-nginx-module:3504fc6:drizzle
 DRIZZLE_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-openresty-drizzle-nginx-module-config
 DRIZZLE_VARS=		DSO_EXTMODS+=drizzle
 
-DYNAMIC_TLS_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-dynamic-tls
-
+DYNAMIC_UPSTREAM_IMPLIES=	STREAM
 DYNAMIC_UPSTREAM_GH_TUPLE=	ZigzagAK:ngx_dynamic_upstream:960eef2:dynamic_upstream
 DYNAMIC_UPSTREAM_VARS=		DSO_EXTMODS+=dynamic_upstream
 
-DYNAMIC_HC_GH_TUPLE=	ZigzagAK:ngx_dynamic_healthcheck:61acf02:dynamic_hc
-DYNAMIC_HC_VARS=		DSO_EXTMODS+=dynamic_hc
-DYNAMIC_HC_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_dynamic_healthcheck-config
-DYNAMIC_HC_IMPLIES=	DYNAMIC_UPSTREAM
-
 DEVEL_KIT_GH_TUPLE=		simpl:ngx_devel_kit:v0.3.1:devel_kit
 DEVEL_KIT_VARS=			FIRST_DSO_EXTMODS+=devel_kit
 
-ECHO_GH_TUPLE=		openresty:echo-nginx-module:5a402aa:echo
-ECHO_VARS=		DSO_EXTMODS+=echo
-
 ENCRYPTSESSION_IMPLIES=		DEVEL_KIT
-ENCRYPTSESSION_GH_TUPLE=	openresty:encrypted-session-nginx-module:v0.08:encryptsession
+ENCRYPTSESSION_GH_TUPLE=	openresty:encrypted-session-nginx-module:v0.09:encryptsession
 ENCRYPTSESSION_VARS=		DSO_EXTMODS+=encryptsession
 
+FIPS_CHECK_GH_TUPLE=	ogarrett:nginx-fips-check-module:6cb4270:fipscheck
+FIPS_CHECK_VARS=	DSO_EXTMODS+=fipscheck
+
 FORMINPUT_IMPLIES=	DEVEL_KIT
 FORMINPUT_GH_TUPLE=	calio:form-input-nginx-module:v0.12:forminput
 FORMINPUT_VARS=		DSO_EXTMODS+=forminput
 
-GRIDFS_GH_TUPLE=	technowledgy:nginx_http_gridfs_module:7970bab:gridfs \
-			10gen-archive:mongo-c-driver-legacy:f06669b:mongo_c
-GRIDFS_VARS=		DSO_EXTMODS+=gridfs
+GRIDFS_GH_TUPLE=	nieoding:nginx-gridfs:059bdc3:gridfs
+GRIDFS_LIB_DEPENDS=	libbson-1.0.so:devel/libbson \
+			libmongoc-1.0.so:devel/mongo-c-driver
+GRIDFS_VARS=		DSO_EXTMODS+=gridfs GRIDFS_SUBDIR=/nginx-gridfs
 
-HEADERS_MORE_GH_TUPLE=		openresty:headers-more-nginx-module:d6d7eba:headers_more
+HEADERS_MORE_GH_TUPLE=		openresty:headers-more-nginx-module:33b646d:headers_more
 HEADERS_MORE_VARS=		DSO_EXTMODS+=headers_more
 
 HTTP_ACCEPT_LANGUAGE_GH_TUPLE=	dvershinin:nginx_accept_language_module:5683967:accept_language
 HTTP_ACCEPT_LANGUAGE_VARS=	DSO_EXTMODS+=accept_language
 
-HTTP_AUTH_DIGEST_GH_TUPLE=	atomx:nginx-http-auth-digest:cd86418:auth_digest
+HTTP_AUTH_DIGEST_GH_TUPLE=	atomx:nginx-http-auth-digest:274490c:auth_digest
 HTTP_AUTH_DIGEST_VARS=		DSO_EXTMODS+=auth_digest
 
-HTTP_AUTH_JWT_GH_TUPLE=		TeslaGov:ngx-http-auth-jwt-module:80d89d9:http_auth_jwt
-HTTP_AUTH_JWT_VARS=			DSO_EXTMODS+=http_auth_jwt
-HTTP_AUTH_JWT_LIB_DEPENDS=	libjwt.so:www/libjwt libjansson.so:devel/jansson
-
 HTTP_AUTH_KRB5_GH_TUPLE=	stnoonan:spnego-http-auth-nginx-module:c626163:auth_krb5
 HTTP_AUTH_KRB5_VARS=		DSO_EXTMODS+=auth_krb5
 HTTP_AUTH_KRB5_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-spnego-http-auth-nginx-module-config \
 				${PATCHDIR}/extra-patch-ngx_http_auth_spnego_module.c
 HTTP_AUTH_KRB5_USES=		gssapi:mit
 
-HTTP_AUTH_LDAP_GH_TUPLE=	kvspb:nginx-auth-ldap:42d195d:http_auth_ldap
+HTTP_AUTH_LDAP_GH_TUPLE=	kvspb:nginx-auth-ldap:83c059b:http_auth_ldap
+HTTP_AUTH_LDAP_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_auth_ldap_module.c
 HTTP_AUTH_LDAP_VARS=		DSO_EXTMODS+=http_auth_ldap
 HTTP_AUTH_LDAP_USES=		ldap
 
-HTTP_AUTH_PAM_GH_TUPLE=		sto:ngx_http_auth_pam_module:v1.5.1:auth_pam
+HTTP_AUTH_PAM_GH_TUPLE=		sto:ngx_http_auth_pam_module:v1.5.3:auth_pam
 HTTP_AUTH_PAM_VARS=		DSO_EXTMODS+=auth_pam
 
 HTTP_DAV_EXT_IMPLIES=		HTTP_DAV
@@ -106,7 +121,7 @@ HTTP_FOOTER_GH_TUPLE=		alibaba:nginx-http-footer-filter:1.2.2:footer
 HTTP_FOOTER_VARS=		DSO_EXTMODS+=footer
 HTTP_FOOTER_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-nginx-http-footer-filter-config
 
-HTTP_GEOIP2_GH_TUPLE=		leev:ngx_http_geoip2_module:3.3:geoip2
+HTTP_GEOIP2_GH_TUPLE=		leev:ngx_http_geoip2_module:3.4:geoip2
 HTTP_GEOIP2_CFLAGS=		-I${LOCALBASE}/include
 HTTP_GEOIP2_VARS=		DSO_EXTMODS+=geoip2
 HTTP_GEOIP2_LIB_DEPENDS=	libmaxminddb.so:net/libmaxminddb
@@ -121,7 +136,7 @@ HTTP_IP2PROXY_VARS=		DSO_EXTMODS+=ip2proxy
 
 HTTP_JSON_STATUS_GH_TUPLE=	nginx-modules:ngx_http_json_status_module:1d2f303:json_status
 HTTP_JSON_STATUS_VARS=		DSO_EXTMODS+=json_status
-HTTP_JSON_STATUS_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_json_status_module-config
+HTTP_JSON_STATUS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ngx_http_json_status_module-config
 
 HTTP_MOGILEFS_MASTER_SITES=	http://www.grid.net.ru/nginx/download/:mogilefs
 HTTP_MOGILEFS_DISTFILES=	nginx_mogilefs_module-1.0.4.tar.gz:mogilefs
@@ -130,10 +145,10 @@ HTTP_MOGILEFS_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_mogilefs_module.c
 HTTP_MOGILEFS_VARS=		DSO_EXTDIRS+=nginx_mogilefs_module-1.0.4
 
 HTTP_MP4_H264_MASTER_SITES=	http://h264.code-shop.com/download/:mp4streaming
-HTTP_MP4_H264_CONFIGURE_ON=		--with-cc-opt="-DLARGEFILE_SOURCE -DBUILDING_NGINX"
+HTTP_MP4_H264_CONFIGURE_ON=	--with-cc-opt="-DLARGEFILE_SOURCE -DBUILDING_NGINX"
 HTTP_MP4_H264_DISTFILES=	nginx_mod_h264_streaming-2.2.7.tar.gz:mp4streaming
 HTTP_MP4_H264_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_streaming_module.c \
-			${PATCHDIR}/extra-patch-nginx_mod_h264_streaming-config
+				${PATCHDIR}/extra-patch-nginx_mod_h264_streaming-config
 HTTP_MP4_H264_VARS=		DSO_EXTDIRS+=nginx_mod_h264_streaming-2.2.7
 
 HTTP_NOTICE_GH_TUPLE=		kr:nginx-notice:3c95966:notice
@@ -141,25 +156,21 @@ HTTP_NOTICE_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_notice_module.c \
 				${PATCHDIR}/extra-patch-nginx-notice-config
 HTTP_NOTICE_VARS=		DSO_EXTMODS+=notice
 
-HTTP_PUSH_GH_TUPLE=		slact:nchan:v1.3.0:push
+HTTP_PUSH_GH_TUPLE=		slact:nchan:v1.3.6:push
 HTTP_PUSH_VARS=			DSO_EXTMODS+=push
 
-HTTP_PUSH_STREAM_GH_TUPLE=	wandenberg:nginx-push-stream-module:0.5.4:pushstream
+HTTP_PUSH_STREAM_GH_TUPLE=	wandenberg:nginx-push-stream-module:8c02220:pushstream
 HTTP_PUSH_STREAM_VARS=		DSO_EXTMODS+=pushstream
 
 HTTP_REDIS_MASTER_SITES=	LOCAL/osa:redis
 HTTP_REDIS_DISTFILES=		ngx_http_redis-0.3.9.tar.gz:redis
 HTTP_REDIS_VARS=		DSO_EXTDIRS+=ngx_http_redis-0.3.9
+HTTP_REDIS_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_redis_module.c
 
-HTTP_RESPONSE_MASTER_SITES=	http://catap.ru/downloads/nginx/:response
-HTTP_RESPONSE_DISTFILES=	ngx_http_response-0.3.tar.gz:response
-HTTP_RESPONSE_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_response-config
-HTTP_RESPONSE_VARS=		DSO_EXTDIRS+=ngx_http_response-0.3
+HTTP_SLICE_AHEAD_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-src_http_modules_ngx_http_slice_read_ahead.c
 
-HTTP_SLICE_AHEAD_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-src_http_modules_ngx__http__slice_read_ahead.c
-
-HTTP_SUBS_FILTER_GH_TUPLE=	yaoweibin:ngx_http_substitutions_filter_module:b8a71ea:subs_filter
-HTTP_SUBS_FILTER_VARS=	DSO_EXTMODS+=subs_filter
+HTTP_SUBS_FILTER_GH_TUPLE=	yaoweibin:ngx_http_substitutions_filter_module:c6f825f:subs_filter
+HTTP_SUBS_FILTER_VARS=		DSO_EXTMODS+=subs_filter
 
 HTTP_TARANTOOL_LIB_DEPENDS=	libmsgpuck.so:devel/msgpuck \
 				libyajl.so:devel/yajl
@@ -167,11 +178,12 @@ HTTP_TARANTOOL_GH_TUPLE=	tarantool:nginx_upstream_module:aeb8696:nginx_tarantool
 HTTP_TARANTOOL_VARS=		DSO_EXTMODS+=nginx_tarantool
 HTTP_TARANTOOL_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_tarantool-config
 
-HTTP_UPLOAD_GH_TUPLE=		fdintino:nginx-upload-module:aa42509:upload
+HTTP_UPLOAD_GH_TUPLE=		fdintino:nginx-upload-module:643b4c1:upload
 HTTP_UPLOAD_VARS=		DSO_EXTMODS+=upload
 
-HTTP_UPLOAD_PROGRESS_GH_TUPLE=	masterzen:nginx-upload-progress-module:afb2d31:uploadprogress
-HTTP_UPLOAD_PROGRESS_VARS=	DSO_EXTMODS+=uploadprogress
+HTTP_UPLOAD_PROGRESS_GH_TUPLE=		masterzen:nginx-upload-progress-module:68b3ab3:uploadprogress
+HTTP_UPLOAD_PROGRESS_VARS=		DSO_EXTMODS+=uploadprogress
+HTTP_UPLOAD_PROGRESS_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_uploadprogress_module.c
 
 HTTP_UPSTREAM_CHECK_GH_TUPLE=		yaoweibin:nginx_upstream_check_module:9aecf15:upstreamcheck
 HTTP_UPSTREAM_CHECK_CONFIGURE_ON=	--add-module=${WRKSRC_upstreamcheck}
@@ -185,7 +197,7 @@ HTTP_UPSTREAM_FAIR_GH_TUPLE=		jaygooby:nginx-upstream-fair:10ecdcf:upstreamfair
 HTTP_UPSTREAM_FAIR_VARS=		DSO_EXTMODS+=upstreamfair
 
 HTTP_UPSTREAM_STICKY_IMPLIES=		HTTP_SSL
-HTTP_UPSTREAM_STICKY_GH_TUPLE=		ayty-adrianomartins:nginx-sticky-module-ng:c407e0d:upstreamsticky
+HTTP_UPSTREAM_STICKY_GH_TUPLE=		dvershinin:nginx-sticky-module-ng:2753211:upstreamsticky
 HTTP_UPSTREAM_STICKY_VARS=		DSO_EXTMODS+=upstreamsticky
 
 HTTP_VIDEO_THUMBEXTRACTOR_LIB_DEPENDS=	libavformat.so:multimedia/ffmpeg \
@@ -193,16 +205,12 @@ HTTP_VIDEO_THUMBEXTRACTOR_LIB_DEPENDS=	libavformat.so:multimedia/ffmpeg \
 					libavutil.so:multimedia/ffmpeg \
 					libswscale.so:multimedia/ffmpeg
 HTTP_VIDEO_THUMBEXTRACTOR_USES=		jpeg
-HTTP_VIDEO_THUMBEXTRACTOR_GH_TUPLE=	Novetta:nginx-video-thumbextractor-module:28861f2:vte
+HTTP_VIDEO_THUMBEXTRACTOR_GH_TUPLE=	Novetta:nginx-video-thumbextractor-module:f5b5bae:vte
 HTTP_VIDEO_THUMBEXTRACTOR_VARS=		DSO_EXTMODS+=vte
 
-HTTP_ZIP_GH_TUPLE=	rtm-ctrlz:mod_zip:cfd0be4:mod_zip
+HTTP_ZIP_GH_TUPLE=	vince2678:mod_zip:5b2604b:mod_zip
 HTTP_ZIP_VARS=		DSO_EXTMODS+=mod_zip
 
-HTTPV2_AUTOTUNE_IMPLIES=HTTPV2
-HTTPV2_AUTOTUNE_CONFIGURE_ON=	--with-http_v2_autotune_upload
-HTTPV2_AUTOTUNE_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-h2-autotune
-
 ICONV_IMPLIES=		DEVEL_KIT
 ICONV_USES=		iconv
 ICONV_GH_TUPLE=		calio:iconv-nginx-module:v0.14:iconv
@@ -212,46 +220,50 @@ ICONV_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-calio-iconv-nginx-module-config
 LET_GH_TUPLE=		baysao:nginx-let-module:c1f23aa:let
 LET_VARS=		DSO_EXTMODS+=let
 
-LINK_GH_TUPLE=		Taymindis:nginx-link-function:3.2.4:link
-LINK_EXTRA_PATCHES=     ${PATCHDIR}/extra-patch-nginx-link-function-config \
-				${PATCHDIR}/extra-patch-ngx_link_func_module.c
-LINK_VARS=		DSO_EXTMODS+=link
-
 LUA_IMPLIES=		DEVEL_KIT
 LUA_LIB_DEPENDS=	libluajit-5.1.so:lang/luajit-openresty
 LUA_RUN_DEPENDS=	lua-resty-core>0:www/lua-resty-core
 LUA_CONFIGURE_ENV=	LUAJIT_INC=${LOCALBASE}/include/luajit-2.1 \
 			LUAJIT_LIB=${LOCALBASE}/lib
-LUA_GH_TUPLE=		openresty:lua-nginx-module:v0.10.22:lua
+LUA_GH_TUPLE=		openresty:lua-nginx-module:v0.10.24:lua
 LUA_VARS=		DSO_EXTMODS+=lua
 
+LINK_GH_TUPLE=		Taymindis:nginx-link-function:3.2.4:link
+LINK_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-nginx-link-function-config \
+			${PATCHDIR}/extra-patch-ngx_link_func_module.c
+LINK_VARS=		DSO_EXTMODS+=link
+
 MEMC_GH_TUPLE=		openresty:memc-nginx-module:v0.19:memc
 MEMC_VARS=		DSO_EXTMODS+=memc
 
-MODSECURITY3_IMPLIES=	HTTP_ADDITION HTTP_IMAGE_FILTER HTTP_GUNZIP_FILTER HTTP_XSLT
+MODSECURITY3_IMPLIES=		HTTP_ADDITION HTTP_IMAGE_FILTER HTTP_GUNZIP_FILTER HTTP_XSLT
 MODSECURITY3_LIB_DEPENDS=	libmodsecurity.so:security/modsecurity3
-MODSECURITY3_GH_TUPLE=		SpiderLabs:ModSecurity-nginx:v1.0.2:modsec
-MODSECURITY3_VARS=		DSO_EXTMODS+=modsec
+MODSECURITY3_GH_TUPLE=		SpiderLabs:ModSecurity-nginx:v1.0.3:modsecurity3
+MODSECURITY3_VARS=		DSO_EXTMODS+=modsecurity3
 
-NAXSI_NGINX_VER=	1.3
+NAXSI_NGINX_VER=	29793dc
 NAXSI_GH_TUPLE=		nbs-system:naxsi:${NAXSI_NGINX_VER}:naxsi
 NAXSI_VARS=		DSO_EXTMODS+=naxsi NAXSI_SUBDIR=/naxsi_src
+NAXSI_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-naxsi_runtime.c
 
-NJS_GH_TUPLE=		nginx:njs:0.7.9:njs
+NJS_GH_TUPLE=		nginx:njs:0.7.12:njs
 NJS_VARS=		DSO_EXTMODS+=njs NJS_SUBDIR=/nginx
 NJS_USES=		libedit
 
-OPENTRACING_GH_TUPLE=	opentracing-contrib:nginx-opentracing:2d81c29:opentracing
+NJS_XML_IMPLIES=	NJS
+NJS_XML_LIB_DEPENDS=	libxml2.so:textproc/libxml2
+
+OPENTRACING_GH_TUPLE=		opentracing-contrib:nginx-opentracing:v0.24.0:opentracing
 OPENTRACING_LIB_DEPENDS=	libopentracing.so:devel/libopentracing
-OPENTRACING_VARS=	DSO_EXTMODS+=opentracing OPENTRACING_SUBDIR=/opentracing
+OPENTRACING_VARS=		DSO_EXTMODS+=opentracing OPENTRACING_SUBDIR=/opentracing
 OPENTRACING_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-nginx-opentracing-opentracing-config
 
-PASSENGER_NGINX_VER=	6.0.15
+PASSENGER_NGINX_VER=	6.0.17
 PASSENGER_CATEGORIES=	ruby
 PASSENGER_USES=		ruby
 PASSENGER_BUILD_DEPENDS=${LOCALBASE}/bin/rake:devel/rubygem-rake
 PASSENGER_RAKE_BIN=	${LOCALBASE}/bin/rake
-PASSENGER_MASTER_SITES=	http://s3.amazonaws.com/phusion-passenger/releases/:passenger
+PASSENGER_MASTER_SITES=	https://s3.amazonaws.com/phusion-passenger/releases/:passenger
 PASSENGER_DISTFILES=	passenger-${PASSENGER_NGINX_VER}.tar.gz:passenger
 PASSENGER_VARS=		WRKSRC_passenger=${WRKDIR}/passenger-${PASSENGER_NGINX_VER} \
 			DSO_EXTDIRS+=passenger-${PASSENGER_NGINX_VER}/src/nginx_module
@@ -274,11 +286,11 @@ RDS_JSON_VARS=		DSO_EXTMODS+=rdsjson
 REDIS2_GH_TUPLE=	openresty:redis2-nginx-module:v0.15:redis2
 REDIS2_VARS=		DSO_EXTMODS+=redis2
 
-RTMP_GH_TUPLE=		sergey-dryabzhinsky:nginx-rtmp-module:8e344d7:rtmp
+RTMP_GH_TUPLE=		arut:nginx-rtmp-module:v1.2.2:rtmp
 RTMP_VARS=		DSO_EXTMODS+=rtmp
 
 SET_MISC_IMPLIES=	DEVEL_KIT
-SET_MISC_GH_TUPLE=	openresty:set-misc-nginx-module:4667684:setmisc
+SET_MISC_GH_TUPLE=	openresty:set-misc-nginx-module:3937e7b:setmisc
 SET_MISC_VARS=		DSO_EXTMODS+=setmisc
 
 SFLOW_GH_TUPLE=		sflow:nginx-sflow-module:543c72a:sflow
@@ -286,32 +298,31 @@ 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
 
-SHIBBOLETH_GH_TUPLE=	nginx-shib:nginx-http-shibboleth:a386c18:shibboleth
+SHIBBOLETH_GH_TUPLE=	nginx-shib:nginx-http-shibboleth:be12df5:shibboleth
 SHIBBOLETH_VARS=	DSO_EXTMODS+=shibboleth
 
 SLOWFS_CACHE_GH_TUPLE=	baysao:ngx_slowfs_cache:d011a18:slowfs_cache
 SLOWFS_CACHE_VARS=	DSO_EXTMODS+=slowfs_cache
 
-SMALL_LIGHT_USES=		magick:6
-SMALL_LIGHT_LIB_DEPENDS=	libpcre.so:devel/pcre
-SMALL_LIGHT_GH_TUPLE=		cubicdaiya:ngx_small_light:v0.9.2:small_light
-SMALL_LIGHT_VARS=		DSO_EXTMODS+=small_light
-
-SRCACHE_GH_TUPLE=	openresty:srcache-nginx-module:v0.32:srcache
+SRCACHE_GH_TUPLE=	openresty:srcache-nginx-module:be22ac0:srcache
 SRCACHE_VARS=		DSO_EXTMODS+=srcache
 
-VOD_GH_TUPLE=		kaltura:nginx-vod-module:1.27:vod
-VOD_USE=		GNOME=libxml2
+STS_IMPLIES=		STREAM
+STS_GH_TUPLE=		vozlt:nginx-module-sts:3c10d42:sts
+STS_VARS=		DSO_EXTMODS+=sts
+
+VOD_GH_TUPLE=		kaltura:nginx-vod-module:1.31:vod
+VOD_LIB_DEPENDS=	libxml2.so:textproc/libxml2 \
+			libavutil.so:multimedia/ffmpeg
 VOD_USES=		iconv
 VOD_VARS=		DSO_EXTMODS+=vod
-VOD_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-nginx-vod-module-config
 
-VTS_GH_TUPLE=		vozlt:nginx-module-vts:v0.1.18:vts
-VTS_CONFIGURE_ON=	--add-module=${WRKSRC_vts}
+VTS_GH_TUPLE=		vozlt:nginx-module-vts:v0.2.1:vts
+VTS_VARS=		DSO_EXTMODS+=vts
 
 XSS_GH_TUPLE=		openresty:xss-nginx-module:v0.06:xss
 XSS_VARS=		DSO_EXTMODS+=xss
 XSS_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-xss-nginx-module-config
 
-WEBSOCKIFY_GH_TUPLE=	tg123:websockify-nginx-module:e82d254:websockify
-WEBSOCKIFY_CONFIGURE_ON=	--add-module=${WRKSRC_websockify}
+WEBSOCKIFY_GH_TUPLE=	tg123:websockify-nginx-module:c11bc9a:websockify
+WEBSOCKIFY_VARS=	DSO_EXTMODS+=websockify
diff --git a/www/nginx/Makefile.options.desc b/www/nginx/Makefile.options.desc
index dc62dde971b6..e56d3d83c6b1 100644
--- a/www/nginx/Makefile.options.desc
+++ b/www/nginx/Makefile.options.desc
@@ -4,17 +4,17 @@ AWS_AUTH_DESC=			3rd party aws auth module
 BROTLI_DESC=			3rd party brotli module
 CACHE_PURGE_DESC=		3rd party cache_purge module
 CLOJURE_DESC=			3rd party clojure module
+COOKIE_FLAG_DESC=		3rd party cookie_flag module
 CT_DESC=			3rd party cert_transparency module (SSL req.)
 DEBUGLOG_DESC=			Enable debug log (--with-debug)
 DEVEL_KIT_DESC=			3rd party Nginx Development Kit module
 DRIZZLE_DESC=			3rd party drizzle module
 DSO_DESC=			Enable dynamic modules support
-DYNAMIC_TLS_DESC=		3rd party dynamic tls records patch
-DYNAMIC_HC_DESC=		3rd party dynamic_healthcheck module
 DYNAMIC_UPSTREAM_DESC=		3rd party dynamic_upstream module
 ECHO_DESC=			3rd party echo module
 ENCRYPTSESSION_DESC=		3rd party encrypted_session module
 FILE_AIO_DESC=			Enable file aio
+FIPS_CHECK_DESC=		3rd party fips_check module
 FORMINPUT_DESC=			3rd party form_input module
 GOOGLE_PERFTOOLS_DESC=		Enable google perftools module
 GRIDFS_DESC=			3rd party gridfs module
@@ -22,11 +22,13 @@ GSSAPI_DESC=			GSSAPI implementation (imply HTTP_AUTH_KRB5)
 HEADERS_MORE_DESC=		3rd party headers_more module
 HTTPGRP_DESC=			Modules that require HTTP module
 HTTPV2_DESC=			Enable HTTP/2 protocol support (SSL req.)
-HTTPV2_AUTOTUNE_DESC=		Enable HTTP/2 upload auto-tuning
+HTTPV3_DESC=			Enable HTTP/3 protocol support
+HTTPV3_BORING_DESC=		Use security/boringssl
+HTTPV3_LSSL_DESC=		Use security/libressl-devel
+HTTPV3_QTLS_DESC=		Use security/openssl-quictls
 HTTP_ACCEPT_LANGUAGE_DESC=	3rd party accept_language module
 HTTP_ADDITION_DESC=		Enable http_addition module
 HTTP_AUTH_DIGEST_DESC=		3rd party http_authdigest module
-HTTP_AUTH_JWT_DESC=			3rd party http_auth_jwt module
 HTTP_AUTH_KRB5_DESC=		3rd party http_auth_gss module
 HTTP_AUTH_LDAP_DESC=		3rd party http_auth_ldap module
 HTTP_AUTH_PAM_DESC=		3rd party http_auth_pam module
@@ -34,6 +36,7 @@ HTTP_AUTH_REQ_DESC=		Enable http_auth_request module
 HTTP_CACHE_DESC=		Enable http_cache module
 HTTP_DAV_DESC=			Enable http_webdav module
 HTTP_DAV_EXT_DESC=		3rd party webdav_ext module
+HTTP_DEGRADATION_DESC=		Enable http_degradation module
 HTTP_DESC=			Enable HTTP module
 HTTP_EVAL_DESC=			3rd party eval module
 HTTP_FANCYINDEX_DESC=		3rd party http_fancyindex module
@@ -56,10 +59,9 @@ HTTP_PUSH_STREAM_DESC=		3rd party push stream module
 HTTP_RANDOM_INDEX_DESC=		Enable http_random_index module
 HTTP_REALIP_DESC=		Enable http_realip module
 HTTP_REDIS_DESC=		3rd party http_redis module
-HTTP_RESPONSE_DESC=		3rd party http_response module
 HTTP_SECURE_LINK_DESC=		Enable http_secure_link module
 HTTP_SLICE_DESC=		Enable http_slice module
-HTTP_SLICE_AHEAD_DESC=		Enable http_slice_ahead module
+HTTP_SLICE_AHEAD_DESC=		3rd party http_slice_ahead module
 HTTP_SSL_DESC=			Enable http_ssl module
 HTTP_STATUS_DESC=		Enable http_stub_status module
 HTTP_SUBS_FILTER_DESC=		3rd party subs filter module
@@ -88,11 +90,10 @@ MAIL_SSL_DESC=			Enable mail_ssl module
 MEMC_DESC=			3rd party memc (memcached) module
 MODSECURITY3_DESC=		3rd party modsecurity3 module
 NAXSI_DESC=			3rd party naxsi module
-NJS_DESC=			Enable http_javascript module
+NJS_DESC=			Enable javascript (NJS) module
+NJS_XML_DESC=			Enable XML functionality in NJS module
 OPENTRACING_DESC=		3rd party opentracing module
 PASSENGER_DESC=			3rd party passenger module
-PCRE_ONE_DESC=			Enable PCRE1 support
-PCRE_TWO_DESC=			Enable PCRE2 support
 POSTGRES_DESC=			3rd party postgres module
 RDS_CSV_DESC=			3rd party rds_csv module
 RDS_JSON_DESC=			3rd party rds_json module
@@ -102,13 +103,15 @@ SET_MISC_DESC=			3rd party set_misc module
 SFLOW_DESC=			3rd party sflow module
 SHIBBOLETH_DESC=		3rd party shibboleth module
 SLOWFS_CACHE_DESC=		3rd party slowfs_cache module
-SMALL_LIGHT_DESC=		3rd party small_light module
 SRCACHE_DESC=			3rd party srcache module
+STREAMGRP_DESC=			Modules that require STREAM module
 STREAM_DESC=			Enable stream module
 STREAM_REALIP_DESC=		Enable stream_realip module
 STREAM_SSL_DESC=		Enable stream_ssl module (SSL req.)
 STREAM_SSL_PREREAD_DESC=	Enable stream_ssl_preread module (SSL req.)
+STS_DESC=			3rd party sts module
 THREADS_DESC=			Enable threads support
+THIRDPARTYGRP_DESC=		Third-party modules
 VOD_DESC=			3rd party vod module
 VTS_DESC=			3rd party vts module
 WWW_DESC=			Enable html sample files
diff --git a/www/nginx/distinfo b/www/nginx/distinfo
index 6522b97ab26c..6dd09eb91908 100644
--- a/www/nginx/distinfo
+++ b/www/nginx/distinfo
@@ -1,62 +1,58 @@
-TIMESTAMP = 1680519139
-SHA256 (nginx-1.22.1.tar.gz) = 9ebb333a9e82b952acd3e2b4aeb1d4ff6406f72491bab6cd9fe69f0dea737f31
-SIZE (nginx-1.22.1.tar.gz) = 1073948
+TIMESTAMP = 1681229804
+SHA256 (nginx-1.24.0.tar.gz) = 77a2541637b92a621e3ee76776c8b7b40cf6d707e69ba53a940283e30ff2f55d
+SIZE (nginx-1.24.0.tar.gz) = 1112471
 SHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
 SIZE (nginx_mogilefs_module-1.0.4.tar.gz) = 11208
 SHA256 (nginx_mod_h264_streaming-2.2.7.tar.gz) = 6d974ba630cef59de1f60996c66b401264a345d25988a76037c2856cec756c19
 SIZE (nginx_mod_h264_streaming-2.2.7.tar.gz) = 44012
 SHA256 (ngx_http_redis-0.3.9.tar.gz) = 21f87540f0a44b23ffa5df16fb3d788bc90803b255ef14f9c26e3847a6f26f46
 SIZE (ngx_http_redis-0.3.9.tar.gz) = 13051
-SHA256 (ngx_http_response-0.3.tar.gz) = 0835584029f053051c624adbe33a826ab0205c9d85a02af6019e6b57607e9045
-SIZE (ngx_http_response-0.3.tar.gz) = 2244
-SHA256 (passenger-6.0.15.tar.gz) = 73fa22da5a11e4bc4ad6b95c13a0e393ba18109e6e07bd1953c45b2f0c0aae80
-SIZE (passenger-6.0.15.tar.gz) = 8379463
-SHA256 (yaoweibin-nginx_ajp_module-fcbb2cc_GH0.tar.gz) = 522e94c59f5783f281d868ede2adf325bf2f8ffb9e62cf8451d4b9ac0516916c
-SIZE (yaoweibin-nginx_ajp_module-fcbb2cc_GH0.tar.gz) = 110807
+SHA256 (passenger-6.0.17.tar.gz) = 385559ed1d78eb83165222d568721dcc4222bb57c1939811ecd2c4ef33937ba7
+SIZE (passenger-6.0.17.tar.gz) = 8422867
+SHA256 (msva-nginx_ajp_module-fcbb2cc_GH0.tar.gz) = 522e94c59f5783f281d868ede2adf325bf2f8ffb9e62cf8451d4b9ac0516916c
+SIZE (msva-nginx_ajp_module-fcbb2cc_GH0.tar.gz) = 110807
 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 (anomalizer-ngx_aws_auth-21931b2_GH0.tar.gz) = d8a2422da96a638e9a911e4edb592954d9c0fe1576456fec9809ef4e2a0a863d
 SIZE (anomalizer-ngx_aws_auth-21931b2_GH0.tar.gz) = 15580
 SHA256 (google-ngx_brotli-9aec15e_GH0.tar.gz) = 0177b1158ff7092b9996346de28a0b296dc33addb2af4e8904794d19b4a9a808
 SIZE (google-ngx_brotli-9aec15e_GH0.tar.gz) = 16194
-SHA256 (nginx-modules-ngx_cache_purge-4746629_GH0.tar.gz) = 68debae40722e15a70f37e10d20a4d3b9a26597457f1dd639e903b62c0a2f689
-SIZE (nginx-modules-ngx_cache_purge-4746629_GH0.tar.gz) = 17114
-SHA256 (nginx-clojure-nginx-clojure-v0.5.2_GH0.tar.gz) = cb8bc0bef5d298df55fb625400cb77c4145dc5167483e111ff2b90d4d3396200
-SIZE (nginx-clojure-nginx-clojure-v0.5.2_GH0.tar.gz) = 755650
-SHA256 (grahamedgecombe-nginx-ct-v1.3.2_GH0.tar.gz) = b4ceae549b9dbf84b2e511633982e4efeee0388e3b7a038a8bac555008a77b88
-SIZE (grahamedgecombe-nginx-ct-v1.3.2_GH0.tar.gz) = 6844
+SHA256 (torden-ngx_cache_purge-2b977cf_GH0.tar.gz) = 9de7dad5827edf37e803435ee764f6815562053daa0821aedaf539580307ff93
+SIZE (torden-ngx_cache_purge-2b977cf_GH0.tar.gz) = 16739
+SHA256 (nginx-clojure-nginx-clojure-4347955_GH0.tar.gz) = 9f0fc3b479936fc5b20101c6d238bff5a6f4a32b28d8ec4a511f902abe2abc1f
+SIZE (nginx-clojure-nginx-clojure-4347955_GH0.tar.gz) = 756519
+SHA256 (AirisX-nginx_cookie_flag_module-c4ff449_GH0.tar.gz) = 4b8c1c1e1ed59ed85751f4bd7d68026ad5051103c8b983e05ad17eb0cdab138e
+SIZE (AirisX-nginx_cookie_flag_module-c4ff449_GH0.tar.gz) = 4713
+SHA256 (grahamedgecombe-nginx-ct-93e9884_GH0.tar.gz) = 72fdd125b9207cdda135f368095f85b943a78a4ff004d1cd217972e12b1571b2
+SIZE (grahamedgecombe-nginx-ct-93e9884_GH0.tar.gz) = 7224
 SHA256 (simpl-ngx_devel_kit-v0.3.1_GH0.tar.gz) = 0e971105e210d272a497567fa2e2c256f4e39b845a5ba80d373e26ba1abfbd85
 SIZE (simpl-ngx_devel_kit-v0.3.1_GH0.tar.gz) = 66542
-SHA256 (openresty-drizzle-nginx-module-v0.1.11_GH0.tar.gz) = a2f62c418078fe1271fcf68bbdf28164ae06885f17a2b4941fbf766f3ccf4a4f
-SIZE (openresty-drizzle-nginx-module-v0.1.11_GH0.tar.gz) = 50864
-SHA256 (ZigzagAK-ngx_dynamic_healthcheck-61acf02_GH0.tar.gz) = 9a6ac88bcb85cd76e56ce03cf074a78b600cc787642379f76410e78326aca5aa
-SIZE (ZigzagAK-ngx_dynamic_healthcheck-61acf02_GH0.tar.gz) = 49810
+SHA256 (openresty-drizzle-nginx-module-3504fc6_GH0.tar.gz) = 86076735597f14db28cffabc0ab1f233cd51aab7cf112c56e267783e7814fc65
+SIZE (openresty-drizzle-nginx-module-3504fc6_GH0.tar.gz) = 51596
 SHA256 (ZigzagAK-ngx_dynamic_upstream-960eef2_GH0.tar.gz) = 86e7c6ed6dba2d4c5f5b87ecb91f25ccdb7a08b8a88236e632114f830b9e354b
 SIZE (ZigzagAK-ngx_dynamic_upstream-960eef2_GH0.tar.gz) = 23003
 SHA256 (openresty-echo-nginx-module-5a402aa_GH0.tar.gz) = bb2a4b1a0e5ffa0203c1be854e663fc92cee0d7b5e0f7a38c0e163ae9124a38f
 SIZE (openresty-echo-nginx-module-5a402aa_GH0.tar.gz) = 53336
-SHA256 (openresty-encrypted-session-nginx-module-v0.08_GH0.tar.gz) = 6e526ea097c6805ec2cf1d0d3d79ed24326bc2d0babe158c29edd07d8c0d106a
-SIZE (openresty-encrypted-session-nginx-module-v0.08_GH0.tar.gz) = 11802
+SHA256 (openresty-encrypted-session-nginx-module-v0.09_GH0.tar.gz) = fe9b95acf9726aefd71bf0aca6c11bee007f1da67e64be9b21a7131f0ed75ba6
+SIZE (openresty-encrypted-session-nginx-module-v0.09_GH0.tar.gz) = 11847
 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 (technowledgy-nginx_http_gridfs_module-7970bab_GH0.tar.gz) = 3c53190c24a578c0d6d340d290cd87f139a651372c78b7518b617a037db60582
-SIZE (technowledgy-nginx_http_gridfs_module-7970bab_GH0.tar.gz) = 20495
-SHA256 (10gen-archive-mongo-c-driver-legacy-f06669b_GH0.tar.gz) = cbd6b34aadea40b43db431590808a9e12d813f896ad2b1dcffb820872ef97b21
-SIZE (10gen-archive-mongo-c-driver-legacy-f06669b_GH0.tar.gz) = 79396
-SHA256 (openresty-headers-more-nginx-module-d6d7eba_GH0.tar.gz) = d68b8dad5921f83eb0e667e1b072c7f270043c5471ffba599cc8af5b9222ef3a
-SIZE (openresty-headers-more-nginx-module-d6d7eba_GH0.tar.gz) = 28411
+SHA256 (ogarrett-nginx-fips-check-module-6cb4270_GH0.tar.gz) = d52fbb0f2819cd91b710ad85e6c8b452fdca6a5d81b0694d6637adba3fc2382c
+SIZE (ogarrett-nginx-fips-check-module-6cb4270_GH0.tar.gz) = 6494
+SHA256 (nieoding-nginx-gridfs-059bdc3_GH0.tar.gz) = 9b059b5ae7b602d12d32d5ebe2700827ea625f22c0fb3b9956242e11de63845b
+SIZE (nieoding-nginx-gridfs-059bdc3_GH0.tar.gz) = 4674
+SHA256 (openresty-headers-more-nginx-module-33b646d_GH0.tar.gz) = 4e68ef77ce8bc3c248c04ddc112bb2230adf2de84c77430cedc8a4458ffb7369
+SIZE (openresty-headers-more-nginx-module-33b646d_GH0.tar.gz) = 28812
 SHA256 (dvershinin-nginx_accept_language_module-5683967_GH0.tar.gz) = a58feb576f2231498b8a3863d3c6fba45c7d48bc48735fa714e07a7bfbedb6e3
 SIZE (dvershinin-nginx_accept_language_module-5683967_GH0.tar.gz) = 3425
-SHA256 (atomx-nginx-http-auth-digest-cd86418_GH0.tar.gz) = 9858b202e5009da4047ac16f3ee02e018673237f0d9652a9e1c2c9d7917f07bf
-SIZE (atomx-nginx-http-auth-digest-cd86418_GH0.tar.gz) = 17869
-SHA256 (TeslaGov-ngx-http-auth-jwt-module-80d89d9_GH0.tar.gz) = 1b71290a0eab6a0bb6ab75e1228a302cf76c82f3284ad0eb7e8b2bfa110582e7
-SIZE (TeslaGov-ngx-http-auth-jwt-module-80d89d9_GH0.tar.gz) = 14674
+SHA256 (atomx-nginx-http-auth-digest-274490c_GH0.tar.gz) = 0839c33c2f8d519f92daae274f62cf87eb68415d562c6500ee3e3721ce80557c
+SIZE (atomx-nginx-http-auth-digest-274490c_GH0.tar.gz) = 17815
 SHA256 (stnoonan-spnego-http-auth-nginx-module-c626163_GH0.tar.gz) = dac75d65453744ffe0f7af248f10f98fc89efca07303aa45a610805e57c588fc
 SIZE (stnoonan-spnego-http-auth-nginx-module-c626163_GH0.tar.gz) = 24404
-SHA256 (kvspb-nginx-auth-ldap-42d195d_GH0.tar.gz) = 78d74697f89821a7ed31c6c672f6c06923bb53a681ebb203eabebb657bdafd80
-SIZE (kvspb-nginx-auth-ldap-42d195d_GH0.tar.gz) = 18455
-SHA256 (sto-ngx_http_auth_pam_module-v1.5.1_GH0.tar.gz) = 77676842919134af88a7b4bfca4470223e3a00d287d17c0dbdc9a114a685b6e7
-SIZE (sto-ngx_http_auth_pam_module-v1.5.1_GH0.tar.gz) = 6863
+SHA256 (kvspb-nginx-auth-ldap-83c059b_GH0.tar.gz) = e76e9e117ad51af578a68fa7a30c256178796bb271fa77f01c93281a92b09921
+SIZE (kvspb-nginx-auth-ldap-83c059b_GH0.tar.gz) = 18547
+SHA256 (sto-ngx_http_auth_pam_module-v1.5.3_GH0.tar.gz) = 882018fea8d6955ab3fe294aafa8ebb1fdff4eac313c29583fef02c6de76fae7
+SIZE (sto-ngx_http_auth_pam_module-v1.5.3_GH0.tar.gz) = 7084
 SHA256 (arut-nginx-dav-ext-module-v3.0.0_GH0.tar.gz) = d2499d94d82d4e4eac8425d799e52883131ae86a956524040ff2fd230ef9f859
 SIZE (arut-nginx-dav-ext-module-v3.0.0_GH0.tar.gz) = 14558
 SHA256 (openresty-nginx-eval-module-582bd25_GH0.tar.gz) = 014bedb2b334ba8e8e23b4c660590357f8055dbed7b9b017e4cc2937876a8822
@@ -65,8 +61,8 @@ SHA256 (aperezdc-ngx-fancyindex-v0.5.2_GH0.tar.gz) = c3dd84d8ba0b8daeace3041ef59
 SIZE (aperezdc-ngx-fancyindex-v0.5.2_GH0.tar.gz) = 29052
 SHA256 (alibaba-nginx-http-footer-filter-1.2.2_GH0.tar.gz) = 3493b54460c59370f9f60c6e662862752f1920fc6e684f7a66bb2b3260692813
 SIZE (alibaba-nginx-http-footer-filter-1.2.2_GH0.tar.gz) = 3934
-SHA256 (leev-ngx_http_geoip2_module-3.3_GH0.tar.gz) = 41378438c833e313a18869d0c4a72704b4835c30acaf7fd68013ab6732ff78a7
-SIZE (leev-ngx_http_geoip2_module-3.3_GH0.tar.gz) = 8509
+SHA256 (leev-ngx_http_geoip2_module-3.4_GH0.tar.gz) = ad72fc23348d715a330994984531fab9b3606e160483236737f9a4a6957d9452
+SIZE (leev-ngx_http_geoip2_module-3.4_GH0.tar.gz) = 8877
 SHA256 (ip2location-ip2location-nginx-2df35fb_GH0.tar.gz) = 86d6d6d6b4437ecc621c5aac7bd5475dffd33afb70a51c5ea3c7f341ded46efb
 SIZE (ip2location-ip2location-nginx-2df35fb_GH0.tar.gz) = 5462
 SHA256 (ip2location-ip2proxy-nginx-02ce447_GH0.tar.gz) = edbafe23087f019364f9d1c1c615fdbc5116ec727c49bf442e3e4b39441fc4cc
@@ -75,46 +71,46 @@ SHA256 (nginx-modules-ngx_http_json_status_module-1d2f303_GH0.tar.gz) = fdc34e0e
 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-v1.3.0_GH0.tar.gz) = 70ffed635d24aab0ff1ebb595d8b41fde105127dfd50cecac6df86b558778537
-SIZE (slact-nchan-v1.3.0_GH0.tar.gz) = 745161
-SHA256 (wandenberg-nginx-push-stream-module-0.5.4_GH0.tar.gz) = 5253bb8a804ea679e514137a234637298f044c3ef63c053670bf3802ff3535b1
-SIZE (wandenberg-nginx-push-stream-module-0.5.4_GH0.tar.gz) = 183493
-SHA256 (yaoweibin-ngx_http_substitutions_filter_module-b8a71ea_GH0.tar.gz) = 08f966328fc1b77e0dbbcacd9532c3905060c20c45b6461b6f2075cd844d0891
-SIZE (yaoweibin-ngx_http_substitutions_filter_module-b8a71ea_GH0.tar.gz) = 94039
+SHA256 (slact-nchan-v1.3.6_GH0.tar.gz) = ba0b7cc6b710a20ce1ed2554caf56154035291aaf115e407d7a6bb699fde42df
+SIZE (slact-nchan-v1.3.6_GH0.tar.gz) = 761436
+SHA256 (wandenberg-nginx-push-stream-module-8c02220_GH0.tar.gz) = ab4fbe236e8bc500f0c5e13403d6a0e2e4e4ec17b81e0fcedaf669b4339626a6
+SIZE (wandenberg-nginx-push-stream-module-8c02220_GH0.tar.gz) = 196720
+SHA256 (yaoweibin-ngx_http_substitutions_filter_module-c6f825f_GH0.tar.gz) = 4ab034f2e056148469b440394e1664c46405712ef27bc4f3197e42bf7df8460e
+SIZE (yaoweibin-ngx_http_substitutions_filter_module-c6f825f_GH0.tar.gz) = 94062
 SHA256 (tarantool-nginx_upstream_module-aeb8696_GH0.tar.gz) = 514aa57155c73c2e3f7bdfe00c580183df343f2fa4b34e77f040cf6557caffae
 SIZE (tarantool-nginx_upstream_module-aeb8696_GH0.tar.gz) = 75708
-SHA256 (fdintino-nginx-upload-module-aa42509_GH0.tar.gz) = 2285245bdef11656e5bcc866e693e48f84b7443d36924f45a6fb8647cd35319a
-SIZE (fdintino-nginx-upload-module-aa42509_GH0.tar.gz) = 42221
-SHA256 (masterzen-nginx-upload-progress-module-afb2d31_GH0.tar.gz) = 6318851cc3a624aaad3b1f4cd9f51f79c86575c53dfe0c28bbdcf9470b6a33e6
-SIZE (masterzen-nginx-upload-progress-module-afb2d31_GH0.tar.gz) = 17269
+SHA256 (fdintino-nginx-upload-module-643b4c1_GH0.tar.gz) = a5bb48589b5c242683da33a9f1acc7847acc3ce4f2c4213ea524858aa789a6e9
+SIZE (fdintino-nginx-upload-module-643b4c1_GH0.tar.gz) = 42571
+SHA256 (masterzen-nginx-upload-progress-module-68b3ab3_GH0.tar.gz) = 35b506e57e19e780e01ecc7c3c31a64473c35e4a022f5a3f98092a60cd1c1602
+SIZE (masterzen-nginx-upload-progress-module-68b3ab3_GH0.tar.gz) = 17322
 SHA256 (yaoweibin-nginx_upstream_check_module-9aecf15_GH0.tar.gz) = 4404c64e845e19feeb07a37976347987892a8e8680a961f793ff0d3ef96c07f4
 SIZE (yaoweibin-nginx_upstream_check_module-9aecf15_GH0.tar.gz) = 130039
 SHA256 (jaygooby-nginx-upstream-fair-10ecdcf_GH0.tar.gz) = 93f71b7cf0db9c6dbf97e3ee11cf8efbc149946c0949d7abd19c74c7620eea50
 SIZE (jaygooby-nginx-upstream-fair-10ecdcf_GH0.tar.gz) = 10433
-SHA256 (ayty-adrianomartins-nginx-sticky-module-ng-c407e0d_GH0.tar.gz) = ee7d6a6e3f4452388d1e821470c2352c5d42970f756507b878529911e79c1b60
-SIZE (ayty-adrianomartins-nginx-sticky-module-ng-c407e0d_GH0.tar.gz) = 120679
-SHA256 (Novetta-nginx-video-thumbextractor-module-28861f2_GH0.tar.gz) = 04656da527d9e64cbdf1bf475a93193fa60324ffea160d05d4cc53c864943bc1
-SIZE (Novetta-nginx-video-thumbextractor-module-28861f2_GH0.tar.gz) = 34447
-SHA256 (rtm-ctrlz-mod_zip-cfd0be4_GH0.tar.gz) = 66e867c9fd311a04f4b69a928441b49b5322d631db650d971abbc55af485cc9c
-SIZE (rtm-ctrlz-mod_zip-cfd0be4_GH0.tar.gz) = 26113
+SHA256 (dvershinin-nginx-sticky-module-ng-2753211_GH0.tar.gz) = e4a533dfa214ea28122301aeebbb1a38e1d1972edb7ee9bc72271c14f2693005
+SIZE (dvershinin-nginx-sticky-module-ng-2753211_GH0.tar.gz) = 120676
+SHA256 (Novetta-nginx-video-thumbextractor-module-f5b5bae_GH0.tar.gz) = cb4ecc14bf8503eb73c50ca5e9952ce1f99badbf2e7fdd2346c73d2e7905a5a5
+SIZE (Novetta-nginx-video-thumbextractor-module-f5b5bae_GH0.tar.gz) = 34434
+SHA256 (vince2678-mod_zip-5b2604b_GH0.tar.gz) = 4fe63be3b842882494152e586f0b87e73f51bfbfd801b78f033c71a011cba789
+SIZE (vince2678-mod_zip-5b2604b_GH0.tar.gz) = 29559
 SHA256 (calio-iconv-nginx-module-v0.14_GH0.tar.gz) = b8b9f355c05c0790226512f6732348a2404d48531688a1fc04ce6768163bf462
 SIZE (calio-iconv-nginx-module-v0.14_GH0.tar.gz) = 13133
 SHA256 (baysao-nginx-let-module-c1f23aa_GH0.tar.gz) = 7393809d5d8877812da1bd5b5fbd1d8b00bc85e71f2f387c344f007773e49050
 SIZE (baysao-nginx-let-module-c1f23aa_GH0.tar.gz) = 20617
 SHA256 (Taymindis-nginx-link-function-3.2.4_GH0.tar.gz) = 20c3679199ba7efe1598f03b2fa0b13591226363c8dd7930d7f02702cd5abada
 SIZE (Taymindis-nginx-link-function-3.2.4_GH0.tar.gz) = 139656
-SHA256 (openresty-lua-nginx-module-v0.10.22_GH0.tar.gz) = 294d3d4b2d14fda1b8c539ff86f90047d203df861eb9a1ac44ec5c679ef55408
-SIZE (openresty-lua-nginx-module-v0.10.22_GH0.tar.gz) = 690975
+SHA256 (openresty-lua-nginx-module-v0.10.24_GH0.tar.gz) = c5935ff25557031ab34d960d958a210613c9e6369b97db169b946717eca48fdf
+SIZE (openresty-lua-nginx-module-v0.10.24_GH0.tar.gz) = 724961
 SHA256 (openresty-memc-nginx-module-v0.19_GH0.tar.gz) = 8c2bdbe875e4f5225d0778bfb09a2668f9281d7de6218c7b462a7ba2cee06fe8
 SIZE (openresty-memc-nginx-module-v0.19_GH0.tar.gz) = 34654
-SHA256 (SpiderLabs-ModSecurity-nginx-v1.0.2_GH0.tar.gz) = f8d3ff15520df736c5e20e91d5852ec27e0874566c2afce7dcb979e2298d6980
-SIZE (SpiderLabs-ModSecurity-nginx-v1.0.2_GH0.tar.gz) = 33767
-SHA256 (nbs-system-naxsi-1.3_GH0.tar.gz) = 439c8677372d2597b4360bbcc10bc86490de1fc75695b193ad5df154a214d628
-SIZE (nbs-system-naxsi-1.3_GH0.tar.gz) = 235626
-SHA256 (nginx-njs-0.7.9_GH0.tar.gz) = 92cc425d0b0952bb7e2e7a396cba58feb4a90fb3cb63441c201ab4d3e0cd6403
-SIZE (nginx-njs-0.7.9_GH0.tar.gz) = 617115
-SHA256 (opentracing-contrib-nginx-opentracing-2d81c29_GH0.tar.gz) = b082bb8e0f4de2e3361c9cae79e266856de1e5b26a43611e08446b7c2bc0b2b4
-SIZE (opentracing-contrib-nginx-opentracing-2d81c29_GH0.tar.gz) = 664357
+SHA256 (SpiderLabs-ModSecurity-nginx-v1.0.3_GH0.tar.gz) = 32a42256616cc674dca24c8654397390adff15b888b77eb74e0687f023c8751b
+SIZE (SpiderLabs-ModSecurity-nginx-v1.0.3_GH0.tar.gz) = 34063
+SHA256 (nbs-system-naxsi-29793dc_GH0.tar.gz) = 579df0e50ff32464f7bb152df9d93ea18c05c4aa3966ec4d8c603b5dd629be08
+SIZE (nbs-system-naxsi-29793dc_GH0.tar.gz) = 236932
+SHA256 (nginx-njs-0.7.12_GH0.tar.gz) = 7a75a39022dfb58dbf461053903a07cc48dd4942f7d82a46601819c1b0077687
+SIZE (nginx-njs-0.7.12_GH0.tar.gz) = 662554
+SHA256 (opentracing-contrib-nginx-opentracing-v0.24.0_GH0.tar.gz) = 5328c5f37e0615b5252aed51b9cd40f3d14989d995ad54134076aeda4ab9b280
+SIZE (opentracing-contrib-nginx-opentracing-v0.24.0_GH0.tar.gz) = 679417
 SHA256 (konstruxi-ngx_postgres-8aa7359_GH0.tar.gz) = c69ad4495de7c7883ebc23e1e6c4cc83a4ac6a7fddd4d5c12e49d33b65f7c50b
 SIZE (konstruxi-ngx_postgres-8aa7359_GH0.tar.gz) = 48544
 SHA256 (openresty-rds-csv-nginx-module-v0.09_GH0.tar.gz) = 896be99c0cad50218417800a159e43ec088d6b58c099472ed3b3d7f179d6c0ea
@@ -123,25 +119,25 @@ SHA256 (openresty-rds-json-nginx-module-v0.15_GH0.tar.gz) = eaf18f60e981ea2442a7
 SIZE (openresty-rds-json-nginx-module-v0.15_GH0.tar.gz) = 34744
 SHA256 (openresty-redis2-nginx-module-v0.15_GH0.tar.gz) = d255571bcfb9939b78099df39cb4d42f174d789aec8c8e5e47b93942b0299438
 SIZE (openresty-redis2-nginx-module-v0.15_GH0.tar.gz) = 25471
-SHA256 (sergey-dryabzhinsky-nginx-rtmp-module-8e344d7_GH0.tar.gz) = 5eebd1ffb082987e1c7413515f64d12c12bfd1485302cb71f7b0bb5d56e226b9
-SIZE (sergey-dryabzhinsky-nginx-rtmp-module-8e344d7_GH0.tar.gz) = 556138
-SHA256 (openresty-set-misc-nginx-module-4667684_GH0.tar.gz) = c11a71bd753a7e01b428c715fb2113e3eaf71a3704e5e297f0e7d7e54c86582c
-SIZE (openresty-set-misc-nginx-module-4667684_GH0.tar.gz) = 29338
+SHA256 (arut-nginx-rtmp-module-v1.2.2_GH0.tar.gz) = 07f19b7bffec5e357bb8820c63e5281debd45f5a2e6d46b1636d9202c3e09d78
+SIZE (arut-nginx-rtmp-module-v1.2.2_GH0.tar.gz) = 519934
+SHA256 (openresty-set-misc-nginx-module-3937e7b_GH0.tar.gz) = cb3a4675ab6b8741e5847cf5bc41ee3f6ec5cbceec53188f9ae96e48feea17c5
+SIZE (openresty-set-misc-nginx-module-3937e7b_GH0.tar.gz) = 29335
 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-a386c18_GH0.tar.gz) = f803f1fb5e32a7f392fdd391fb9d46f0de0a5ae9cef6c5edc05e4e048e7d34bb
-SIZE (nginx-shib-nginx-http-shibboleth-a386c18_GH0.tar.gz) = 23256
+SHA256 (nginx-shib-nginx-http-shibboleth-be12df5_GH0.tar.gz) = aff9830b5de78dd9ce32cd2c55c5cf9173c99fe1a1d2190407c96668e7517bab
+SIZE (nginx-shib-nginx-http-shibboleth-be12df5_GH0.tar.gz) = 23872
 SHA256 (baysao-ngx_slowfs_cache-d011a18_GH0.tar.gz) = 6ae8abb01a2aff788e75ec68621cb0159148a6f73730a84b30b0bdbc6cdc1758
 SIZE (baysao-ngx_slowfs_cache-d011a18_GH0.tar.gz) = 11186
-SHA256 (cubicdaiya-ngx_small_light-v0.9.2_GH0.tar.gz) = 4cf660651d11330a13aab29eb1722bf792d7c3c42e2919a36a1957c4ed0f1533
-SIZE (cubicdaiya-ngx_small_light-v0.9.2_GH0.tar.gz) = 56502
-SHA256 (openresty-srcache-nginx-module-v0.32_GH0.tar.gz) = fd80e59b672e4ff3b4e943740b3facab421c6965226b5934aed16a514baacf47
-SIZE (openresty-srcache-nginx-module-v0.32_GH0.tar.gz) = 49891
-SHA256 (kaltura-nginx-vod-module-1.27_GH0.tar.gz) = b7f0e2eecbcdb8ed1f8c90eb86c756f563fc5d21768a351abe4de63f3ddf01d6
-SIZE (kaltura-nginx-vod-module-1.27_GH0.tar.gz) = 450777
-SHA256 (vozlt-nginx-module-vts-v0.1.18_GH0.tar.gz) = 17ea41d4083f6d1ab1ab83dad9160eeca66867abe16c5a0421f85a39d7c84b65
-SIZE (vozlt-nginx-module-vts-v0.1.18_GH0.tar.gz) = 380327
-SHA256 (tg123-websockify-nginx-module-e82d254_GH0.tar.gz) = 1ea0fd35e3bed61c822aa0bfb9329a38d908a602b78a5e5fef9c7e946a26de6b
-SIZE (tg123-websockify-nginx-module-e82d254_GH0.tar.gz) = 14378
+SHA256 (openresty-srcache-nginx-module-be22ac0_GH0.tar.gz) = 5753d1ffe87b5d6f5b7a0696667bb5ff1388738136fdee26ba55bc33f5796061
+SIZE (openresty-srcache-nginx-module-be22ac0_GH0.tar.gz) = 51029
+SHA256 (vozlt-nginx-module-sts-3c10d42_GH0.tar.gz) = 748b67ceb82b3b843ae915bf7863fd08b7c2427c045e5ec540242d050f7b30d0
+SIZE (vozlt-nginx-module-sts-3c10d42_GH0.tar.gz) = 352431
+SHA256 (kaltura-nginx-vod-module-1.31_GH0.tar.gz) = ace04201cf2d2b1a3e5e732a22b92225b8ce61a494df9cc7f79d97efface8952
+SIZE (kaltura-nginx-vod-module-1.31_GH0.tar.gz) = 470904
+SHA256 (vozlt-nginx-module-vts-v0.2.1_GH0.tar.gz) = 1a63d78d3ae4df18b3a57a616eeee006cdc0bd71aa7ea2947046004b123704f4
+SIZE (vozlt-nginx-module-vts-v0.2.1_GH0.tar.gz) = 179679
*** 28191 LINES SKIPPED ***