diff options
author | Robin Krahl <robin.krahl@ireas.org> | 2018-12-16 17:13:28 +0000 |
---|---|---|
committer | Robin Krahl <robin.krahl@ireas.org> | 2018-12-16 18:16:37 +0100 |
commit | 4e430a735dcc079830e72a45691f39d322bbbe07 (patch) | |
tree | afd413230b7eb495dbae17b970f52760ee2ee1d4 | |
parent | 9c5364a63e363a6f69afddb29453efc5e4b12cc0 (diff) | |
download | nitrokey-rs-4e430a735dcc079830e72a45691f39d322bbbe07.tar.gz nitrokey-rs-4e430a735dcc079830e72a45691f39d322bbbe07.tar.bz2 |
Update to rand v0.6
This patch updates the rand dependecy to version 0.6. It also replaces
the OsRng, which is guaranteed to use OS/hardware entropy, with the
thread_rng, which is likely to use OS/hardware entropy as a seed. The
choice of RNG and the handling of password should be reviewed at a later
point.
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | src/util.rs | 13 |
2 files changed, 5 insertions, 10 deletions
@@ -19,4 +19,4 @@ test-storage = [] [dependencies] libc = "0.2" nitrokey-sys = "3.4.1" -rand = "0.4" +rand = "0.6" diff --git a/src/util.rs b/src/util.rs index 2a75634..d98e675 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,11 +1,10 @@ -use libc::{c_void, free}; -use nitrokey_sys; -use rand::{OsRng, Rng}; -use std; use std::ffi::{CStr, CString}; use std::fmt; use std::os::raw::{c_char, c_int}; +use libc::{c_void, free}; +use rand::Rng; + /// Error types returned by Nitrokey device or by the library. #[derive(Debug, PartialEq)] pub enum CommandError { @@ -101,12 +100,8 @@ pub fn get_last_error() -> CommandError { } pub fn generate_password(length: usize) -> std::io::Result<Vec<u8>> { - let mut rng = match OsRng::new() { - Ok(rng) => rng, - Err(err) => return Err(err), - }; let mut data = vec![0u8; length]; - rng.fill_bytes(&mut data[..]); + rand::thread_rng().fill(&mut data[..]); return Ok(data); } |