Index | Thread | Search

From:
Kirill A. Korinsky <kirill@korins.ky>
Subject:
Re: nginx: imrpove compatibiliy with unwind and
To:
Stuart Henderson <stu@spacehopper.org>, Robert Nagy <robert@openbsd.org>, OpenBSD ports <ports@openbsd.org>
Date:
Sun, 18 Aug 2024 23:27:25 +0200

Download raw body.

Thread
Hey,

Here a reminder abot this diff.

On Mon, 08 Jul 2024 23:07:45 +0200,
Stuart Henderson <stu@spacehopper.org> wrote:
> 
> On 2024/07/04 16:15, Kirill A. Korinsky wrote:
> > On Thu, 04 Jul 2024 12:41:17 +0100,
> > Stuart Henderson <stu@spacehopper.org> wrote:
> > > 
> > > On 2024/07/04 13:32, Robert Nagy wrote:
> > > > go ahead
> > > 
> > > can I do my version of the 'update modules' diff first please,
> > > it will be a pain to merge if this one goes in first.
> > >
> > 
> > Fine for me, and I'll update it after your changes.
> > 
> > -- 
> > wbr, Kirill
> > 
> 
> Here's an updated version. I also sorted subpackages in the Makefile,
> tweaked DESCR-cache_purge (tweak grammar, remove URL and set HOMEPAGE
> for subpackages instead), and changed PKGNAME to use nginx- prefix
> instead of ngx- (like the other subpackages).
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/www/nginx/Makefile,v
> diff -u -p -r1.182 Makefile
> --- Makefile	8 Jul 2024 20:42:28 -0000	1.182
> +++ Makefile	8 Jul 2024 21:05:29 -0000
> @@ -3,46 +3,44 @@ PORTROACH=	limitw:1,even
>  BROKEN-hppa=	src/core/ngx_rwlock.c:116:2: error: \#error ngx_atomic_cmp_set() is not defined!
>  
>  COMMENT-main=		robust and small HTTP server and mail proxy server
> -COMMENT-image_filter=	nginx image filter module
> +COMMENT-cache_purge=	nginx module which adds ability to purge cache content
>  COMMENT-geoip2=		nginx GeoIP2 module
> -COMMENT-xslt=		nginx XSLT filter module
> -COMMENT-mailproxy=	nginx mail proxy module
> -COMMENT-stream=		nginx TCP/UDP proxy module
> -COMMENT-naxsi=		nginx web application firewall module
> +COMMENT-headers_more=	nginx module for setting/adding/clearing headers
> +COMMENT-image_filter=	nginx image filter module
>  COMMENT-ldap_auth=	nginx LDAP authentication module
>  COMMENT-lua=		nginx lua scripting (lua-nginx-module and ngx_devel_kit)
> -COMMENT-headers_more=	nginx module for setting/adding/clearing headers
> -COMMENT-perl=		nginx perl scripting module
> +COMMENT-mailproxy=	nginx mail proxy module
> +COMMENT-naxsi=		nginx web application firewall module
>  COMMENT-njs=		nginx javascript scripting module
>  COMMENT-passenger=	nginx passenger (ruby/python/nodejs) integration module
> +COMMENT-perl=		nginx perl scripting module
>  COMMENT-rtmp=		nginx module for RTMP streaming
>  COMMENT-securelink=	nginx HMAC secure link module
> +COMMENT-stream=		nginx TCP/UDP proxy module
> +COMMENT-xslt=		nginx XSLT filter module
>  
>  VERSION=	1.26.1
>  DISTNAME=	nginx-${VERSION}
>  CATEGORIES=	www
> -REVISION-geoip2= 0
> -REVISION-lua=	0
> -REVISION-main=	1
> -REVISION-njs=	0
> -REVISION-passenger= 0
> -REVISION-rtmp=	0
> +REVISION-main=	2
> +REVISION=	1
>  
>  PKGNAME-main=		${DISTNAME}
> -PKGNAME-image_filter=	nginx-image_filter-${VERSION}
> +PKGNAME-cache_purge=	nginx-cache_purge-${VERSION}
>  PKGNAME-geoip2=		nginx-geoip2-${VERSION}
> -PKGNAME-xslt=		nginx-xslt-${VERSION}
> -PKGNAME-mailproxy=	nginx-mailproxy-${VERSION}
> -PKGNAME-stream=		nginx-stream-${VERSION}
> -PKGNAME-naxsi=		nginx-naxsi-${VERSION}
> +PKGNAME-headers_more=	nginx-headers-more-${VERSION}
> +PKGNAME-image_filter=	nginx-image_filter-${VERSION}
>  PKGNAME-ldap_auth=	nginx-ldap_auth-${VERSION}
>  PKGNAME-lua=		nginx-lua-${VERSION}
> -PKGNAME-headers_more=	nginx-headers-more-${VERSION}
> -PKGNAME-perl=		nginx-perl-${VERSION}
> +PKGNAME-mailproxy=	nginx-mailproxy-${VERSION}
> +PKGNAME-naxsi=		nginx-naxsi-${VERSION}
>  PKGNAME-njs=		nginx-njs-${VERSION}
>  PKGNAME-passenger=	nginx-passenger-${VERSION}
> +PKGNAME-perl=		nginx-perl-${VERSION}
>  PKGNAME-rtmp=		nginx-rtmp-${VERSION}
>  PKGNAME-securelink=	nginx-securelink-${VERSION}
> +PKGNAME-stream=		nginx-stream-${VERSION}
> +PKGNAME-xslt=		nginx-xslt-${VERSION}
>  
>  ONLY_FOR_ARCHS-passenger= aarch64 amd64 arm i386
>  
> @@ -51,18 +49,30 @@ SITES.p=https://raw.githubusercontent.co
>  	https://raw.githubusercontent.com/sthen/nginx_chroot_patch/add_1.20.1/
>  
>  DIST_TUPLE=	\
> +	github FRiCKLE ngx_cache_purge 2.3 ngx_cache_purge \
> +	github leev ngx_http_geoip2_module 3.4 ngx_http_geoip2_module \
>  	github openresty headers-more-nginx-module v0.34 headers-more-nginx-module \
> +	github kvspb nginx-auth-ldap 83c059b73566c2ee9cbda920d91b66657cf120b7 nginx-auth-ldap \
>  	github openresty lua-nginx-module v0.10.11 lua-nginx-module \
> +	github vision5 ngx_devel_kit v0.3.3 ngx_devel_kit \
>  	github nbs-system naxsi d714f1636ea49a9a9f4f06dba14aee003e970834 naxsi \
> -	github kvspb nginx-auth-ldap 83c059b73566c2ee9cbda920d91b66657cf120b7 nginx-auth-ldap \
> -	github arut nginx-rtmp-module v1.2.2 nginx-rtmp-module \
>  	github nginx njs 0.8.4 njs \
> -	github vision5 ngx_devel_kit v0.3.3 ngx_devel_kit \
> -	github leev ngx_http_geoip2_module 3.4 ngx_http_geoip2_module \
> -	github nginx-modules ngx_http_hmac_secure_link_module 48c4625fbbf51ed5a95bfec23fa444f6c3702e50 ngx_http_hmac_secure_link_module
> +	github arut nginx-rtmp-module v1.2.2 nginx-rtmp-module \
> +	github nginx-modules ngx_http_hmac_secure_link_module 48c4625fbbf51ed5a95bfec23fa444f6c3702e50 ngx_http_hmac_secure_link_module \
>  
>  HOMEPAGE=	https://nginx.org/
>  
> +HOMEPAGE-cache_purge=	https://github.com/FRiCKLE/ngx_cache_purge
> +HOMEPAGE-geoip2=	https://github.com/leev/ngx_http_geoip2_module
> +HOMEPAGE-headers_more=	https://github.com/openresty/headers-more-nginx-module
> +HOMEPAGE-ldap_auth=	https://github.com/kvspb/nginx-auth-ldap
> +HOMEPAGE-lua=		https://github.com/openresty/lua-nginx-module
> +HOMEPAGE-naxsi=		https://github.com/wargio/naxsi
> +HOMEPAGE-njs=		https://github.com/nginx/njs
> +HOMEPAGE-passenger=	https://www.phusionpassenger.com/
> +HOMEPAGE-rtmp=		https://github.com/arut/nginx-rtmp-module
> +HOMEPAGE-securelink=	https://github.com/nginx-modules/ngx_http_hmac_secure_link_module
> +
>  MAINTAINER=	Robert Nagy <robert@openbsd.org>
>  
>  # BSD-like
> @@ -70,9 +80,10 @@ PERMIT_PACKAGE=	Yes
>  
>  MULTI_PACKAGES =	-main -naxsi -perl ${MODULE_PACKAGES}
>  
> -MODULE_PACKAGES =	-image_filter -geoip2 -xslt -mailproxy -stream \
> -			-passenger -headers_more -ldap_auth -lua -njs \
> -			-rtmp -securelink
> +MODULE_PACKAGES =	-cache_purge -geoip2 -headers_more \
> +			-image_filter -ldap_auth -lua -mailproxy \
> +			-njs -passenger -rtmp -securelink -stream \
> +			-xslt
>  
>  FLAVOR ?=
>  PSEUDO_FLAVORS =	no_lua no_njs no_passenger
> @@ -82,34 +93,36 @@ COMPILER =		base-clang ports-gcc base-gc
>  .include <bsd.port.arch.mk>
>  
>  WANTLIB-main=		c crypto pcre2-8 ssl z
> -WANTLIB-mailproxy=
> -WANTLIB-stream=
> -WANTLIB-image_filter=	gd
> +WANTLIB-cache_purge=
>  WANTLIB-geoip2=		maxminddb
> -WANTLIB-rtmp=
> -WANTLIB-njs=		exslt m xml2 xslt
> -WANTLIB-xslt=		exslt xml2 xslt
> -WANTLIB-naxsi=
> +WANTLIB-headers_more=
> +WANTLIB-image_filter=	gd
>  WANTLIB-ldap_auth=	ldap
>  WANTLIB-lua=		${MODLUA_WANTLIB} m pcre
> -WANTLIB-headers_more=
> -WANTLIB-perl=		c m perl
> +WANTLIB-mailproxy=
> +WANTLIB-naxsi=
> +WANTLIB-njs=		exslt m xml2 xslt
>  WANTLIB-passenger=	m pthread ${COMPILER_LIBCXX}
> +WANTLIB-perl=		c m perl
> +WANTLIB-rtmp=
>  WANTLIB-securelink=	crypto
> +WANTLIB-stream=
> +WANTLIB-xslt=		exslt xml2 xslt
>  
>  LIB_DEPENDS-main=	devel/pcre2
> -LIB_DEPENDS-xslt=	textproc/libxml \
> -			textproc/libxslt
> -LIB_DEPENDS-image_filter=graphics/gd
> +LIB_DEPENDS-cache_purge=
>  LIB_DEPENDS-geoip2=	net/libmaxminddb
> +LIB_DEPENDS-image_filter=graphics/gd
>  LIB_DEPENDS-ldap_auth=	databases/openldap
>  LIB_DEPENDS-lua=	${MODLUA_LIB_DEPENDS} \
>  			devel/pcre
> -LIB_DEPENDS-rtmp=
> -LIB_DEPENDS-securelink=
>  LIB_DEPENDS-njs=	devel/pcre2 \
>  			textproc/libxslt \
>  			textproc/libxml
> +LIB_DEPENDS-rtmp=
> +LIB_DEPENDS-securelink=
> +LIB_DEPENDS-xslt=	textproc/libxml \
> +			textproc/libxslt
>  
>  MODLUA_RUNDEP=		No
>  RUN_DEPENDS=		www/nginx,-main=${VERSION}
> @@ -198,7 +211,8 @@ CONFIGURE_ARGS+=	--prefix=${NGINX_DIR} \
>  			--add-dynamic-module=${WRKSRC}/headers-more-nginx-module \
>  			--add-dynamic-module=${WRKSRC}/nginx-auth-ldap \
>  			--add-dynamic-module=${WRKSRC}/ngx_http_geoip2_module \
> -			--add-dynamic-module=${WRKSRC}/ngx_http_hmac_secure_link_module
> +			--add-dynamic-module=${WRKSRC}/ngx_http_hmac_secure_link_module \
> +			--add-dynamic-module=${WRKSRC}/ngx_cache_purge
>  
>  SUBSTFILES=		conf/nginx.conf */config
>  
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/www/nginx/distinfo,v
> diff -u -p -r1.86 distinfo
> --- distinfo	8 Jul 2024 20:42:28 -0000	1.86
> +++ distinfo	8 Jul 2024 21:05:29 -0000
> @@ -1,3 +1,4 @@
> +SHA256 (FRiCKLE-ngx_cache_purge-2.3.tar.gz) = y31fIpGcYT8fAzQaGuuWCWUmkwLp6yNCXMqr0vXcu+w=
>  SHA256 (arut-nginx-rtmp-module-v1.2.2.tar.gz) = B/Gbe//sXjV7uIIMY+UoHevUX1oubUaxY22SAsPgnXg=
>  SHA256 (kvspb-nginx-auth-ldap-83c059b73566c2ee9cbda920d91b66657cf120b7.tar.gz) = aQxOW9sq4ZsP7nXNNW0YATRo20cmFrYJeloLvjRshGQ=
>  SHA256 (leev-ngx_http_geoip2_module-3.4.tar.gz) = rXL8IzSNcVozCZSYRTH6ubNgbhYEgyNnN/mkppV9lFI=
> @@ -9,6 +10,7 @@ SHA256 (nginx-njs-0.8.4.tar.gz) = /hl+JU
>  SHA256 (openresty-headers-more-nginx-module-v0.34.tar.gz) = DA0s7SzolbP0XrKyMM2QUIqyp3MpnxU94UpD5EwSCbM=
>  SHA256 (openresty-lua-nginx-module-v0.10.11.tar.gz) = wPuR/P0cbn3sNMpkgm74H/66/e9hdNJURnY284BWZiY=
>  SHA256 (vision5-ngx_devel_kit-v0.3.3.tar.gz) = +qL81RaLEHZNNQgTVlEdX4TbXFJqGqS2rdLblLaFOys=
> +SIZE (FRiCKLE-ngx_cache_purge-2.3.tar.gz) = 11717
>  SIZE (arut-nginx-rtmp-module-v1.2.2.tar.gz) = 519934
>  SIZE (kvspb-nginx-auth-ldap-83c059b73566c2ee9cbda920d91b66657cf120b7.tar.gz) = 18542
>  SIZE (leev-ngx_http_geoip2_module-3.4.tar.gz) = 8877
> Index: patches/patch-ngx_cache_purge_config
> ===================================================================
> RCS file: patches/patch-ngx_cache_purge_config
> diff -N patches/patch-ngx_cache_purge_config
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-ngx_cache_purge_config	8 Jul 2024 21:05:29 -0000
> @@ -0,0 +1,25 @@
> +Build ngx_cache_purge as dynamic module
> +
> +Index: ngx_cache_purge/config
> +--- ngx_cache_purge/config.orig
> ++++ ngx_cache_purge/config
> +@@ -15,7 +15,17 @@ if [ "$HTTP_UWSGI" = "YES" ]; then
> + fi
> + 
> + ngx_addon_name=ngx_http_cache_purge_module
> +-HTTP_MODULES="$HTTP_MODULES ngx_http_cache_purge_module"
> +-NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_cache_purge_module.c"
> ++CACHE_PURGE_SRCS="$ngx_addon_dir/ngx_cache_purge_module.c"
> ++
> ++if [ -n "$ngx_module_link" ]; then
> ++    ngx_module_type=HTTP
> ++    ngx_module_name="$ngx_addon_name"
> ++    ngx_module_srcs="$CACHE_PURGE_SRCS"
> ++
> ++    . auto/module
> ++else
> ++    HTTP_MODULES="$HTTP_MODULES $ngx_addon_name"
> ++    NGX_ADDON_SRCS="$NGX_ADDON_SRCS $CACHE_PURGE_SRCS"
> ++fi
> + 
> + have=NGX_CACHE_PURGE_MODULE . auto/have
> Index: patches/patch-src_core_ngx_resolver_c
> ===================================================================
> RCS file: patches/patch-src_core_ngx_resolver_c
> diff -N patches/patch-src_core_ngx_resolver_c
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_core_ngx_resolver_c	8 Jul 2024 21:05:29 -0000
> @@ -0,0 +1,12 @@
> +Index: src/core/ngx_resolver.c
> +--- src/core/ngx_resolver.c.orig
> ++++ src/core/ngx_resolver.c
> +@@ -1774,7 +1774,7 @@ ngx_resolver_process_response(ngx_resolver_t *r, u_cha
> +                    (response->nar_hi << 8) + response->nar_lo);
> + 
> +     /* response to a standard query */
> +-    if ((flags & 0xf870) != 0x8000 || (trunc && tcp)) {
> ++    if ((flags & 0xf850) != 0x8000 || (trunc && tcp)) {
> +         ngx_log_error(r->log_level, r->log, 0,
> +                       "invalid %s DNS response %ui fl:%04Xi",
> +                       tcp ? "TCP" : "UDP", ident, flags);
> Index: pkg/DESCR-cache_purge
> ===================================================================
> RCS file: pkg/DESCR-cache_purge
> diff -N pkg/DESCR-cache_purge
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ pkg/DESCR-cache_purge	8 Jul 2024 21:05:29 -0000
> @@ -0,0 +1,6 @@
> +ngx_cache_purge is nginx module which adds ability to purge content from
> +FastCGI, proxy, SCGI and uWSGI caches.
> +
> +It is built as a separate dynamic module and should be loaded with:
> +
> +  load_module modules/ngx_http_cache_purge_module.so;
> Index: pkg/PLIST-cache_purge
> ===================================================================
> RCS file: pkg/PLIST-cache_purge
> diff -N pkg/PLIST-cache_purge
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ pkg/PLIST-cache_purge	8 Jul 2024 21:05:29 -0000
> @@ -0,0 +1 @@
> +@so ngx_http_cache_purge_module.so
> 

-- 
wbr, Kirill