On Solaris, we opt to use /dev/random source instead of /dev/urandom due to reasons explained in the comments and [in this Solaris blog post](https://blogs.oracle.com/solaris/post/solaris-new-system-calls-getentropy2-and-getrandom2). However, we haven't been making the same choice when getting randomness via the `getrandom(2)` function, as we just pass `0` for the flags. We [used to](https://github.com/rust-random/rand/pull/730/files#diff-694d4302a3ff2a976f2fbd34bc05ada22ee61a4e21d2d985beab27f7a809268fR151) always set `GRND_RANDOM`, but that was removed in the move from `OsRng` to this crate. For context, https://github.com/rust-random/rand/pull/730, https://github.com/rust-random/getrandom/pull/9, and https://github.com/rust-random/getrandom/pull/51 are the major changes to the Solaris/Illumos implementation over the years. See the solaris documentation for: - [`getrandom(2)`](https://docs.oracle.com/cd/E88353_01/html/E37841/getrandom-2.html) - [`urandom(4)`](https://docs.oracle.com/cd/E88353_01/html/E37851/urandom-4d.html) I also updated the doucmentation to better reflect when [Illumos added the `getrandom(2)` function](https://www.illumos.org/issues/9971#change-23483). Signed-off-by: Joe Richey <joerichey@google.com>
54 lines
1.8 KiB
TOML
54 lines
1.8 KiB
TOML
[package]
|
|
name = "getrandom"
|
|
version = "0.2.8" # Also update html_root_url in lib.rs when bumping this
|
|
edition = "2018"
|
|
authors = ["The Rand Project Developers"]
|
|
license = "MIT OR Apache-2.0"
|
|
description = "A small cross-platform library for retrieving random data from system source"
|
|
documentation = "https://docs.rs/getrandom"
|
|
repository = "https://github.com/rust-random/getrandom"
|
|
categories = ["os", "no-std"]
|
|
exclude = [".*"]
|
|
|
|
[dependencies]
|
|
cfg-if = "1"
|
|
|
|
# When built as part of libstd
|
|
compiler_builtins = { version = "0.1", optional = true }
|
|
core = { version = "1.0", optional = true, package = "rustc-std-workspace-core" }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = { version = "0.2.128", default-features = false }
|
|
|
|
[target.'cfg(target_os = "wasi")'.dependencies]
|
|
wasi = { version = "0.11", default-features = false }
|
|
|
|
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
|
|
wasm-bindgen = { version = "0.2.62", default-features = false, optional = true }
|
|
js-sys = { version = "0.3", optional = true }
|
|
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies]
|
|
wasm-bindgen-test = "0.3.18"
|
|
|
|
[features]
|
|
# Implement std-only traits for getrandom::Error
|
|
std = []
|
|
# Feature to enable fallback RDRAND-based implementation on x86/x86_64
|
|
rdrand = []
|
|
# Feature to enable JavaScript bindings on wasm32-unknown-unknown
|
|
js = ["wasm-bindgen", "js-sys"]
|
|
# Feature to enable custom RNG implementations
|
|
custom = []
|
|
# Unstable feature to support being a libstd dependency
|
|
rustc-dep-of-std = [
|
|
"compiler_builtins",
|
|
"core",
|
|
"libc/rustc-dep-of-std",
|
|
"wasi/rustc-dep-of-std",
|
|
]
|
|
# Unstable/test-only feature to run wasm-bindgen tests in a browser
|
|
test-in-browser = []
|
|
|
|
[package.metadata.docs.rs]
|
|
features = ["std", "custom"]
|
|
rustdoc-args = ["--cfg", "docsrs"]
|