replace rand with nanorand and bump version

This commit is contained in:
glyph 2021-11-25 15:00:19 +02:00
parent 406206bab3
commit 2429ea8fdd
3 changed files with 21 additions and 20 deletions

10
Cargo.lock generated
View File

@ -2127,6 +2127,12 @@ dependencies = [
"version_check 0.9.3",
]
[[package]]
name = "nanorand"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "729eb334247daa1803e0a094d0a5c55711b85571179f5ec6e53eccfdf7008958"
[[package]]
name = "native-tls"
version = "0.2.8"
@ -2571,7 +2577,7 @@ dependencies = [
[[package]]
name = "peach-lib"
version = "1.3.0"
version = "1.3.1"
dependencies = [
"chrono",
"env_logger 0.6.2",
@ -2580,7 +2586,7 @@ dependencies = [
"jsonrpc-client-http",
"jsonrpc-core 8.0.1",
"log 0.4.14",
"rand 0.8.4",
"nanorand",
"regex",
"rust-crypto",
"serde 1.0.130",

View File

@ -1,20 +1,20 @@
[package]
name = "peach-lib"
version = "1.3.0"
version = "1.3.1"
authors = ["Andrew Reid <glyph@mycelial.technology>"]
edition = "2018"
[dependencies]
log = "0.4"
chrono = "0.4.19"
env_logger = "0.6"
fslock="0.1.6"
jsonrpc-client-core = "0.5"
jsonrpc-client-http = "0.5"
jsonrpc-core = "8.0.1"
serde = { version = "1.0", features = ["derive"] }
log = "0.4"
nanorand = "0.6.1"
regex = "1"
rust-crypto = "0.2.36"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.8"
env_logger = "0.6"
regex = "1"
chrono = "0.4.19"
rand="0.8.4"
fslock="0.1.6"

View File

@ -1,7 +1,5 @@
use std::iter;
use crypto::{digest::Digest, sha3::Sha3};
use rand::{distributions::Alphanumeric, thread_rng, Rng};
use nanorand::{Rng, WyRand};
use crate::{config_manager, error::PeachError, sbot_client};
@ -68,13 +66,10 @@ pub fn verify_temporary_password(password: &str) -> Result<(), PeachError> {
/// Generates a temporary password and sends it via ssb dm
/// to the ssb id configured to be the admin of the peachcloud device
pub fn send_password_reset() -> Result<(), PeachError> {
// first generate a new random password of ascii characters
let mut rng = thread_rng();
let temporary_password: String = iter::repeat(())
.map(|()| rng.sample(Alphanumeric))
.map(char::from)
.take(10)
.collect();
// initialise random number generator
let mut rng = WyRand::new();
// generate a new password of random numbers
let temporary_password = rng.generate::<u64>().to_string();
// save this string as a new temporary password
set_new_temporary_password(&temporary_password)?;
let domain = config_manager::get_peachcloud_domain()?;