Skip to content

Commit c99a1bc

Browse files
committed
chore(cargo): Update rand to 0.9.
This patch updates `rand` to 0.9. It brings several nice advantages: - it is compatible with the new Rust edition 2024, - it simplifies several signatures since `try_fill` is replaced by `fill`, there is no failure.
1 parent 6e75280 commit c99a1bc

File tree

26 files changed

+131
-109
lines changed

26 files changed

+131
-109
lines changed

Cargo.lock

+65-21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ once_cell = "1.20.2"
5555
pbkdf2 = { version = "0.12.2" }
5656
pin-project-lite = "0.2.16"
5757
proptest = { version = "1.6.0", default-features = false, features = ["std"] }
58-
rand = "0.8.5"
58+
rand = "0.9.0"
5959
reqwest = { version = "0.12.12", default-features = false }
6060
rmp-serde = "1.3.0"
6161
# Be careful to use commits from the https://github.com/ruma/ruma/tree/ruma-0.12

bindings/matrix-sdk-crypto-ffi/src/backup_recovery_key.rs

+3-7
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use matrix_sdk_crypto::{
66
store::{BackupDecryptionKey, CryptoStoreError as InnerStoreError},
77
};
88
use pbkdf2::pbkdf2;
9-
use rand::{distributions::Alphanumeric, thread_rng, Rng};
9+
use rand::{distr::Alphanumeric, rng, Rng};
1010
use sha2::Sha512;
1111
use thiserror::Error;
1212
use zeroize::Zeroize;
@@ -75,11 +75,7 @@ impl BackupRecoveryKey {
7575
#[allow(clippy::new_without_default)]
7676
#[uniffi::constructor]
7777
pub fn new() -> Arc<Self> {
78-
Arc::new(Self {
79-
inner: BackupDecryptionKey::new()
80-
.expect("Can't gather enough randomness to create a recovery key"),
81-
passphrase_info: None,
82-
})
78+
Arc::new(Self { inner: BackupDecryptionKey::new(), passphrase_info: None })
8379
}
8480

8581
/// Try to create a [`BackupRecoveryKey`] from a base 64 encoded string.
@@ -97,7 +93,7 @@ impl BackupRecoveryKey {
9793
/// Create a new [`BackupRecoveryKey`] from the given passphrase.
9894
#[uniffi::constructor]
9995
pub fn new_from_passphrase(passphrase: String) -> Arc<Self> {
100-
let mut rng = thread_rng();
96+
let mut rng = rng();
10197
let salt: String = iter::repeat(())
10298
.map(|()| rng.sample(Alphanumeric))
10399
.map(char::from)

bindings/matrix-sdk-crypto-ffi/src/dehydrated_devices.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ pub enum DehydrationError {
2828
Store(#[from] matrix_sdk_crypto::CryptoStoreError),
2929
#[error("The pickle key has an invalid length, expected 32 bytes, got {0}")]
3030
PickleKeyLength(usize),
31-
#[error(transparent)]
32-
Rand(#[from] rand::Error),
3331
}
3432

3533
impl From<matrix_sdk_crypto::dehydrated_devices::DehydrationError> for DehydrationError {
@@ -226,9 +224,7 @@ mod tests {
226224

227225
#[test]
228226
fn test_creating_dehydrated_key() {
229-
let result = DehydratedDeviceKey::new();
230-
assert!(result.is_ok());
231-
let dehydrated_device_key = result.unwrap();
227+
let dehydrated_device_key = DehydratedDeviceKey::new();
232228
let base_64 = dehydrated_device_key.to_base64();
233229
let inner_bytes = dehydrated_device_key.inner;
234230

bindings/matrix-sdk-crypto-ffi/src/lib.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,8 @@ pub struct DehydratedDeviceKey {
841841

842842
impl DehydratedDeviceKey {
843843
/// Generates a new random pickle key.
844-
pub fn new() -> Result<Self, DehydrationError> {
845-
let inner = InnerDehydratedDeviceKey::new()?;
846-
Ok(inner.into())
844+
pub fn new() -> Self {
845+
InnerDehydratedDeviceKey::new().into()
847846
}
848847

849848
/// Creates a new dehydration pickle key from the given slice.

crates/matrix-sdk-crypto/src/backups/keys/decryption.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ mod tests {
303303

304304
#[test]
305305
fn base64_decoding() -> Result<(), DecodeError> {
306-
let key = BackupDecryptionKey::new().expect("Can't create a new recovery key");
306+
let key = BackupDecryptionKey::new();
307307

308308
let base64 = key.to_base64();
309309
let decoded_key = BackupDecryptionKey::from_base64(&base64)?;
@@ -316,7 +316,7 @@ mod tests {
316316

317317
#[test]
318318
fn base58_decoding() -> Result<(), DecodeError> {
319-
let key = BackupDecryptionKey::new().expect("Can't create a new recovery key");
319+
let key = BackupDecryptionKey::new();
320320

321321
let base64 = key.to_base58();
322322
let decoded_key = BackupDecryptionKey::from_base58(&base64)?;
@@ -394,7 +394,7 @@ mod tests {
394394
async fn test_encryption_cycle() {
395395
let session = InboundGroupSession::from_export(&room_key()).unwrap();
396396

397-
let decryption_key = BackupDecryptionKey::new().unwrap();
397+
let decryption_key = BackupDecryptionKey::new();
398398
let encryption_key = decryption_key.megolm_v1_public_key();
399399

400400
let encrypted = encryption_key.encrypt(session).await;
@@ -406,7 +406,7 @@ mod tests {
406406

407407
#[test]
408408
fn key_matches() {
409-
let decryption_key = BackupDecryptionKey::new().unwrap();
409+
let decryption_key = BackupDecryptionKey::new();
410410

411411
let key_info = decryption_key.to_backup_info();
412412

crates/matrix-sdk-crypto/src/backups/mod.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,7 @@ mod tests {
699699
assert_eq!(counts.total, 2, "Two room keys need to exist in the store");
700700
assert_eq!(counts.backed_up, 0, "No room keys have been backed up yet");
701701

702-
let decryption_key = BackupDecryptionKey::new().expect("Can't create new recovery key");
702+
let decryption_key = BackupDecryptionKey::new();
703703
let backup_key = decryption_key.megolm_v1_public_key();
704704
backup_key.set_version("1".to_owned());
705705

@@ -836,7 +836,7 @@ mod tests {
836836
let backup_machine = machine.backup_machine();
837837

838838
// We set up a backup key, so that we can test `backup_machine.backup()` later.
839-
let decryption_key = BackupDecryptionKey::new().expect("Couldn't create new recovery key");
839+
let decryption_key = BackupDecryptionKey::new();
840840
let backup_key = decryption_key.megolm_v1_public_key();
841841
backup_key.set_version("1".to_owned());
842842
backup_machine.enable_backup_v1(backup_key).await.expect("Couldn't enable backup");
@@ -884,7 +884,7 @@ mod tests {
884884
let machine = OlmMachine::new(alice_id(), alice_device_id()).await;
885885
let backup_machine = machine.backup_machine();
886886

887-
let decryption_key = BackupDecryptionKey::new().unwrap();
887+
let decryption_key = BackupDecryptionKey::new();
888888
let mut backup_info = decryption_key.to_backup_info();
889889

890890
let result = backup_machine.verify_backup(backup_info.to_owned(), false).await.unwrap();
@@ -902,7 +902,7 @@ mod tests {
902902
async fn test_fix_backup_key_mismatch() {
903903
let store = MemoryStore::new();
904904

905-
let backup_decryption_key = BackupDecryptionKey::new().unwrap();
905+
let backup_decryption_key = BackupDecryptionKey::new();
906906

907907
store
908908
.save_changes(Changes {

0 commit comments

Comments
 (0)