This review is from Crev, a distributed system for code reviews. To add your review, set up cargo-crev.

0.1.1 (current) Rating: Positive Thoroughness: None Understanding: None

by fishi0x01 on 2020-03-13

I am the maintainer of libdb-sys. This crate is a classic ffi wrapper around Berkeley DB. This means, that by design this code contains a lot of unsafe external ffi calls. This crate uses static linking, i.e., the Berkeley DB code is included and build together with this crate.

I did not review nor understand the underlying Berkeley DB code itself, which is why I cannot give this review a satisfyable thoroughness or understanding value. However, the Berkeley DB code was retrieved from official sources (Oracle and official libdb repos from rpm). This is why I trust this crate and give it an overall positive rating.


Lib.rs has been able to verify that all files in the crate's tarball 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 libdb-sys. Alternatively, you can download the tarball of libdb-sys v0.1.1 or view the source online.

The crate tarball contains, among others, these files:

  • autotools obfuscated code, 1MB: vendor/db-5.3.21/dist/configure
  • autotools obfuscated code, 720KB: vendor/db-4.8.30/dist/configure
  • autotools obfuscated code, 98KB: vendor/db-4.8.30/mod_db4/configure
  • obscure autoconf code, 35KB: vendor/db-5.3.21/dist/configure.ac
  • obscure autoconf code, 28KB: vendor/db-4.8.30/dist/configure.ac