git: 6c58c2274ed6 - main - www/nginx: update third-party ngx_fancyindex module

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Sat, 19 Feb 2022 21:04:17 UTC
The branch main has been updated by joneum:

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

commit 6c58c2274ed66612211ad75925eb27c3ae3853e7
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2022-02-19 21:01:48 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2022-02-19 21:04:11 +0000

    www/nginx: update third-party ngx_fancyindex module
    
    Update third-party ngx-fancyindex module from v0.5.1 to v0.5.2
    
    Add patch to fix heimdal build (1)
    
    PR:     261810 (1)
    Sponsored by:   Netzkommune GmbH
---
 www/nginx/Makefile                                 |  2 +-
 www/nginx/Makefile.extmod                          |  5 ++-
 www/nginx/distinfo                                 |  6 +--
 .../extra-patch-ngx_http_auth_spnego_module.c      | 49 ++++++++++++++++++++++
 4 files changed, 56 insertions(+), 6 deletions(-)

diff --git a/www/nginx/Makefile b/www/nginx/Makefile
index a6cd3399c6d5..35a3388505b5 100644
--- a/www/nginx/Makefile
+++ b/www/nginx/Makefile
@@ -2,7 +2,7 @@
 
 PORTNAME=	nginx
 PORTVERSION=	1.20.2
-PORTREVISION?=	7
+PORTREVISION?=	8
 PORTEPOCH=	2
 CATEGORIES=	www
 MASTER_SITES=	https://nginx.org/download/ \
diff --git a/www/nginx/Makefile.extmod b/www/nginx/Makefile.extmod
index 0af2d63e5f7a..e363c39b0d17 100644
--- a/www/nginx/Makefile.extmod
+++ b/www/nginx/Makefile.extmod
@@ -78,7 +78,8 @@ 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
+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_LDAP_GH_TUPLE=	kvspb:nginx-auth-ldap:42d195d:http_auth_ldap
 HTTP_AUTH_LDAP_VARS=		DSO_EXTMODS+=http_auth_ldap
@@ -96,7 +97,7 @@ HTTP_DAV_EXT_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-ngx_http_dav_ext_module.c
 HTTP_EVAL_GH_TUPLE=		openresty:nginx-eval-module:582bd25:eval
 HTTP_EVAL_VARS=			DSO_EXTMODS+=eval
 
-HTTP_FANCYINDEX_GH_TUPLE=	aperezdc:ngx-fancyindex:v0.5.1:fancyindex
+HTTP_FANCYINDEX_GH_TUPLE=	aperezdc:ngx-fancyindex:v0.5.2:fancyindex
 HTTP_FANCYINDEX_VARS=		DSO_EXTMODS+=fancyindex
 
 HTTP_FOOTER_GH_TUPLE=		alibaba:nginx-http-footer-filter:1.2.2:footer
diff --git a/www/nginx/distinfo b/www/nginx/distinfo
index f59d9270a69c..67591357acda 100644
--- a/www/nginx/distinfo
+++ b/www/nginx/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1644495863
+TIMESTAMP = 1645303393
 SHA256 (nginx-1.20.2.tar.gz) = 958876757782190a1653e14dc26dfc7ba263de310e04c113e11e97d1bef45a42
 SIZE (nginx-1.20.2.tar.gz) = 1062124
 SHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
@@ -61,8 +61,8 @@ SHA256 (arut-nginx-dav-ext-module-v3.0.0_GH0.tar.gz) = d2499d94d82d4e4eac8425d79
 SIZE (arut-nginx-dav-ext-module-v3.0.0_GH0.tar.gz) = 14558
 SHA256 (openresty-nginx-eval-module-582bd25_GH0.tar.gz) = 014bedb2b334ba8e8e23b4c660590357f8055dbed7b9b017e4cc2937876a8822
 SIZE (openresty-nginx-eval-module-582bd25_GH0.tar.gz) = 14849
