Loading openssl-sys/src/rand.rs +4 −0 Original line number Diff line number Diff line Loading @@ -2,5 +2,9 @@ use libc::*; extern "C" { pub fn RAND_bytes(buf: *mut u8, num: c_int) -> c_int; #[cfg(ossl111)] pub fn RAND_keep_random_devices_open(keep: c_int); pub fn RAND_status() -> c_int; } openssl/src/rand.rs +18 −4 Original line number Diff line number Diff line Loading @@ -10,14 +10,16 @@ //! let mut buf = [0; 256]; //! rand_bytes(&mut buf).unwrap(); //! ``` use libc::c_int; use ffi; use libc::c_int; use cvt; use error::ErrorStack; /// Fill buffer with cryptographically strong pseudo-random bytes. /// /// This corresponds to [`RAND_bytes`]. /// /// # Examples /// /// To generate a buffer with cryptographically strong bytes: Loading @@ -29,9 +31,7 @@ use error::ErrorStack; /// rand_bytes(&mut buf).unwrap(); /// ``` /// /// # External OpenSSL Documentation /// /// [RAND_bytes](https://www.openssl.org/docs/man1.1.0/crypto/RAND_bytes.html) /// [`RAND_bytes`](https://www.openssl.org/docs/man1.1.0/crypto/RAND_bytes.html) pub fn rand_bytes(buf: &mut [u8]) -> Result<(), ErrorStack> { unsafe { ffi::init(); Loading @@ -40,6 +40,20 @@ pub fn rand_bytes(buf: &mut [u8]) -> Result<(), ErrorStack> { } } /// Controls random device file descriptor behavior. /// /// Requires OpenSSL 1.1.1 or newer. /// /// This corresponds to [`RAND_keep_random_devices_open`]. /// /// [`RAND_keep_random_devices_open`]: https://www.openssl.org/docs/manmaster/man3/RAND_keep_random_devices_open.html #[cfg(ossl111)] pub fn keep_random_devices_open(keep: bool) { unsafe { ffi::RAND_keep_random_devices_open(keep as c_int); } } #[cfg(test)] mod tests { use super::rand_bytes; Loading Loading
openssl-sys/src/rand.rs +4 −0 Original line number Diff line number Diff line Loading @@ -2,5 +2,9 @@ use libc::*; extern "C" { pub fn RAND_bytes(buf: *mut u8, num: c_int) -> c_int; #[cfg(ossl111)] pub fn RAND_keep_random_devices_open(keep: c_int); pub fn RAND_status() -> c_int; }
openssl/src/rand.rs +18 −4 Original line number Diff line number Diff line Loading @@ -10,14 +10,16 @@ //! let mut buf = [0; 256]; //! rand_bytes(&mut buf).unwrap(); //! ``` use libc::c_int; use ffi; use libc::c_int; use cvt; use error::ErrorStack; /// Fill buffer with cryptographically strong pseudo-random bytes. /// /// This corresponds to [`RAND_bytes`]. /// /// # Examples /// /// To generate a buffer with cryptographically strong bytes: Loading @@ -29,9 +31,7 @@ use error::ErrorStack; /// rand_bytes(&mut buf).unwrap(); /// ``` /// /// # External OpenSSL Documentation /// /// [RAND_bytes](https://www.openssl.org/docs/man1.1.0/crypto/RAND_bytes.html) /// [`RAND_bytes`](https://www.openssl.org/docs/man1.1.0/crypto/RAND_bytes.html) pub fn rand_bytes(buf: &mut [u8]) -> Result<(), ErrorStack> { unsafe { ffi::init(); Loading @@ -40,6 +40,20 @@ pub fn rand_bytes(buf: &mut [u8]) -> Result<(), ErrorStack> { } } /// Controls random device file descriptor behavior. /// /// Requires OpenSSL 1.1.1 or newer. /// /// This corresponds to [`RAND_keep_random_devices_open`]. /// /// [`RAND_keep_random_devices_open`]: https://www.openssl.org/docs/manmaster/man3/RAND_keep_random_devices_open.html #[cfg(ossl111)] pub fn keep_random_devices_open(keep: bool) { unsafe { ffi::RAND_keep_random_devices_open(keep as c_int); } } #[cfg(test)] mod tests { use super::rand_bytes; Loading