pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/www/nginx-devel www/nginx-devel: update 1.22.0 -> 1.23.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7b3ceb0310b7
branches:  trunk
changeset: 381815:7b3ceb0310b7
user:      osa <osa%pkgsrc.org@localhost>
date:      Wed Jul 13 20:31:47 2022 +0000

description:
www/nginx-devel: update 1.22.0 -> 1.23.0

Also, update third-party modules:
o) headers_more: 0.33 -> d502e41
o) http_push: 1.2.15 -> 1.3.0
o) naxsi: 1.3 -> 29793dc
o) njs: 0.7.4 -> 0.7.5

Patches obtained from the corresponding port in FreeBSD ports tree.

<ChangeLog>

*) Change in internal API: now header lines are represented as linked
   lists.

*) Change: now nginx combines arbitrary header lines with identical
   names when sending to FastCGI, SCGI, and uwsgi backends, in the
   $r->header_in() method of the ngx_http_perl_module, and during lookup
   of the "$http_...", "$sent_http_...", "$sent_trailer_...",
   "$upstream_http_...", and "$upstream_trailer_..." variables.

*) Bugfix: if there were multiple "Vary" header lines in the backend
   response, nginx only used the last of them when caching.

*) Bugfix: if there were multiple "WWW-Authenticate" header lines in the
   backend response and errors with code 401 were intercepted or the
   "auth_request" directive was used, nginx only sent the first of the
   header lines to the client.

*) Change: the logging level of the "application data after close
   notify" SSL errors has been lowered from "crit" to "info".

*) Bugfix: connections might hang if nginx was built on Linux 2.6.17 or
   newer, but was used on systems without EPOLLRDHUP support, notably
   with epoll emulation layers; the bug had appeared in 1.17.5.
   Thanks to Marcus Ball.

*) Bugfix: nginx did not cache the response if the "Expires" response
   header line disabled caching, but following "Cache-Control" header
   line enabled caching.

</ChangeLog>

diffstat:

 www/nginx-devel/Makefile                                             |   13 +-
 www/nginx-devel/distinfo                                             |   32 +-
 www/nginx-devel/options.mk                                           |   28 +-
 www/nginx-devel/patches/extra-patch-lua-nginx-module                 |  167 ++++++++++
 www/nginx-devel/patches/extra-patch-naxsi_runtime.c                  |   23 +
 www/nginx-devel/patches/patch-src_os_unix_ngx__udp__sendmsg__chain.c |   16 -
 6 files changed, 233 insertions(+), 46 deletions(-)

diffs (truncated from 365 to 300 lines):

diff -r e877af0849fe -r 7b3ceb0310b7 www/nginx-devel/Makefile
--- a/www/nginx-devel/Makefile  Wed Jul 13 20:24:34 2022 +0000
+++ b/www/nginx-devel/Makefile  Wed Jul 13 20:31:47 2022 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.83 2022/06/28 11:37:07 wiz Exp $
+# $NetBSD: Makefile,v 1.84 2022/07/13 20:31:47 osa Exp $
 
-DISTNAME=      nginx-1.22.0
-PKGREVISION=   2
+DISTNAME=      nginx-1.23.0
 CATEGORIES=    www
 MASTER_SITES=  http://nginx.org/download/
 DISTFILES=     ${DEFAULT_DISTFILES}
@@ -93,6 +92,14 @@
 .endif
 PLIST_SUBST+=  SOEXT=${SOEXT}
 