-SHA256 (aperezdc-ngx-fancyindex-v0.5.1_GH0.tar.gz) = 238bd5521d6c9b55780e6871339a7ea79508b9a6758ad2fa4451f2dfe26d94c9
-SIZE (aperezdc-ngx-fancyindex-v0.5.1_GH0.tar.gz) = 28277
+SHA256 (aperezdc-ngx-fancyindex-v0.5.2_GH0.tar.gz) = c3dd84d8ba0b8daeace3041ef5987e3fb96e9c7c17df30c9ffe2fe3aa2a0ca31
+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
diff --git a/www/nginx/files/extra-patch-ngx_http_auth_spnego_module.c b/www/nginx/files/extra-patch-ngx_http_auth_spnego_module.c
new file mode 100644
index 000000000000..b14fbe108fa2
--- /dev/null
+++ b/www/nginx/files/extra-patch-ngx_http_auth_spnego_module.c
@@ -0,0 +1,49 @@
+--- ../spnego-http-auth-nginx-module-c626163/ngx_http_auth_spnego_module.c.orig	2022-02-19 21:05:54.082252000 +0100
++++ ../spnego-http-auth-nginx-module-c626163/ngx_http_auth_spnego_module.c	2022-02-19 21:12:17.316744000 +0100
+@@ -63,6 +63,11 @@
+ #define spnego_log_error(fmt, args...)                                         \
+     ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, fmt, ##args)
+ 
++#ifndef krb5_realm_length
++#define krb5_realm_length(r) ((r).length)
++#define krb5_realm_data(r) ((r).data)
++#endif
++
+ /* Module handler */
+ static ngx_int_t ngx_http_auth_spnego_handler(ngx_http_request_t *);
+ 
+@@ -1195,12 +1200,12 @@ static krb5_error_code ngx_http_auth_spnego_verify_ser
+     }
+ 
+     size_t tgs_principal_name_size =
+-        (ngx_strlen(KRB5_TGS_NAME) + (principal->realm.length * 2) + 2) + 1;
++        (ngx_strlen(KRB5_TGS_NAME) + (krb5_realm_length(principal->realm) * 2) + 2) + 1;
+     tgs_principal_name = (char *)ngx_pcalloc(r->pool, tgs_principal_name_size);
+     ngx_snprintf((u_char *)tgs_principal_name, tgs_principal_name_size,
+-                 "%s/%*s@%*s", KRB5_TGS_NAME, principal->realm.length,
+-                 principal->realm.data, principal->realm.length,
+-                 principal->realm.data);
++                 "%s/%*s@%*s", KRB5_TGS_NAME, krb5_realm_length(principal->realm),
++                 krb5_realm_data(principal->realm), krb5_realm_length(principal->realm),
++                 krb5_realm_data(principal->realm));
+ 
+     if ((kerr = krb5_parse_name(kcontext, tgs_principal_name,
+                                 &match_creds.server))) {
+@@ -1341,13 +1346,13 @@ static ngx_int_t ngx_http_auth_spnego_obtain_server_cr
+     krb5_get_init_creds_opt_set_forwardable(&gicopts, 1);
+ 
+     size_t tgs_principal_name_size =
+-        (ngx_strlen(KRB5_TGS_NAME) + (principal->realm.length * 2) + 2) + 1;
++        (ngx_strlen(KRB5_TGS_NAME) + (krb5_realm_length(principal->realm) * 2) + 2) + 1;
+     tgs_principal_name = (char *)ngx_pcalloc(r->pool, tgs_principal_name_size);
+ 
+     ngx_snprintf((u_char *)tgs_principal_name, tgs_principal_name_size,
+-                 "%s/%*s@%*s", KRB5_TGS_NAME, principal->realm.length,
+-                 principal->realm.data, principal->realm.length,
+-                 principal->realm.data);
++                 "%s/%*s@%*s", KRB5_TGS_NAME, krb5_realm_length(principal->realm),
++                 krb5_realm_data(principal->realm), krb5_realm_length(principal->realm),
++                 krb5_realm_data(principal->realm));
+ 
+     kerr = krb5_get_init_creds_keytab(kcontext, &creds, principal, keytab, 0,
+                                       tgs_principal_name, &gicopts);