diff options
| -rw-r--r-- | Cargo.lock | 1 | ||||
| -rw-r--r-- | mullvad-update/Cargo.toml | 8 | ||||
| -rw-r--r-- | mullvad-update/src/client/fetch.rs | 4 | ||||
| -rw-r--r-- | mullvad-update/src/client/verify.rs | 4 | ||||
| -rw-r--r-- | mullvad-update/src/format/key.rs | 4 |
5 files changed, 12 insertions, 9 deletions
diff --git a/Cargo.lock b/Cargo.lock index 6189d036a9..31f636ec1b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3419,6 +3419,7 @@ dependencies = [ "mullvad-api-constants", "mullvad-version", "rand 0.8.5", + "rand 0.9.2", "reqwest", "serde", "serde_json", diff --git a/mullvad-update/Cargo.toml b/mullvad-update/Cargo.toml index 4a60350d27..85a85d94c5 100644 --- a/mullvad-update/Cargo.toml +++ b/mullvad-update/Cargo.toml @@ -12,7 +12,7 @@ workspace = true [features] default = [] -sign = ["rand", "clap"] +sign = ["rand08", "clap"] client = ["reqwest", "sha2", "tokio", "thiserror"] [dependencies] @@ -38,7 +38,9 @@ mullvad-version = { path = "../mullvad-version", features = ["serde"] } # features required by binaries clap = { workspace = true, optional = true } -rand = { version = "0.8.5", optional = true } +# TODO Upgrading to rand 0.9 is blocked on ed25519-dalek dropping their dependency on rand_core 0.6 +# (as of ed25519-dalek 2.2.0) +rand08 = { package = "rand", version = "0.8.5", optional = true } thiserror = { workspace = true, optional = true } @@ -46,7 +48,7 @@ thiserror = { workspace = true, optional = true } async-tempfile = "0.6" insta = { workspace = true } mockito = "1.6.1" -rand = "0.8.5" +rand = { workspace = true } tokio = { workspace = true, features = ["fs", "test-util", "time", "macros"] } [[bin]] diff --git a/mullvad-update/src/client/fetch.rs b/mullvad-update/src/client/fetch.rs index dde38fdc76..dfc90a2b77 100644 --- a/mullvad-update/src/client/fetch.rs +++ b/mullvad-update/src/client/fetch.rs @@ -469,7 +469,7 @@ mod test { async fn test_fetch_complete() -> anyhow::Result<()> { // Generate random data let file_data = Box::leak(Box::new(vec![0u8; 1024 * 1024 + 1])); - rand::thread_rng().fill_bytes(file_data); + rand::rng().fill_bytes(file_data); // Start server let mut server = mockito::Server::new_async().await; @@ -502,7 +502,7 @@ mod test { async fn test_fetch_interrupted() -> anyhow::Result<()> { // Generate random data let file_data = Box::leak(Box::new(vec![0u8; 1024 * 1024])); - rand::thread_rng().fill_bytes(file_data); + rand::rng().fill_bytes(file_data); // Start server let mut server = mockito::Server::new_async().await; diff --git a/mullvad-update/src/client/verify.rs b/mullvad-update/src/client/verify.rs index 28a53f839d..1242f5b6b1 100644 --- a/mullvad-update/src/client/verify.rs +++ b/mullvad-update/src/client/verify.rs @@ -70,7 +70,7 @@ mod test { async fn test_sha256_checksum() { // Generate some random data let mut data = vec![0u8; 1024 * 1024]; - rand::thread_rng().fill_bytes(&mut data); + rand::rng().fill_bytes(&mut data); // Hash it let mut hasher = sha2::Sha256::new(); @@ -84,7 +84,7 @@ mod test { .expect("expected checksum match"); // Compare the hash against some random data, which should fail - rand::thread_rng().fill_bytes(&mut data); + rand::rng().fill_bytes(&mut data); Sha256Verifier::verify_inner(Cursor::new(&data), expected_hash) .await .expect_err("expected checksum mismatch"); diff --git a/mullvad-update/src/format/key.rs b/mullvad-update/src/format/key.rs index 93dd6ad7e1..d5b15f0ea2 100644 --- a/mullvad-update/src/format/key.rs +++ b/mullvad-update/src/format/key.rs @@ -16,7 +16,7 @@ impl SecretKey { /// Generate a new secret ed25519 key #[cfg(feature = "sign")] pub fn generate() -> Self { - let key = ed25519_dalek::SigningKey::generate(&mut rand::thread_rng()); + let key = ed25519_dalek::SigningKey::generate(&mut rand08::thread_rng()); SecretKey(key) } @@ -175,7 +175,7 @@ mod test { #[test] fn test_serialization_and_deserialization() { let mut secret = [0u8; 32]; - rand::thread_rng().fill_bytes(&mut secret); + rand::rng().fill_bytes(&mut secret); let secret_hex = hex::encode(secret); let secret = SecretKey::from_str(&hex::encode(secret)).unwrap(); |
