From eec3ee63084aeb543f375f0c83c735919a8e4ba3 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 10:29:09 +0200 Subject: [PATCH 01/23] cargo: update rand to 0.10.1 (required by security advisory) --- Cargo.lock | 253 ++++++++++++++++++++++++++++++++++++++++++++++++++--- Cargo.toml | 2 +- 2 files changed, 243 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 41f7f773..1abd94f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -326,7 +326,18 @@ checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", +] + +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.1", ] [[package]] @@ -336,7 +347,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", - "chacha20", + "chacha20 0.9.1", "cipher", "poly1305", "zeroize", @@ -490,6 +501,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "criterion" version = "0.5.1" @@ -600,7 +620,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "curve25519-dalek-derive", "fiat-crypto", "rustc_version", @@ -856,6 +876,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + [[package]] name = "futures" version = "0.3.31" @@ -996,6 +1022,20 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "rand_core 0.10.1", + "wasip2", + "wasip3", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1032,6 +1072,9 @@ name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "foldhash", +] [[package]] name = "hax-lib" @@ -1162,6 +1205,12 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "ident_case" version = "1.0.1" @@ -1176,6 +1225,7 @@ checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown", + "serde", ] [[package]] @@ -1274,7 +1324,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -1289,6 +1339,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libc" version = "0.2.174" @@ -1453,7 +1509,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -1843,7 +1899,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug", "universal-hash", ] @@ -1946,6 +2002,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "rand" version = "0.8.5" @@ -1968,6 +2030,17 @@ dependencies = [ "zerocopy 0.8.24", ] +[[package]] +name = "rand" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" +dependencies = [ + "chacha20 0.10.0", + "getrandom 0.4.2", + "rand_core 0.10.1", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -2006,6 +2079,12 @@ dependencies = [ "getrandom 0.3.1", ] +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "rayon" version = "1.10.0" @@ -2094,7 +2173,7 @@ dependencies = [ "mio", "paste", "procspawn", - "rand 0.8.5", + "rand 0.10.1", "rosenpass-cipher-traits", "rosenpass-ciphers", "rosenpass-constant-time", @@ -2142,7 +2221,7 @@ dependencies = [ "libcrux-blake2", "libcrux-chacha20poly1305", "libcrux-ml-kem", - "rand 0.8.5", + "rand 0.10.1", "rosenpass-cipher-traits", "rosenpass-constant-time", "rosenpass-oqs", @@ -2160,7 +2239,7 @@ name = "rosenpass-constant-time" version = "0.1.0" dependencies = [ "memsec", - "rand 0.8.5", + "rand 0.10.1", "rosenpass-to", ] @@ -2235,7 +2314,7 @@ dependencies = [ "log", "memsec", "procspawn", - "rand 0.8.5", + "rand 0.10.1", "rosenpass-to", "rosenpass-util", "serde", @@ -2284,7 +2363,7 @@ dependencies = [ "mio", "postcard", "procspawn", - "rand 0.8.5", + "rand 0.10.1", "rosenpass-secret-memory", "rosenpass-to", "rosenpass-util", @@ -2796,6 +2875,12 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "universal-hash" version = "0.5.1" @@ -2858,6 +2943,24 @@ dependencies = [ "wit-bindgen-rt", ] +[[package]] +name = "wasip2" +version = "1.0.3+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +dependencies = [ + "wit-bindgen 0.57.1", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", +] + [[package]] name = "wasm-bindgen" version = "0.2.100" @@ -2916,6 +3019,40 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.8.0", + "hashbrown", + "indexmap", + "semver", +] + [[package]] name = "web-sys" version = "0.3.77" @@ -3270,6 +3407,32 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + [[package]] name = "wit-bindgen-rt" version = "0.33.0" @@ -3279,6 +3442,74 @@ dependencies = [ "bitflags 2.8.0", ] +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn 2.0.98", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.98", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.8.0", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + [[package]] name = "x25519-dalek" version = "2.0.1" diff --git a/Cargo.toml b/Cargo.toml index c8fd636f..376ded1a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,7 +44,7 @@ allocator-api2 = "0.2.14" memsec = { git = "https://github.com/rosenpass/memsec.git", rev = "aceb9baee8aec6844125bd6612f92e9a281373df", features = [ "alloc_ext", ] } -rand = "0.8.5" +rand = "0.10.1" typenum = "1.17.0" log = { version = "0.4.27" } clap = { version = "4.5.23", features = ["derive"] } From 4443a1a3325ede4f34e0dac7904de8f83b6e4c05 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 11:11:33 +0200 Subject: [PATCH 02/23] fix regressions from updating dependency rand: trait `Fill` has changed: https://docs.rs/rand/0.8.5/rand/trait.Fill.html https://docs.rs/rand/0.10.1/rand/trait.Fill.html It now randomizes `[Self]` (a slice) instead of `Self`. Also removed dead trait impementation of `Fill` which was never used. --- secret-memory/src/public.rs | 16 +--------------- secret-memory/src/secret.rs | 19 ++++++------------- 2 files changed, 7 insertions(+), 28 deletions(-) diff --git a/secret-memory/src/public.rs b/secret-memory/src/public.rs index d925dcde..84760540 100644 --- a/secret-memory/src/public.rs +++ b/secret-memory/src/public.rs @@ -60,14 +60,7 @@ impl Public { /// Randomize all bytes in an existing [Public]. pub fn randomize(&mut self) { - self.try_fill(&mut crate::rand::rng()).unwrap() - } -} - -impl Randomize for Public { - // No extra documentation here because the Trait already provides a good documentation. - fn try_fill(&mut self, rng: &mut R) -> Result<(), rand::Error> { - self.value.try_fill(rng) + rand::Fill::fill_slice(&mut self.value, &mut crate::rand::rng()) } } @@ -262,12 +255,6 @@ impl PublicBox { } } -impl Randomize for PublicBox { - // No extra documentation here because the Trait already provides a good documentation. - fn try_fill(&mut self, rng: &mut R) -> Result<(), rand::Error> { - self.inner.try_fill(rng) - } -} impl fmt::Debug for PublicBox { // No extra documentation here because the Trait already provides a good documentation. @@ -578,7 +565,6 @@ mod tests { fn test_public_box_randomize() { let mut pb: PublicBox<32> = PublicBox::zero(); pb.randomize(); - pb.try_fill(&mut crate::rand::rng()).unwrap(); // Can't really assert anything here until we have can predict the randomness // by derandomizing the RNG for tests. } diff --git a/secret-memory/src/secret.rs b/secret-memory/src/secret.rs index e5f0be53..1c6f4cf8 100644 --- a/secret-memory/src/secret.rs +++ b/secret-memory/src/secret.rs @@ -217,8 +217,13 @@ impl Secret { } /// Sets all data of an existing [Secret] to random bytes. + /// The [Secret] is first zeroized to make sure that the barriers from the zeroize crate take effect. pub fn randomize(&mut self) { - self.try_fill(&mut crate::rand::rng()).unwrap() + // Zeroize self first just to make sure the barriers from the zeroize create take + // effect to prevent the compiler from optimizing this away. + // TODO: We should at some point replace this with our own barriers. + self.zeroize(); + rand::Fill::fill_slice(self.secret_mut(), &mut crate::rand::rng()); } /// Borrows the data. @@ -232,18 +237,6 @@ impl Secret { } } -impl Randomize for Secret { - /// Tries to fill this [Secret] with random data. The [Secret] is first zeroized - /// to make sure that the barriers from the zeroize crate take effect. - fn try_fill(&mut self, rng: &mut R) -> Result<(), rand::Error> { - // Zeroize self first just to make sure the barriers from the zeroize create take - // effect to prevent the compiler from optimizing this away. - // We should at some point replace this with our own barriers. - self.zeroize(); - self.secret_mut().try_fill(rng) - } -} - // Indicate that a [Secret] is always zeroized when it is dropped. impl ZeroizeOnDrop for Secret {} impl Zeroize for Secret { From b1c8067fce1bfab932fd7fea5268a816c77b2651 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 11:25:08 +0200 Subject: [PATCH 03/23] fix regression from upgrading `rand` dependency: thread_rng is renamed to rng (https://rust-random.github.io/book/update-0.9.html) --- secret-memory/src/rand.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-memory/src/rand.rs b/secret-memory/src/rand.rs index bf1b3598..892a2df9 100644 --- a/secret-memory/src/rand.rs +++ b/secret-memory/src/rand.rs @@ -5,5 +5,5 @@ pub type Rng = rand::rngs::ThreadRng; /// Get the default [Rng]. pub fn rng() -> Rng { - rand::thread_rng() + rand::rng() } From c842fa8fdcd71fb947b9335eeaf2367815d5e21f Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 11:31:14 +0200 Subject: [PATCH 04/23] fix warnings: remove no longer needed imports --- secret-memory/src/public.rs | 2 -- secret-memory/src/secret.rs | 1 - 2 files changed, 3 deletions(-) diff --git a/secret-memory/src/public.rs b/secret-memory/src/public.rs index 84760540..c1b4594f 100644 --- a/secret-memory/src/public.rs +++ b/secret-memory/src/public.rs @@ -1,6 +1,5 @@ use crate::debug::debug_crypto_array; use anyhow::Context; -use rand::{Fill as Randomize, Rng}; use rosenpass_to::{To, ops::copy_slice}; use rosenpass_util::b64::{b64_decode, b64_encode}; use rosenpass_util::file::{ @@ -373,7 +372,6 @@ mod tests { #[allow(clippy::module_inception)] mod tests { use crate::{Public, PublicBox}; - use rand::Fill; use rosenpass_util::{ b64::b64_encode, file::{ diff --git a/secret-memory/src/secret.rs b/secret-memory/src/secret.rs index 1c6f4cf8..a306a7c6 100644 --- a/secret-memory/src/secret.rs +++ b/secret-memory/src/secret.rs @@ -5,7 +5,6 @@ use std::ops::{Deref, DerefMut}; use std::path::Path; use anyhow::Context; -use rand::{Fill as Randomize, Rng}; use zeroize::{Zeroize, ZeroizeOnDrop}; use rosenpass_util::b64::{b64_decode, b64_encode}; From 400e24c64c57edd907e25224adc839ef4aff0cce Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 11:31:34 +0200 Subject: [PATCH 05/23] fix minor typo --- secret-memory/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-memory/readme.md b/secret-memory/readme.md index b5cb16b0..0ab24398 100644 --- a/secret-memory/readme.md +++ b/secret-memory/readme.md @@ -2,4 +2,4 @@ Rosenpass internal library providing utilities for securely storing secret data in memory. -This is an internal library; not guarantee is made about its API at this point in time. +This is an internal library; no guarantee is made about its API at this point in time. From d54646a248d9dba09d1bee72cf67fc869b65e13d Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 11:35:01 +0200 Subject: [PATCH 06/23] nix fmt --- secret-memory/src/public.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/secret-memory/src/public.rs b/secret-memory/src/public.rs index c1b4594f..2d814611 100644 --- a/secret-memory/src/public.rs +++ b/secret-memory/src/public.rs @@ -254,7 +254,6 @@ impl PublicBox { } } - impl fmt::Debug for PublicBox { // No extra documentation here because the Trait already provides a good documentation. fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { From ef8382672dd9a72b55b777f3e1769c9b00af010e Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 11:40:48 +0200 Subject: [PATCH 07/23] increase minimum supported Rust version from 1.77.0 to 1.85.0 (required for edition2024 required by crate `rand`) --- cipher-traits/Cargo.toml | 2 +- ciphers/Cargo.toml | 2 +- constant-time/Cargo.toml | 2 +- fuzz/Cargo.toml | 2 +- oqs/Cargo.toml | 2 +- rosenpass/Cargo.toml | 2 +- rp/Cargo.toml | 2 +- rust-toolchain.toml | 2 +- secret-memory/Cargo.toml | 2 +- to/Cargo.toml | 2 +- util/Cargo.toml | 2 +- wireguard-broker/Cargo.toml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cipher-traits/Cargo.toml b/cipher-traits/Cargo.toml index 73a19b83..50cae8e9 100644 --- a/cipher-traits/Cargo.toml +++ b/cipher-traits/Cargo.toml @@ -8,7 +8,7 @@ description = "Rosenpass internal traits for cryptographic primitives" homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" readme = "readme.md" -rust-version = "1.77.0" +rust-version = "1.85.0" [dependencies] thiserror = { workspace = true } diff --git a/ciphers/Cargo.toml b/ciphers/Cargo.toml index 7931f477..ee6f1585 100644 --- a/ciphers/Cargo.toml +++ b/ciphers/Cargo.toml @@ -8,7 +8,7 @@ description = "Rosenpass internal ciphers and other cryptographic primitives use homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" readme = "readme.md" -rust-version = "1.77.0" +rust-version = "1.85.0" [features] # whether the types should be defined diff --git a/constant-time/Cargo.toml b/constant-time/Cargo.toml index d9683874..019c7ea8 100644 --- a/constant-time/Cargo.toml +++ b/constant-time/Cargo.toml @@ -8,7 +8,7 @@ description = "Rosenpass internal utilities for constant time crypto implementat homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" readme = "readme.md" -rust-version = "1.77.0" +rust-version = "1.85.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index f22ff9cc..96038853 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -3,7 +3,7 @@ name = "rosenpass-fuzzing" version = "0.0.1" publish = false edition = "2021" -rust-version = "1.77.0" +rust-version = "1.85.0" [features] experiment_libcrux = ["rosenpass-ciphers/experiment_libcrux_all"] diff --git a/oqs/Cargo.toml b/oqs/Cargo.toml index 20fe2ebf..962fed00 100644 --- a/oqs/Cargo.toml +++ b/oqs/Cargo.toml @@ -8,7 +8,7 @@ description = "Rosenpass internal bindings to liboqs" homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" readme = "readme.md" -rust-version = "1.77.0" +rust-version = "1.85.0" [dependencies] rosenpass-cipher-traits = { workspace = true } diff --git a/rosenpass/Cargo.toml b/rosenpass/Cargo.toml index 5ac9a30f..8db621c8 100644 --- a/rosenpass/Cargo.toml +++ b/rosenpass/Cargo.toml @@ -8,7 +8,7 @@ description = "Build post-quantum-secure VPNs with WireGuard!" homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" readme = "readme.md" -rust-version = "1.77.0" +rust-version = "1.85.0" [[bin]] name = "rosenpass" diff --git a/rp/Cargo.toml b/rp/Cargo.toml index 9eb308c0..3e8b6b7a 100644 --- a/rp/Cargo.toml +++ b/rp/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" description = "Build post-quantum-secure VPNs with WireGuard!" homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" -rust-version = "1.77.0" +rust-version = "1.85.0" [[bin]] name = "rp" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 83025f97..c1bc0a69 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.77.0" +channel = "1.85.0" diff --git a/secret-memory/Cargo.toml b/secret-memory/Cargo.toml index aa286e01..8a17cc0b 100644 --- a/secret-memory/Cargo.toml +++ b/secret-memory/Cargo.toml @@ -8,7 +8,7 @@ description = "Rosenpass internal utilities for storing secrets in memory" homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" readme = "readme.md" -rust-version = "1.77.0" +rust-version = "1.85.0" [dependencies] anyhow = { workspace = true } diff --git a/to/Cargo.toml b/to/Cargo.toml index 69712723..1a07b5cf 100644 --- a/to/Cargo.toml +++ b/to/Cargo.toml @@ -8,7 +8,7 @@ description = "Flexible destination parameters" homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" readme = "readme.md" -rust-version = "1.77.0" +rust-version = "1.85.0" [dev-dependencies] doc-comment = { workspace = true } diff --git a/util/Cargo.toml b/util/Cargo.toml index df09eb2a..854d1568 100644 --- a/util/Cargo.toml +++ b/util/Cargo.toml @@ -8,7 +8,7 @@ description = "Rosenpass internal utilities" homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" readme = "readme.md" -rust-version = "1.77.0" +rust-version = "1.85.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/wireguard-broker/Cargo.toml b/wireguard-broker/Cargo.toml index e43585c1..4048d10d 100644 --- a/wireguard-broker/Cargo.toml +++ b/wireguard-broker/Cargo.toml @@ -8,7 +8,7 @@ description = "Rosenpass internal broker that runs as root and supplies exchange homepage = "https://rosenpass.eu/" repository = "https://github.com/rosenpass/rosenpass" readme = "readme.md" -rust-version = "1.77.0" +rust-version = "1.85.0" [dependencies] thiserror = { workspace = true } From 4b4f1edcf86fce71dca6845afc521db877ed64a8 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 12:07:41 +0200 Subject: [PATCH 08/23] CI: fix bug: only install cargo-fuzz if not already installed in cache --- .github/workflows/qc.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/qc.yaml b/.github/workflows/qc.yaml index 45a10c7e..88f61e12 100644 --- a/.github/workflows/qc.yaml +++ b/.github/workflows/qc.yaml @@ -145,8 +145,8 @@ jobs: cargo-fuzz: runs-on: ubicloud-standard-2 steps: - - uses: actions/checkout@v5 - - uses: actions/cache@v4 + - uses: actions/checkout@v6 + - uses: actions/cache@v5 with: path: | ~/.cargo/bin/ @@ -160,7 +160,11 @@ jobs: rustup toolchain install nightly rustup override set nightly - name: Install cargo-fuzz - run: cargo install cargo-fuzz + # cargo-fuzz might already be installed in the cached ~/.cargo/bin (v.s.), so we need to check + run: | + if ! command -v cargo-fuzz >/dev/null 2>&1; then + cargo install cargo-fuzz --locked + fi - name: Run fuzzing run: | cargo fuzz run fuzz_aead_enc_into -- -max_total_time=5 From 4498c6165c9d0c5b899366e096a029d16d226df5 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 12:19:18 +0200 Subject: [PATCH 09/23] fix regression from upgrading `rand` dependency: further occurences of `thread_rng` are renamed to `rng` (https://rust-random.github.io/book/update-0.9.html) --- ciphers/src/subtle/libcrux/blake2b.rs | 2 +- ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs | 4 ++-- ciphers/src/subtle/libcrux/kyber512.rs | 4 ++-- constant-time/src/memcmp.rs | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ciphers/src/subtle/libcrux/blake2b.rs b/ciphers/src/subtle/libcrux/blake2b.rs index 9bb4f1de..e8496bb6 100644 --- a/ciphers/src/subtle/libcrux/blake2b.rs +++ b/ciphers/src/subtle/libcrux/blake2b.rs @@ -63,7 +63,7 @@ mod equivalence_tests { ]; let mut key = [0; KEY_LEN]; - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let mut hash_left = [0; 32]; let mut hash_right = [0; 32]; diff --git a/ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs b/ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs index 076e98e7..19ed4fba 100644 --- a/ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs +++ b/ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs @@ -69,7 +69,7 @@ mod equivalence_tests { b"abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd", ]; let mut key = [0; KEY_LEN]; - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let mut ctxt_left = [0; 64 + TAG_LEN]; let mut ctxt_right = [0; 64 + TAG_LEN]; @@ -120,7 +120,7 @@ mod equivalence_tests { b"abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd", ]; let mut key = [0; KEY_LEN]; - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let mut ctxt_left = [0; 64 + TAG_LEN]; let mut ctxt_right = [0; 64 + TAG_LEN]; diff --git a/ciphers/src/subtle/libcrux/kyber512.rs b/ciphers/src/subtle/libcrux/kyber512.rs index 34f7a80a..4385500a 100644 --- a/ciphers/src/subtle/libcrux/kyber512.rs +++ b/ciphers/src/subtle/libcrux/kyber512.rs @@ -14,7 +14,7 @@ pub struct Kyber512; impl Kem for Kyber512 { fn keygen(&self, sk: &mut [u8; SK_LEN], pk: &mut [u8; PK_LEN]) -> Result<(), KemError> { let mut randomness = [0u8; libcrux_ml_kem::KEY_GENERATION_SEED_SIZE]; - rand::thread_rng().fill_bytes(&mut randomness); + rand::rng().fill_bytes(&mut randomness); let key_pair = kyber512::generate_key_pair(randomness); @@ -34,7 +34,7 @@ impl Kem for Kyber512 { pk: &[u8; PK_LEN], ) -> Result<(), KemError> { let mut randomness = [0u8; libcrux_ml_kem::SHARED_SECRET_SIZE]; - rand::thread_rng().fill_bytes(&mut randomness); + rand::rng().fill_bytes(&mut randomness); let (new_ct, new_shk) = kyber512::encapsulate(&pk.into(), randomness); let new_ct: &[u8; CT_LEN] = new_ct.as_slice(); diff --git a/constant-time/src/memcmp.rs b/constant-time/src/memcmp.rs index 2f72a089..fcd4506f 100644 --- a/constant-time/src/memcmp.rs +++ b/constant-time/src/memcmp.rs @@ -38,7 +38,7 @@ mod tests { use super::*; use core::hint::black_box; use rand::seq::SliceRandom; - use rand::thread_rng; + use rand::rng; use std::time::Instant; #[test] @@ -68,7 +68,7 @@ mod tests { let mut tests = (0..n) .map(|i| (i < n / 2, std::time::Duration::ZERO)) .collect::>(); - tests.shuffle(&mut thread_rng()); + tests.shuffle(&mut rng()); // run comparisons / call function to test for test in tests.iter_mut() { From e733a5575e9ca5578d1633ab4ec3fc1bf39c4297 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 12:37:11 +0200 Subject: [PATCH 10/23] upgrade oqs-sys from 0.9.1 to 0.11.0 --- Cargo.lock | 43 ++++++++----------------------------------- Cargo.toml | 2 +- 2 files changed, 9 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1abd94f6..0bb2ad65 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -208,17 +208,15 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.68.1" +version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078" +checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ "bitflags 2.8.0", "cexpr", "clang-sys", - "lazy_static", - "lazycell", + "itertools", "log", - "peeking_take_while", "prettyplease", "proc-macro2", "quote", @@ -226,7 +224,6 @@ dependencies = [ "rustc-hash", "shlex", "syn 2.0.98", - "which", ] [[package]] @@ -1333,12 +1330,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "leb128fmt" version = "0.1.0" @@ -1801,9 +1792,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "oqs-sys" -version = "0.9.1+liboqs-0.9.0" +version = "0.11.0+liboqs-0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa79adc3c10f8e01d0b134c159254e5843ec3f91c0bd868e57777beb3329e17" +checksum = "ac6d66ee528a895ce5cc08851698d109c5d7ee5d7a0b3b40d61550eda91e414f" dependencies = [ "bindgen", "build-deps", @@ -1841,12 +1832,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "pin-project-lite" version = "0.2.16" @@ -2400,9 +2385,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "1.1.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" [[package]] name = "rustc_version" @@ -3063,18 +3048,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", -] - [[package]] name = "winapi" version = "0.3.9" diff --git a/Cargo.toml b/Cargo.toml index 376ded1a..bc5287b3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,7 +56,7 @@ anyhow = { version = "1.0.98", features = ["backtrace", "std"] } mio = { version = "1.0.3", features = ["net", "os-poll"] } signal-hook-mio = { version = "0.2.4", features = ["support-v1_0"] } signal-hook = "0.3.17" -oqs-sys = { version = "0.9.1", default-features = false, features = [ +oqs-sys = { version = "0.11.0", default-features = false, features = [ 'classic_mceliece', 'kyber', ] } From 99b769ee32876548f3e9b95913f1bf16990295d6 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 12:52:09 +0200 Subject: [PATCH 11/23] fix regression from upgrading `rand` dependency: RngCore is renamed to `Rng` (https://rust-random.github.io/book/update-0.10.html) --- ciphers/src/subtle/libcrux/blake2b.rs | 2 +- ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs | 2 +- ciphers/src/subtle/libcrux/kyber512.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ciphers/src/subtle/libcrux/blake2b.rs b/ciphers/src/subtle/libcrux/blake2b.rs index e8496bb6..bb2790b9 100644 --- a/ciphers/src/subtle/libcrux/blake2b.rs +++ b/ciphers/src/subtle/libcrux/blake2b.rs @@ -52,7 +52,7 @@ impl KeyedHashBlake2b for Blake2b {} #[cfg(test)] mod equivalence_tests { use super::*; - use rand::RngCore; + use rand::Rng; #[test] fn fuzz_equivalence_libcrux_old_new() { diff --git a/ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs b/ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs index 19ed4fba..539ae185 100644 --- a/ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs +++ b/ciphers/src/subtle/libcrux/chacha20poly1305_ietf.rs @@ -58,7 +58,7 @@ impl AeadChaCha20Poly1305 for ChaCha20Poly1305 {} #[cfg(test)] mod equivalence_tests { use super::*; - use rand::RngCore; + use rand::Rng; #[test] fn proptest_equivalence_libcrux_rustcrypto() { diff --git a/ciphers/src/subtle/libcrux/kyber512.rs b/ciphers/src/subtle/libcrux/kyber512.rs index 4385500a..b1573541 100644 --- a/ciphers/src/subtle/libcrux/kyber512.rs +++ b/ciphers/src/subtle/libcrux/kyber512.rs @@ -1,7 +1,7 @@ //! Implementation of the [`KemKyber512`] trait based on the [`libcrux_ml_kem`] crate. use libcrux_ml_kem::kyber512; -use rand::RngCore; +use rand::Rng; use rosenpass_cipher_traits::algorithms::KemKyber512; use rosenpass_cipher_traits::primitives::{Kem, KemError}; From a3e9268698cf78627bc001901c6faf2f89093cd5 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 12:52:45 +0200 Subject: [PATCH 12/23] remove unused import --- rosenpass/src/protocol/test_vector_sets.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rosenpass/src/protocol/test_vector_sets.rs b/rosenpass/src/protocol/test_vector_sets.rs index f08abf7b..c00b8df7 100644 --- a/rosenpass/src/protocol/test_vector_sets.rs +++ b/rosenpass/src/protocol/test_vector_sets.rs @@ -17,7 +17,7 @@ use assert_tv::TestVectorSet; use base64::Engine; use rosenpass_cipher_traits::primitives::{Aead, Kem}; use rosenpass_ciphers::{EphemeralKem, KEY_LEN, XAead}; -use rosenpass_secret_memory::{Public, PublicBox, Secret}; +use rosenpass_secret_memory::{Public, Secret}; use serde_json::Value; #[derive(TestVectorSet)] From d71bce4e9329fb7a116d7bb330f3674da4c9c9b8 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 13:39:12 +0200 Subject: [PATCH 13/23] WIP --- fuzz/Cargo.lock | 1286 ----------------------------------------------- 1 file changed, 1286 deletions(-) delete mode 100644 fuzz/Cargo.lock diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock deleted file mode 100644 index 736749d0..00000000 --- a/fuzz/Cargo.lock +++ /dev/null @@ -1,1286 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "adler32" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" - -[[package]] -name = "ahash" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" -dependencies = [ - "memchr", -] - -[[package]] -name = "anstream" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" - -[[package]] -name = "anstyle-parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" -dependencies = [ - "windows-sys", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" -dependencies = [ - "anstyle", - "windows-sys", -] - -[[package]] -name = "anyhow" -version = "1.0.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" -dependencies = [ - "backtrace", -] - -[[package]] -name = "arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" -dependencies = [ - "derive_arbitrary", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backtrace" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.21.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" - -[[package]] -name = "bindgen" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" -dependencies = [ - "bitflags 1.3.2", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "log", - "peeking_take_while", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn", - "which", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" - -[[package]] -name = "build-deps" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64f14468960818ce4f3e3553c32d524446687884f8e7af5d3e252331d8a87e43" -dependencies = [ - "glob", -] - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "cc" -version = "1.0.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "jobserver", - "libc", -] - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clang-sys" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "4.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap_builder" -version = "4.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim", -] - -[[package]] -name = "clap_derive" -version = "4.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "clap_lex" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" - -[[package]] -name = "cmake" -version = "0.1.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" -dependencies = [ - "cc", -] - -[[package]] -name = "colorchoice" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" - -[[package]] -name = "core2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" -dependencies = [ - "memchr", -] - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "dary_heap" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7762d17f1241643615821a8455a0b2c3e803784b058693d990b11f2dce25a0ca" - -[[package]] -name = "derive_arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "either" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" - -[[package]] -name = "env_logger" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" -dependencies = [ - "libc", - "windows-sys", -] - -[[package]] -name = "filetime" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "windows-sys", -] - -[[package]] -name = "flate2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "form_urlencoded" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "getrandom" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashbrown" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" - -[[package]] -name = "home" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" -dependencies = [ - "windows-sys", -] - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indexmap" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" -dependencies = [ - "equivalent", - "hashbrown 0.14.2", -] - -[[package]] -name = "is-terminal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi", - "rustix", - "windows-sys", -] - -[[package]] -name = "jobserver" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" -dependencies = [ - "libc", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libc" -version = "0.2.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" - -[[package]] -name = "libflate" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7d5654ae1795afc7ff76f4365c2c8791b0feb18e8996a96adad8ffd7c3b2bf" -dependencies = [ - "adler32", - "core2", - "crc32fast", - "dary_heap", - "libflate_lz77", -] - -[[package]] -name = "libflate_lz77" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5f52fb8c451576ec6b79d3f4deb327398bc05bbdbd99021a6e77a4c855d524" -dependencies = [ - "core2", - "hashbrown 0.13.2", - "rle-decode-fast", -] - -[[package]] -name = "libfuzzer-sys" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7" -dependencies = [ - "arbitrary", - "cc", - "once_cell", -] - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "libsodium-sys-stable" -version = "1.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfc31f983531631496f4e621110cd81468ab78b65dee0046cfddea83caa2c327" -dependencies = [ - "cc", - "libc", - "libflate", - "minisign-verify", - "pkg-config", - "tar", - "ureq", - "vcpkg", - "zip", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" - -[[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[package]] -name = "memchr" -version = "2.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" - -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "minisign-verify" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "933dca44d65cdd53b355d0b73d380a2ff5da71f87f036053188bf1eab6a19881" - -[[package]] -name = "miniz_oxide" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys", -] - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "object" -version = "0.32.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" - -[[package]] -name = "oqs-sys" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa114149fb6e5362b9cf539de9305a6a3cf1556fbfa93b5053b4f70cf3adfb9" -dependencies = [ - "bindgen", - "build-deps", - "cmake", - "libc", -] - -[[package]] -name = "paste" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" - -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - -[[package]] -name = "percent-encoding" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" - -[[package]] -name = "pkg-config" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - -[[package]] -name = "prettyplease" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "proc-macro2" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "psm" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" -dependencies = [ - "cc", -] - -[[package]] -name = "quote" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "regex" -version = "1.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" - -[[package]] -name = "ring" -version = "0.17.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" -dependencies = [ - "cc", - "getrandom", - "libc", - "spin", - "untrusted", - "windows-sys", -] - -[[package]] -name = "rle-decode-fast" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422" - -[[package]] -name = "rosenpass" -version = "0.2.1" -dependencies = [ - "anyhow", - "base64", - "clap", - "env_logger", - "lazy_static", - "libsodium-sys-stable", - "log", - "memoffset", - "mio", - "oqs-sys", - "paste", - "serde", - "static_assertions", - "thiserror", - "toml", -] - -[[package]] -name = "rosenpass-fuzz" -version = "0.0.0" -dependencies = [ - "arbitrary", - "libfuzzer-sys", - "rosenpass", - "stacker", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustix" -version = "0.38.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" -dependencies = [ - "bitflags 2.4.1", - "errno", - "libc", - "linux-raw-sys", - "windows-sys", -] - -[[package]] -name = "rustls" -version = "0.21.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" -dependencies = [ - "log", - "ring", - "rustls-webpki", - "sct", -] - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "serde" -version = "1.0.190" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.190" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_spanned" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" -dependencies = [ - "serde", -] - -[[package]] -name = "shlex" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "stacker" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" -dependencies = [ - "cc", - "cfg-if", - "libc", - "psm", - "winapi", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "syn" -version = "2.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tar" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "termcolor" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "toml" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "ureq" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3" -dependencies = [ - "base64", - "log", - "once_cell", - "rustls", - "rustls-webpki", - "url", - "webpki-roots", -] - -[[package]] -name = "url" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "webpki-roots" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" - -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "winnow" -version = "0.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32" -dependencies = [ - "memchr", -] - -[[package]] -name = "xattr" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" -dependencies = [ - "libc", -] - -[[package]] -name = "zerocopy" -version = "0.7.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092cd76b01a033a9965b9097da258689d9e17c69ded5dcf41bca001dd20ebc6d" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a13a20a7c6a90e2034bcc65495799da92efcec6a8dd4f3fcb6f7a48988637ead" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zip" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" -dependencies = [ - "byteorder", - "crc32fast", - "crossbeam-utils", - "flate2", -] From c658c7258be1a5381b19c4a189e0718e65f6bc21 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 13:52:21 +0200 Subject: [PATCH 14/23] crate ctrl-async has been renamed to ctrlc --- Cargo.lock | 133 +++++++++++++++++++++++++++++++++----------------- rp/Cargo.toml | 2 +- 2 files changed, 88 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0bb2ad65..a05f9529 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -212,7 +212,7 @@ version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ - "bitflags 2.8.0", + "bitflags", "cexpr", "clang-sys", "itertools", @@ -226,12 +226,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.8.0" @@ -256,6 +250,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + [[package]] name = "build-deps" version = "0.1.4" @@ -315,6 +318,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chacha20" version = "0.9.1" @@ -600,14 +609,14 @@ dependencies = [ ] [[package]] -name = "ctrlc-async" -version = "3.2.2" +name = "ctrlc" +version = "3.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598e9d68e769aa1283460a3b0ec0d049ccfb6170277aea37089fa3f58fd721a1" +checksum = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" dependencies = [ - "nix 0.23.2", - "tokio", - "winapi", + "dispatch2", + "nix 0.31.3", + "windows-sys 0.61.2", ] [[package]] @@ -790,6 +799,18 @@ dependencies = [ "subtle", ] +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags", + "block2", + "libc", + "objc2", +] + [[package]] name = "doc-comment" version = "0.3.3" @@ -1240,7 +1261,7 @@ version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" dependencies = [ - "bitflags 2.8.0", + "bitflags", "cfg-if", "libc", ] @@ -1338,9 +1359,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.174" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libcrux" @@ -1531,15 +1552,6 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.1" @@ -1701,30 +1713,29 @@ dependencies = [ "tokio", ] -[[package]] -name = "nix" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" -dependencies = [ - "bitflags 1.3.2", - "cc", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - [[package]] name = "nix" version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.8.0", + "bitflags", "cfg-if", "libc", ] +[[package]] +name = "nix" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", +] + [[package]] name = "nom" version = "7.1.3" @@ -1763,6 +1774,21 @@ dependencies = [ "autocfg", ] +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + [[package]] name = "object" version = "0.36.7" @@ -2096,7 +2122,7 @@ version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82b568323e98e49e2a0899dcee453dd679fae22d69adf9b11dd508d1549b7e2f" dependencies = [ - "bitflags 2.8.0", + "bitflags", ] [[package]] @@ -2154,7 +2180,7 @@ dependencies = [ "home", "libcrux-test-utils", "log", - "memoffset 0.9.1", + "memoffset", "mio", "paste", "procspawn", @@ -2260,7 +2286,7 @@ version = "0.2.1" dependencies = [ "anyhow", "base64ct", - "ctrlc-async", + "ctrlc", "env_logger", "futures", "futures-util", @@ -2404,7 +2430,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.8.0", + "bitflags", "errno", "libc", "linux-raw-sys", @@ -3032,7 +3058,7 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.8.0", + "bitflags", "hashbrown", "indexmap", "semver", @@ -3124,6 +3150,12 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-result" version = "0.2.0" @@ -3179,6 +3211,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -3412,7 +3453,7 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" dependencies = [ - "bitflags 2.8.0", + "bitflags", ] [[package]] @@ -3453,7 +3494,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.8.0", + "bitflags", "indexmap", "log", "serde", diff --git a/rp/Cargo.toml b/rp/Cargo.toml index 3e8b6b7a..b6eae1fc 100644 --- a/rp/Cargo.toml +++ b/rp/Cargo.toml @@ -36,7 +36,7 @@ futures = { workspace = true } futures-util = { workspace = true } [target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies] -ctrlc-async = "3.2" +ctrlc = "3.2" genetlink = "0.2" rtnetlink = "0.14" netlink-packet-core = "0.7" From 78664898fd63e434e488931ed504859928ee113d Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 13:56:33 +0200 Subject: [PATCH 15/23] upgrade rustix (old version not compatible with Rust edition2024 anymore, ) --- Cargo.lock | 29 ++++++++++++++++++++++++----- Cargo.toml | 2 +- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a05f9529..6d9a8212 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1530,6 +1530,12 @@ version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + [[package]] name = "lock_api" version = "0.4.12" @@ -2192,7 +2198,7 @@ dependencies = [ "rosenpass-to", "rosenpass-util", "rosenpass-wireguard-broker", - "rustix", + "rustix 1.1.4", "serde", "serde_json", "serial_test", @@ -2350,7 +2356,7 @@ dependencies = [ "libcrux-test-utils", "log", "mio", - "rustix", + "rustix 1.1.4", "static_assertions", "tempfile", "thiserror 1.0.69", @@ -2378,7 +2384,7 @@ dependencies = [ "rosenpass-secret-memory", "rosenpass-to", "rosenpass-util", - "rustix", + "rustix 1.1.4", "thiserror 1.0.69", "tokio", "wireguard-uapi", @@ -2433,10 +2439,23 @@ dependencies = [ "bitflags", "errno", "libc", - "linux-raw-sys", + "linux-raw-sys 0.4.15", "windows-sys 0.59.0", ] +[[package]] +name = "rustix" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys 0.12.1", + "windows-sys 0.61.2", +] + [[package]] name = "rustversion" version = "1.0.19" @@ -2731,7 +2750,7 @@ dependencies = [ "fastrand", "getrandom 0.3.1", "once_cell", - "rustix", + "rustix 0.38.44", "windows-sys 0.59.0", ] diff --git a/Cargo.toml b/Cargo.toml index bc5287b3..cfecaaf1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -99,7 +99,7 @@ serde_json = { version = "1.0.140" } #Broker dependencies (might need cleanup or changes) wireguard-uapi = { version = "3.0.0", features = ["xplatform"] } command-fds = "0.2.3" -rustix = { version = "0.38.42", features = ["net", "fs", "process"] } +rustix = { version = "1.1.4", features = ["net", "fs", "process"] } futures = "0.3" futures-util = "0.3" x25519-dalek = "2" From 8d2b23d73e32d91618da5c41912b21c8847a3ede Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 14:01:44 +0200 Subject: [PATCH 16/23] cargo update --workspace tempfile --- Cargo.lock | 48 ++++++++++++++---------------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6d9a8212..72e718c0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -861,7 +861,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -1293,7 +1293,7 @@ checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -1521,15 +1521,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] -[[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - [[package]] name = "linux-raw-sys" version = "0.12.1" @@ -2198,7 +2192,7 @@ dependencies = [ "rosenpass-to", "rosenpass-util", "rosenpass-wireguard-broker", - "rustix 1.1.4", + "rustix", "serde", "serde_json", "serial_test", @@ -2356,7 +2350,7 @@ dependencies = [ "libcrux-test-utils", "log", "mio", - "rustix 1.1.4", + "rustix", "static_assertions", "tempfile", "thiserror 1.0.69", @@ -2384,7 +2378,7 @@ dependencies = [ "rosenpass-secret-memory", "rosenpass-to", "rosenpass-util", - "rustix 1.1.4", + "rustix", "thiserror 1.0.69", "tokio", "wireguard-uapi", @@ -2430,19 +2424,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", -] - [[package]] name = "rustix" version = "1.1.4" @@ -2452,7 +2433,7 @@ dependencies = [ "bitflags", "errno", "libc", - "linux-raw-sys 0.12.1", + "linux-raw-sys", "windows-sys 0.61.2", ] @@ -2685,7 +2666,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -2742,16 +2723,15 @@ checksum = "b4e17d8598067a8c134af59cd33c1c263470e089924a11ab61cf61690919fe3b" [[package]] name = "tempfile" -version = "3.17.1" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e5a0acb1f3f55f65cc4a866c361b2fb2a0ff6366785ae6fbb5f85df07ba230" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ - "cfg-if", "fastrand", - "getrandom 0.3.1", + "getrandom 0.4.2", "once_cell", - "rustix 0.38.44", - "windows-sys 0.59.0", + "rustix", + "windows-sys 0.52.0", ] [[package]] @@ -3115,7 +3095,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] From f0a4526426186fb67c0968eb50697ce701219ad6 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 14:04:00 +0200 Subject: [PATCH 17/23] upgrade thiserror and genetlink --- .github/workflows/qc.yaml | 1 + Cargo.lock | 77 +++++++++++++++++++++++++++------------ Cargo.toml | 2 +- 3 files changed, 56 insertions(+), 24 deletions(-) diff --git a/.github/workflows/qc.yaml b/.github/workflows/qc.yaml index 88f61e12..87826da8 100644 --- a/.github/workflows/qc.yaml +++ b/.github/workflows/qc.yaml @@ -162,6 +162,7 @@ jobs: - name: Install cargo-fuzz # cargo-fuzz might already be installed in the cached ~/.cargo/bin (v.s.), so we need to check run: | + cargo --version if ! command -v cargo-fuzz >/dev/null 2>&1; then cargo install cargo-fuzz --locked fi diff --git a/Cargo.lock b/Cargo.lock index 72e718c0..2d22d677 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -861,7 +861,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1001,16 +1001,15 @@ dependencies = [ [[package]] name = "genetlink" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f890076c1faa1298bf747ce3694a8d9e0d2cc4b06fe293f12dd95742bfd079f" +checksum = "4d8935531e8e0919b17043c668cc18bfac1622f2fab73125f4f018124ee330b8" dependencies = [ "futures", "log", - "netlink-packet-core", - "netlink-packet-generic", - "netlink-packet-utils", - "netlink-proto", + "netlink-packet-core 0.8.1", + "netlink-packet-generic 0.4.0", + "netlink-proto 0.12.0", "thiserror 1.0.69", "tokio", ] @@ -1293,7 +1292,7 @@ checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1634,6 +1633,15 @@ dependencies = [ "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-core" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3463cbb78394cb0141e2c926b93fc2197e473394b761986eca3b9da2c63ae0f4" +dependencies = [ + "paste", +] + [[package]] name = "netlink-packet-generic" version = "0.3.3" @@ -1642,10 +1650,19 @@ checksum = "1cd7eb8ad331c84c6b8cb7f685b448133e5ad82e1ffd5acafac374af4a5a308b" dependencies = [ "anyhow", "byteorder", - "netlink-packet-core", + "netlink-packet-core 0.7.0", "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-generic" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f891b2e0054cac5a684a06628f59568f841c93da4e551239da6e518f539e775" +dependencies = [ + "netlink-packet-core 0.8.1", +] + [[package]] name = "netlink-packet-route" version = "0.19.0" @@ -1656,7 +1673,7 @@ dependencies = [ "byteorder", "libc", "log", - "netlink-packet-core", + "netlink-packet-core 0.7.0", "netlink-packet-utils", ] @@ -1682,7 +1699,7 @@ dependencies = [ "byteorder", "libc", "log", - "netlink-packet-generic", + "netlink-packet-generic 0.3.3", "netlink-packet-utils", ] @@ -1695,7 +1712,21 @@ dependencies = [ "bytes", "futures", "log", - "netlink-packet-core", + "netlink-packet-core 0.7.0", + "netlink-sys", + "thiserror 2.0.11", +] + +[[package]] +name = "netlink-proto" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b65d130ee111430e47eed7896ea43ca693c387f097dd97376bffafbf25812128" +dependencies = [ + "bytes", + "futures", + "log", + "netlink-packet-core 0.8.1", "netlink-sys", "thiserror 2.0.11", ] @@ -2202,7 +2233,7 @@ dependencies = [ "static_assertions", "tempfile", "test_bin", - "thiserror 1.0.69", + "thiserror 2.0.11", "toml", "uds", "zerocopy 0.7.35", @@ -2217,7 +2248,7 @@ dependencies = [ "rosenpass-oqs", "rosenpass-secret-memory", "rosenpass-to", - "thiserror 1.0.69", + "thiserror 2.0.11", ] [[package]] @@ -2241,7 +2272,7 @@ dependencies = [ "rosenpass-util", "sha3", "static_assertions", - "thiserror 1.0.69", + "thiserror 2.0.11", "zeroize", ] @@ -2293,8 +2324,8 @@ dependencies = [ "genetlink", "libc", "log", - "netlink-packet-core", - "netlink-packet-generic", + "netlink-packet-core 0.7.0", + "netlink-packet-generic 0.3.3", "netlink-packet-wireguard", "rosenpass", "rosenpass-cipher-traits", @@ -2353,7 +2384,7 @@ dependencies = [ "rustix", "static_assertions", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.11", "tokio", "typenum", "uds", @@ -2379,7 +2410,7 @@ dependencies = [ "rosenpass-to", "rosenpass-util", "rustix", - "thiserror 1.0.69", + "thiserror 2.0.11", "tokio", "wireguard-uapi", "zerocopy 0.7.35", @@ -2393,10 +2424,10 @@ checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" dependencies = [ "futures", "log", - "netlink-packet-core", + "netlink-packet-core 0.7.0", "netlink-packet-route", "netlink-packet-utils", - "netlink-proto", + "netlink-proto 0.11.5", "netlink-sys", "nix 0.27.1", "thiserror 1.0.69", @@ -2666,7 +2697,7 @@ dependencies = [ "cfg-if", "libc", "psm", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2731,7 +2762,7 @@ dependencies = [ "getrandom 0.4.2", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index cfecaaf1..5e15aa16 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,7 +35,7 @@ doc-comment = "0.3.3" base64ct = { version = "1.6.0", default-features = false } zeroize = "1.8.1" memoffset = "0.9.1" -thiserror = "1.0.69" +thiserror = "2" paste = "1.0.15" env_logger = "0.10.2" toml = "0.7.8" From 583a205961b1d8ca71f9bff9d82fa008cd8af4f3 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 14:50:25 +0200 Subject: [PATCH 18/23] workaround: install cargo-fuzz without `--locked` (see #792) --- .github/workflows/qc.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qc.yaml b/.github/workflows/qc.yaml index 87826da8..7eba4961 100644 --- a/.github/workflows/qc.yaml +++ b/.github/workflows/qc.yaml @@ -164,7 +164,7 @@ jobs: run: | cargo --version if ! command -v cargo-fuzz >/dev/null 2>&1; then - cargo install cargo-fuzz --locked + cargo install cargo-fuzz fi - name: Run fuzzing run: | From ebdf7ddfe6a972b33e5c9ceab3603b1851f85b46 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 15:51:48 +0200 Subject: [PATCH 19/23] fix regression from upgrading rustix --- util/src/fd.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/util/src/fd.rs b/util/src/fd.rs index 85fde780..3b62625e 100644 --- a/util/src/fd.rs +++ b/util/src/fd.rs @@ -306,7 +306,7 @@ where type Error = rustix::io::Errno; fn socket_type(&self) -> Result { - rustix::net::sockopt::get_socket_type(self) + rustix::net::sockopt::socket_type(self) } } @@ -335,7 +335,7 @@ where type Error = rustix::io::Errno; fn socket_domain(&self) -> Result { - rustix::net::sockopt::get_socket_domain(self) + rustix::net::sockopt::socket_domain(self) } } @@ -511,7 +511,7 @@ where T: AsFd, { fn socket_protocol(&self) -> Result, rustix::io::Errno> { - rustix::net::sockopt::get_socket_protocol(self) + rustix::net::sockopt::socket_protocol(self) } } From 475d69333d00262a58e0caa93d8dc825690d97a6 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 15:52:13 +0200 Subject: [PATCH 20/23] upgrade netlink dependency --- Cargo.lock | 33 ++++++++++----------------------- rp/Cargo.toml | 6 +++--- rp/src/exchange.rs | 10 +++++----- 3 files changed, 18 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2d22d677..878915d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1008,7 +1008,7 @@ dependencies = [ "futures", "log", "netlink-packet-core 0.8.1", - "netlink-packet-generic 0.4.0", + "netlink-packet-generic", "netlink-proto 0.12.0", "thiserror 1.0.69", "tokio", @@ -1520,7 +1520,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -1642,18 +1642,6 @@ dependencies = [ "paste", ] -[[package]] -name = "netlink-packet-generic" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd7eb8ad331c84c6b8cb7f685b448133e5ad82e1ffd5acafac374af4a5a308b" -dependencies = [ - "anyhow", - "byteorder", - "netlink-packet-core 0.7.0", - "netlink-packet-utils", -] - [[package]] name = "netlink-packet-generic" version = "0.4.0" @@ -1691,16 +1679,15 @@ dependencies = [ [[package]] name = "netlink-packet-wireguard" -version = "0.2.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b25b050ff1f6a1e23c6777b72db22790fe5b6b5ccfd3858672587a79876c8f" +checksum = "cb217ca08c02978c3ea5ef0f013d20c602f2a17a9f00d9e4b1518a3500c2f332" dependencies = [ - "anyhow", - "byteorder", + "bitflags", "libc", "log", - "netlink-packet-generic 0.3.3", - "netlink-packet-utils", + "netlink-packet-core 0.8.1", + "netlink-packet-generic", ] [[package]] @@ -2324,8 +2311,8 @@ dependencies = [ "genetlink", "libc", "log", - "netlink-packet-core 0.7.0", - "netlink-packet-generic 0.3.3", + "netlink-packet-core 0.8.1", + "netlink-packet-generic", "netlink-packet-wireguard", "rosenpass", "rosenpass-cipher-traits", @@ -3126,7 +3113,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/rp/Cargo.toml b/rp/Cargo.toml index b6eae1fc..99ef5ad8 100644 --- a/rp/Cargo.toml +++ b/rp/Cargo.toml @@ -39,9 +39,9 @@ futures-util = { workspace = true } ctrlc = "3.2" genetlink = "0.2" rtnetlink = "0.14" -netlink-packet-core = "0.7" -netlink-packet-generic = "0.3" -netlink-packet-wireguard = "0.2" +netlink-packet-core = "0.8.1" +netlink-packet-generic = "0.4" +netlink-packet-wireguard = "0.4" [dev-dependencies] tempfile = { workspace = true } diff --git a/rp/src/exchange.rs b/rp/src/exchange.rs index 65f1ae92..337546d1 100644 --- a/rp/src/exchange.rs +++ b/rp/src/exchange.rs @@ -50,9 +50,9 @@ mod netlink { /// Re-exports from [::netlink_packet_wireguard] pub mod wg { - pub use ::netlink_packet_wireguard::constants::WG_KEY_LEN as KEY_LEN; - pub use ::netlink_packet_wireguard::nlas::WgDeviceAttrs as DeviceAttrs; - pub use ::netlink_packet_wireguard::{Wireguard, WireguardCmd}; + pub const KEY_LEN: usize = ::netlink_packet_wireguard::WireguardAttribute::WG_KEY_LEN; + pub use ::netlink_packet_wireguard::WireguardAttribute as DeviceAttrs; + pub use ::netlink_packet_wireguard::{WireguardCmd, WireguardMessage}; } } @@ -305,9 +305,9 @@ impl WireGuardDeviceImpl { } // The netlink request we are trying to send - let req = nl::wg::Wireguard { + let req = nl::wg::WireguardMessage { cmd: nl::wg::WireguardCmd::SetDevice, - nlas: attrs, + attributes: attrs, }; // Boilerplate; wrap the request into more structures From 1a3beed2f7784d23f1d8baf3b03b89597139c540 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 15:54:04 +0200 Subject: [PATCH 21/23] nix fmt --- constant-time/src/memcmp.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/constant-time/src/memcmp.rs b/constant-time/src/memcmp.rs index fcd4506f..d50527bd 100644 --- a/constant-time/src/memcmp.rs +++ b/constant-time/src/memcmp.rs @@ -37,8 +37,8 @@ pub fn memcmp(a: &[u8], b: &[u8]) -> bool { mod tests { use super::*; use core::hint::black_box; - use rand::seq::SliceRandom; use rand::rng; + use rand::seq::SliceRandom; use std::time::Instant; #[test] From e0b0cbfea173c134e894ca1ce121edf3b9caaa27 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 16:00:56 +0200 Subject: [PATCH 22/23] fix another regression from upgrading rand which was hidden behind a feature flag --- rosenpass/src/protocol/protocol.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/rosenpass/src/protocol/protocol.rs b/rosenpass/src/protocol/protocol.rs index 890a9aee..28ca7df8 100644 --- a/rosenpass/src/protocol/protocol.rs +++ b/rosenpass/src/protocol/protocol.rs @@ -2090,11 +2090,10 @@ impl CryptoServer { )?; { - use rand::Fill; - msg_out - .padding - .try_fill(&mut rosenpass_secret_memory::rand::rng()) - .unwrap(); + rand::Fill::fill_slice( + &mut msg_out.padding, + &mut rosenpass_secret_memory::rand::rng(), + ); } // length of the response From 82a407ec61f24846a81bd3b93d09eb9b14428ba3 Mon Sep 17 00:00:00 2001 From: Ilka Schulz Date: Sun, 7 Jun 2026 16:08:10 +0200 Subject: [PATCH 23/23] fix a regression from upgrading rustix --- rosenpass/tests/api-integration-tests-api-setup.rs | 5 +++-- rosenpass/tests/api-integration-tests.rs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/rosenpass/tests/api-integration-tests-api-setup.rs b/rosenpass/tests/api-integration-tests-api-setup.rs index 7437db7b..eaa5b398 100644 --- a/rosenpass/tests/api-integration-tests-api-setup.rs +++ b/rosenpass/tests/api-integration-tests-api-setup.rs @@ -33,13 +33,14 @@ struct KillChild(std::process::Child); impl Drop for KillChild { fn drop(&mut self) { - use rustix::process::{Pid, Signal::Term, kill_process}; + const TERM: rustix::process::Signal = rustix::process::Signal::TERM; + use rustix::process::{Pid, kill_process}; let pid = Pid::from_child(&self.0); // We seriously need to start handling signals with signalfd, our current signal handling // system is a bit broken; there is probably a few functions that just restart on EINTR // so the signal is absorbed loop { - kill_process(pid, Term).discard_result(); + kill_process(pid, TERM).discard_result(); if self.0.try_wait().unwrap().is_some() { break; } diff --git a/rosenpass/tests/api-integration-tests.rs b/rosenpass/tests/api-integration-tests.rs index 4bde1ac6..340cede3 100644 --- a/rosenpass/tests/api-integration-tests.rs +++ b/rosenpass/tests/api-integration-tests.rs @@ -23,13 +23,14 @@ struct KillChild(std::process::Child); impl Drop for KillChild { fn drop(&mut self) { - use rustix::process::{Pid, Signal::Term, kill_process}; + const TERM: rustix::process::Signal = rustix::process::Signal::TERM; + use rustix::process::{Pid, kill_process}; let pid = Pid::from_child(&self.0); // We seriously need to start handling signals with signalfd, our current signal handling // system is a bit broken; there is probably a few functions that just restart on EINTR // so the signal is absorbed loop { - kill_process(pid, Term).discard_result(); + kill_process(pid, TERM).discard_result(); if self.0.try_wait().unwrap().is_some() { break; }