The repo includes a DESIGN.md file that describes the design motivations for the library, and it's definitely worth reading. It goes through a few really powerful techniques for writing misuse-resistant APIs, and I think some of its advice is applicable to good software engineering in general.<p><a href="https://github.com/google/mundane/blob/master/DESIGN.md" rel="nofollow">https://github.com/google/mundane/blob/master/DESIGN.md</a><p>In particular, their use of the type system to expose opaque types that only allow meaningful operations on them is something that I've seen used to great effect in other statically typed languages, like Haskell.
There is also ring[1] which is somewhat based on BoringSSL. May be their priorities/philosophies are different. It is nice to see more crypto libs being developed for Rust.<p>[1]<a href="https://github.com/briansmith/ring" rel="nofollow">https://github.com/briansmith/ring</a>
The BoringSSL build system has the following dependencies:<p>- CMake 2.8.11 or later<p>- Perl 5.6.1 or later.<p>- Either Make or Ninja.<p>- A C compiler<p>- Go 1.11 or later<p>- To build the x86 and x86_64 assembly, your assembler must support AVX2 instructions and MOVBE.<p>It's time for a pure Rust replacement for OpenSSL. This is a shim to call a Google fork of OpenSSL.
Well this is indeed Mundane. This is just a Rust frontend to an OpenSSL fork. There's nothing of major interest here and not sure why it's getting attention. There are already Rust frontends to OpenSSL.