git: a535bff53131 - main - www/nginx-devel: third-party modules management (+)

From: Sergey A. Osokin <osa_at_FreeBSD.org>
Date: Wed, 05 Feb 2025 01:39:30 UTC
The branch main has been updated by osa:

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

commit a535bff5313172a8345d94aa9376a2501fa797ff
Author:     Sergey A. Osokin <osa@FreeBSD.org>
AuthorDate: 2025-02-05 01:39:04 +0000
Commit:     Sergey A. Osokin <osa@FreeBSD.org>
CommitDate: 2025-02-05 01:39:24 +0000

    www/nginx-devel: third-party modules management (+)
    
    o) update sticky-module-ng to it's recent snapshot by
       changing provider;
    o) add http-auth-jwt module.
    
    Bump PORTREVISION.
---
 www/nginx-devel/Makefile                             |  2 +-
 www/nginx-devel/Makefile.extmod                      | 13 +++++++++----
 www/nginx-devel/Makefile.options.desc                |  1 +
 www/nginx-devel/distinfo                             |  8 +++++---
 .../files/extra-patch-ngx_http_auth_jwt_module.c     | 20 ++++++++++++++++++++
 www/nginx-devel/pkg-plist                            |  1 +
 6 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/www/nginx-devel/Makefile b/www/nginx-devel/Makefile
index 9a8acd20a41b..5ebd37de56ca 100644
--- a/www/nginx-devel/Makefile
+++ b/www/nginx-devel/Makefile
@@ -1,6 +1,6 @@
 PORTNAME?=	nginx
 PORTVERSION=	1.27.3
-PORTREVISION=	16
+PORTREVISION=	17
 CATEGORIES=	www
 MASTER_SITES=	https://nginx.org/download/ \
 		LOCAL/osa
diff --git a/www/nginx-devel/Makefile.extmod b/www/nginx-devel/Makefile.extmod
index cdbf588f2bca..f454ab9c76e3 100644
--- a/www/nginx-devel/Makefile.extmod
+++ b/www/nginx-devel/Makefile.extmod
@@ -5,9 +5,9 @@ OPTIONS_GROUP+=	THIRDPARTYGRP
 OPTIONS_GROUP_THIRDPARTYGRP=	AJP AWS_AUTH BROTLI CACHE_PURGE 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_NOTICE HTTP_PUSH \
+	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_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 \
@@ -80,6 +80,11 @@ HTTP_ACCEPT_LANGUAGE_VARS=	DSO_EXTMODS+=accept_language
 HTTP_AUTH_DIGEST_GH_TUPLE=	atomx:nginx-http-auth-digest:ac91c88:auth_digest
 HTTP_AUTH_DIGEST_VARS=		DSO_EXTMODS+=auth_digest
 
+HTTP_AUTH_JWT_GH_TUPLE=		TeslaGov:ngx-http-auth-jwt-module:2.3.0:auth_jwt
+HTTP_AUTH_JWT_LIB_DEPENDS=	libjwt.so:www/libjwt
+HTTP_AUTH_JWT_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_auth_jwt_module.c
+HTTP_AUTH_JWT_VARS=		DSO_EXTMODS+=auth_jwt
+
 HTTP_AUTH_KRB5_GH_TUPLE=	stnoonan:spnego-http-auth-nginx-module:b62dadb:auth_krb5
 HTTP_AUTH_KRB5_VARS=		DSO_EXTMODS+=auth_krb5
 HTTP_AUTH_KRB5_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-spnego-http-auth-nginx-module-config
@@ -177,7 +182,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=		dvershinin:nginx-sticky-module-ng:2753211:upstreamsticky
+HTTP_UPSTREAM_STICKY_GH_TUPLE=		gdongca:nginx-sticky-module-ng:a3263ad:upstreamsticky
 HTTP_UPSTREAM_STICKY_VARS=		DSO_EXTMODS+=upstreamsticky
 
 HTTP_VIDEO_THUMBEXTRACTOR_LIB_DEPENDS=	libavformat.so:multimedia/ffmpeg \
diff --git a/www/nginx-devel/Makefile.options.desc b/www/nginx-devel/Makefile.options.desc
index c0d32d40b727..0fcfacb8102c 100644
--- a/www/nginx-devel/Makefile.options.desc
+++ b/www/nginx-devel/Makefile.options.desc
@@ -27,6 +27,7 @@ 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
diff --git a/www/nginx-devel/distinfo b/www/nginx-devel/distinfo
index f9c75fa26fd7..26605b17c153 100644
--- a/www/nginx-devel/distinfo
+++ b/www/nginx-devel/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1738702510
+TIMESTAMP = 1738717656
 SHA256 (nginx-1.27.3.tar.gz) = ba23a9568f442036b61cd0e29bd66a47b90634efa91e0b2cf2d719057a9b7903
 SIZE (nginx-1.27.3.tar.gz) = 1271526
 SHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
@@ -41,6 +41,8 @@ SHA256 (dvershinin-nginx_accept_language_module-5683967_GH0.tar.gz) = a58feb576f
 SIZE (dvershinin-nginx_accept_language_module-5683967_GH0.tar.gz) = 3425
 SHA256 (atomx-nginx-http-auth-digest-ac91c88_GH0.tar.gz) = 31b2a737d3d5d118a286a0b8a6e2637eda313dba07a9a5824e4c6e33ea6e2b80
 SIZE (atomx-nginx-http-auth-digest-ac91c88_GH0.tar.gz) = 17890
