// Copyright 2015-2016 Brian Smith. // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above // copyright notice and this permission notice appear in all copies. // // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY // SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. //! Safe, fast, small crypto using Rust with BoringSSL's cryptography //! primitives. //! //! # Feature Flags //! //!
Feature //! | Description //! |
---|---|
alloc (default)
//! | Enable features that require use of the heap, RSA in particular. //! |
dev_urandom_fallback (default)
//! | This is only applicable to Linux. On Linux, by default,
//! ring::rand::SystemRandom will fall back to reading
//! from /dev/urandom if the getrandom()
//! syscall isn't supported at runtime. When the
//! dev_urandom_fallback feature is disabled, such
//! fallbacks will not occur. See the documentation for
//! rand::SystemRandom for more details.
//! |
std
//! | Enable features that use libstd, in particular
//! std::error::Error integration. Implies `alloc`.
//! |
wasm32_c
//! | Enables features that require a C compiler on wasm32 targets, such as
//! the constant_time module, HMAC verification, and PBKDF2
//! verification. Without this feature, only a subset of functionality
//! is provided to wasm32 targets so that a C compiler isn't needed. A
//! typical invocation would be:
//! TARGET_CC=clang-10 TARGET_AR=llvm-ar-10 cargo test --target=wasm32-unknown-unknown --features=wasm32_c
//! with llvm-ar-10 and clang-10 in $PATH .
//! (Going forward more functionality should be enabled by default, without
//! requiring these hacks, and without requiring a C compiler.)
//! |