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.

0.6.6 (older version) unknown

From kornelski/crev-proofs copy of salsa.debian.org.

Only in debcargo (unstable). Changelog:

  • Team upload.
  • Package zip 0.6.6 from crates.io using debcargo 2.6.1
  • Bump constant_time_eq dependency to 0.3.

cargo-vet does not verify reviewers' identity. You have to fully trust the source the audits are from.

safe-to-deploy (implies safe-to-run)

This crate will not introduce a serious security vulnerability to production software exposed to untrusted input. More…

safe-to-run

This crate can be compiled, run, and tested on a local workstation or in controlled automation without surprising consequences. More…

unknown

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) Rating: Positive 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:

  • 755 permissions. Necessary, but bandied about.
  • Unsanitized path names are accessible, easy to misuse.
  • Doesn't ban access to CON or similar.
  • Lacks fuzz tests

Detail

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

src/types.rs

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) Rating: Positive Thoroughness: Low Understanding: Medium

by MaulingMonkey on 2019-07-31

Show review…

Looks like a solid crate. A few minor concerns:

  • 755 permissions. Necessary, but bandied about.
  • Unsanitized path names are accessible, easy to misuse.
  • Doesn't ban access to CON or similar.
  • Lacks fuzz tests

Detail

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

src/types.rs

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.