Skip to content

streaming broker: a minted ek_ secret with no stated expiry is refused (X-2204) - #949

Merged
MattJackson merged 1 commit into
predevfrom
lane-sec-ek-expiry
Oct 15, 2026
Merged

MattJackson merged 1 commit into
predevfrom
lane-sec-ek-expiry

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

TODO X-2204 (docs/design/1.6.0-TODO.md:4039): an absent provider expiry became 0 and was carried to the browser.

Fix (crates/busbar-plane-streaming/src/broker.rs, the surviving streaming plane): expires_at is required and non-zero; a mint answer without one is refused with a text that does not echo the secret. The legacy busbar-voice/src/topology/minter_https.rs:178 carries the same #[serde(default)] shape; that crate is #503's (voice -> streaming fold), so it is not touched here.

1.5.5: had no ek_ minting (no client_secrets route), so there is no parity cell.

RED: crates/busbar-plane-streaming/src/tests/broker_tests.rs a_minted_answer_with_no_stated_expiry_is_refused (absent, null, 0).

…d (X-2204)

read_minted defaulted an absent expires_at to 0 and carried it to the browser
as expires_at_unix: 0, a figure that is not an instant. The expiry is now
required and non-zero; an answer without one is refused (the secret is not
echoed in the refusal).

RED: broker_tests a_minted_answer_with_no_stated_expiry_is_refused
@MattJackson
MattJackson merged commit 8fbb416 into predev Oct 15, 2026
1 check was pending
@MattJackson
MattJackson deleted the lane-sec-ek-expiry branch October 15, 2026 05:33
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