2.1.3 (older version)
From mozilla/supply-chain copy of hg. By Alex Franchuk.
These reviews are from cargo-vet. To add your review, set up cargo-vet
and submit your URL to its registry.
The current version of ZIP is 2.2.1.
2.1.3 (older version)
From mozilla/supply-chain copy of hg. By Alex Franchuk.
0.6.6 (older version)
From kornelski/crev-proofs copy of git.savannah.gnu.org.
Packaged for Guix (crates-io)
0.6.6 (older version)
From kornelski/crev-proofs copy of salsa.debian.org.
Only in debcargo (unstable). Changelog:
0.6.4 — diff review from 0.6.3 only (older version)
From mozilla/supply-chain copy of hg. Audited without comment by Mike Hommey.
cargo-vet does not verify reviewers' identity. You have to fully trust the source the audits are from.
This crate will not introduce a serious security vulnerability to production software exposed to untrusted input. More…
This crate can be compiled, run, and tested on a local workstation or in controlled automation without surprising consequences. More…
May have been packaged automatically without a review
These reviews are from Crev, a distributed system for code reviews. To add your review, set up cargo-crev
.
The current version of ZIP is 2.2.1.
0.5.3 (older version) Thoroughness: Low Understanding: Medium
by MaulingMonkey on 2019-09-03
0.5.3: Replaced libflate with flate2, minor touchups. LGTM. 0.5.2: Looks like a solid crate. A few minor concerns:
CON
or similar.File | Rating | Notes |
---|---|---|
benches/read_entry.rs | +1 | |
examples/extract_lorem.rs | +1 | |
examples/extract.rs | +1 | |
examples/file_info.rs | +1 | |
examples/stdin_info.rs | +1 | |
examples/write_dir.rs | 0 | 755 permissions make me slightly nervous, but I think it's safe |
examples/write_sample.rs | 0 | 755 permissions make me slightly nervous, but I think it's safe |
script/doc-upload.cfg | +1 | |
src/compression.rs | +1 | |
src/cp437.rs | +1 | |
src/crc32.rs | +1 | |
src/lib.rs | +1 | |
src/read.rs | +1 | |
src/result.rs | +1 | |
src/spec.rs | +1 | |
src/types.rs | 0 | Could be a little more defensive towards misue, but pretty solid. |
src/write.rs | +1 | |
tests/data/*.zip | Unreviewed... probably OK though | |
tests/end_to_end.rs | +1 | |
tests/invalid_date.rs | +1 | |
tests/zip64_large.rs | +1 | |
.gitignore | +1 | |
.travis.yml | -1 | |
appveyor.yml | -1 | |
Cargo.toml | +1 | |
Cargo.toml.orig | +1 | |
LICENSE | +1 | MIT |
README.md | +1 |
Other | Rating | Notes |
---|---|---|
unsafe | +1 | No unsafe code |
fs | +1 | Examples/tests appear safe. |
io | +1 | |
docs | +1 | |
tests | +1 | Could use more fuzzing tests |
Line | Notes |
---|---|
215 | I'd like this to have a scarier name... but eh, at least it's sound. |
250 | This drops invalid components... I think it should return an error on invalid components. But at least it's sound and shouldn't be vulnerable to path navigation attacks? |
250 | This doesn't forbid CON or similar. |
298 | Excellent test, this is exactly what I want to see! |
0.5.2 (older version) Thoroughness: Low Understanding: Medium
by MaulingMonkey on 2019-07-31
Looks like a solid crate. A few minor concerns:
CON
or similar.File | Rating | Notes |
---|---|---|
benches/read_entry.rs | +1 | |
examples/extract_lorem.rs | +1 | |
examples/extract.rs | +1 | |
examples/file_info.rs | +1 | |
examples/stdin_info.rs | +1 | |
examples/write_dir.rs | 0 | 755 permissions make me slightly nervous, but I think it's safe |
examples/write_sample.rs | 0 | 755 permissions make me slightly nervous, but I think it's safe |
script/doc-upload.cfg | +1 | |
src/compression.rs | +1 | |
src/cp437.rs | +1 | |
src/crc32.rs | +1 | |
src/lib.rs | +1 | |
src/read.rs | +1 | |
src/result.rs | +1 | |
src/spec.rs | +1 | |
src/types.rs | 0 | Could be a little more defensive towards misue, but pretty solid. |
src/write.rs | +1 | |
tests/data/*.zip | Unreviewed... probably OK though | |
tests/end_to_end.rs | +1 | |
tests/invalid_date.rs | +1 | |
tests/zip64_large.rs | +1 | |
.gitignore | +1 | |
.travis.yml | -1 | |
appveyor.yml | -1 | |
Cargo.toml | +1 | |
Cargo.toml.orig | +1 | |
LICENSE | +1 | MIT |
README.md | +1 |
Other | Rating | Notes |
---|---|---|
unsafe | +1 | No unsafe code |
fs | +1 | Examples/tests appear safe. |
io | +1 | |
docs | +1 | |
tests | +1 | Could use more fuzzing tests |
Line | Notes |
---|---|
215 | I'd like this to have a scarier name... but eh, at least it's sound. |
250 | This drops invalid components... I think it should return an error on invalid components. But at least it's sound and shouldn't be vulnerable to path navigation attacks? |
250 | This doesn't forbid CON or similar. |
298 | Excellent test, this is exactly what I want to see! |
Lib.rs has been able to verify that all files in the crate's tarball, except Cargo.lock
,
are in the crate's repository with a git tag matching the version. Please note that this check is still in beta, and absence of this confirmation does not mean that the files don't match.
Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories, so there is a possibility that published crates have a misleading repository URL, or contain different code from the code in the repository.
To review the actual code of the crate, it's best to use cargo crev open zip
. Alternatively, you can download the tarball of zip v2.2.1 or view the source online.
There's a lot of new code and features, however it's almost entirely very straightforward and safe. All new dependencies are appropriate.
FixedSizeBlock::interpret
could be unsound if implemented on a non-1-byte-aligned type, however right now that is not the case (submitted https://github.com/zip-rs/zip2/issues/198).