www/{nginx,nginx-devel,freenginx}: 3rd-party modules management
Bump PORTREVISION so the packages pick up the fixed lua, cache_purge
and njs module sources.
Sponsored by: Netzkommune GmbH
www/nginx-module-cache-purge: Update to 3.0.2.20260524
Snapshot of the current upstream tree. It fixes 404 responses on
non-PURGE requests when an "if" block is present, either at server
level or inside the location.
Sponsored by: Netzkommune GmbH
www/nginx-module-njs: Fix indexed fast paths for exotic objects
Object.values() and Object.entries() erased the concrete type of an
exotic receiver, so typed arrays could be treated as njs_array_t and
cause invalid memory reads and writes. Taken from upstream commit
bb6f23cc, which is not in a release yet.
Sponsored by: Netzkommune GmbH
www/{nginx-module-lua,nginx-module-lua-stream}: Fix Lua on freenginx
Both modules call ngx_ssl_client_hello_callback(), guarded only by
nginx_version > 1029001. freenginx reports 1030001 but has no such
function, so load_module failed with an undefined symbol. Skip the
call on freenginx, as the modules already do on nginx before 1.29.2.
ngx.req.start_time() returned r->start_time / 1000.0. freenginx takes
start_time from ngx_current_msec, which is CLOCK_MONOTONIC and not the
Unix epoch, so ngx.now() - ngx.req.start_time() silently returned
garbage. Derive the epoch value from the current time and the elapsed
milliseconds.
Sponsored by: Netzkommune GmbH
devel/kcov: relinquish maintainership
I haven't personally used this port in years. In fact, cargo-kcov
doesn't even work with modern Rust toolchains. But kcov can still be
used for other languages.