Fix five bulletin and input validation bugs - #27
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Broken bulletin configuration could hide retained public posts, unsupported API reads returned HTML with status 200, and malformed reporting addresses could open posting. The directory CLI also loaded whole files before applying its input limit, and the local reader accepted zero ports written as
:00.This patch fixes those five cases while preserving the existing service operations:
Allowheader. Individual API post routes remain removal-only.Each bug was reproduced before its fix. Regression tests cover retained SQLite state across configuration changes, closed writes, supported-method reporting, malformed mailboxes, read limits, I/O failures, exact-limit catalogs, and IPv4/IPv6 port boundaries. Service instructions, validation notes, and the roadmap describe the resulting behavior. These changes do not implement the planned change feed or establish public deployment.
Validation completed locally:
cargo llvm-cov: 91.56% line coverage, above the 80% gate.All 26 branch and pull-request CI checks passed before merge. Pull-request CI covers the Cloudflare runtime, installers, Rust platforms, Python 3.11/3.14 platform matrix, documentation, and coverage gates.
After merge, all 13 checks passed on exact
maincommit9efd0637004aeb2c9eb20506d9c64441c36845cd. Merged main CI. The short-lived branch was deleted.