Merge remote-tracking branch 'origin/main'

# Conflicts:
#	Makefile
#	debian/changelog
#	tests/01-module/01-e2e.robot
This commit is contained in:
2026-04-23 09:28:56 +02:00
6 changed files with 230 additions and 39 deletions

35
debian/changelog vendored
View File

@@ -17,6 +17,41 @@ nginx-ipng-stats-plugin (0.8.2-1) unstable; urgency=medium
-- Pim van Pelt <pim@ipng.ch> Thu, 23 Apr 2026 12:00:00 +0200
nginx-ipng-stats-plugin (0.8.1-1) unstable; urgency=medium
* Pre-release v0.8.1.
- Drop the flaky "Shared-listen-include across multiple
server blocks" robot test. It asserted that nginx's NOTICE
log line "ipng_stats: stripped socket options from
duplicate listen" appeared on stderr of `nginx -t 2>&1`,
but the NOTICE lands in the configured error_log
destination (which the lab routes into docker's log stream)
rather than the subprocess's stderr. The stripping
behaviour itself still works — it's just not observable
from `nginx -t` output in this harness.
-- Pim van Pelt <pim@ipng.ch> Wed, 22 Apr 2026 10:10:00 +0200
nginx-ipng-stats-plugin (0.8.0-1) unstable; urgency=medium
* Pre-release v0.8.0.
- Log handler now accounts for request bodies that nginx
discarded before any handler could read them (rate-limit
403, auth_request denial, 413 on fixed Content-Length,
early `return 4xx;` on POST). Those paths route through
ngx_http_discard_request_body / HTTP/2 skip_data, both of
which drop bytes without touching r->request_length —
leaving nginx_ipng_bytes_in_total blind to most of the
wire on rate-limited POST-heavy workloads (observed ~20x
gap against btop on a CT-log-style box). When
r->discard_body is set and the client advertised a
Content-Length, we now add content_length_n to bin_sz.
Normal 200-OK POSTs are unchanged. See docs/nginx-issues.md
for the full analysis of which nginx paths update
r->request_length and which don't.
-- Pim van Pelt <pim@ipng.ch> Wed, 22 Apr 2026 09:59:53 +0200
nginx-ipng-stats-plugin (0.7.2-1) unstable; urgency=medium
* Pre-release v0.7.2.