Skip to content

fix: preserve atomic cache snapshots and bound feed inputs - #53

Merged
AnderEnder merged 1 commit into
mainfrom
fix/audit-cache-and-input-bounds
Oct 21, 2026
Merged

AnderEnder merged 1 commit into
mainfrom
fix/audit-cache-and-input-bounds

Conversation

@AnderEnder

@AnderEnder AnderEnder commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Concurrent cache writes could mix bodies with validators, malformed HTTP 200 responses could evict a usable feed, and large durations could panic. Publish metadata and body in one atomic record, preserve valid cached feeds and unrelated files, and use checked duration arithmetic.

Enforce a 16 MiB decoded-body limit during HTTP reads (including gzip and chunked responses), cache reads/writes, and direct parsing. Existing cache pairs remain readable; older binaries cannot read newly written atomic records.

Validation: formatting, clippy with warnings denied, the full test suite (292 tests), and release build. Regressions cover concurrent writers, malformed replacement, legacy cache upgrades, cache clearing, oversized bodies, and duration overflow.

Stack position: 1 of 4; targets main. Merge the stack in order. Consolidated documentation is in the final PR.

Merge order: #53 → #54 → #55 → #56.

@AnderEnder
AnderEnder merged commit 614345a into main Oct 21, 2026
6 checks passed
@AnderEnder
AnderEnder deleted the fix/audit-cache-and-input-bounds branch October 21, 2026 13:29
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