Repository navigation
Immutable
release. Only release title and notes can be modified.
Added
- Metrics endpoint over HTTPS with a bearer token:
metrics.tls_certandmetrics.tls_key
serve/metricsover TLS only,metrics.bearer_token_filemakes every scrape send
Authorization: Bearer <token>(otherwise401), so Prometheus can scrape with
scheme: httpsandauthorization.credentials_file. Both files are read again on every
SIGHUP, so a renewed certificate or a rotated token takes effect with
systemctl reload. A token on an address other than loopback without TLS is a
configuration error; an endpoint off loopback without a token still gets the warning. [session]end_at_token_expiry(defaultfalse) ends a session that logged in with
OAuth at its token'sexpplustoken_expiry_grace_secs(default 300, 0-86400), so
an account disabled in the IdP does not stay logged in until the client disconnects.
The end is absolute: a session that starts after it (a token accepted within
oauth.leeway_secs, a slow backend) is closed right after the login, and a grace below
the leeway gives a warning.
The session is closed like one ended bymax_session_secs; with both set, the earlier
deadline applies. Password sessions are not affected. Newreason="token_expired"in
mail_auth_proxy_sessions_ended_totaland in thesession closed by limitlog line.
Changed
- Metrics endpoint: idle connections no longer take the 4 scrape slots. Up to 64
connections wait for their request (TLS handshake and request head within 5 s instead
of 10 s); only a request that gets the metrics takes a scrape slot. A connection
accepted before a reload that changed the endpoint's TLS or token is closed without an
answer.
Security
- Dependencies updated for RustSec advisories published after 0.7.0-rc.1: rustls 0.23.46
(RUSTSEC-2026-0346, -0347, -0348, -0349), rustls-webpki 0.103.16 (RUSTSEC-2026-0382) and
tokio 1.53.3 (RUSTSEC-2026-0386). Relevant here are the TLS client connections to the
backends and to the identity providers' JWKS endpoints: an unauthenticated ServerHello
could downgrade later connections to a classical key exchange (-0349), and certificate
verification could accept a distrusted intermediate (-0382). The proxy uses no ECH, no
custom client session store, no Brotli certificate compression and noAsyncFd, so the
other advisories do not apply to it.
Install
Debian and Ubuntu: APT repository, see INSTALL.md.
Other systems: download the package or archive and SHA256SUMS, SHA256SUMS.asc and
release-signing-key.asc, then:
gpg --import release-signing-key.asc # 0B58 3E99 144D CD9B 5A34 D96B E52C 6D1E FB67 927B
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS