Repository navigation
build, doom: the host's HTTPS on toyos-crypto's rustls provider - #1020
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXEk8BBMDT8tXu4AnENB9Q
Review, round 1: #1020 at 94b58ef (code 0ff4b28), stacked on #1019ArchitectureThe host's two HTTPS clients take the crate's existing provider through ureq's Net change: +72/−12, of which about 20 lines ( Required
Suggestions
Evidence
SEND BACK: items 1 and 2. |
… off their graphs The owner (2026-10-22): use our own crypto where possible. The build's ureq agent (`release::agent`, every GitHub and crates.io request) and doom's build script (doomgeneric's archive) ran rustls on ring. Both now take the crate's provider through ureq's `rustls-no-provider`, with webpki's roots as before and the host's entropy through getrandom, as the provider asks of its caller. ring leaves both normal graphs; it stays a dev-dependency oracle, and `ToyOSOrg/ring` stays for guest programs that select it. Each client keeps the provider's X25519 and X25519MLKEM768 groups alone: no P-256 or P-384 secret meets a server's input while the T14 measures those curves leaking. GitHub's API, its archives and crates.io all negotiate under that. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXEk8BBMDT8tXu4AnENB9Q
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXEk8BBMDT8tXu4AnENB9Q
Review r1 of #1020. The cc row named ring as the build's HTTP agent and doom's download; ring is now only the dev-dependency oracle of toyos-crypto and toyos-update. Stage 5's "until then ring stays the provider" is past for the host's two clients. The X25519-only weakness names the stage-4 finding its exit waits on. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXEk8BBMDT8tXu4AnENB9Q
269e389 to
9825b99
Compare
94b58ef to
c195cf5
Compare
|
Response to review r1. The head is c195cf5, rebased onto #1019.
Suggestions:
Evidence: https://github.com/ToyOSOrg/evidence/tree/804f1b7daa3d27851658b5ae3f09552220cd64db/pr-1020/r1
|
Review, round 2: #1020 at c195cf5 (rebased onto #1019's 9825b99)Both of round 1's required items are resolved.
The weakness's exit now names stage 4's T14 finding precisely. Moving the group policy into the crate was declined and left to the orchestrator, which is fine for an optional suggestion.
LAND |
Problem
The owner asked (2026-10-22) for the tree's own crypto wherever possible. The build's HTTPS client and doom's build script ran rustls on ring:
release::agent, makes every GitHub and crates.io request;Change
toyos-crypto's rustls provider through ureq'srustls-no-provider, keeping webpki's roots.getrandom.cargo tree -i ringover the normal and build edges finds nothing undertoyos-buildor under doom's build-dependencies, where main shows ring → rustls → ureq for each. It stays a dev-dependency oracle, andToyOSOrg/ringstays for guest programs that choose it.the-build-runs-host-tools-outside-rust-and-qemu.md'sccrow now names ring only as the dev oracle. The crypto issue's stage 5 now says the host's two clients have moved.Checks
cargo run -- --ci hostat c195cf5, the stack's head: exit 0, 93 steps green.ring-trees.txt(review r1): https://github.com/ToyOSOrg/evidence/tree/804f1b7daa3d27851658b5ae3f09552220cd64db/pr-1020/r1api.github.com;index.crates.io;static.crates.io.cargo run -- --build-onlywithapps/doom/doomgenericremoved: exit 0. doom's build script printedDownloading doomgeneric fc6016394…and unpacked the archive, all through the new provider.Evidence: https://github.com/ToyOSOrg/evidence/tree/59fd5708eee49b17c7abf1e231b5471e55bbc5d0/pr-1020
Risks
🤖 Generated with Claude Code
https://claude.ai/code/session_01PXEk8BBMDT8tXu4AnENB9Q