+SHA256 (TeslaGov-ngx-http-auth-jwt-module-2.3.0_GH0.tar.gz) = 520c348416f5265be9aeb094e7c22ba7e34ed3611569a56c16265260ab39fd90
+SIZE (TeslaGov-ngx-http-auth-jwt-module-2.3.0_GH0.tar.gz) = 31526
 SHA256 (stnoonan-spnego-http-auth-nginx-module-b62dadb_GH0.tar.gz) = 98fe1ef483a8bfbdd663d6d002a507f716be29c179f34bc2049e073d22557a5e
 SIZE (stnoonan-spnego-http-auth-nginx-module-b62dadb_GH0.tar.gz) = 30460
 SHA256 (kvspb-nginx-auth-ldap-241200e_GH0.tar.gz) = d3aa3a5ead311b34059d6ab1b6d2cf3ac8269c47a87b768523c07381229db470
@@ -81,8 +83,8 @@ SHA256 (yaoweibin-nginx_upstream_check_module-87bfa66_GH0.tar.gz) = bffdae53677f
 SIZE (yaoweibin-nginx_upstream_check_module-87bfa66_GH0.tar.gz) = 130913
 SHA256 (jaygooby-nginx-upstream-fair-10ecdcf_GH0.tar.gz) = 93f71b7cf0db9c6dbf97e3ee11cf8efbc149946c0949d7abd19c74c7620eea50
 SIZE (jaygooby-nginx-upstream-fair-10ecdcf_GH0.tar.gz) = 10433
-SHA256 (dvershinin-nginx-sticky-module-ng-2753211_GH0.tar.gz) = e4a533dfa214ea28122301aeebbb1a38e1d1972edb7ee9bc72271c14f2693005
-SIZE (dvershinin-nginx-sticky-module-ng-2753211_GH0.tar.gz) = 120676
+SHA256 (gdongca-nginx-sticky-module-ng-a3263ad_GH0.tar.gz) = 610bd7fa83d6f8fdb17cf689f36b2dfc5e5638869dcd225528eb69d8a0a40ac8
+SIZE (gdongca-nginx-sticky-module-ng-a3263ad_GH0.tar.gz) = 122022
 SHA256 (wandenberg-nginx-video-thumbextractor-module-e81f850_GH0.tar.gz) = 9113f887a8740fe72614ee32f481177d33e9542c3b0625627da19a1c4f3da2cb
 SIZE (wandenberg-nginx-video-thumbextractor-module-e81f850_GH0.tar.gz) = 2710072
 SHA256 (vince2678-mod_zip-39dc908_GH0.tar.gz) = bc5c3d725268abbe1c5c38de5b18a4ad9dbe5821c4afeaccabd3eec38b272be4
diff --git a/www/nginx-devel/files/extra-patch-ngx_http_auth_jwt_module.c b/www/nginx-devel/files/extra-patch-ngx_http_auth_jwt_module.c
new file mode 100644
index 000000000000..6b790469ff96
--- /dev/null
+++ b/www/nginx-devel/files/extra-patch-ngx_http_auth_jwt_module.c
@@ -0,0 +1,20 @@
+--- ../ngx-http-auth-jwt-module-2.3.0/src/ngx_http_auth_jwt_module.c.orig	2025-02-04 20:24:57.122767000 -0500
++++ ../ngx-http-auth-jwt-module-2.3.0/src/ngx_http_auth_jwt_module.c	2025-02-04 20:25:14.922658000 -0500
+@@ -866,17 +866,10 @@
+     jwt_location.data += strlen(COOKIE_PREFIX);
+     jwt_location.len -= strlen(COOKIE_PREFIX);
+ 
+-#ifndef NGX_LINKED_LIST_COOKIES
+-    if (ngx_http_parse_multi_header_lines(&r->headers_in.cookies, &jwt_location, &jwtCookieVal) != NGX_DECLINED)
+-    {
+-      has_cookie = true;
+-    }
+-#else
+     if (ngx_http_parse_multi_header_lines(r, r->headers_in.cookie, &jwt_location, &jwtCookieVal) != NULL)
+     {
+       has_cookie = true;
+     }
+-#endif
+ 
+     if (has_cookie == true)
+     {
diff --git a/www/nginx-devel/pkg-plist b/www/nginx-devel/pkg-plist
index c937ff729ef5..88cfe8859371 100644
--- a/www/nginx-devel/pkg-plist
+++ b/www/nginx-devel/pkg-plist
@@ -27,6 +27,7 @@
 %%DSO%%%%HEADERS_MORE%%libexec/nginx/ngx_http_headers_more_filter_module.so
 %%DSO%%%%HTTP_ACCEPT_LANGUAGE%%libexec/nginx/ngx_http_accept_language_module.so
 %%DSO%%%%HTTP_AUTH_DIGEST%%libexec/nginx/ngx_http_auth_digest_module.so
+%%DSO%%%%HTTP_AUTH_JWT%%libexec/nginx/ngx_http_auth_jwt_module.so
 %%DSO%%%%HTTP_AUTH_KRB5%%libexec/nginx/ngx_http_auth_spnego_module.so
 %%DSO%%%%HTTP_AUTH_LDAP%%libexec/nginx/ngx_http_auth_ldap_module.so
 %%DSO%%%%HTTP_AUTH_PAM%%libexec/nginx/ngx_http_auth_pam_module.so