Releases: portier/portier-broker
Releases · portier/portier-broker
v0.12.1
- It is now possible to retry the email code entry form.
- Validation of
redirect_uri
in the OAuth authorization code flow could result in false negatives in some cases, when input does not match a reserialized version of the URL. For example, a URL without a path likehttps://example.com
would always be rejected on thePOST /token
request, because during thePOST /auth
request it was parsed and stored ashttps://example.com/
(trailing slash), and no longer compared equal. This is now fixed.
v0.12.0
- The minimum supported Rust compiler version has been raised to 1.77. This only affects you when building from source.
- Windows builds for this release are built using the new Rust 1.81.0 compiler, which incorporates the standard library fix for CVE-2024-43402. This advisory is low severity for Portier, because Portier only executes trusted commands, such as
generate_rsa_command
andsendmail_command
.
v0.11.0
- Added a French translation. (Thanks @daniel-g-gagnon!)
- Improved
Accept-Language
matching: when the user requests an unknown regional variant (e.g.nl-BE
), the primary language subtag is now also matched (e.g.nl
). - Improved email address input validation. This primarily affects testing scenarios, where Portier may now reject configuration and input where an email address doesn't contain a top-level domain (e.g.
foobar@localhost
).
v0.10.1
v0.10.0
- The
rsa
feature and crate dependency have been removed. The broker now generates RSA keypairs using AWS Libcrypto (which was already a dependency). - The broker no longer uses HTTP 2 for outgoing requests, only HTTP 1.x. This reduces dependencies, and HTTP 2 has little benefit for the few small outgoing requests made by the broker.
- Timeouts for outgoing HTTP requests have been fixed and are now configurable. The defaults should be fine in most cases, but see
config.toml.dist
if you do need to change these timeouts. - Discovery now proceeds in the background if
discovery_timeout
expires. The HTTP requests are still subject to their individual timeouts, but this allows cache to warm for future authentication requests, whilediscovery_timeout
guarantees a certain response time. - Portier now sends a
List-Id
email header, intended to disable auto-responders on the receiver. - Authentication requests should no longer be double counted in
/metrics
. - Portier now sends a systemd 'stopping' notification when it begins shutdown. (This code was already present, but broken.)
v0.9.2
- This releases upgrades Rustls to address the advisory RUSTSEC-2024-0336.
v0.9.1
- Portier now logs part of the response body when receiving a HTTP error status in response to one of its outgoing requests. This should help debug issues in mailer configuration, or outgoing Webfinger / OIDC requests.
- Fixed: The new SendGrid integration introduced in v0.9.0 was broken, always resulting in a HTTP 400 status code from the SendGrid API.
- Fixed: Graceful shutdown was broken in v0.9.0, waiting indefinitely until all clients closed their (HTTP keep-alive) connections by themselves.
- Fixed: The Nix package included in the source tree failed to build AWS Libcrypto (introduced in v0.9.0 via Rustls) because of the default hardening flags added by Nixpkgs.
v0.9.0
- The minimum supported Rust compiler version has been raised to 1.72. This only affects you when building from source.
- Various dependencies have been upgraded. Most notably, all HTTP server and client functionality has been upgraded to use Hyper 1.0.
- This release incorporates a fix for GHSA-q6cp-qfwq-4gcv affecting the
h2
crate, but it is low severity for Portier. The HTTP server component in Portier does not use HTTP2. - Windows builds for this release are built using the new Rust 1.77.2 compiler, which incorporates the standard library fix for CVE-2024-24576. This advisory is low severity for Portier, because Portier only executes trusted commands, such as
generate_rsa_command
andsendmail_command
. - Portier now has support for sending mail directly using the SendGrid Web API. See the
sendgrid_token
setting inconfig.toml.dist
. - The
/metrics
endpoint now also reports 0 values.
v0.8.5
- This release fixes a security issue in the
h2
crate: RUSTSEC-2024-0003. Portier Broker is affected by this primarily in outgoing Webfinger requests or OpenID Connect discovery requests, which may use HTTP/2 connecting to untrusted hosts. Upgrading is recommended. - Various improvements were made to improve compliance with the OpenID Connect specification. These are expected to be non-breaking.
state
is now also returned with error responses.- The
prompt
parameter is now supported. For addresses that require email loop authentication,prompt=none
will now always return aninteraction_required
error. For addresses that are forwarded to another OIDC provider (like Google), theprompt
parameter is forwarded. - The
auth_time
claim was added to ID tokens. nonce
is now optional for the authorization code flow. (Portier clients typically use implicit flow, in which casenonce
is still required.)- An invalid authorization code now properly returns the
invalid_grant
error. - OIDC "request objects" are now properly rejected. (These are the
request
andrequest_uri
query parameters, not often used by clients.)
- Updated dependencies:
- Updated
redis
crate to 0.24 - Updated
ring
crate to 0.17 - Updated Hickory DNS to 0.24
- Updated
v0.8.4
- This release fixes a security issue in the
rustls-webpki
crate: RUSTSEC-2023-0053. This issue affects Portier Broker>= 0.8.0, < 0.8.4
, except custom builds that use thenative-tls
feature flag. Upgrading is strongly recommended. - Pasting the email confirmation code in the form now trims whitespace, improving compatibility with certain email clients. (by @jimdigriz)
- It is now possible to pass
_login_hint
instead oflogin_hint
to force the broker to render the email input form, but with a prefill. (by @jimdigriz)