sec: answer the advisory gate's first catch, remove hpke-rs 0.2.0, and clear every yanked dependency #449
13 changed files with 286 additions and 369 deletions
4
eoc/eoc-rs/Cargo.lock
generated
4
eoc/eoc-rs/Cargo.lock
generated
|
|
@ -339,9 +339,9 @@ checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
|
|||
|
||||
[[package]]
|
||||
name = "chacha20"
|
||||
version = "0.10.1"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81"
|
||||
checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures",
|
||||
|
|
|
|||
307
joule-code/joule-code-rs/Cargo.lock
generated
307
joule-code/joule-code-rs/Cargo.lock
generated
|
|
@ -73,7 +73,7 @@ dependencies = [
|
|||
"nom 7.1.3",
|
||||
"num-traits",
|
||||
"rusticata-macros",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"time",
|
||||
]
|
||||
|
||||
|
|
@ -325,9 +325,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "chacha20"
|
||||
version = "0.10.1"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81"
|
||||
checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures 0.3.0",
|
||||
|
|
@ -431,7 +431,7 @@ version = "0.3.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
|
||||
dependencies = [
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -621,9 +621,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "ctutils"
|
||||
version = "0.4.3"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03bb0e1cc970d482d121d9a1744999169b69a07470b3d644a7894e53fcaf4574"
|
||||
checksum = "12218662ccac37d9714f2191252553d67585b97df8c839cbe49e0bde278dc865"
|
||||
dependencies = [
|
||||
"cmov",
|
||||
]
|
||||
|
|
@ -926,7 +926,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1013,7 +1013,7 @@ dependencies = [
|
|||
"rand_core 0.6.4",
|
||||
"serde",
|
||||
"serdect",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"visibility",
|
||||
"zeroize",
|
||||
]
|
||||
|
|
@ -1335,45 +1335,23 @@ dependencies = [
|
|||
"digest 0.11.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hpke-rs"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e11bd4ee27b79fa1820e72ef8489cc729c87299ec3f7f52b8fc8dcb87cb2d485"
|
||||
dependencies = [
|
||||
"hpke-rs-crypto 0.2.0",
|
||||
"log",
|
||||
"serde",
|
||||
"tls_codec 0.4.2",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hpke-rs"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "812de62ab573b876c6c40d7553bae9402ae3bad95b64af06f964388eecb9b7b1"
|
||||
dependencies = [
|
||||
"hpke-rs-crypto 0.7.0",
|
||||
"hpke-rs-crypto",
|
||||
"hpke-rs-libcrux",
|
||||
"hpke-rs-rust-crypto 0.7.0",
|
||||
"hpke-rs-rust-crypto",
|
||||
"libcrux-sha3",
|
||||
"log",
|
||||
"serde",
|
||||
"subtle",
|
||||
"tls_codec 0.5.0",
|
||||
"tls_codec",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hpke-rs-crypto"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1c3f1ae0a26c18d6469a70db1217136056261c4a244b09a755bc60bd4e055b67"
|
||||
dependencies = [
|
||||
"rand_core 0.6.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hpke-rs-crypto"
|
||||
version = "0.7.0"
|
||||
|
|
@ -1390,7 +1368,7 @@ version = "0.7.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c1ace95ef11fbbd84527eada5fc1304f66720fc4c008db30d888d62d3c52613"
|
||||
dependencies = [
|
||||
"hpke-rs-crypto 0.7.0",
|
||||
"hpke-rs-crypto",
|
||||
"libcrux-aead",
|
||||
"libcrux-ecdh",
|
||||
"libcrux-hkdf",
|
||||
|
|
@ -1402,24 +1380,6 @@ dependencies = [
|
|||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hpke-rs-rust-crypto"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a08d4500baf0aced746723d3515d08212bdb9d941df6d1aca3d46d1619b2a1cf"
|
||||
dependencies = [
|
||||
"aes-gcm",
|
||||
"chacha20poly1305",
|
||||
"hkdf 0.12.4",
|
||||
"hpke-rs-crypto 0.2.0",
|
||||
"p256",
|
||||
"p384",
|
||||
"rand_chacha 0.3.1",
|
||||
"rand_core 0.6.4",
|
||||
"sha2 0.10.9",
|
||||
"x25519-dalek 2.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hpke-rs-rust-crypto"
|
||||
version = "0.7.0"
|
||||
|
|
@ -1429,7 +1389,7 @@ dependencies = [
|
|||
"aes-gcm",
|
||||
"chacha20poly1305",
|
||||
"hkdf 0.13.0",
|
||||
"hpke-rs-crypto 0.7.0",
|
||||
"hpke-rs-crypto",
|
||||
"k256",
|
||||
"ml-kem",
|
||||
"p256",
|
||||
|
|
@ -1731,7 +1691,7 @@ dependencies = [
|
|||
"ed25519-dalek",
|
||||
"jcp-schema",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1744,7 +1704,7 @@ dependencies = [
|
|||
"jcp-schema",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1766,7 +1726,7 @@ dependencies = [
|
|||
"hex",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1781,7 +1741,7 @@ dependencies = [
|
|||
"jni-sys",
|
||||
"log",
|
||||
"simd_cesu8",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"walkdir",
|
||||
"windows-link",
|
||||
]
|
||||
|
|
@ -1835,7 +1795,7 @@ dependencies = [
|
|||
"ed25519-dalek",
|
||||
"joule-code-schema",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1855,11 +1815,11 @@ dependencies = [
|
|||
"frost-ed25519",
|
||||
"joule-code-cargo",
|
||||
"joule-code-schema",
|
||||
"openmls 0.6.0",
|
||||
"openmls",
|
||||
"openmls_basic_credential",
|
||||
"openmls_rust_crypto 0.3.0",
|
||||
"openmls_rust_crypto",
|
||||
"rand 0.8.8",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1916,7 +1876,7 @@ dependencies = [
|
|||
"joule-code-schema",
|
||||
"joulecontract-receipt",
|
||||
"joulecontract-schema",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1928,7 +1888,7 @@ dependencies = [
|
|||
"joule-code-schema",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1947,7 +1907,7 @@ dependencies = [
|
|||
"proof-schema",
|
||||
"proof-solvers",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1970,7 +1930,7 @@ dependencies = [
|
|||
"sandbox-schema",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1981,7 +1941,7 @@ dependencies = [
|
|||
"joule-code-cargo",
|
||||
"joule-code-schema",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1996,7 +1956,7 @@ dependencies = [
|
|||
"joule-code-spec",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2007,7 +1967,7 @@ dependencies = [
|
|||
"blake3",
|
||||
"ciborium",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2018,7 +1978,7 @@ dependencies = [
|
|||
"joule-code-cargo",
|
||||
"joule-code-schema",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2044,7 +2004,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_json",
|
||||
"sha2 0.10.9",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
"uuid",
|
||||
|
|
@ -2072,7 +2032,7 @@ dependencies = [
|
|||
"serde_json",
|
||||
"sha2 0.10.9",
|
||||
"str0m",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"toml",
|
||||
"tracing",
|
||||
|
|
@ -2109,13 +2069,13 @@ dependencies = [
|
|||
"getrandom 0.2.17",
|
||||
"hex",
|
||||
"joule-moq",
|
||||
"openmls 0.9.1",
|
||||
"openmls_rust_crypto 0.6.0",
|
||||
"openmls_traits 0.6.0",
|
||||
"openmls",
|
||||
"openmls_rust_crypto",
|
||||
"openmls_traits",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"sha2 0.10.9",
|
||||
"tls_codec 0.5.0",
|
||||
"tls_codec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2136,7 +2096,7 @@ dependencies = [
|
|||
"rustls",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tokio-tungstenite",
|
||||
"toml",
|
||||
|
|
@ -2163,7 +2123,7 @@ version = "0.6.0"
|
|||
dependencies = [
|
||||
"joulecontract-schema",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2174,7 +2134,7 @@ dependencies = [
|
|||
"proof-cascade",
|
||||
"proof-schema",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2186,7 +2146,7 @@ dependencies = [
|
|||
"joulecontract-seal",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2197,7 +2157,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_json",
|
||||
"sha2 0.10.9",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2209,7 +2169,7 @@ dependencies = [
|
|||
"rand 0.8.8",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2223,7 +2183,7 @@ dependencies = [
|
|||
"joulecontract-schema",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2249,7 +2209,7 @@ dependencies = [
|
|||
"quinn",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tokio-util",
|
||||
"tracing",
|
||||
|
|
@ -2356,7 +2316,7 @@ dependencies = [
|
|||
"libcrux-curve25519",
|
||||
"libcrux-p256",
|
||||
"rand 0.10.2",
|
||||
"tls_codec 0.5.0",
|
||||
"tls_codec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2439,7 +2399,7 @@ dependencies = [
|
|||
"libcrux-sha3",
|
||||
"libcrux-traits",
|
||||
"rand 0.10.2",
|
||||
"tls_codec 0.5.0",
|
||||
"tls_codec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2743,20 +2703,6 @@ version = "0.3.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
|
||||
|
||||
[[package]]
|
||||
name = "openmls"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f1295188c6665fb9e96466180ac0a919ef52b5861cf7e86523823661348a597"
|
||||
dependencies = [
|
||||
"log",
|
||||
"openmls_traits 0.3.0",
|
||||
"rayon",
|
||||
"serde",
|
||||
"thiserror 1.0.69",
|
||||
"tls_codec 0.4.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openmls"
|
||||
version = "0.9.1"
|
||||
|
|
@ -2766,41 +2712,31 @@ dependencies = [
|
|||
"getrandom 0.4.3",
|
||||
"log",
|
||||
"openmls_serialization_helpers",
|
||||
"openmls_traits 0.6.0",
|
||||
"openmls_traits",
|
||||
"rayon",
|
||||
"serde",
|
||||
"serde_bytes",
|
||||
"thiserror 2.0.20",
|
||||
"tls_codec 0.5.0",
|
||||
"thiserror",
|
||||
"tls_codec",
|
||||
"web-time",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openmls_basic_credential"
|
||||
version = "0.3.0"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "465874276a4e2a3e391b25a464059a224c70c5c77ca1e3f595032bb310ab8984"
|
||||
checksum = "dbd3f0c3422e7c7a8496f042b547b0c28d0793f8ba97feb401966e58196a1e40"
|
||||
dependencies = [
|
||||
"ed25519-dalek",
|
||||
"openmls_traits 0.3.0",
|
||||
"ml-dsa",
|
||||
"openmls_traits",
|
||||
"p256",
|
||||
"rand 0.8.8",
|
||||
"p384",
|
||||
"rand_core 0.6.4",
|
||||
"serde",
|
||||
"tls_codec 0.4.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openmls_memory_storage"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ea9cc9eb04ed97262fa96382d7dbf0adfebd5ecde7dbafc7070f9231dd9cf08b"
|
||||
dependencies = [
|
||||
"log",
|
||||
"openmls_traits 0.3.0",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 1.0.69",
|
||||
"tls_codec",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2810,35 +2746,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "ce927945a16eaa19302ed5ccef052f01ba68f2ba7ae67e4ac4ff2fc661445364"
|
||||
dependencies = [
|
||||
"log",
|
||||
"openmls_traits 0.6.0",
|
||||
"openmls_traits",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openmls_rust_crypto"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1038331eabb5e63f276c9f866c081167c3ec1448ece0bf2bd535d1ecb5083d39"
|
||||
dependencies = [
|
||||
"aes-gcm",
|
||||
"chacha20poly1305",
|
||||
"ed25519-dalek",
|
||||
"hkdf 0.12.4",
|
||||
"hmac 0.12.1",
|
||||
"hpke-rs 0.2.0",
|
||||
"hpke-rs-crypto 0.2.0",
|
||||
"hpke-rs-rust-crypto 0.2.0",
|
||||
"openmls_memory_storage 0.3.0",
|
||||
"openmls_traits 0.3.0",
|
||||
"p256",
|
||||
"rand 0.8.8",
|
||||
"rand_chacha 0.3.1",
|
||||
"serde",
|
||||
"sha2 0.10.9",
|
||||
"thiserror 1.0.69",
|
||||
"tls_codec 0.4.2",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2852,20 +2763,20 @@ dependencies = [
|
|||
"ed25519-dalek",
|
||||
"hkdf 0.13.0",
|
||||
"hmac 0.13.0",
|
||||
"hpke-rs 0.7.0",
|
||||
"hpke-rs-crypto 0.7.0",
|
||||
"hpke-rs-rust-crypto 0.7.0",
|
||||
"hpke-rs",
|
||||
"hpke-rs-crypto",
|
||||
"hpke-rs-rust-crypto",
|
||||
"ml-dsa",
|
||||
"openmls_memory_storage 0.6.0",
|
||||
"openmls_traits 0.6.0",
|
||||
"openmls_memory_storage",
|
||||
"openmls_traits",
|
||||
"p256",
|
||||
"p384",
|
||||
"rand_chacha 0.3.1",
|
||||
"rand_core 0.10.1",
|
||||
"rand_core 0.6.4",
|
||||
"sha2 0.11.1",
|
||||
"thiserror 2.0.20",
|
||||
"tls_codec 0.5.0",
|
||||
"thiserror",
|
||||
"tls_codec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2877,17 +2788,7 @@ dependencies = [
|
|||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.119",
|
||||
"thiserror 2.0.20",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openmls_traits"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "443afa05406adc75fbfa0c3e04db93c5647b763861a474ae1aa8a99c362b80f8"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"tls_codec 0.4.2",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2897,7 +2798,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "ac13edad8698eb1917cbc1dab99591fa1594d84320904fe3fc5121854f95831c"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"tls_codec 0.5.0",
|
||||
"tls_codec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3126,7 +3027,7 @@ dependencies = [
|
|||
"hex",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3151,7 +3052,7 @@ dependencies = [
|
|||
"rustc-hash",
|
||||
"rustls",
|
||||
"socket2",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
"web-time",
|
||||
|
|
@ -3175,7 +3076,7 @@ dependencies = [
|
|||
"rustls-pki-types",
|
||||
"rustls-platform-verifier",
|
||||
"slab",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"tinyvec",
|
||||
"tracing",
|
||||
"web-time",
|
||||
|
|
@ -3192,7 +3093,7 @@ dependencies = [
|
|||
"once_cell",
|
||||
"socket2",
|
||||
"tracing",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3243,7 +3144,7 @@ version = "0.10.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
|
||||
dependencies = [
|
||||
"chacha20 0.10.1",
|
||||
"chacha20 0.10.2",
|
||||
"getrandom 0.4.3",
|
||||
"rand_core 0.10.1",
|
||||
]
|
||||
|
|
@ -3479,7 +3380,7 @@ dependencies = [
|
|||
"security-framework",
|
||||
"security-framework-sys",
|
||||
"webpki-root-certs",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3524,7 +3425,7 @@ dependencies = [
|
|||
"libloading",
|
||||
"sandbox-schema",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3535,7 +3436,7 @@ dependencies = [
|
|||
"blake3",
|
||||
"ciborium",
|
||||
"serde",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3565,7 +3466,7 @@ dependencies = [
|
|||
"rand 0.9.5",
|
||||
"rustc-hash",
|
||||
"slab",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3983,33 +3884,13 @@ dependencies = [
|
|||
"syn 3.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
|
||||
dependencies = [
|
||||
"thiserror-impl 1.0.69",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "2.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f"
|
||||
dependencies = [
|
||||
"thiserror-impl 2.0.20",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.119",
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -4087,17 +3968,6 @@ version = "0.1.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tls_codec"
|
||||
version = "0.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0de2e01245e2bb89d6f05801c564fa27624dbd7b1846859876c7dad82e90bf6b"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"tls_codec_derive 0.4.2",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tls_codec"
|
||||
version = "0.5.0"
|
||||
|
|
@ -4106,21 +3976,10 @@ checksum = "18cc98286004cea38f717e2b03d990fc774fbfd38a82720de40e5c94365067c8"
|
|||
dependencies = [
|
||||
"serde",
|
||||
"serde_bytes",
|
||||
"tls_codec_derive 0.5.0",
|
||||
"tls_codec_derive",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tls_codec_derive"
|
||||
version = "0.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2d2e76690929402faae40aebdda620a2c0e25dd6d3b9afe48867dfd95991f4bd"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.119",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tls_codec_derive"
|
||||
version = "0.5.0"
|
||||
|
|
@ -4301,7 +4160,7 @@ dependencies = [
|
|||
"log",
|
||||
"rand 0.9.5",
|
||||
"sha1",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -4503,7 +4362,7 @@ version = "0.1.11"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
||||
dependencies = [
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -4684,7 +4543,7 @@ dependencies = [
|
|||
"rustls-pki-types",
|
||||
"sha2 0.11.1",
|
||||
"socket2",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"time",
|
||||
"tokio",
|
||||
"tracing",
|
||||
|
|
@ -4701,7 +4560,7 @@ checksum = "aad9059572c7dbd6901ccef37f3b7321678cd708dcf58a64b1921dbeab7bfede"
|
|||
dependencies = [
|
||||
"httlib-huffman",
|
||||
"octets",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"url",
|
||||
]
|
||||
|
||||
|
|
@ -4766,7 +4625,7 @@ dependencies = [
|
|||
"oid-registry",
|
||||
"ring",
|
||||
"rusticata-macros",
|
||||
"thiserror 2.0.20",
|
||||
"thiserror",
|
||||
"time",
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,11 @@ ed25519-dalek.workspace = true
|
|||
rand = "0.8"
|
||||
# MLS group keying (RFC 9420) for the collaborating set — demonstrated in
|
||||
# tests/mls_keying.rs. Dev-dep so the library's runtime deps stay light.
|
||||
openmls = "0.6"
|
||||
openmls_rust_crypto = "0.3"
|
||||
openmls_basic_credential = "0.3"
|
||||
# Pinned to the same generation joule-moq-mls runs in production. They were
|
||||
# two generations apart, which put a second, older MLS stack in the test graph
|
||||
# and with it hpke-rs 0.2.0 — RUSTSEC-2026-0071 (nonce reuse in an HPKE
|
||||
# context) and -0069/-0070/-0072. Nothing shipped it, but there is no reason to
|
||||
# test RFC 9420 against an implementation production does not use.
|
||||
openmls = "=0.9.1"
|
||||
openmls_rust_crypto = "=0.6.0"
|
||||
openmls_basic_credential = "=0.6.0"
|
||||
|
|
|
|||
|
|
@ -45,7 +45,9 @@ fn key_package(
|
|||
|
||||
fn export(group: &MlsGroup, provider: &OpenMlsRustCrypto) -> Vec<u8> {
|
||||
group
|
||||
.export_secret(provider, EXPORT_LABEL, &[], 32)
|
||||
// openmls 0.9 takes the crypto backend here, not the whole provider —
|
||||
// the same call joule-moq-mls makes in production.
|
||||
.export_secret(provider.crypto(), EXPORT_LABEL, &[], 32)
|
||||
.expect("export secret")
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -283,9 +283,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "chacha20"
|
||||
version = "0.10.1"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81"
|
||||
checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures 0.3.0",
|
||||
|
|
@ -534,9 +534,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "ctutils"
|
||||
version = "0.4.3"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03bb0e1cc970d482d121d9a1744999169b69a07470b3d644a7894e53fcaf4574"
|
||||
checksum = "12218662ccac37d9714f2191252553d67585b97df8c839cbe49e0bde278dc865"
|
||||
dependencies = [
|
||||
"cmov",
|
||||
]
|
||||
|
|
@ -2407,7 +2407,7 @@ version = "0.10.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
|
||||
dependencies = [
|
||||
"chacha20 0.10.1",
|
||||
"chacha20 0.10.2",
|
||||
"getrandom 0.4.3",
|
||||
"rand_core 0.10.1",
|
||||
]
|
||||
|
|
|
|||
6
jouleclaw/jouleclaw-rs/Cargo.lock
generated
6
jouleclaw/jouleclaw-rs/Cargo.lock
generated
|
|
@ -626,9 +626,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "chacha20"
|
||||
version = "0.10.1"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81"
|
||||
checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures 0.3.0",
|
||||
|
|
@ -6392,7 +6392,7 @@ version = "0.10.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
|
||||
dependencies = [
|
||||
"chacha20 0.10.1",
|
||||
"chacha20 0.10.2",
|
||||
"getrandom 0.4.3",
|
||||
"rand_core 0.10.1",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ use std::sync::Arc;
|
|||
|
||||
use quick_xml::events::Event;
|
||||
use quick_xml::reader::Reader;
|
||||
use quick_xml::XmlVersion;
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────────
|
||||
// OpenVINO IR dtype enum
|
||||
|
|
@ -286,7 +287,7 @@ pub fn parse_openvino_xml(
|
|||
b"net" => {
|
||||
for attr in e.attributes().flatten() {
|
||||
let key = attr.key.as_ref();
|
||||
let val = attr.unescape_value().unwrap_or_default().to_string();
|
||||
let val = attr.normalized_value(XmlVersion::Implicit1_0).unwrap_or_default().to_string();
|
||||
match key {
|
||||
b"name" => net_name = val,
|
||||
b"version" => {
|
||||
|
|
@ -301,7 +302,7 @@ pub fn parse_openvino_xml(
|
|||
let mut name = String::new();
|
||||
let mut ty = String::new();
|
||||
for attr in e.attributes().flatten() {
|
||||
let val = attr.unescape_value().unwrap_or_default().to_string();
|
||||
let val = attr.normalized_value(XmlVersion::Implicit1_0).unwrap_or_default().to_string();
|
||||
match attr.key.as_ref() {
|
||||
b"id" => { id = val.parse().unwrap_or(0); }
|
||||
b"name" => { name = val; }
|
||||
|
|
@ -321,7 +322,7 @@ pub fn parse_openvino_xml(
|
|||
}
|
||||
b"data" if in_layer_const => {
|
||||
for attr in e.attributes().flatten() {
|
||||
let val = attr.unescape_value().unwrap_or_default().to_string();
|
||||
let val = attr.normalized_value(XmlVersion::Implicit1_0).unwrap_or_default().to_string();
|
||||
match attr.key.as_ref() {
|
||||
b"element_type" => {
|
||||
cur_dtype = OvDtype::parse(&val);
|
||||
|
|
|
|||
|
|
@ -174,6 +174,7 @@ fn xml_escape(s: &str) -> String {
|
|||
pub fn parse_response(xml: &str) -> Result<TransformResult, TrxError> {
|
||||
use quick_xml::events::Event;
|
||||
use quick_xml::Reader;
|
||||
use quick_xml::XmlVersion;
|
||||
|
||||
let mut reader = Reader::from_str(xml);
|
||||
// Deliberately no `trim_text(true)`: quick-xml reports an entity reference as
|
||||
|
|
@ -193,7 +194,6 @@ pub fn parse_response(xml: &str) -> Result<TransformResult, TrxError> {
|
|||
let mut cur_entity_properties: BTreeMap<String, serde_json::Value> = BTreeMap::new();
|
||||
// Per-field scratch.
|
||||
let mut cur_field_name: Option<String> = None;
|
||||
let mut cur_field_value: Option<String> = None;
|
||||
// Per-UIMessage scratch.
|
||||
let mut cur_uimsg_kind: Option<UiMessageKind> = None;
|
||||
|
||||
|
|
@ -204,11 +204,6 @@ pub fn parse_response(xml: &str) -> Result<TransformResult, TrxError> {
|
|||
// keeps `a & b` from arriving as just `b`.
|
||||
let mut chars = String::new();
|
||||
|
||||
let mut in_value = false;
|
||||
let mut in_weight = false;
|
||||
let mut in_field = false;
|
||||
let mut in_uimsg = false;
|
||||
|
||||
let mut entity_counter: usize = 0;
|
||||
|
||||
loop {
|
||||
|
|
@ -222,40 +217,36 @@ pub fn parse_response(xml: &str) -> Result<TransformResult, TrxError> {
|
|||
for attr in e.attributes().with_checks(false).flatten() {
|
||||
if attr.key.as_ref() == b"Type" {
|
||||
let v = attr
|
||||
.unescape_value()
|
||||
.normalized_value(XmlVersion::Implicit1_0)
|
||||
.map_err(|err| TrxError::Decode(format!("entity attr: {err}")))?;
|
||||
cur_entity_type = Some(v.into_owned());
|
||||
}
|
||||
}
|
||||
}
|
||||
"Value" => {
|
||||
in_value = true;
|
||||
chars.clear();
|
||||
}
|
||||
"Weight" => {
|
||||
in_weight = true;
|
||||
chars.clear();
|
||||
}
|
||||
"Field" => {
|
||||
in_field = true;
|
||||
chars.clear();
|
||||
for attr in e.attributes().with_checks(false).flatten() {
|
||||
if attr.key.as_ref() == b"Name" {
|
||||
let v = attr
|
||||
.unescape_value()
|
||||
.normalized_value(XmlVersion::Implicit1_0)
|
||||
.map_err(|err| TrxError::Decode(format!("field attr: {err}")))?;
|
||||
cur_field_name = Some(v.into_owned());
|
||||
}
|
||||
}
|
||||
}
|
||||
"UIMessage" => {
|
||||
in_uimsg = true;
|
||||
chars.clear();
|
||||
let mut kind = UiMessageKind::Inform;
|
||||
for attr in e.attributes().with_checks(false).flatten() {
|
||||
if attr.key.as_ref() == b"Type" {
|
||||
let v = attr
|
||||
.unescape_value()
|
||||
.normalized_value(XmlVersion::Implicit1_0)
|
||||
.map_err(|err| TrxError::Decode(format!("uimsg attr: {err}")))?;
|
||||
kind = match v.as_ref() {
|
||||
"Inform" => UiMessageKind::Inform,
|
||||
|
|
@ -312,29 +303,23 @@ pub fn parse_response(xml: &str) -> Result<TransformResult, TrxError> {
|
|||
.to_string();
|
||||
match name.as_str() {
|
||||
"Value" => {
|
||||
in_value = false;
|
||||
cur_entity_value = Some(chars.trim().to_string());
|
||||
chars.clear();
|
||||
}
|
||||
"Weight" => {
|
||||
in_weight = false;
|
||||
cur_entity_weight = chars.trim().parse::<f64>().ok();
|
||||
chars.clear();
|
||||
}
|
||||
"Field" => {
|
||||
cur_field_value = Some(chars.trim().to_string());
|
||||
let v = chars.trim().to_string();
|
||||
chars.clear();
|
||||
if let (Some(n), Some(v)) =
|
||||
(cur_field_name.take(), cur_field_value.take())
|
||||
{
|
||||
if let Some(n) = cur_field_name.take() {
|
||||
let val = serde_json::from_str::<serde_json::Value>(&v)
|
||||
.unwrap_or(serde_json::Value::String(v));
|
||||
cur_entity_properties.insert(n, val);
|
||||
}
|
||||
in_field = false;
|
||||
}
|
||||
"UIMessage" => {
|
||||
in_uimsg = false;
|
||||
if let Some(kind) = cur_uimsg_kind.take() {
|
||||
messages.push(UiMessage {
|
||||
kind,
|
||||
|
|
|
|||
4
jouledesk/jouledesk-rs/Cargo.lock
generated
4
jouledesk/jouledesk-rs/Cargo.lock
generated
|
|
@ -198,9 +198,9 @@ checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
|
|||
|
||||
[[package]]
|
||||
name = "chacha20"
|
||||
version = "0.10.1"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81"
|
||||
checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures 0.3.0",
|
||||
|
|
|
|||
4
openpay/Cargo.lock
generated
4
openpay/Cargo.lock
generated
|
|
@ -1395,9 +1395,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "ctutils"
|
||||
version = "0.4.3"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03bb0e1cc970d482d121d9a1744999169b69a07470b3d644a7894e53fcaf4574"
|
||||
checksum = "12218662ccac37d9714f2191252553d67585b97df8c839cbe49e0bde278dc865"
|
||||
dependencies = [
|
||||
"cmov",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -4,17 +4,21 @@
|
|||
#
|
||||
# A check that cannot fail is decoration. This feeds the check pre-captured
|
||||
# `cargo audit --json` documents through `--from-json` and asserts that it
|
||||
# 1. passes when every advisory found is allowed and every allowed advisory
|
||||
# is found;
|
||||
# 1. passes when every advisory found is allowed and every allowance is used;
|
||||
# 2. fails when an advisory is reported that the allow list does not name
|
||||
# (the case this check exists for);
|
||||
# 3. fails when an allow-list entry matches nothing, so an excuse cannot
|
||||
# outlive the exposure it was written for;
|
||||
# 4. fails, and says it could not audit, when the document does not parse:
|
||||
# 4. fails when a version-pinned allowance is offered a version it does not
|
||||
# name — the whole point of pinning it;
|
||||
# 5. fails when a version-pinned allowance names a pair that is gone, so the
|
||||
# pin cannot keep describing a tree that moved;
|
||||
# 6. fails, and says it could not audit, when the document does not parse:
|
||||
# an error is never read as "clean".
|
||||
#
|
||||
# Nothing here runs cargo or reads the advisory database, so it needs no
|
||||
# network and no lockfile.
|
||||
# The documents are generated from the check's own ALLOW table, imported rather
|
||||
# than scraped, so the two cannot drift apart. Nothing here runs cargo or reads
|
||||
# the advisory database, so it needs no network and no lockfile.
|
||||
set -uo pipefail
|
||||
|
||||
here=$(cd "$(dirname "$0")" && pwd)
|
||||
|
|
@ -22,37 +26,53 @@ check="$here/check-advisories.py"
|
|||
tmp=$(mktemp -d)
|
||||
trap 'rm -rf "$tmp"' EXIT
|
||||
|
||||
# Every advisory the check allows, read from the check itself so the two cannot
|
||||
# drift apart.
|
||||
# (a read loop, not `mapfile`: macOS ships bash 3.2, where mapfile does not exist)
|
||||
allowed=()
|
||||
while IFS= read -r id; do allowed+=("$id"); done < <(
|
||||
grep -oE '^ "RUSTSEC-[0-9]{4}-[0-9]{4}"' "$check" | tr -d ' "'
|
||||
)
|
||||
if [ ${#allowed[@]} -eq 0 ]; then
|
||||
echo "selftest: could not read the allow list out of $check" >&2
|
||||
exit 2
|
||||
fi
|
||||
# gen <out> [mutation] — a cargo-audit document built from the real ALLOW.
|
||||
# (none) every allowance, each at a version it covers
|
||||
# extra plus an advisory nobody allows
|
||||
# drop-one one allowance missing, so it matches nothing
|
||||
# wrong-ver a version-pinned allowance at a version it does not name
|
||||
# drop-pinned a version-pinned allowance's named pair removed
|
||||
gen() {
|
||||
python3 -I - "$check" "$1" "${2:-none}" <<'PY'
|
||||
import importlib.util, json, sys
|
||||
path, out, mode = sys.argv[1], sys.argv[2], sys.argv[3]
|
||||
spec = importlib.util.spec_from_file_location("chk", path)
|
||||
m = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(m) # __name__ != "__main__", so main() stays put
|
||||
|
||||
# write_json <file> <id>... — a cargo-audit document reporting exactly these.
|
||||
write_json() {
|
||||
local out=$1; shift
|
||||
{ printf '{"vulnerabilities":{"found":true,"count":%d,"list":[' "$#"
|
||||
local first=1 id
|
||||
for id in "$@"; do
|
||||
[ $first -eq 1 ] || printf ','
|
||||
first=0
|
||||
printf '{"advisory":{"id":"%s","title":"t"},"package":{"name":"c","version":"1.0.0"}}' "$id"
|
||||
done
|
||||
printf ']},"warnings":{}}'
|
||||
} > "$out"
|
||||
rows = []
|
||||
for adv, entry in m.ALLOW.items():
|
||||
if isinstance(entry, str):
|
||||
rows.append((adv, "c", "1.0.0"))
|
||||
else:
|
||||
for pair in entry["only"]:
|
||||
crate, ver = pair.rsplit(" ", 1)
|
||||
rows.append((adv, crate, ver))
|
||||
|
||||
pinned = [a for a, e in m.ALLOW.items() if not isinstance(e, str)]
|
||||
if mode == "extra":
|
||||
rows.append(("RUSTSEC-2099-0001", "c", "1.0.0"))
|
||||
elif mode == "drop-one":
|
||||
rows.pop(0)
|
||||
elif mode == "wrong-ver":
|
||||
assert pinned, "no version-pinned allowance to test"
|
||||
rows = [(a, c, ("9.9.9" if a == pinned[0] else v)) for a, c, v in rows]
|
||||
elif mode == "drop-pinned":
|
||||
assert pinned, "no version-pinned allowance to test"
|
||||
rows = [(a, c, v) for a, c, v in rows if a != pinned[0]]
|
||||
rows.append((pinned[0], "c", "1.0.0")) # present, but not at a named pair
|
||||
|
||||
doc = {"vulnerabilities": {"found": bool(rows), "count": len(rows), "list": [
|
||||
{"advisory": {"id": a, "title": "t"}, "package": {"name": c, "version": v}}
|
||||
for a, c, v in rows]}, "warnings": {}}
|
||||
open(out, "w").write(json.dumps(doc))
|
||||
PY
|
||||
}
|
||||
|
||||
fails=0
|
||||
expect() { # expect <pass|fail> <what> [text the output must hold] -- <args...>
|
||||
local want=$1 what=$2 needle=$3; shift 3; [ "${1:-}" = -- ] && shift
|
||||
local out rc
|
||||
out=$(python3 -I "$check" --from-json "$@" 2>&1); rc=$?
|
||||
expect() { # expect <pass|fail> <what> <needle> <file>
|
||||
local want=$1 what=$2 needle=$3 file=$4 out rc
|
||||
out=$(python3 -I "$check" --from-json "$file" 2>&1); rc=$?
|
||||
if [ "$want" = pass ] && [ $rc -ne 0 ]; then
|
||||
echo "FAIL $what: the check failed"; printf '%s\n' "$out" | sed 's/^/ /'; fails=$((fails+1)); return
|
||||
fi
|
||||
|
|
@ -65,17 +85,19 @@ expect() { # expect <pass|fail> <what> [text the output must hold] -- <args...>
|
|||
echo "ok $what"
|
||||
}
|
||||
|
||||
write_json "$tmp/all.json" "${allowed[@]}"
|
||||
expect pass "every advisory allowed and every allowance used passes" "" -- "$tmp/all.json"
|
||||
|
||||
write_json "$tmp/extra.json" "${allowed[@]}" "RUSTSEC-2099-0001"
|
||||
expect fail "an advisory the allow list does not name fails" "not in the allow list" -- "$tmp/extra.json"
|
||||
|
||||
write_json "$tmp/short.json" "${allowed[@]:1}"
|
||||
expect fail "an allowance that matches nothing fails" "no longer match anything" -- "$tmp/short.json"
|
||||
|
||||
gen "$tmp/all.json" || exit 2
|
||||
gen "$tmp/extra.json" extra || exit 2
|
||||
gen "$tmp/short.json" drop-one || exit 2
|
||||
gen "$tmp/wrongver.json" wrong-ver || exit 2
|
||||
gen "$tmp/dropped.json" drop-pinned || exit 2
|
||||
printf 'this is not json\n' > "$tmp/broken.json"
|
||||
expect fail "a document that does not parse fails as unaudited, not as clean" "Could not be audited" -- "$tmp/broken.json"
|
||||
|
||||
expect pass "every advisory allowed and every allowance used passes" "" "$tmp/all.json"
|
||||
expect fail "an advisory the allow list does not name fails" "not in the allow list" "$tmp/extra.json"
|
||||
expect fail "an allowance that matches nothing fails" "no longer match anything" "$tmp/short.json"
|
||||
expect fail "a version-pinned allowance at an unnamed version fails" "not in the allow list" "$tmp/wrongver.json"
|
||||
expect fail "a version-pinned allowance whose named pair is gone fails" "no longer" "$tmp/dropped.json"
|
||||
expect fail "a document that does not parse fails as unaudited, not as clean" "Could not be audited" "$tmp/broken.json"
|
||||
|
||||
if [ $fails -ne 0 ]; then echo "check-advisories-selftest: $fails failure(s)"; exit 1; fi
|
||||
echo "check-advisories-selftest: the check passes a reviewed tree and fails each way it should."
|
||||
|
|
|
|||
|
|
@ -45,6 +45,21 @@ import sys
|
|||
|
||||
# Advisories left in place on purpose. Each needs the reason, and each must
|
||||
# still be reported by at least one lockfile or this check fails.
|
||||
#
|
||||
# An entry is either
|
||||
#
|
||||
# "RUSTSEC-...": "why it can be left"
|
||||
#
|
||||
# which excuses the advisory at ANY version — correct when the reason does not
|
||||
# depend on the version, such as a call we never make — or
|
||||
#
|
||||
# "RUSTSEC-...": {"why": "...", "only": ("crate 1.2.3", ...)}
|
||||
#
|
||||
# which excuses it ONLY at those exact crate/version pairs. Use the second form
|
||||
# whenever the reason is "this particular line cannot move yet", because the
|
||||
# first form is version-blind: it would go on excusing the advisory if a
|
||||
# patched line later regressed to an unpatched release. Every pair named in
|
||||
# `only` must also still appear, or the entry is stale and the run fails.
|
||||
ALLOW = {
|
||||
# ── Unreachable here ────────────────────────────────────────────────────
|
||||
# All three are faults in `extract()`: SUID/SGID bits preserved from the
|
||||
|
|
@ -61,30 +76,36 @@ ALLOW = {
|
|||
# sandbox-rs and wai-rs transitively and neither holds an RSA private key
|
||||
# nor decrypts: openpay's unused direct dependency was removed outright.
|
||||
"RUSTSEC-2023-0071": "rsa: no fixed release; no private-key decryption here",
|
||||
# ── Not in a shipped artifact ──────────────────────────────────────────
|
||||
# The production MLS path (joule-moq-mls) resolves the patched hpke-rs
|
||||
# 0.7.0. These four are the old 0.2.0, reached only through a
|
||||
# [dev-dependencies] edge of joule-code-collab, which still pins the
|
||||
# openmls 0.6/0.3 stack. Test graph only; aligning it to the 0.9.1/0.6.0
|
||||
# stack already used in-repo would remove them.
|
||||
"RUSTSEC-2026-0069": "hpke-rs 0.2.0: dev-dependency only; production uses 0.7.0",
|
||||
"RUSTSEC-2026-0070": "hpke-rs 0.2.0: dev-dependency only; production uses 0.7.0",
|
||||
"RUSTSEC-2026-0071": "hpke-rs 0.2.0: dev-dependency only; production uses 0.7.0",
|
||||
"RUSTSEC-2026-0072": "hpke-rs-rust-crypto 0.2.0: dev-dependency only",
|
||||
# ── Pinned by a dependency; needs an upstream release ──────────────────
|
||||
# Secret-dependent branches in operations meant to be constant-time
|
||||
# (subtraction, zero counting, division, Montgomery multiplication), so
|
||||
# timing can leak intermediate arithmetic on secret integers. Fixed in
|
||||
# >=0.7.6, and smart-byte's 0.7.x copy is patched. The 0.5.5 line is pinned
|
||||
# by elliptic-curve 0.13, so reaching it means moving the whole
|
||||
# p256/elliptic-curve stack — a real upgrade, not a bump, and this entry is
|
||||
# that debt, recorded on paths that sign and derive keys. Version-pinned on
|
||||
# purpose: a 0.7.x copy must never be excused by it.
|
||||
"RUSTSEC-2026-0387": {
|
||||
"why": "crypto-bigint 0.5.5 is pinned by elliptic-curve 0.13; 0.7.x is patched",
|
||||
"only": ("crypto-bigint 0.5.5",),
|
||||
},
|
||||
# hpke-rs-libcrux pins `=0.7.0`, which pins libcrux-kem 0.0.9. Both are
|
||||
# panics on short or malformed hybrid keys — denial of service, not memory
|
||||
# corruption. Fixed by an openmls/hpke-rs release, not from here.
|
||||
"RUSTSEC-2026-0330": "libcrux-kem: pinned by hpke-rs-libcrux =0.7.0; upstream",
|
||||
"RUSTSEC-2026-0331": "libcrux-kem: pinned by hpke-rs-libcrux =0.7.0; upstream",
|
||||
# quick-xml is 0.41 everywhere the version is ours to choose. openpay also
|
||||
# resolves 0.37.5 through open-payments-iso20022 1.0.10 (no later release
|
||||
# exists), and smart-byte resolves 0.39.4 through plist -> netdev ->
|
||||
# netwatch -> iroh. NOTE: the openpay path is the same ISO 20022 surface we
|
||||
# harden directly, so this entry is a known remaining exposure on a payment
|
||||
# ingestion path, not a dismissal. Drop it the moment upstream ships.
|
||||
"RUSTSEC-2026-0194": "quick-xml 0.37.5/0.39.4: pinned by open-payments-iso20022 and iroh",
|
||||
"RUSTSEC-2026-0195": "quick-xml 0.37.5/0.39.4: NsReader unused here; dependents pin the version",
|
||||
# quick-xml is 0.41 everywhere the version is ours to choose, which includes
|
||||
# every call that actually parses: op-iso20022's codec binds the workspace
|
||||
# 0.41. Two older copies remain in the graph, neither on a parse path.
|
||||
# openpay resolves 0.37.5 through open-payments-iso20022 1.0.10, which
|
||||
# declares quick-xml but never calls it — the crate ships serde-annotated
|
||||
# ISO 20022 types (3 files, ~2.2k lines, no `quick_xml` reference), and
|
||||
# the parsing is ours. Compiled, never executed.
|
||||
# smart-byte resolves 0.39.4 through plist -> netdev -> netwatch -> iroh,
|
||||
# which parses macOS plists, not counterparty XML.
|
||||
# -0195 additionally needs `NsReader`, which appears nowhere in this tree.
|
||||
"RUSTSEC-2026-0194": "quick-xml 0.37.5/0.39.4: not on a parse path; our parsing is on 0.41",
|
||||
"RUSTSEC-2026-0195": "quick-xml 0.37.5/0.39.4: NsReader unused, and neither copy parses",
|
||||
# h2 0.3.27 under jouleclaw and 0.4.14 under smart-byte, both transitive;
|
||||
# the fix is a major move for the dependent.
|
||||
"RUSTSEC-2026-0258": "h2: transitive; fixed version is a major move for the dependent",
|
||||
|
|
@ -189,8 +210,29 @@ def main():
|
|||
for kind, items in (data.get("warnings") or {}).items():
|
||||
warn_count += len(items or [])
|
||||
|
||||
unexpected = {k: v for k, v in found.items() if k not in ALLOW}
|
||||
def covered(adv, crate, ver):
|
||||
entry = ALLOW.get(adv)
|
||||
if entry is None:
|
||||
return False
|
||||
if isinstance(entry, str):
|
||||
return True
|
||||
return f"{crate} {ver}" in entry["only"]
|
||||
|
||||
unexpected = {}
|
||||
for adv, occurrences in found.items():
|
||||
loose = [o for o in occurrences if not covered(adv, o[0], o[1])]
|
||||
if loose:
|
||||
unexpected[adv] = loose
|
||||
|
||||
stale = [k for k in ALLOW if k not in found]
|
||||
# A version-pinned entry is also stale when a pair it names is gone: the
|
||||
# pin stops describing the tree the moment that line moves.
|
||||
for adv, entry in ALLOW.items():
|
||||
if adv in found and isinstance(entry, dict):
|
||||
seen = {f"{c} {v}" for c, v, _ in found[adv]}
|
||||
for pair in entry["only"]:
|
||||
if pair not in seen:
|
||||
stale.append(f"{adv} (no longer at {pair})")
|
||||
|
||||
if unexpected:
|
||||
print("Advisories that are not in the allow list:\n")
|
||||
|
|
@ -205,7 +247,9 @@ def main():
|
|||
if stale:
|
||||
print("\nAllow-list entries that no longer match anything:\n")
|
||||
for adv in sorted(stale):
|
||||
print(f" {adv} — {ALLOW[adv]}")
|
||||
entry = ALLOW.get(adv.split(" (")[0])
|
||||
why = entry if isinstance(entry, str) else (entry or {}).get("why", "")
|
||||
print(f" {adv} — {why}")
|
||||
print(
|
||||
"\nThe exposure is gone. Remove the entry, so the list keeps describing\n"
|
||||
"the tree instead of hiding it."
|
||||
|
|
|
|||
81
smart-byte/smart-byte-rs/Cargo.lock
generated
81
smart-byte/smart-byte-rs/Cargo.lock
generated
|
|
@ -150,9 +150,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.102"
|
||||
version = "1.0.103"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
|
||||
checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3"
|
||||
|
||||
[[package]]
|
||||
name = "arc-swap"
|
||||
|
|
@ -711,9 +711,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "chacha20"
|
||||
version = "0.10.0"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601"
|
||||
checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cipher 0.5.2",
|
||||
|
|
@ -1045,9 +1045,9 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
|
|||
|
||||
[[package]]
|
||||
name = "crypto-bigint"
|
||||
version = "0.7.3"
|
||||
version = "0.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3"
|
||||
checksum = "6bb08299a6046833a879ace115697f12fd2bd6c8d3e93c909ffc9e0738e7cae0"
|
||||
dependencies = [
|
||||
"cpubits",
|
||||
"ctutils",
|
||||
|
|
@ -1090,9 +1090,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "ctutils"
|
||||
version = "0.4.2"
|
||||
version = "0.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e"
|
||||
checksum = "38d28fb6aa7dd680b3ffd1a3e64e115c177bdba63c0ae7f9cd48129ff05c4fa0"
|
||||
dependencies = [
|
||||
"cmov",
|
||||
"subtle",
|
||||
|
|
@ -1218,7 +1218,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "ccc2776f0c61eca1ca32528f85548abd1a4be8fb53d1b21c013e4f18da1e7090"
|
||||
dependencies = [
|
||||
"data-encoding",
|
||||
"syn 1.0.109",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1251,9 +1251,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "der"
|
||||
version = "0.8.0"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "71fd89660b2dc699704064e59e9dba0147b903e85319429e131620d022be411b"
|
||||
checksum = "a878c850e9e421b20262e9b41f9c860e4785fa07541c266b62ff9d1ef998a80a"
|
||||
dependencies = [
|
||||
"const-oid 0.10.2",
|
||||
"pem-rfc7468",
|
||||
|
|
@ -1427,7 +1427,7 @@ version = "0.17.0-rc.18"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "54fb064faabbee66e1fc8e5c5a9458d4269dc2d8b638fe86a425adb2510d1a96"
|
||||
dependencies = [
|
||||
"der 0.8.0",
|
||||
"der 0.8.2",
|
||||
"digest 0.11.3",
|
||||
"elliptic-curve",
|
||||
"rfc6979",
|
||||
|
|
@ -1564,16 +1564,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "event-listener"
|
||||
version = "5.4.1"
|
||||
version = "5.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab"
|
||||
checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2"
|
||||
dependencies = [
|
||||
"concurrent-queue",
|
||||
"parking",
|
||||
"pin-project-lite",
|
||||
]
|
||||
|
|
@ -1715,7 +1714,7 @@ dependencies = [
|
|||
"diatomic-waker",
|
||||
"futures-core",
|
||||
"pin-project-lite",
|
||||
"spin 0.10.0",
|
||||
"spin 0.10.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2070,7 +2069,7 @@ dependencies = [
|
|||
"hash32",
|
||||
"rustc_version",
|
||||
"serde",
|
||||
"spin 0.9.8",
|
||||
"spin 0.9.9",
|
||||
"stable_deref_trait",
|
||||
]
|
||||
|
||||
|
|
@ -2377,7 +2376,7 @@ dependencies = [
|
|||
"libc",
|
||||
"percent-encoding",
|
||||
"pin-project-lite",
|
||||
"socket2 0.5.10",
|
||||
"socket2 0.6.3",
|
||||
"tokio",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
|
|
@ -2786,9 +2785,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "iroh-blobs"
|
||||
version = "0.101.0"
|
||||
version = "0.101.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c6e351f5c1db08dcfb456e6299bda0881e1ba95a360f0913a5e57344c1538fb2"
|
||||
checksum = "7b9674590d5b678af0989a7ed77d24b57f88bad45e4729c08f66c7177b1c0b6e"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"bao-tree",
|
||||
|
|
@ -3665,9 +3664,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "lru"
|
||||
version = "0.18.0"
|
||||
version = "0.18.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a860605968fce16869fd239cf4237a82f3ac470723415db603b0e8b6c8d4fb9"
|
||||
checksum = "5d2f2f9b4ba7e6b24d95e7e899329d35be83bcded72c8540cdd5368932d1d90a"
|
||||
dependencies = [
|
||||
"hashbrown 0.17.1",
|
||||
]
|
||||
|
|
@ -4065,7 +4064,7 @@ dependencies = [
|
|||
"pin-project-lite",
|
||||
"rustc-hash",
|
||||
"rustls",
|
||||
"socket2 0.5.10",
|
||||
"socket2 0.6.3",
|
||||
"thiserror 2.0.18",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
|
|
@ -4110,7 +4109,7 @@ checksum = "78633d1fe1bde91d12bcabb230ac9edb890857414c6d44f3212e0d309525b5ff"
|
|||
dependencies = [
|
||||
"cfg_aliases",
|
||||
"libc",
|
||||
"socket2 0.5.10",
|
||||
"socket2 0.6.3",
|
||||
"tracing",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
|
@ -4480,7 +4479,7 @@ version = "0.11.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "451913da69c775a56034ea8d9003d27ee8948e12443eae7c038ba100a4f21cb7"
|
||||
dependencies = [
|
||||
"der 0.8.0",
|
||||
"der 0.8.2",
|
||||
"spki 0.8.0",
|
||||
]
|
||||
|
||||
|
|
@ -4906,7 +4905,7 @@ dependencies = [
|
|||
"quinn-udp",
|
||||
"rustc-hash",
|
||||
"rustls",
|
||||
"socket2 0.5.10",
|
||||
"socket2 0.6.3",
|
||||
"thiserror 2.0.18",
|
||||
"tokio",
|
||||
"tracing",
|
||||
|
|
@ -4945,7 +4944,7 @@ dependencies = [
|
|||
"cfg_aliases",
|
||||
"libc",
|
||||
"once_cell",
|
||||
"socket2 0.5.10",
|
||||
"socket2 0.6.3",
|
||||
"tracing",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
|
@ -4998,7 +4997,7 @@ version = "0.10.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207"
|
||||
dependencies = [
|
||||
"chacha20 0.10.0",
|
||||
"chacha20 0.10.2",
|
||||
"getrandom 0.4.2",
|
||||
"rand_core 0.10.1",
|
||||
]
|
||||
|
|
@ -5343,7 +5342,7 @@ dependencies = [
|
|||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -5402,7 +5401,7 @@ dependencies = [
|
|||
"security-framework",
|
||||
"security-framework-sys",
|
||||
"webpki-root-certs",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -5502,7 +5501,7 @@ checksum = "d56d437c2f19203ce5f7122e507831de96f3d2d4d3be5af44a0b0a09d8a80e4d"
|
|||
dependencies = [
|
||||
"base16ct",
|
||||
"ctutils",
|
||||
"der 0.8.0",
|
||||
"der 0.8.2",
|
||||
"hybrid-array",
|
||||
"subtle",
|
||||
"zeroize",
|
||||
|
|
@ -5558,7 +5557,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "5b55fb86dfd3a2f5f76ea78310a88f96c4ea21a3031f8d212443d56123fd0521"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -6164,7 +6163,7 @@ dependencies = [
|
|||
"aes",
|
||||
"async-trait",
|
||||
"cbc",
|
||||
"chacha20 0.10.0",
|
||||
"chacha20 0.10.2",
|
||||
"chrono",
|
||||
"data-encoding",
|
||||
"hex",
|
||||
|
|
@ -6350,18 +6349,18 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "spin"
|
||||
version = "0.9.8"
|
||||
version = "0.9.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
|
||||
checksum = "3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e"
|
||||
dependencies = [
|
||||
"lock_api",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "spin"
|
||||
version = "0.10.0"
|
||||
version = "0.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591"
|
||||
checksum = "023a211cb3138dbc438680b32560ad89f699977624c9f8dbb95a47d5b4c07dd3"
|
||||
|
||||
[[package]]
|
||||
name = "spki"
|
||||
|
|
@ -6380,7 +6379,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "1d9efca8738c78ee9484207732f728b1ef517bbb1833d6fc0879ca898a522f6f"
|
||||
dependencies = [
|
||||
"base64ct",
|
||||
"der 0.8.0",
|
||||
"der 0.8.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -6538,7 +6537,7 @@ dependencies = [
|
|||
"getrandom 0.4.2",
|
||||
"once_cell",
|
||||
"rustix",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -7260,7 +7259,7 @@ version = "0.1.11"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
||||
dependencies = [
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
|||
Loading…
Reference in a new issue