Switch from the deprecated rand-os crate to getrandom.

This commit is contained in:
Emmanuel Gil Peyrot 2020-02-25 22:32:03 +01:00
parent c96bdc847b
commit 9bdf6dc243
3 changed files with 5 additions and 6 deletions

View file

@ -16,11 +16,11 @@ gitlab = { repository = "lumi/sasl-rs" }
[features]
default = ["scram"]
scram = ["base64", "rand_os", "sha-1", "sha2", "hmac", "pbkdf2"]
scram = ["base64", "getrandom", "sha-1", "sha2", "hmac", "pbkdf2"]
[dependencies]
base64 = { version = "0.10", optional = true }
rand_os = { version = "0.1", optional = true }
getrandom = { version = "0.1", optional = true }
sha-1 = { version = "0.8", optional = true }
sha2 = { version = "0.8", optional = true }
hmac = { version = "0.7", optional = true }

View file

@ -1,4 +1,4 @@
use rand_os::{OsRng, rand_core::{RngCore, Error as RngError}};
use getrandom::{getrandom, Error as RngError};
use sha1::{Sha1 as Sha1_hash, Digest};
use sha2::Sha256 as Sha256_hash;
use hmac::{Hmac, Mac};
@ -13,8 +13,7 @@ use base64;
/// Generate a nonce for SCRAM authentication.
pub fn generate_nonce() -> Result<String, RngError> {
let mut data = [0u8; 32];
let mut rng = OsRng::new()?;
rng.fill_bytes(&mut data);
getrandom(&mut data)?;
Ok(base64::encode(&data))
}

View file

@ -1,5 +1,5 @@
#[cfg(feature = "scram")]
use rand_os::rand_core::Error as RngError;
use getrandom::Error as RngError;
/// A wrapper enum for things that could go wrong in this crate.
#[derive(Debug)]