Skip to content

fix(auth): scope info/collections expiry exemption to its exact route#2435

Merged
taddes merged 3 commits into
masterfrom
fix/info-collections-exact-path-match-STOR-620
Jul 1, 2026
Merged

fix(auth): scope info/collections expiry exemption to its exact route#2435
taddes merged 3 commits into
masterfrom
fix/info-collections-exact-path-match-STOR-620

Conversation

@taddes

@taddes taddes commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

The Hawk expiry exemption for the legacy read-only /1.5/{uid}/info/collections endpoint was keyed off a /info/collections path suffix, which also matches the storage route /1.5/{uid}/storage/info/collections (collection info, item collections). This matches the legacy route exactly (four path segments) so the exemption applies only there. Adds a unit test.

This branch also includes the CI workflow fix (install clippy/rustfmt components and run poetry install on cache miss) so it passes CI — it is the identical commit already on the other open fix branches and will collapse to a no-op once any of them merges to master.

Testing

cargo test -p syncserver --lib web::auth

Closes STOR-620

taddes added 2 commits June 30, 2026 15:21
The Hawk expiry exemption for the legacy read-only /1.5/{uid}/info/collections endpoint was applied to any path ending in "/info/collections", which also matches the storage route /1.5/{uid}/storage/info/collections (collection "info", item "collections"). Match the legacy route exactly (four path segments) so the exemption no longer applies to that writable storage item. Adds a unit test.

Closes STOR-620
The clippy, clippy-release, and rust-checks jobs only restored the Rust toolchain cache and ran `rustup default`, which yields a toolchain without the clippy/rustfmt components when the `*-rust-toolchain-${RUST_VERSION}` cache is absent (e.g. after a RUST_VERSION bump) or holds a component-less toolchain, causing "cargo-clippy is not installed" failures. These jobs now install the components idempotently. Likewise, python-checks now runs `poetry install` so ruff/mypy/etc. are present when the virtualenv cache misses.
@taddes taddes self-assigned this Jun 30, 2026
@taddes taddes merged commit e480bb9 into master Jul 1, 2026
24 checks passed
@taddes taddes deleted the fix/info-collections-exact-path-match-STOR-620 branch July 1, 2026 20:38
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.

2 participants