Repository navigation
Update Tokio and ZIP to resolve RustSec advisories - #224
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #224 +/- ##
==========================================
- Coverage 87.29% 87.29% -0.01%
==========================================
Files 310 310
Lines 46685 46694 +9
==========================================
+ Hits 40756 40763 +7
- Misses 5929 5931 +2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🔵 Needs a closer look
It is a major-version dependency bump (zip 8→9) whose full workspace build/test outcome (MSRV 1.88, feature flags, native/Wasm) cannot be verified here, so final human confirmation is warranted.
No open issues 🎉
What changed in this PR
This PR bumps two dependencies to versions that resolve open RustSec advisories: Tokio 1.54.1 (fixes the Interval race condition, RUSTSEC-2026-0384) and zip 9.0.5 (fixes the SUID/SGID, symlink-permission, and symlink-target advisories, RUSTSEC-2026-0367/0368/0369). Because zip 9.x changed ZipArchive::file_names() to return impl Iterator<Item = Result<Cow<str>, ZipError>> (fallible UTF‑8 decoding), the two call sites in the runtime are adapted to handle the per-entry Result and surface decode failures as a Java ZipException.
Changes:
- Raise
tokioto^1.54.1(workspace) andzipto^9.0.5(rustjava-runtime), updatingCargo.lockwith the new transitive deps (nix,cfg_aliases). - Adapt
ZipFile.entries()to collectfile_names()viacollect::<Result<Vec<_>, _>>(), converting errors toZipException. - Adapt
JarFile.getManifest()'s manifest lookup loop to match each fallible filename, usinginto_owned()and propagating decode errors asZipException.
| File | Description |
|---|---|
Cargo.toml |
Bumps workspace tokio to ^1.54.1. |
rustjava-runtime/Cargo.toml |
Bumps zip to ^9.0.5. |
Cargo.lock |
Updates tokio/zip checksums and adds nix + cfg_aliases transitive deps. |
rustjava-runtime/src/classes/java/util/zip/zip_file.rs |
Adapts entries() to fallible file_names(), raising ZipException on decode error. |
rustjava-runtime/src/classes/java/util/jar/jar_file.rs |
Adapts manifest lookup to iterate fallible filenames, raising ZipException on decode error. |
Review effort: Balanced
Changes
Verification
Closes #219
Closes #220
Closes #221
Closes #223