summaryrefslogtreecommitdiff
path: root/vendor/security-framework/src/random.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/security-framework/src/random.rs')
-rw-r--r--vendor/security-framework/src/random.rs39
1 files changed, 0 insertions, 39 deletions
diff --git a/vendor/security-framework/src/random.rs b/vendor/security-framework/src/random.rs
deleted file mode 100644
index 7bd7f614..00000000
--- a/vendor/security-framework/src/random.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-//! Randomness support.
-
-use security_framework_sys::random::{SecRandomCopyBytes, SecRandomRef, kSecRandomDefault};
-use std::io;
-
-/// A source of random data.
-pub struct SecRandom(SecRandomRef);
-
-unsafe impl Sync for SecRandom {}
-unsafe impl Send for SecRandom {}
-
-impl Default for SecRandom {
- #[inline(always)]
- fn default() -> Self {
- unsafe { Self(kSecRandomDefault) }
- }
-}
-
-impl SecRandom {
- /// Fills the buffer with cryptographically secure random bytes.
- pub fn copy_bytes(&self, buf: &mut [u8]) -> io::Result<()> {
- if unsafe { SecRandomCopyBytes(self.0, buf.len(), buf.as_mut_ptr().cast()) } == 0 {
- Ok(())
- } else {
- Err(io::Error::last_os_error())
- }
- }
-}
-
-#[cfg(test)]
-mod test {
- use super::*;
-
- #[test]
- fn basic() {
- let mut buf = [0; 10];
- SecRandom::default().copy_bytes(&mut buf).unwrap();
- }
-}