// 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 AUTHOR DISCLAIMS ALL WARRANTIES // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR 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. //! # Feature Flags //! //!
| Feature //! | Description //! | ||||
|---|---|---|---|---|---|
alloc (default)
//! | Enable features that require use of the heap, RSA in particular. //! | ||||
less-safe-getrandom-custom-or-rdrand
//! | Treat user-provided ("custom") and RDRAND-based getrandom
//! implementations as secure random number generators (see
//! SecureRandom). This feature only works with
//! os = "none" targets. See
//!
//! register_custom_getrandom
//! and
//! RDRAND on x86
//! for additional details.
//! | ||||
less-safe-getrandom-espidf
//! | Treat getrandom as a secure random number generator (see
//! SecureRandom) on the esp-idf target. While the esp-idf
//! target does have hardware RNG, it is beyond the scope of ring to
//! ensure its configuration. This feature allows ring to build
//! on esp-idf despite the likelihood that RNG is not secure.
//! This feature only works with os = espidf targets.
//! See
//! std
//! Enable features that use libstd, in particular
//! | std::error::Error integration. Implies `alloc`.
//! wasm32_unknown_unknown_js
//! When this feature is enabled, for the wasm32-unknown-unknown target,
//! Web APIs will be used to implement features like `ring::rand` that
//! require an operating environment of some kind. This has no effect
//! for any other target. This enables the `getrandom` crate's `js`
//! feature.
//! | |