Skip to content

Commit 1e2807c

Browse files
authored
Merge pull request #407 from cipherstash/james/cip-3159-token-refresh
fix: backport stack-auth token-refresh fix; release 2.2.3
2 parents bdeead3 + 9411667 commit 1e2807c

26 files changed

Lines changed: 10199 additions & 7 deletions

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
66

77
## [Unreleased]
88

9+
## [2.2.3] - 2026-06-17
10+
11+
### Fixed
12+
13+
- **ZeroKMS authentication failures ~15 minutes after startup**: Fixed an issue in the access-key authentication path where, after an in-flight request was interrupted at the wrong moment (for example, a client disconnecting mid-query), access-token renewal could stall. This caused `ZeroKMS error: Request not authorized` on all encrypt/decrypt operations roughly 15 minutes (the access-token lifetime) after connecting — connections worked on startup and then began failing in lockstep.
14+
915
## [2.2.2] - 2026-06-01
1016

1117
### Fixed
@@ -261,7 +267,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
261267
- Integration with CipherStash ZeroKMS.
262268
- Encrypt Query Language (EQL) for indexing and searching encrypted data.
263269

264-
[Unreleased]: https://github.com/cipherstash/proxy/compare/v2.2.2...HEAD
270+
[Unreleased]: https://github.com/cipherstash/proxy/compare/v2.2.3...HEAD
271+
[2.2.3]: https://github.com/cipherstash/proxy/compare/v2.2.2...v2.2.3
265272
[2.2.2]: https://github.com/cipherstash/proxy/compare/v2.2.1...v2.2.2
266273
[2.2.1]: https://github.com/cipherstash/proxy/compare/v2.2.0-alpha.1...v2.2.1
267274
[2.2.0-alpha.1]: https://github.com/cipherstash/proxy/compare/v2.1.22...v2.2.0-alpha.1

Cargo.lock

Lines changed: 3 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
[workspace]
22
resolver = "2"
33
members = ["packages/*"]
4+
# Vendored crate is consumed only via [patch.crates-io] below, not as a member.
5+
exclude = ["vendor/stack-auth"]
46

57
[workspace.package]
6-
version = "2.2.2"
8+
version = "2.2.3"
79
edition = "2021"
810

911
[profile.dev]
@@ -56,3 +58,13 @@ tracing-subscriber = { version = "^0.3.20", features = [
5658
"env-filter",
5759
"std",
5860
] }
61+
62+
# HOTFIX (CIP-3159): backport the stack-auth token-refresh CancelGuard fix onto
63+
# the 0.34.1-alpha.4 source that cipherstash-client 0.34.1-alpha.4 pins. Without
64+
# this, a cancelled get_token() future could strand `refresh_in_progress = true`,
65+
# wedging all later refreshes and causing ZeroKMS "Request not authorized" exactly
66+
# ~15 min (token TTL) after startup. The patch keeps version 0.34.1-alpha.4 so it
67+
# satisfies cipherstash-client's exact pin while replacing the registry source.
68+
# Remove once Proxy moves to a cipherstash-client built against stack-auth >= 0.36.0.
69+
[patch.crates-io]
70+
stack-auth = { path = "vendor/stack-auth" }

vendor/stack-auth/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/target

0 commit comments

Comments
 (0)