git: d9c95554e850 - main - www/nginx-devel: fix build for third-party http_redis module

From: Sergey A. Osokin <osa_at_FreeBSD.org>
Date: Mon, 11 Jul 2022 02:18:20 UTC
The branch main has been updated by osa:

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

commit d9c95554e850af019fb03853a9bd049b97c6a853
Author:     Sergey A. Osokin <osa@FreeBSD.org>
AuthorDate: 2022-07-11 02:17:33 +0000
Commit:     Sergey A. Osokin <osa@FreeBSD.org>
CommitDate: 2022-07-11 02:18:14 +0000

    www/nginx-devel: fix build for third-party http_redis module
    
    Bump PORTREVISION.
---
 www/nginx-devel/Makefile                           |  3 +-
 www/nginx-devel/Makefile.extmod                    |  1 +
 .../files/extra-patch-ngx_http_redis_module.c      | 34 ++++++++++++++++++++++
 3 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/www/nginx-devel/Makefile b/www/nginx-devel/Makefile
index 46221d8853d4..170667410b67 100644
--- a/www/nginx-devel/Makefile
+++ b/www/nginx-devel/Makefile
@@ -2,7 +2,7 @@
 
 PORTNAME?=	nginx
 PORTVERSION=	1.23.0
-PORTREVISION=	9
+PORTREVISION=	10
 CATEGORIES=	www
 MASTER_SITES=	https://nginx.org/download/ \
 		LOCAL/osa
@@ -246,7 +246,6 @@ NJS_CONFIGURE_ARGS=	--no-pcre2
 .endif
 
 .if ${PORT_OPTIONS:MCLOJURE} || \
-    ${PORT_OPTIONS:MHTTP_REDIS} || \
     ${PORT_OPTIONS:MHTTP_UPLOAD_PROGRESS}
 IGNORE=		a patch requires
 .endif
diff --git a/www/nginx-devel/Makefile.extmod b/www/nginx-devel/Makefile.extmod
index 505a11f8915f..f4a68d6ac580 100644
--- a/www/nginx-devel/Makefile.extmod
+++ b/www/nginx-devel/Makefile.extmod
@@ -163,6 +163,7 @@ 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_SLICE_AHEAD_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-src_http_modules_ngx_http_slice_read_ahead.c
 
diff --git a/www/nginx-devel/files/extra-patch-ngx_http_redis_module.c b/www/nginx-devel/files/extra-patch-ngx_http_redis_module.c
new file mode 100644
index 000000000000..3dacd39ee6c4
--- /dev/null
+++ b/www/nginx-devel/files/extra-patch-ngx_http_redis_module.c
@@ -0,0 +1,34 @@
+--- ../ngx_http_redis-0.3.9/ngx_http_redis_module.c.orig	2022-07-10 22:10:19.031893000 -0400
++++ ../ngx_http_redis-0.3.9/ngx_http_redis_module.c	2022-07-10 22:09:41.271731000 -0400
+@@ -562,7 +562,7 @@
+         /* if defined gzip_flag... */
+         if (rlcf->gzip_flag) {
+             /* hash init */
+-            h = ngx_list_push(&r->upstream->headers_in.headers);
++            h = ngx_list_push(&r->headers_out.headers);
+             if (h == NULL) {
+                 return NGX_ERROR;
+             }
+@@ -571,19 +571,11 @@
+              * add Content-Encoding header for future gunzipping
+              * with ngx_http_gunzip_filter module
+              */
+-            h->hash = ngx_hash(ngx_hash(ngx_hash(ngx_hash(
+-                                ngx_hash(ngx_hash(ngx_hash(
+-                                ngx_hash(ngx_hash(ngx_hash(
+-                                ngx_hash(ngx_hash(ngx_hash(
+-                                ngx_hash(ngx_hash('c', 'o'), 'n'), 't'), 'e'),
+-                                 'n'), 't'), '-'), 'e'), 'n'), 'c'), 'o'),
+-                                 'd'), 'i'), 'n'), 'g');
++            h->hash = 1;
++            h->next = NULL;
+             ngx_str_set(&h->key, "Content-Encoding");
+             ngx_str_set(&h->value, "gzip");
+-            h->lowcase_key = (u_char*) "content-encoding";
+-#if (NGX_HTTP_GZIP)
+-            u->headers_in.content_encoding = h;
+-#endif
++            r->headers_out.content_encoding = h;
+         }
+ 
+         /* try to find end of string */