Repository navigation
audit: ignore quinn-proto RUSTSEC-2026-0338..0342; fix flaky test_store_decrypted_module (flush) - #25
Merged
Merged
Conversation
…ked by iroh 0.95 rc crypto)
…ed_module tokio::fs::File::write_all can return while the write is still in flight on the blocking pool; dropping the handle without flush let readers observe an empty file (flaky test_store_decrypted_module in CI). Mirrors the existing flush in store_encrypted_module.
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.
cargo auditfails on five quinn-proto advisories against 0.11.15: RUSTSEC-2026-0338, 0339, 0340, 0341 and 0342.Why ignores and not a bump: fixed versions exist (0.11.17 and 0.11.18; latest is 0.11.19), but quinn-proto 0.11.17+ needs
rand0.10, which pulls stablechacha200.10 andcipher0.5. That can't resolve alongsideiroh =0.95'scrypto_box 0.10.0-pre.0, which pinschacha20 0.10.0-rc.2and the rcdigest/crypto-common. Bothcargo update -p quinn-proto --precise 0.11.18and a directquinn-proto >=0.11.18floor fail to resolve. The real exit is an iroh bump (1.x), which is out of scope here.Change: add five ignores to
.cargo/audit.tomlwith a reason and exit criterion, plus matching rows indocs/AUDIT_SUPPRESSIONS.md. No Cargo.toml or consensus changes. The quinn-proto git patch is unchanged.Exposure: remote-peer DoS (panics or memory growth) on the optional QUIC transport (
quinn/h3-quinn) only.Local verification (crates.io blvm-*,
[patch.crates-io]stripped locally and not committed,-j 2):cargo audit: exit 0, no vulnerabilities, 10 allowed warnings.cargo test --lib: 1428 passed, 1 failed, 2 ignored. The one failure,r66_win_holds_h_when_not_ibd_ready, passed when rerun alone. It is a timing flake unrelated to this change.Also fixes flaky
test_store_decrypted_module(failed on #24 run 38592533533, incl. rerun: binary file exists but is empty). Root cause:store_decrypted_module(src/module/encryption.rs) called tokiowrite_alland dropped theFilewithoutflush(); tokio's file write can still be in flight on the blocking pool, so a reader can see an empty file. Fix:file.flush().awaitwith error propagated (same asstore_encrypted_modulealready does). Commit 3c52be8.Local:
tests/module_encryption_tests.rs10/10 runs pass (--test-threads=8);cargo test --lib1429 passed, 0 failed, 2 ignored.