Skip to content

failing test on master regarding ssl-passthrough - #831

Draft
KlausNie wants to merge 1 commit into
haproxytech:masterfrom
KlausNie:test/allowlist-dropped-from-https-under-cluster-passthrough
Draft

failing test on master regarding ssl-passthrough#831
KlausNie wants to merge 1 commit into
haproxytech:masterfrom
KlausNie:test/allowlist-dropped-from-https-under-cluster-passthrough

Conversation

@KlausNie

@KlausNie KlausNie commented Jul 13, 2026

Copy link
Copy Markdown

Purpose

Test-only demonstration PR — intentionally contains no fix, and the new e2e test is expected to FAIL against master. It reproduces a fail-open bug in allow-list/deny-list enforcement; a full write-up will follow as an issue linking back here.

What it demonstrates

Once any single ingress in the cluster uses ssl-passthrough, the controller-wide haproxy.SSLPassthrough flag is true, and addRules() (pkg/ingress/ingress.go:167-170) places every ingress's REQ_DENY/REQ_CAPTURE rule on {http, ssl} instead of {http, https} — dropping the https frontend even for ingresses that never opted into passthrough. Their TLS traffic still terminates on the https frontend (relayed via the ssl frontend's default backend, or arriving directly on the QUIC binds), so their allow-list/deny-list silently goes unenforced on HTTPS while plain HTTP stays correctly filtered.

This is distinct from #770 / 79d754a: that fix made the frontend selection stable per reconcile pass (it previously depended on Go map iteration order mid-pass), but the stable selection itself still drops the https frontend. Observed live on 3.2.12: the intermittent enforcement described in #770 became a permanent fail-open.

@KlausNie KlausNie changed the title TEST/MEDIUM: ssl-passthrough: failing e2e test - allow-list dropped from https frontend for non-passthrough ingresses TEST: ssl-passthrough: failing e2e test => allow-list dropped from https frontend for non-passthrough ingresses Jul 13, 2026
@KlausNie
KlausNie force-pushed the test/allowlist-dropped-from-https-under-cluster-passthrough branch from eb81653 to d5c1ba0 Compare July 13, 2026 11:25
@KlausNie KlausNie changed the title TEST: ssl-passthrough: failing e2e test => allow-list dropped from https frontend for non-passthrough ingresses failing test on master regarding ssl-passthrough Jul 13, 2026
@KlausNie
KlausNie force-pushed the test/allowlist-dropped-from-https-under-cluster-passthrough branch from d5c1ba0 to 57ace45 Compare July 13, 2026 11:40
…om https frontend

Once any ingress uses ssl-passthrough, allow-list/deny-list rules of all
other ingresses lose the https frontend, where their TLS traffic lands.
@KlausNie
KlausNie force-pushed the test/allowlist-dropped-from-https-under-cluster-passthrough branch from 57ace45 to 35fa1db Compare July 28, 2026 05:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant