7ae8a4780c
test(api): starvation test asserts no-starvation; latency bounds only under HAPROXY_MGR_STRICT_TIMING
shadowdaoandClaude Opus 5.52026-10-09 15:40:22 -07:00
e134b2b234
Merge pull request 'fix(haproxy): set X-CLIENT-IP instead of adding it' (#11) from fix/x-client-ip-set-not-add into main
jknapp2026-09-18 23:33:05 +00:00
43e522104b
Merge pull request 'fix(domain-removal): stop deleting certificates other live sites are served from' (#9) from fix/remove-domain-shared-cert-refcount into main
jknapp2026-08-23 14:52:02 +00:00
a00431854d
Merge pull request 'fix(ip-blocking): the runtime map fast path has never once run' (#8) from fix/runtime-map-worker-prefix-and-path into main
jknapp2026-08-22 18:20:06 +00:00
e33167159d
Merge pull request 'fix(security-stats): stop reporting counters the stick tables never stored' (#7) from fix/stick-table-field-contract into main
jknapp2026-08-22 17:57:57 +00:00
b6a62e7f9f
fix(security-stats): stop reporting counters the stick tables never stored
shadowdaoandClaude Opus 52026-08-22 10:48:49 -07:00
b2f835a88c
fix(logging): capture the full User-Agent, drop per-request SPOE log noise
Claude2026-08-22 10:17:07 -07:00
711c670319
fix(logging): stop silently discarding every access log line
Claude2026-08-22 10:10:59 -07:00
67837f59cb
Merge pull request 'fix(haproxy): silence the ACL pattern warning on wp_admin_asset' (#6) from fix/haproxy-acl-pattern-warning into main
jknapp2026-08-17 19:59:17 +00:00
17ca731ed3
build: pin haproxy to 3.0.11-1+deb13u3
shadowdao2026-08-14 09:55:51 -07:00
bcd56b8352
ci: gate the build on a real haproxy -c of the rendered config
shadowdao2026-08-14 09:36:33 -07:00
e545f3b6e0
test(haproxy): harden wp-admin gate suite against comment-collision, fix two false doc claims
shadowdaoandClaude Opus 52026-08-14 09:38:49 -07:00
8a8d9c5fe3
fix(haproxy): normalise the URI before matching, closing five gate bypasses
shadowdaoandClaude Opus 52026-08-14 09:09:35 -07:00
e2290192f3
coraza: ship rules-catalog.json generated from bundled CRS at build time
shadowdaoandClaude Opus 4.72026-05-14 06:57:42 -07:00
2e19513851
coraza: reserve rule-ID range 990000000-990999999 for WHP-generated rules
shadowdao2026-05-14 06:53:37 -07:00
de221a1326
coraza: add second Include for runtime-managed local-overrides.conf
shadowdao2026-05-14 06:51:24 -07:00
e1d479b74e
coraza: drop 913xxx scanner-UA from enforce list (FP on Mastodon + SiteLock)
shadowdao2026-05-13 19:13:22 -07:00
131284fd0c
refactor(suspension): serve via /suspended route on default-backend, drop bk_suspended
shadowdaoandClaude Opus 4.72026-05-13 12:08:45 -07:00
edb02d6206
fix(suspended): tolerate startup DNS failure + use docker_dns resolvers
shadowdaoandClaude Opus 4.72026-05-13 11:52:50 -07:00
c4a9d9d7e6
feat(suspension): opt-in routing for suspended hosts via bk_suspended backend
shadowdaoandClaude Opus 4.72026-05-13 11:46:18 -07:00
657584c88e
coraza: promote 920440 + 930130 to enforce list (empirical detect-only data)
shadowdaoandClaude Opus 4.72026-05-12 18:00:21 -07:00
4262b24b7e
fix(coraza): add deny rules that act on Coraza's verdict + spop-check on backend
shadowdaoandClaude Opus 4.72026-05-12 17:16:03 -07:00
ddb4c20073
fix(coraza-spoe): match upstream's required spoe shape (groups, arg order, names)
shadowdaoandClaude Opus 4.72026-05-12 17:12:09 -07:00
69bed61697
fix(coraza-spoe): collapse args to one line + ensure trailing LF on spoe cfg
shadowdaoandClaude Opus 4.72026-05-12 17:07:12 -07:00
fed3457f29
fix(coraza): ensure haproxy.cfg ends with LF when SPOE backend appended
shadowdaoandClaude Opus 4.72026-05-12 17:03:56 -07:00
df56321167
fix(template): strip Jinja2 whitespace so no-env-var listener is byte-identical
shadowdaoandClaude Opus 4.72026-05-12 16:59:40 -07:00
c22d2cd1f4
swap werkzeug dev server for gunicorn + accept all HTTP methods on default/blocked pages
shadowdaoandClaude Opus 4.72026-05-12 15:24:28 -07:00