+post-patch:
+.if !empty(PKG_OPTIONS:Mluajit)
+       (cd ${WRKSRC}/ && patch -p1 <${PATCHDIR}/extra-patch-lua-nginx-module)
+.endif
+.if !empty(PKG_OPTIONS:Mnaxsi)
+       (cd ${WRKSRC}/ && patch <${PATCHDIR}/extra-patch-naxsi_runtime.c)
+.endif
+
 do-install:
        ${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${DESTDIR}${PREFIX}/sbin/nginx
 .for file in ${EGFILES}
diff -r e877af0849fe -r 7b3ceb0310b7 www/nginx-devel/distinfo
--- a/www/nginx-devel/distinfo  Wed Jul 13 20:24:34 2022 +0000
+++ b/www/nginx-devel/distinfo  Wed Jul 13 20:31:47 2022 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.78 2022/05/25 13:57:02 osa Exp $
+$NetBSD: distinfo,v 1.79 2022/07/13 20:31:47 osa Exp $
 
 BLAKE2s (array-var-nginx-module-0.05.tar.gz) = 2f9af1e0eb209b7c20aa58cd8ec2afb1eb1cc122c5f4ea169e34131c463c1c26
 SHA512 (array-var-nginx-module-0.05.tar.gz) = 7c9fa9b76bc7cd2473ceae6d5ffb8de26993be9293ea967908d6c4550e086affa7016df4c936fb0b79f1142dc0aa1a5f2058d417e6433b5a3497a45d7e866e84
@@ -12,21 +12,18 @@
 BLAKE2s (form-input-nginx-module-0.12.tar.gz) = b08fc95c3e15bfdc0846e2d1e8157171954f353bd301f4ac4aca56113620e91d
 SHA512 (form-input-nginx-module-0.12.tar.gz) = 1c5c5ab74156cac09da44a2dcdd84f7c03c9919a23a847e63613e00e3781ecd73d5ad12446174b4fdef9d064257a31570a8dbcccc00d8266f7048e3dcde0362e
 Size (form-input-nginx-module-0.12.tar.gz) = 11090 bytes
-BLAKE2s (headers-more-nginx-module-0.33.tar.gz) = f5eeb6e12026236b9d4ab78866e33d5a81ed5f86344641407ce3a4f8b3310afd
-SHA512 (headers-more-nginx-module-0.33.tar.gz) = 13165b1b8d4be281b8bd2404fa48d456013d560bace094c81da08a35dc6a4f025a809a3ae3a42be6bbf67abbcbe41e0730aba06f905220f3baeb01e1192a7d37
-Size (headers-more-nginx-module-0.33.tar.gz) = 28130 bytes
 BLAKE2s (lua-nginx-module-0.10.21.tar.gz) = 26e07caf6902c84ee45e1a11aa6f516065259de68ee9819bb521345a4d99311a
 SHA512 (lua-nginx-module-0.10.21.tar.gz) = c7594be48a3a5a8cc7bbda9288cb836c4c854ad22f91766dba944316d471ab8857a6b6a52813eb041af81939df73614db54ccd3ed35af87036d76317ebbe2e97
 Size (lua-nginx-module-0.10.21.tar.gz) = 690938 bytes
-BLAKE2s (naxsi-1.3.tar.gz) = d3c819d8fbd2a896c56138f028b92fa4b26a51168ff24334f76e3d1d07626927
-SHA512 (naxsi-1.3.tar.gz) = d7aac69b5eceeb1b0db4741201159ade1e0e7f6f7c3e8c4afa2f8959c6c00c3b5285d5185747c2fb0b1400efda02e96799836315e7e492bb4a059b14acb2142d
-Size (naxsi-1.3.tar.gz) = 235626 bytes
-BLAKE2s (nchan-1.2.15.tar.gz) = bfc1c98de14aeb709fd0309b5350d885c62ed072867fe289e18dffedd5371eb4
-SHA512 (nchan-1.2.15.tar.gz) = 1323a285724052dd08a317fd25cbf0061b9b7afb73bf922a9a90f4317391eb0984dc5f4160769da0bd7f68a1627832c500d434f967fc5d7f759cb3c0260d1dbb
-Size (nchan-1.2.15.tar.gz) = 734488 bytes
-BLAKE2s (nginx-1.22.0.tar.gz) = 4d1b3995f370925e767fefb1a8744db73f77ef7089479e7f765c136719bda370
-SHA512 (nginx-1.22.0.tar.gz) = 074782dba9cd5f8f493fbb57e20bda6dc9171814d919a47ee9f825d93f12c9f9d496e25d063c983191b55ad6a236bcef252ce16ecc1d253dc8b23433557559b1
-Size (nginx-1.22.0.tar.gz) = 1073322 bytes
+BLAKE2s (nbs-system-naxsi-29793dc_GH.tar.gz) = 561b875a1d01bef80a45580268a56f90ef7dfd74acfa01a7ab1ab667486e4abb
+SHA512 (nbs-system-naxsi-29793dc_GH.tar.gz) = 8c943daa14ee9a0d308bf6425e28123860bdd5db269ad0e481126915538fa3fcdf6607e1692b7819c9eec4a1206ec19060f5b85ee11d93e713f60a8870fc5d26
+Size (nbs-system-naxsi-29793dc_GH.tar.gz) = 236932 bytes
+BLAKE2s (nchan-1.3.0.tar.gz) = fd45ccebd86c9808522dabefb8c202747f428ed04b46225282f344fbfd52f0b2
+SHA512 (nchan-1.3.0.tar.gz) = c8cd3eb0b06fc0f17b5a9013d32f5a6d5a8252015b3ac27fbf74a7a1b97bc7ae78c5c8cdd7372e36f5f9d137b59635f007d836746282c85c4a972b6984ba2bef
+Size (nchan-1.3.0.tar.gz) = 745161 bytes
+BLAKE2s (nginx-1.23.0.tar.gz) = 7a82c4350dc497bd9df6ed814a781bb2d46ea8313b198db33ad3f855f9d94e35
+SHA512 (nginx-1.23.0.tar.gz) = c76619e42e7715898cce7e13f5672b36e9d9401f815d912a453aae8364b6f8a4365e3cc6858a333bf68ebea1191f0ad38136f2d1832facc9acbf6c8a883999cd
+Size (nginx-1.23.0.tar.gz) = 1102940 bytes
 BLAKE2s (nginx-dav-ext-module-3.0.0.tar.gz) = 8e823ffd605d4fca00eb3ca92a0954ca35fb178397e0b990fea7d47580ee582f
 SHA512 (nginx-dav-ext-module-3.0.0.tar.gz) = d0193ba90f1ef46c4e470630c4394bdf99d94fd2e3bd8be6cb2ba1655ec59944b1269025f032b79dc2c6dad366e54389ef6a6da2ddeb91d535a4027f2162fbde
 Size (nginx-dav-ext-module-3.0.0.tar.gz) = 14558 bytes
@@ -45,9 +42,12 @@
 BLAKE2s (ngx_http_geoip2_module-3.3.tar.gz) = cfa0bbf88d6b5f21129fc9f653d30516d782ca474a68159d367017b96e05b330
 SHA512 (ngx_http_geoip2_module-3.3.tar.gz) = 06963b598c54e22d75ce837fb222f5aa6c9494c29e558ff46f1205d7159fc305414bfac4ed3288c836dcbf7628d92f26458e1992d34fc2f4b73275a32847bdc0
 Size (ngx_http_geoip2_module-3.3.tar.gz) = 8509 bytes
-BLAKE2s (njs-0.7.4.tar.gz) = e8ff0c01aa86b983c5bde06f932f6f45ff20e8dd112c48f42672f00f3e5e5aae
-SHA512 (njs-0.7.4.tar.gz) = a6dbdcc38b9c14bbaffb782c9adf04c57806ac2c0c8fb2a07e573db0e60e38b670668a88498cb609e22b1ea0bf67ec4c343e9965ff33374172c9a10521365aff
-Size (njs-0.7.4.tar.gz) = 589203 bytes
+BLAKE2s (njs-0.7.5.tar.gz) = 03706004202f68f9095eed4bb78e9700258d7a363454a38222dc9977197ec4c4
+SHA512 (njs-0.7.5.tar.gz) = e33dbb285ff6216acddcd213fdbd73ffadd5730680bcec742b1598fa57b4d100da32c913b1c2648b3e87867fc29bf11075d70fa5655f85c62e42eb0a48d177f1
+Size (njs-0.7.5.tar.gz) = 592998 bytes
+BLAKE2s (openresty-headers-more-nginx-module-d502e41_GH.tar.gz) = e9f0980c98791d082ee1fbb08960000811a41359c843bf822c2afd4787db86f3
+SHA512 (openresty-headers-more-nginx-module-d502e41_GH.tar.gz) = 8d0c59793507cf4bc53c0bc8e30fa2245c46dd5a31c07cc4e1505acd7b27508c31fce41c69cb7e3d33071e4944b87d4d9ff4e42195887a2d9feaa0e1ad25e75e
+Size (openresty-headers-more-nginx-module-d502e41_GH.tar.gz) = 28824 bytes
 BLAKE2s (set-misc-nginx-module-0.33.tar.gz) = 306eb7a96ce5650c7e97a91e9cdba48d154d10cf6445d31193ffab889054d893
 SHA512 (set-misc-nginx-module-0.33.tar.gz) = 1ff4c947538a5bd5f9d6adcd87b37f2702f5cc90e3342bc08359cbe8f290b705a3a2daa3dedfb1df3ce4bc19478c8fcac07081c4a53a804fc2862d50078278dc
 Size (set-misc-nginx-module-0.33.tar.gz) = 30084 bytes
diff -r e877af0849fe -r 7b3ceb0310b7 www/nginx-devel/options.mk
--- a/www/nginx-devel/options.mk        Wed Jul 13 20:24:34 2022 +0000
+++ b/www/nginx-devel/options.mk        Wed Jul 13 20:31:47 2022 +0000
@@ -1,4 +1,6 @@
-# $NetBSD: options.mk,v 1.7 2022/05/25 13:57:02 osa Exp $
+# $NetBSD: options.mk,v 1.8 2022/07/13 20:31:47 osa Exp $
+
+CODELOAD_SITE_GITHUB=          https://codeload.github.com/
 
 PKG_OPTIONS_VAR=       PKG_OPTIONS.nginx-devel
 PKG_SUPPORTED_OPTIONS= array-var auth-request cache-purge dav debug
@@ -34,10 +36,12 @@
 
 # documentation says naxsi must be the first module
 .if !empty(PKG_OPTIONS:Mnaxsi) || make(makesum) || make(mdi) || make(distclean)
-NAXSI_VERSION=                 1.3
-NAXSI_DISTNAME=                        naxsi-${NAXSI_VERSION}
-NAXSI_DISTFILE=                        ${NAXSI_DISTNAME}.tar.gz
-SITES.${NAXSI_DISTFILE}=       -${MASTER_SITE_GITHUB:=nbs-system/naxsi/archive/}${NAXSI_VERSION}.tar.gz
+NAXSI_GH_ACCOUNT=              nbs-system
+NAXSI_GH_PROJECT=              naxsi
+NAXSI_VERSION=                 29793dc
+NAXSI_DISTNAME=                        ${NAXSI_GH_PROJECT}-${NAXSI_VERSION}
+NAXSI_DISTFILE=                        ${NAXSI_GH_ACCOUNT}-${NAXSI_DISTNAME}_GH.tar.gz
+SITES.${NAXSI_DISTFILE}=       -${CODELOAD_SITE_GITHUB:=${NAXSI_GH_ACCOUNT}/${NAXSI_GH_PROJECT}/tar.gz/${NAXSI_VERSION}?dummy=${NAXSI_DISTFILE}}
 DISTFILES+=                    ${NAXSI_DISTFILE}
 PLIST.naxsi=                   yes
 DSO_EXTMODS+=                  naxsi
@@ -234,10 +238,12 @@
 .endif
 
 .if !empty(PKG_OPTIONS:Mheaders-more) || make(makesum) || make(mdi) || make(distclean)
-HEADMORE_VERSION=              0.33
-HEADMORE_DISTNAME=             headers-more-nginx-module-${HEADMORE_VERSION}
-HEADMORE_DISTFILE=             ${HEADMORE_DISTNAME}.tar.gz
-SITES.${HEADMORE_DISTFILE}=    -${MASTER_SITE_GITHUB:=openresty/headers-more-nginx-module/archive/}v${HEADMORE_VERSION}.tar.gz
+HEADMORE_GH_ACCOUNT=           openresty
+HEADMORE_GH_PROJECT=           headers-more-nginx-module
+HEADMORE_GH_TAG=               d502e41
+HEADMORE_DISTNAME=             ${HEADMORE_GH_PROJECT}-${HEADMORE_GH_TAG}
+HEADMORE_DISTFILE=             ${HEADMORE_GH_ACCOUNT}-${HEADMORE_DISTNAME}_GH.tar.gz
+SITES.${HEADMORE_DISTFILE}=    -${CODELOAD_SITE_GITHUB:=${HEADMORE_GH_ACCOUNT}/${HEADMORE_GH_PROJECT}/tar.gz/${HEADMORE_VERSION}?dummy=${HEADMORE_DISTFILE}}
 DISTFILES+=                    ${HEADMORE_DISTFILE}
 DSO_EXTMODS+=                  headmore
 PLIST.headmore=                        yes
@@ -252,7 +258,7 @@
 .endif
 
 .if !empty(PKG_OPTIONS:Mpush) || make(makesum) || make(mdi) || make(distclean)
-PUSH_VERSION=          1.2.15
+PUSH_VERSION=          1.3.0
 PUSH_DISTNAME=         nchan-${PUSH_VERSION}
 PUSH_DISTFILE=         ${PUSH_DISTNAME}.tar.gz
 SITES.${PUSH_DISTFILE}=        -${MASTER_SITE_GITHUB:=slact/nchan/archive/}v${PUSH_VERSION}.tar.gz
@@ -328,7 +334,7 @@
 .endif
 
 .if !empty(PKG_OPTIONS:Mnjs) || make(makesum) || make(mdi) || make(distclean)
-NJS_VERSION=           0.7.4
+NJS_VERSION=           0.7.5
 NJS_DISTNAME=          njs-${NJS_VERSION}
 NJS_DISTFILE=          ${NJS_DISTNAME}.tar.gz
 NJS_CONFIGURE_ARGS=    --no-pcre2
diff -r e877af0849fe -r 7b3ceb0310b7 www/nginx-devel/patches/extra-patch-lua-nginx-module
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/nginx-devel/patches/extra-patch-lua-nginx-module      Wed Jul 13 20:31:47 2022 +0000
@@ -0,0 +1,167 @@
+From b6d167cf1a93c0c885c28db5a439f2404874cb26 Mon Sep 17 00:00:00 2001
+From: Hiroaki Nakamura <hnakamur%gmail.com@localhost>
+Date: Tue, 28 Jun 2022 14:37:24 +0900
+Subject: [PATCH] bugfix: update handling of multiple headers changed in nginx
+ 1.23.0 (#2063)
+
+---
+ src/ngx_http_lua_headers_in.c  | 46 ++++++++++++++++++++++++
+ src/ngx_http_lua_headers_out.c | 64 ++++++++++++++++++++++++++++++++++
+ 2 files changed, 110 insertions(+)
+
+diff --git a/../lua-nginx-module-0.10.21/src/ngx_http_lua_headers_in.c b/src/ngx_http_lua_headers_in.c
+index a55d9cac7..440548140 100644
+--- a/../lua-nginx-module-0.10.21/src/ngx_http_lua_headers_in.c
++++ b/../lua-nginx-module-0.10.21/src/ngx_http_lua_headers_in.c
+@@ -152,9 +152,15 @@ static ngx_http_lua_set_header_t  ngx_http_lua_set_handlers[] = {
+                  ngx_http_set_builtin_header },
+ #endif
+ 
++#if defined(nginx_version) && nginx_version >= 1023000
++    { ngx_string("Cookie"),
++                 offsetof(ngx_http_headers_in_t, cookie),
++                 ngx_http_set_builtin_multi_header },
++#else
+     { ngx_string("Cookie"),
+                  offsetof(ngx_http_headers_in_t, cookies),
+                  ngx_http_set_builtin_multi_header },
++#endif
+ 
+     { ngx_null_string, 0, ngx_http_set_header }
+ };
+@@ -580,6 +586,45 @@ static ngx_int_t
+ ngx_http_set_builtin_multi_header(ngx_http_request_t *r,
+     ngx_http_lua_header_val_t *hv, ngx_str_t *value)
+ {
++#if defined(nginx_version) && nginx_version >= 1023000
++    ngx_table_elt_t  **headers, **ph, *h;
++    int                nelts;
++
++    headers = (ngx_table_elt_t **) ((char *) &r->headers_in + hv->offset);
++
++    if (!hv->no_override && *headers != NULL) {
++        nelts = 0;
++        for (h = *headers; h; h = h->next) {
++            nelts++;
++        }
++
++        *headers = NULL;
++
++        dd("clear multi-value headers: %d", nelts);
++    }
++
++    if (ngx_http_set_header_helper(r, hv, value, &h) == NGX_ERROR) {
++        return NGX_ERROR;
++    }
++
++    if (value->len == 0) {
++        return NGX_OK;
++    }
++
++    dd("new multi-value header: %p", h);
++
++    if (*headers) {
++        for (ph = headers; *ph; ph = &(*ph)->next) { /* void */ }
++        *ph = h;
++
++    } else {
++        *headers = h;
++    }
++
++    h->next = NULL;
++
++    return NGX_OK;
++#else
+     ngx_array_t       *headers;
+     ngx_table_elt_t  **v, *h;
+ 
+@@ -626,6 +671,7 @@ ngx_http_set_builtin_multi_header(ngx_http_request_t *r,
+ 
+     *v = h;
+     return NGX_OK;
++#endif
+ }
+ 
+ 
+diff --git a/../lua-nginx-module-0.10.21/src/ngx_http_lua_headers_out.c b/src/ngx_http_lua_headers_out.c
+index 6e9f9c19a..571723d9a 100644
+--- a/../lua-nginx-module-0.10.21/src/ngx_http_lua_headers_out.c
++++ b/../lua-nginx-module-0.10.21/src/ngx_http_lua_headers_out.c
+@@ -311,6 +311,69 @@ static ngx_int_t
+ ngx_http_set_builtin_multi_header(ngx_http_request_t *r,
+     ngx_http_lua_header_val_t *hv, ngx_str_t *value)
+ {
++#if defined(nginx_version) && nginx_version >= 1023000
++    ngx_table_elt_t  **headers, *h, *ho, **ph;
++
++    headers = (ngx_table_elt_t **) ((char *) &r->headers_out + hv->offset);
++
++    if (hv->no_override) {
++        for (h = *headers; h; h = h->next) {
++            if (!h->hash) {
++                h->value = *value;
++                h->hash = hv->hash;
++                return NGX_OK;
++            }
++        }
++
++        goto create;
++    }
++
++    /* override old values (if any) */
++
++    if (*headers) {
++        for (h = (*headers)->next; h; h = h->next) {
++            h->hash = 0;
++            h->value.len = 0;
++        }
++
++        h = *headers;
++
++        h->value = *value;
++
++        if (value->len == 0) {
++            h->hash = 0;
++
++        } else {
++            h->hash = hv->hash;
++        }
++
++        return NGX_OK;
++    }
++
++create:
++
++    for (ph = headers; *ph; ph = &(*ph)->next) { /* void */ }
++
++    ho = ngx_list_push(&r->headers_out.headers);
++    if (ho == NULL) {
++        return NGX_ERROR;
++    }
++
++    ho->value = *value;
++
++    if (value->len == 0) {
++        ho->hash = 0;
++
++    } else {
++        ho->hash = hv->hash;
++    }



Home | Main Index | Thread Index | Old Index