head 1.8; access; symbols pkgsrc-2026Q1:1.2.0.2 pkgsrc-2026Q1-base:1.2; locks; strict; comment @# @; 1.8 date 2026.05.21.10.37.15; author osa; state Exp; branches; next 1.7; commitid wn3whcLw7H8syFGG; 1.7 date 2026.05.21.10.27.50; author osa; state Exp; branches; next 1.6; commitid w2oisVFAfpgwvFGG; 1.6 date 2026.05.10.12.02.49; author osa; state Exp; branches; next 1.5; commitid ZgIvAvJvZN73ogFG; 1.5 date 2026.04.23.15.38.10; author osa; state Exp; branches; next 1.4; commitid r5PXHLNtEjjA76DG; 1.4 date 2026.04.14.14.42.57; author osa; state Exp; branches; next 1.3; commitid CVobKfMib67w6WBG; 1.3 date 2026.04.14.14.38.09; author osa; state Exp; branches; next 1.2; commitid SeehnLCVxzUB4WBG; 1.2 date 2026.01.07.08.49.18; author wiz; state Exp; branches; next 1.1; commitid 1wQ3ICD8eebefrpG; 1.1 date 2025.12.25.18.57.20; author osa; state Exp; branches; next ; commitid Pml9OrlYISR13PnG; desc @@ 1.8 log @www/freenginx*: update third-party nchan module to 1.3.8 Bump PKGREVISIONs. ChangeLog: https://github.com/slact/nchan/compare/v1.3.7...v1.3.8 Sponsored by: tipi.work @ text @# $NetBSD: Makefile,v 1.7 2026/05/21 10:27:50 osa Exp $ DISTNAME= freenginx-1.30.0 PKGREVISION= 4 CATEGORIES= www MASTER_SITES= https://freenginx.org/download/ DISTFILES= ${DEFAULT_DISTFILES} MAINTAINER= osa@@NetBSD.org HOMEPAGE= https://freenginx.org/ COMMENT= Lightweight HTTP server and mail proxy server LICENSE= 2-clause-bsd CONFLICTS= freenginx-devel-[0-9]* nginx-[0-9]* nginx-devel-[0-9]* .include "../../mk/bsd.prefs.mk" NGINX_USER?= nginx NGINX_GROUP?= nginx NGINX_DATADIR?= ${VARBASE}/db/nginx NGINX_LOGDIR?= ${VARBASE}/log/nginx NGINX_PIDDIR?= ${VARBASE}/run BUILD_DEFS+= NGINX_DATADIR NGINX_LOGDIR NGINX_PIDDIR VARBASE PKG_USERS_VARS+= NGINX_USER PKG_GROUPS_VARS+= NGINX_GROUP PKG_GROUPS= ${NGINX_GROUP} PKG_USERS= ${NGINX_USER}:${NGINX_GROUP} PKG_GECOS.${NGINX_USER}= NGINX server user PKG_HOME.${NGINX_USER}= ${NGINX_DATADIR} PKG_SHELL.${NGINX_USER}= ${NOLOGIN} USE_PKGLOCALEDIR= yes HAS_CONFIGURE= yes CONFIGURE_ARGS+= --user=${NGINX_USER} CONFIGURE_ARGS+= --group=${NGINX_GROUP} CONFIGURE_ARGS+= --with-ld-opt=-L${PREFIX}/lib\ ${COMPILER_RPATH_FLAG}${PREFIX}/lib CONFIGURE_ARGS+= --prefix=${PREFIX} CONFIGURE_ARGS+= --sbin-path=${PREFIX}/sbin CONFIGURE_ARGS+= --conf-path=${PKG_SYSCONFDIR}/nginx.conf CONFIGURE_ARGS+= --pid-path=${NGINX_PIDDIR}/nginx.pid CONFIGURE_ARGS+= --lock-path=${NGINX_DATADIR}/nginx.lock CONFIGURE_ARGS+= --error-log-path=${NGINX_LOGDIR}/error.log CONFIGURE_ARGS+= --http-log-path=${NGINX_LOGDIR}/access.log CONFIGURE_ARGS+= --http-client-body-temp-path=${NGINX_DATADIR}/client_body_temp CONFIGURE_ARGS+= --http-proxy-temp-path=${NGINX_DATADIR}/proxy_temp CONFIGURE_ARGS+= --http-fastcgi-temp-path=${NGINX_DATADIR}/fstcgi_temp CONFIGURE_ARGS+= --http-scgi-temp-path=${NGINX_DATADIR}/scgi_temp CONFIGURE_ARGS+= --with-pcre SUBST_CLASSES+= fix-pcre2 SUBST_STAGE.fix-pcre2= pre-configure SUBST_FILES.fix-pcre2= auto/lib/pcre/conf SUBST_SED.fix-pcre2= -e 's,/usr/pkg,${BUILDLINK_PREFIX.pcre2},g' SUBST_NOOP_OK.fix-pcre2= yes PKG_SYSCONFSUBDIR= nginx .include "options.mk" EGDIR= ${PREFIX}/share/examples/freenginx EGFILES+= fastcgi.conf fastcgi_params koi-utf koi-win \ mime.types nginx.conf win-utf .for file in ${EGFILES} CONF_FILES+= ${EGDIR}/conf/${file} ${PKG_SYSCONFDIR}/${file} . if !empty(PKG_OPTIONS:Mnginx-naxsi) CONF_FILES+= ${EGDIR}/conf/naxsi_core.rules ${PKG_SYSCONFDIR}/naxsi_core.rules . endif .endfor RCD_SCRIPTS= nginx INSTALLATION_DIRS+= ${PKGMANDIR}/man8 sbin share/examples/freenginx/conf \ share/examples/freenginx/html MAKE_DIRS+= ${NGINX_PIDDIR} OWN_DIRS= ${NGINX_LOGDIR} OWN_DIRS_PERMS+= ${NGINX_DATADIR} ${NGINX_USER} ${NGINX_GROUP} 0700 BUILD_TARGET= build SUBST_CLASSES+= paths SUBST_STAGE.paths= pre-configure SUBST_FILES.paths= conf/nginx.conf SUBST_SED.paths= -e 's,%%PKG_SYSCONFDIR%%,${PKG_SYSCONFDIR},g' SUBST_SED.paths+= -e 's,%%NGINX_LOGDIR%%,${NGINX_LOGDIR},g' SUBST_SED.paths+= -e 's,%%NGINX_PIDDIR%%,${NGINX_PIDDIR},g' SUBST_SED.paths+= -e 's,%%NGINX_USER%%,${NGINX_USER},g' SUBST_SED.paths+= -e 's,%%NGINX_GROUP%%,${NGINX_GROUP},g' MESSAGE_SUBST+= NGINX_LOGDIR=${NGINX_LOGDIR} MESSAGE_SUBST+= NGINX_PIDDIR=${NGINX_PIDDIR} MESSAGE_SUBST+= NGINX_USER=${NGINX_USER} MESSAGE_SUBST+= NGINX_GROUP=${NGINX_GROUP} .if ${OPSYS} == "Darwin" SOEXT= bundle .else SOEXT= so .endif PLIST_SUBST+= SOEXT=${SOEXT} post-patch: .if !empty(PKG_OPTIONS:Mnginx-brotli) cd ${WRKSRC} && ${PATCH} < ${PATCHDIR}/extra-patch-ngx_brotli_filter_config .endif .if !empty(PKG_OPTIONS:Mnginx-gssapi) ${SED} -i.bak '4d;5d;6d' ${WRKDIR}/${GSSAPI_DISTNAME}/config .endif .if !empty(PKG_OPTIONS:Mnginx-naxsi) ${SED} -i.bak '308,309s/MSIZE/NAXSI_MSIZE/g' \ ${WRKSRC}/..${NAXSI_SUBDIR}/libinjection/src/libinjection_sqli.c .endif .if !empty(PKG_OPTIONS:Mnginx-njs) cd ${WRKSRC} && ${PATCH} < ${PATCHDIR}/extra-patch-auto-quickjs .endif .if !empty(PKG_OPTIONS:Mnginx-upload) cd ${WRKSRC} && ${PATCH} < ${PATCHDIR}/extra-patch-ngx_http_upload_module.c .endif do-install: ${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${DESTDIR}${PREFIX}/sbin/nginx .for file in ${EGFILES} ${INSTALL_DATA} ${WRKSRC}/conf/${file} ${DESTDIR}${EGDIR}/conf/${file} .endfor ${INSTALL_DATA} ${WRKSRC}/html/50x.html ${DESTDIR}${EGDIR}/html/50x.html ${INSTALL_DATA} ${WRKSRC}/html/index.html ${DESTDIR}${EGDIR}/html/index.html ${INSTALL_MAN} ${WRKSRC}/objs/nginx.8 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8 .if !empty(PKG_OPTIONS:Mnginx-naxsi) ${INSTALL_DATA} ${WRKDIR}/naxsi_rules/naxsi_core.rules ${DESTDIR}${EGDIR}/conf .endif .if !empty(PKG_OPTIONS:Mnginx-perl) ${INSTALL_LIB_DIR} ${DESTDIR}${PERL5_INSTALLVENDORARCH}/auto/nginx ${INSTALL_LIB} ${WRKSRC}/objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.${SOEXT} \ ${DESTDIR}${PERL5_INSTALLVENDORARCH}/auto/nginx ${INSTALL_DATA} ${WRKSRC}/objs/src/http/modules/perl/blib/lib/nginx.pm \ ${DESTDIR}${PERL5_INSTALLVENDORARCH} .endif .if !empty(PKG_OPTIONS:Mnginx-dso) ${INSTALL_LIB_DIR} ${DESTDIR}${PREFIX}/libexec/freenginx (cd ${WRKSRC}/objs/ && ${FIND} . -name '*.so' -maxdepth 1 -type f \ -exec ${INSTALL_PROGRAM} {} ${DESTDIR}${PREFIX}/libexec/freenginx \;) .endif .include "../../devel/pcre2/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" .include "../../mk/bsd.pkg.mk" @ 1.7 log @www/freenginx: update njs 0.9.8 -> 0.9.9 Bump PKGREVISION. Sponsored by: tipi.work nginx modules: *) Security: a heap buffer overflow might occur in a worker process when the "js_fetch_proxy" directive value contains nginx variables derived from the client request ($http_*, $arg_*, $cookie_*, etc.) and the location's JS handler invokes ngx.fetch(). The issue was introduced in dea83189 (0.9.4). *) Feature: added js_access directive. *) Feature: added r.readRequestText(), r.readRequestArrayBuffer(), and r.readRequestJSON() - async methods that read the request body, available in js_access and js_content directives. *) Feature: added r.readRequestForm() - async method that parses the request body submitted from an HTML form (application/x-www-form-urlencoded and multipart/form-data) and returns a structured accessor object. The method is available in js_access and js_content directives. *) Feature: added jsVarNames() method. The method returns the names of variables declared with js_var. Core: *) Bugfix: fixed evaluation order of call arguments with side effects. Previously, an earlier argument could observe a later argument's mutation, e.g. f(a, a = 2) passed 2 as both arguments. The issue was introduced in fd5e523f (0.9.7). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.6 2026/05/10 12:02:49 osa Exp $ d4 1 a4 1 PKGREVISION= 3 @ 1.6 log @www/freenginx: update njs 0.9.7 -> 0.9.8 Bump PKGREVISION. Sponsored by: tipi.work nginx modules: *) Bugfix: fixed loading of the built-in "crypto" module. The issue was introduced in 3185ce81 (0.9.7). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.5 2026/04/23 15:38:10 osa Exp $ d4 1 a4 1 PKGREVISION= 2 @ 1.5 log @www/freenginx: sync with www/freenginx-devel - update third-party modules - enable quickjs for njs Bump PKGREVISION. Sponsored by: tipi.work @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.4 2026/04/14 14:42:57 osa Exp $ d4 1 a4 1 PKGREVISION= 1 @ 1.4 log @www/freenginx: update: 1.28.0 -> 1.30.0 Sponsored by: tipi.work *) 1.30.x stable branch. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2026/04/14 14:38:09 osa Exp $ d4 1 d116 3 @ 1.3 log @www/freenginx: update third-party njs module: 0.9.4 -> 0.9.6 Bump PKGREVISION. Sponsored by: tipi.work Changes with njs 0.9.6 03 Mar 2026 nginx modules: *) Bugfix: fixed expire field truncation in shared dict state files. Millisecond timestamps were silently truncated to 10 digits, making restored entries appear expired on restart. The issue has been present since eca03622 (0.9.1). *) Bugfix: suppressed slab log_nomem for evict shared dict zones. When evict is enabled, memory allocation failures are expected and handled by evicting old entries. *) Bugfix: fixed stack trace for native fetch exceptions for QuickJS engine. Core: *) Feature: added optional chaining support. *) Feature: added nullish coalescing assignment operator (??=). *) Feature: added logical assignment operators (||= and &&=). *) Improvement: aligned SyntaxError reporting with other JS engines. Previously, file name was a part of the error message. Now it is reported as "stack" property. *) Improvement: improved Error.stack traces. Stack traces are now attached in error constructors. Performance of Error.stack is improved by ~100 times. *) Bugfix: fixed string offset map corruption in scope values hash. The issue caused SEGV/SIGBUS crashes for multi-byte UTF-8 string constants with more than 32 characters when accessing a character at index >= 32 (e.g. via .replace() or bracket notation). The issue was introduced in e7caa46d (0.9.5). *) Bugfix: fixed heap-buffer-overflow in atom hash caused by Symbol(). *) Bugfix: fixed WebCrypto importKey() crash with mismatched JWK key type. *) Bugfix: fixed interactive mode detection for piped stdin. The issue was introduced in 4988565c (0.8.0). *) Bugfix: fixed build on MacOS. *) Bugfix: fixed PTR macro compatibility with newer BFD library. *) Bugfix: auto/cc: use portable 'command -v' instead of 'which'. Thanks to Zurab Kvachadze. Changes with njs 0.9.5 13 Jan 2026 nginx modules: *) Feature: added native module support for QuickJS engine. The following directives were added: js_load_http_native_module, js_load_stream_native_module. *) Bugfix: fixed js_body_filter with multiple chunks for QuickJS engine. *) Bugfix: fixed buffer_type inheritance in if blocks for js_body_filter. Previously, when js_body_filter was used inside an if block, the data parameter received Buffer type instead of the expected String type. *) Bugfix: fixed js_body_filter when data is not in memory. Previously, when upstream data was delivered from nginx cache, js_body_filter was not able to process it correctly. *) Bugfix: improved r.subrequest() error handling. Fixed a problem of a lost write event when the njs handler making r.subrequest() is called from a lua handler as a subrequest. Core: *) Bugfix: fixed XMLAttr object. Pointer to xmlAttr could become invalid when the parent XMLNode was modified. *) Bugfix: fixed XMLNode update. *) Bugfix: fixed ArrayBuffer with detached buffers. *) Bugfix: added missing detached array checks. *) Bugfix: fixed fs.mkdir() and friends. *) Bugfix: fixed path restoration in fs.mkdir() and friends on error. *) Bugfix: fixed missed allocation check in promise code. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 2026/01/07 08:49:18 wiz Exp $ d3 1 a3 2 DISTNAME= freenginx-1.28.0 PKGREVISION= 2 @ 1.2 log @*: recursive bump for icu 78.1 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.1 2025/12/25 18:57:20 osa Exp $ d4 1 a4 1 PKGREVISION= 1 @ 1.1 log @www/freenginx: add new port, freenginx stable version 1.28.0 @ text @d1 1 a1 1 # $NetBSD$ d4 1 @