diff --git a/eoc/eoc-rs/Cargo.lock b/eoc/eoc-rs/Cargo.lock index 2c0f25329..75d4708aa 100644 --- a/eoc/eoc-rs/Cargo.lock +++ b/eoc/eoc-rs/Cargo.lock @@ -2660,9 +2660,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04759210543be93709136e28212294a659ef5001836ff4eab4d663e4529bba83" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" dependencies = [ "aws-lc-rs", "bytes", @@ -2994,9 +2994,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "aws-lc-rs", "once_cell", @@ -3057,9 +3057,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "aws-lc-rs", "ring", @@ -3988,9 +3988,9 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b" +checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb" dependencies = [ "rustls-pki-types", ] diff --git a/joule-code/examples/l3-jouleclaw/Cargo.lock b/joule-code/examples/l3-jouleclaw/Cargo.lock index 3cf0fadf5..76a3c1f40 100644 --- a/joule-code/examples/l3-jouleclaw/Cargo.lock +++ b/joule-code/examples/l3-jouleclaw/Cargo.lock @@ -666,9 +666,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.36.2" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" dependencies = [ "memchr", ] diff --git a/joule-code/joule-code-rs/Cargo.lock b/joule-code/joule-code-rs/Cargo.lock index 31848a7ec..7c53f6de1 100644 --- a/joule-code/joule-code-rs/Cargo.lock +++ b/joule-code/joule-code-rs/Cargo.lock @@ -73,7 +73,7 @@ dependencies = [ "nom 7.1.3", "num-traits", "rusticata-macros", - "thiserror 2.0.20", + "thiserror", "time", ] @@ -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]] @@ -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", @@ -2088,13 +2048,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]] @@ -2115,7 +2075,7 @@ dependencies = [ "rustls", "serde", "serde_json", - "thiserror 2.0.20", + "thiserror", "tokio", "tokio-tungstenite", "toml", @@ -2142,7 +2102,7 @@ version = "0.6.0" dependencies = [ "joulecontract-schema", "serde", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -2153,7 +2113,7 @@ dependencies = [ "proof-cascade", "proof-schema", "serde", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -2165,7 +2125,7 @@ dependencies = [ "joulecontract-seal", "serde", "serde_json", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -2176,7 +2136,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.9", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -2188,7 +2148,7 @@ dependencies = [ "rand 0.8.8", "serde", "serde_json", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -2202,7 +2162,7 @@ dependencies = [ "joulecontract-schema", "serde", "serde_json", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -2228,7 +2188,7 @@ dependencies = [ "quinn", "serde", "serde_json", - "thiserror 2.0.20", + "thiserror", "tokio", "tokio-util", "tracing", @@ -2335,7 +2295,7 @@ dependencies = [ "libcrux-curve25519", "libcrux-p256", "rand 0.10.2", - "tls_codec 0.5.0", + "tls_codec", ] [[package]] @@ -2418,7 +2378,7 @@ dependencies = [ "libcrux-sha3", "libcrux-traits", "rand 0.10.2", - "tls_codec 0.5.0", + "tls_codec", ] [[package]] @@ -2722,20 +2682,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" @@ -2745,41 +2691,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]] @@ -2789,35 +2725,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]] @@ -2831,20 +2742,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]] @@ -2856,17 +2767,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]] @@ -2876,7 +2777,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac13edad8698eb1917cbc1dab99591fa1594d84320904fe3fc5121854f95831c" dependencies = [ "serde", - "tls_codec 0.5.0", + "tls_codec", ] [[package]] @@ -3105,7 +3006,7 @@ dependencies = [ "hex", "serde", "serde_json", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -3130,7 +3031,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror 2.0.20", + "thiserror", "tokio", "tracing", "web-time", @@ -3138,9 +3039,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04759210543be93709136e28212294a659ef5001836ff4eab4d663e4529bba83" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" dependencies = [ "bytes", "fastbloom", @@ -3154,7 +3055,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier", "slab", - "thiserror 2.0.20", + "thiserror", "tinyvec", "tracing", "web-time", @@ -3404,9 +3305,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "aws-lc-rs", "log", @@ -3469,9 +3370,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "aws-lc-rs", "ring", @@ -3503,7 +3404,7 @@ dependencies = [ "libloading", "sandbox-schema", "serde", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -3514,7 +3415,7 @@ dependencies = [ "blake3", "ciborium", "serde", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -3544,7 +3445,7 @@ dependencies = [ "rand 0.9.5", "rustc-hash", "slab", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -3962,33 +3863,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]] @@ -4066,17 +3947,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" @@ -4085,21 +3955,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" @@ -4280,7 +4139,7 @@ dependencies = [ "log", "rand 0.9.5", "sha1", - "thiserror 2.0.20", + "thiserror", ] [[package]] @@ -4469,9 +4328,9 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b" +checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb" dependencies = [ "rustls-pki-types", ] @@ -4663,7 +4522,7 @@ dependencies = [ "rustls-pki-types", "sha2 0.11.1", "socket2", - "thiserror 2.0.20", + "thiserror", "time", "tokio", "tracing", @@ -4680,7 +4539,7 @@ checksum = "aad9059572c7dbd6901ccef37f3b7321678cd708dcf58a64b1921dbeab7bfede" dependencies = [ "httlib-huffman", "octets", - "thiserror 2.0.20", + "thiserror", "url", ] @@ -4745,7 +4604,7 @@ dependencies = [ "oid-registry", "ring", "rusticata-macros", - "thiserror 2.0.20", + "thiserror", "time", ] diff --git a/joule-code/joule-code-rs/crates/joule-code-collab/Cargo.toml b/joule-code/joule-code-rs/crates/joule-code-collab/Cargo.toml index 4bb8f5cd4..06632410d 100644 --- a/joule-code/joule-code-rs/crates/joule-code-collab/Cargo.toml +++ b/joule-code/joule-code-rs/crates/joule-code-collab/Cargo.toml @@ -18,6 +18,6 @@ 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" +openmls = "=0.9.1" +openmls_rust_crypto = "=0.6.0" +openmls_basic_credential = "=0.6.0" diff --git a/joule-code/joule-code-rs/crates/joule-code-collab/tests/mls_keying.rs b/joule-code/joule-code-rs/crates/joule-code-collab/tests/mls_keying.rs index 50a9e0be5..219a9aac4 100644 --- a/joule-code/joule-code-rs/crates/joule-code-collab/tests/mls_keying.rs +++ b/joule-code/joule-code-rs/crates/joule-code-collab/tests/mls_keying.rs @@ -45,7 +45,7 @@ fn key_package( fn export(group: &MlsGroup, provider: &OpenMlsRustCrypto) -> Vec { group - .export_secret(provider, EXPORT_LABEL, &[], 32) + .export_secret(provider.crypto(), EXPORT_LABEL, &[], 32) .expect("export secret") } diff --git a/joule-code/joule-code-rs/crates/joule-moq-room/Cargo.lock b/joule-code/joule-code-rs/crates/joule-moq-room/Cargo.lock index 4d9e63036..1f69885cf 100644 --- a/joule-code/joule-code-rs/crates/joule-moq-room/Cargo.lock +++ b/joule-code/joule-code-rs/crates/joule-moq-room/Cargo.lock @@ -2334,9 +2334,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04759210543be93709136e28212294a659ef5001836ff4eab4d663e4529bba83" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" dependencies = [ "bytes", "fastbloom", @@ -2600,9 +2600,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "once_cell", "ring", @@ -2663,9 +2663,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "ring", "rustls-pki-types", @@ -3057,7 +3057,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.3", + "getrandom 0.3.4", "once_cell", "rustix", "windows-sys 0.61.2", @@ -3515,9 +3515,9 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b" +checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb" dependencies = [ "rustls-pki-types", ] diff --git a/jouleclaw/jouleclaw-rs/Cargo.lock b/jouleclaw/jouleclaw-rs/Cargo.lock index f6290f1fc..546e4344a 100644 --- a/jouleclaw/jouleclaw-rs/Cargo.lock +++ b/jouleclaw/jouleclaw-rs/Cargo.lock @@ -6258,9 +6258,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-xml" -version = "0.36.2" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" dependencies = [ "memchr", ] @@ -6287,9 +6287,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04759210543be93709136e28212294a659ef5001836ff4eab4d663e4529bba83" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" dependencies = [ "aws-lc-rs", "bytes", @@ -6843,9 +6843,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "aws-lc-rs", "log", @@ -6917,9 +6917,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "aws-lc-rs", "ring", @@ -8265,9 +8265,9 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b" +checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb" dependencies = [ "rustls-pki-types", ] @@ -8278,14 +8278,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.9", + "webpki-roots 1.0.10", ] [[package]] name = "webpki-roots" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9" dependencies = [ "rustls-pki-types", ] diff --git a/jouleclaw/jouleclaw-rs/Cargo.toml b/jouleclaw/jouleclaw-rs/Cargo.toml index 40f14f6e7..c77817195 100644 --- a/jouleclaw/jouleclaw-rs/Cargo.toml +++ b/jouleclaw/jouleclaw-rs/Cargo.toml @@ -1174,7 +1174,7 @@ base64 = "0.22" # Wave-7 — close-the-gaps deps ciborium = "0.2" # CBOR for EAT-CWT + CoRIM (IETF RATS WG canonical CBOR codec) ed25519-dalek = "2" # Ed25519 signing — rustcrypto, widely audited -quick-xml = "0.36" # Maltego TRX XML round-trip (serde-feature) +quick-xml = "0.42" # Maltego TRX XML round-trip (serde-feature) safetensors = "0.4" # HuggingFace SAE weight loader (Gemma Scope 2 alignment) # DB-grade verification + error tracking primitives (wave-4 ingest) diff --git a/jouleclaw/jouleclaw-rs/crates/jouleclaw-loader-gguf/src/openvino.rs b/jouleclaw/jouleclaw-rs/crates/jouleclaw-loader-gguf/src/openvino.rs index 84e6f7b45..035665ae7 100644 --- a/jouleclaw/jouleclaw-rs/crates/jouleclaw-loader-gguf/src/openvino.rs +++ b/jouleclaw/jouleclaw-rs/crates/jouleclaw-loader-gguf/src/openvino.rs @@ -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 @@ -281,31 +282,31 @@ pub fn parse_openvino_xml( match reader.read_event_into(&mut buf)? { Event::Eof => break, Event::Start(e) | Event::Empty(e) => { - let tag = e.name().as_ref().to_vec(); - match tag.as_slice() { - b"net" => { + let tag = e.name().as_ref().to_string(); + match tag.as_str() { + "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" => { + "name" => net_name = val, + "version" => { ir_version = val.parse().unwrap_or(0); } _ => {} } } } - b"layer" => { + "layer" => { let mut id = 0u32; 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; } - b"type" => { ty = val; } + "id" => { id = val.parse().unwrap_or(0); } + "name" => { name = val; } + "type" => { ty = val; } _ => {} } } @@ -319,14 +320,14 @@ pub fn parse_openvino_xml( cur_size = 0; } } - b"data" if in_layer_const => { + "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" => { + "element_type" => { cur_dtype = OvDtype::parse(&val); } - b"shape" => { + "shape" => { cur_shape.clear(); for part in val.split(',') { let p = part.trim(); @@ -339,14 +340,14 @@ pub fn parse_openvino_xml( } } } - b"offset" => { + "offset" => { cur_offset = val.parse().map_err(|_| { OvError::BadAttribute( "offset", cur_name.clone(), val.clone(), ) })?; } - b"size" => { + "size" => { cur_size = val.parse().map_err(|_| { OvError::BadAttribute( "size", cur_name.clone(), val.clone(), @@ -361,7 +362,7 @@ pub fn parse_openvino_xml( } } Event::End(e) - if e.name().as_ref() == b"layer" && in_layer_const => { + if e.name().as_ref() == "layer" && in_layer_const => { tensors.push(OvTensorInfo { id: cur_id, name: std::mem::take(&mut cur_name), diff --git a/jouleclaw/jouleclaw-rs/crates/jouleclaw-transform-trx/src/lib.rs b/jouleclaw/jouleclaw-rs/crates/jouleclaw-transform-trx/src/lib.rs index c8966cef2..b66f11748 100644 --- a/jouleclaw/jouleclaw-rs/crates/jouleclaw-transform-trx/src/lib.rs +++ b/jouleclaw/jouleclaw-rs/crates/jouleclaw-transform-trx/src/lib.rs @@ -173,11 +173,14 @@ fn xml_escape(s: &str) -> String { /// `links` is empty. pub fn parse_response(xml: &str) -> Result { use quick_xml::events::Event; - use quick_xml::Reader; + use quick_xml::{Reader, XmlVersion}; + // Each reference (`&`, `&`) arrives as its own event between the + // text around it, so an element's text is gathered from both and trimmed + // once, at its end. let mut reader = Reader::from_str(xml); - reader.config_mut().trim_text(true); let mut buf = Vec::new(); + let mut text = String::new(); let mut entities: Vec = Vec::new(); let mut messages: Vec = Vec::new(); @@ -203,15 +206,16 @@ pub fn parse_response(xml: &str) -> Result { loop { match reader.read_event_into(&mut buf) { Ok(Event::Start(ref e)) => { - let name = std::str::from_utf8(e.name().as_ref()) - .map_err(|err| TrxError::Decode(format!("utf8: {err}")))? - .to_string(); + let name = e.name().as_ref().to_string(); + if matches!(name.as_str(), "Value" | "Weight" | "Field" | "UIMessage") { + text.clear(); + } match name.as_str() { "Entity" => { for attr in e.attributes().with_checks(false).flatten() { - if attr.key.as_ref() == b"Type" { + if attr.key.as_ref() == "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()); } @@ -222,9 +226,9 @@ pub fn parse_response(xml: &str) -> Result { "Field" => { in_field = true; for attr in e.attributes().with_checks(false).flatten() { - if attr.key.as_ref() == b"Name" { + if attr.key.as_ref() == "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()); } @@ -234,9 +238,9 @@ pub fn parse_response(xml: &str) -> Result { in_uimsg = true; let mut kind = UiMessageKind::Inform; for attr in e.attributes().with_checks(false).flatten() { - if attr.key.as_ref() == b"Type" { + if attr.key.as_ref() == "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, @@ -252,30 +256,25 @@ pub fn parse_response(xml: &str) -> Result { _ => {} } } - Ok(Event::Text(t)) => { - let text = t - .unescape() - .map_err(|err| TrxError::Decode(format!("text: {err}")))? - .to_string(); - if in_value { - cur_entity_value = Some(text); - } else if in_weight { - cur_entity_weight = text.parse::().ok(); - } else if in_field { - cur_field_value = Some(text); - } else if in_uimsg - && let Some(kind) = cur_uimsg_kind.take() { - messages.push(UiMessage { kind, text }); - } + Ok(Event::Text(t)) if in_value || in_weight || in_field || in_uimsg => text.push_str(&t.xml10_content()), + Ok(Event::GeneralRef(r)) if in_value || in_weight || in_field || in_uimsg => { + let written = format!("&{};", r.borrow().into_inner()); + let resolved = quick_xml::escape::unescape(&written).map_err(|err| TrxError::Decode(format!("text: {err}")))?; + text.push_str(&resolved); } Ok(Event::End(ref e)) => { - let name = std::str::from_utf8(e.name().as_ref()) - .map_err(|err| TrxError::Decode(format!("utf8: {err}")))? - .to_string(); + let name = e.name().as_ref().to_string(); match name.as_str() { - "Value" => in_value = false, - "Weight" => in_weight = false, + "Value" => { + in_value = false; + cur_entity_value = Some(text.trim().to_string()); + } + "Weight" => { + in_weight = false; + cur_entity_weight = text.trim().parse::().ok(); + } "Field" => { + cur_field_value = Some(text.trim().to_string()); if let (Some(n), Some(v)) = (cur_field_name.take(), cur_field_value.take()) { @@ -287,7 +286,11 @@ pub fn parse_response(xml: &str) -> Result { } "UIMessage" => { in_uimsg = false; - cur_uimsg_kind = None; + if let Some(kind) = cur_uimsg_kind.take() + && !text.trim().is_empty() + { + messages.push(UiMessage { kind, text: text.trim().to_string() }); + } } "Entity" => { let ty = cur_entity_type @@ -487,6 +490,19 @@ mod tests { assert_eq!(parsed.messages[0].kind, UiMessageKind::Inform); } + /// A reference in a value, a field or a message reads as the text it + /// stands for, the text around it kept: each arrives as its own event. + #[test] + fn references_read_as_their_text() { + let xml = r#"Smith & Sonsx < ydone — 1 found"#; + let parsed = parse_response(xml).unwrap(); + assert_eq!(parsed.entities[0].value, "Smith & Sons"); + assert_eq!(parsed.entities[0].properties["note"], serde_json::Value::String("x < y".into())); + assert_eq!(parsed.messages[0].text, "done \u{2014} 1 found"); + // An entity the format does not declare is refused, as before. + assert!(parse_response(r#"&nope;"#).is_err()); + } + #[test] fn entity_without_weight_round_trips_with_no_weight() { let e = Entity::new("e1", "net.Domain", "example.com"); diff --git a/jouledesk/jouledesk-rs/Cargo.lock b/jouledesk/jouledesk-rs/Cargo.lock index ab19c9b07..bc2f52fa7 100644 --- a/jouledesk/jouledesk-rs/Cargo.lock +++ b/jouledesk/jouledesk-rs/Cargo.lock @@ -2034,9 +2034,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04759210543be93709136e28212294a659ef5001836ff4eab4d663e4529bba83" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" dependencies = [ "bytes", "getrandom 0.4.3", @@ -2281,9 +2281,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "log", "once_cell", @@ -2318,9 +2318,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "ring", "rustls-pki-types", @@ -2645,7 +2645,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.3", + "getrandom 0.3.4", "once_cell", "rustix", "windows-sys 0.61.2", @@ -3090,14 +3090,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.9", + "webpki-roots 1.0.10", ] [[package]] name = "webpki-roots" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9" dependencies = [ "rustls-pki-types", ] diff --git a/joulehook/joulehook-rs/Cargo.lock b/joulehook/joulehook-rs/Cargo.lock index 4fc5b9d59..ca35b3040 100644 --- a/joulehook/joulehook-rs/Cargo.lock +++ b/joulehook/joulehook-rs/Cargo.lock @@ -697,9 +697,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "log", "once_cell", @@ -721,9 +721,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "ring", "rustls-pki-types", @@ -999,14 +999,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.9", + "webpki-roots 1.0.10", ] [[package]] name = "webpki-roots" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9" dependencies = [ "rustls-pki-types", ] diff --git a/mesh/mesh-rs/Cargo.lock b/mesh/mesh-rs/Cargo.lock index 97fcf7be8..0ef9b0bc3 100644 --- a/mesh/mesh-rs/Cargo.lock +++ b/mesh/mesh-rs/Cargo.lock @@ -853,9 +853,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.36.2" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" dependencies = [ "memchr", ] diff --git a/openpay/Cargo.lock b/openpay/Cargo.lock index cca3c2102..1798521a6 100644 --- a/openpay/Cargo.lock +++ b/openpay/Cargo.lock @@ -3538,9 +3538,6 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin 0.9.9", -] [[package]] name = "levenshtein" @@ -3911,22 +3908,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-bigint-dig" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" -dependencies = [ - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.8", - "smallvec", - "zeroize", -] - [[package]] name = "num-complex" version = "0.4.6" @@ -4060,9 +4041,8 @@ dependencies = [ "chrono", "op-core", "p256", - "quick-xml 0.36.2", + "quick-xml 0.42.0", "reqwest 0.13.4", - "rsa", "serde", "serde_json", "sha2 0.11.0", @@ -4080,7 +4060,7 @@ dependencies = [ "chrono", "op-core", "op-iso20022", - "quick-xml 0.36.2", + "quick-xml 0.42.0", "serde", "serde_json", "thiserror 2.0.20", @@ -4344,7 +4324,7 @@ dependencies = [ "open-payments-iso20022-pacs", "open-payments-iso20022-pain", "proptest", - "quick-xml 0.36.2", + "quick-xml 0.42.0", "serde", "serde_json", "thiserror 2.0.20", @@ -4576,7 +4556,7 @@ dependencies = [ "ed25519-dalek", "op-core", "proptest", - "quick-xml 0.36.2", + "quick-xml 0.42.0", "rand_core 0.6.4", "reqwest 0.13.4", "serde", @@ -5140,17 +5120,6 @@ dependencies = [ "futures-io", ] -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der", - "pkcs8", - "spki", -] - [[package]] name = "pkcs8" version = "0.10.2" @@ -5399,9 +5368,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-xml" -version = "0.36.2" +version = "0.37.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" dependencies = [ "memchr", "serde", @@ -5409,9 +5378,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.37.5" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" dependencies = [ "memchr", "serde", @@ -5439,9 +5408,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04759210543be93709136e28212294a659ef5001836ff4eab4d663e4529bba83" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" dependencies = [ "aws-lc-rs", "bytes", @@ -5893,26 +5862,6 @@ dependencies = [ "serde", ] -[[package]] -name = "rsa" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" -dependencies = [ - "const-oid 0.9.6", - "digest 0.10.7", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "signature", - "spki", - "subtle", - "zeroize", -] - [[package]] name = "rust_decimal" version = "1.42.1" @@ -5981,9 +5930,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "aws-lc-rs", "log", @@ -6046,9 +5995,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "aws-lc-rs", "ring", @@ -7421,9 +7370,9 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b" +checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb" dependencies = [ "rustls-pki-types", ] @@ -7434,14 +7383,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.9", + "webpki-roots 1.0.10", ] [[package]] name = "webpki-roots" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9" dependencies = [ "rustls-pki-types", ] diff --git a/openpay/Cargo.toml b/openpay/Cargo.toml index c3f378a40..66020f5a5 100644 --- a/openpay/Cargo.toml +++ b/openpay/Cargo.toml @@ -76,7 +76,7 @@ open-payments-iso20022 = { version = "=1.0.10", features = ["payments"] } open-payments-fednow = "=1.0.9" # XML codec — quick-xml is the de-facto choice; we use it for round-trip # validation against XSD-canonical sample files. -quick-xml = { version = "0.36", features = ["serialize"] } +quick-xml = { version = "0.42", features = ["serialize"] } # ML / inference burn = { version = "0.18", default-features = false } diff --git a/openpay/crates/op-3ds2/Cargo.toml b/openpay/crates/op-3ds2/Cargo.toml index 2c3207896..1f5e48700 100644 --- a/openpay/crates/op-3ds2/Cargo.toml +++ b/openpay/crates/op-3ds2/Cargo.toml @@ -40,10 +40,8 @@ sha2 = "0.11" # cipher 0.4 generation the rest of the workspace uses (aes 0.8 / cbc 0.1), # so the build keeps a single aes + cipher in the graph. -# RSA for legacy issuer ACS public keys, P-256 for the modern -# ECDH-based session key establishment used by the SDK device-binding -# flow. -rsa = "0.9" +# P-256 for the ECDH-based session key establishment used by the SDK +# device-binding flow. p256 = { version = "0.13", features = ["ecdh", "ecdsa"] } # X.509 parsing for DS / ACS certificate chain validation. Each card diff --git a/openpay/crates/op-screening/src/updater.rs b/openpay/crates/op-screening/src/updater.rs index 9e7adb06c..d4f159523 100644 --- a/openpay/crates/op-screening/src/updater.rs +++ b/openpay/crates/op-screening/src/updater.rs @@ -13,8 +13,8 @@ use std::future::Future; use std::pin::Pin; use chrono::{DateTime, NaiveDate, Utc}; -use quick_xml::Reader; -use quick_xml::events::Event; +use quick_xml::{Reader, XmlVersion}; +use quick_xml::events::{BytesRef, Event}; use serde::Deserialize; use crate::error::{Error, Result}; @@ -22,6 +22,16 @@ use crate::lists::{ CountryCode, EntityType, Identification, IdentificationKind, SanctionedEntity, WatchList, }; +/// The text an entity or character reference in a list stands for (`&`, +/// `&`). The reader reports each reference as its own event, between the +/// text around it, so the parsers join the pieces and trim the whole field +/// once; trimming each piece would drop the spaces in `A & B`. A reference +/// to an entity the lists do not declare is kept as written. +fn reference_text(r: &BytesRef<'_>) -> String { + let written = format!("&{};", r.borrow().into_inner()); + quick_xml::escape::unescape(&written).map(|t| t.into_owned()).unwrap_or(written) +} + /// Boxed future the trait yields. Async fn in traits is stable in /// edition 2024, but boxing keeps the trait object-safe. type BoxFuture<'a, T> = Pin + Send + 'a>>; @@ -95,7 +105,6 @@ impl OfacUpdater { /// ``` pub fn parse_sdn_xml(xml: &str) -> Result> { let mut reader = Reader::from_str(xml); - reader.config_mut().trim_text(true); let mut entities = Vec::new(); let mut buf = Vec::new(); @@ -107,7 +116,7 @@ impl OfacUpdater { buf.clear(); match reader.read_event_into(&mut buf) { Ok(Event::Start(e)) => { - let name = String::from_utf8_lossy(e.name().as_ref()).to_string(); + let name = e.name().as_ref().to_string(); if name == "sdnEntry" { current = Some(OfacEntryBuilder::default()); } else if name == "aka" && current.is_some() { @@ -115,11 +124,10 @@ impl OfacUpdater { } text_buf.clear(); } - Ok(Event::Text(e)) => { - text_buf.push_str(&e.unescape().unwrap_or_default()); - } + Ok(Event::Text(e)) => text_buf.push_str(&e.xml10_content()), + Ok(Event::GeneralRef(r)) => text_buf.push_str(&reference_text(&r)), Ok(Event::End(e)) => { - let name = String::from_utf8_lossy(e.name().as_ref()).to_string(); + let name = e.name().as_ref().to_string(); if let Some(builder) = current.as_mut() { match name.as_str() { "uid" => builder.uid = Some(text_buf.trim().to_string()), @@ -291,7 +299,6 @@ impl EuUpdater { /// distinguish persons from entities. pub fn parse_eu_xml(xml: &str) -> Result> { let mut reader = Reader::from_str(xml); - reader.config_mut().trim_text(true); let mut entities = Vec::new(); let mut buf = Vec::new(); @@ -306,13 +313,13 @@ impl EuUpdater { let evt = reader.read_event_into(&mut buf); match evt { Ok(Event::Start(ref e)) | Ok(Event::Empty(ref e)) => { - let name = String::from_utf8_lossy(e.name().as_ref()).to_string(); + let name = e.name().as_ref().to_string(); if name == "sanctionEntity" { let id = e .attributes() .filter_map(std::result::Result::ok) - .find(|a| a.key.as_ref() == b"logicalId") - .and_then(|a| String::from_utf8(a.value.into_owned()).ok()) + .find(|a| a.key.as_ref() == "logicalId") + .and_then(|a| a.normalized_value(XmlVersion::Implicit1_0).ok().map(|v| v.into_owned())) .unwrap_or_default(); current = Some(EuEntryBuilder { id, @@ -323,8 +330,8 @@ impl EuUpdater { let whole = e .attributes() .filter_map(std::result::Result::ok) - .find(|a| a.key.as_ref() == b"wholeName") - .and_then(|a| String::from_utf8(a.value.into_owned()).ok()) + .find(|a| a.key.as_ref() == "wholeName") + .and_then(|a| a.normalized_value(XmlVersion::Implicit1_0).ok().map(|v| v.into_owned())) .unwrap_or_default(); if !whole.is_empty() { if builder.name.is_empty() { @@ -339,8 +346,8 @@ impl EuUpdater { let val = e .attributes() .filter_map(std::result::Result::ok) - .find(|a| a.key.as_ref() == b"code") - .and_then(|a| String::from_utf8(a.value.into_owned()).ok()) + .find(|a| a.key.as_ref() == "code") + .and_then(|a| a.normalized_value(XmlVersion::Implicit1_0).ok().map(|v| v.into_owned())) .unwrap_or_default(); builder.subject_type = val; } @@ -348,7 +355,7 @@ impl EuUpdater { let _ = name; } Ok(Event::End(e)) => { - let name = String::from_utf8_lossy(e.name().as_ref()).to_string(); + let name = e.name().as_ref().to_string(); if name == "sanctionEntity" { if let Some(b) = current.take() { if let Some(ent) = b.finish() { @@ -475,7 +482,6 @@ impl UnUpdater { /// ``` pub fn parse_un_xml(xml: &str) -> Result> { let mut reader = Reader::from_str(xml); - reader.config_mut().trim_text(true); let mut entities = Vec::new(); let mut buf = Vec::new(); @@ -488,7 +494,7 @@ impl UnUpdater { buf.clear(); match reader.read_event_into(&mut buf) { Ok(Event::Start(e)) => { - let name = String::from_utf8_lossy(e.name().as_ref()).to_string(); + let name = e.name().as_ref().to_string(); match name.as_str() { "INDIVIDUAL" => { entity_kind = Some(EntityType::Individual); @@ -502,11 +508,10 @@ impl UnUpdater { } text_buf.clear(); } - Ok(Event::Text(e)) => { - text_buf.push_str(&e.unescape().unwrap_or_default()); - } + Ok(Event::Text(e)) => text_buf.push_str(&e.xml10_content()), + Ok(Event::GeneralRef(r)) => text_buf.push_str(&reference_text(&r)), Ok(Event::End(e)) => { - let name = String::from_utf8_lossy(e.name().as_ref()).to_string(); + let name = e.name().as_ref().to_string(); if let Some(b) = current.as_mut() { match name.as_str() { "DATAID" => b.id = text_buf.trim().to_string(), @@ -837,6 +842,31 @@ mod tests { assert_eq!(parsed[0].entity_type, EntityType::Individual); } + /// A name holding a reference reads as the text it stands for, its + /// spaces kept, in every list format: element text (SDN, UN) and + /// attribute values (EU), predefined entities and character references. + #[test] + fn names_with_references_read_as_their_text() { + let sdn = OfacUpdater::parse_sdn_xml( + "1Smith & Sons — Ltd\ + Entity", + ) + .expect("parse"); + assert_eq!(sdn[0].name, "Smith & Sons \u{2014} Ltd"); + let un = UnUpdater::parse_un_xml( + "2\ + A <B> "C"", + ) + .expect("parse"); + assert_eq!(un[0].name, "A \"C\""); + let eu = EuUpdater::parse_eu_xml( + r#" + "#, + ) + .expect("parse"); + assert_eq!(eu[0].name, "Smith & Sons"); + } + #[test] fn parse_minimal_hmt() { let json = r#"{ diff --git a/sandbox/sandbox-rs/Cargo.lock b/sandbox/sandbox-rs/Cargo.lock index 78adb144f..fa3f7a548 100644 --- a/sandbox/sandbox-rs/Cargo.lock +++ b/sandbox/sandbox-rs/Cargo.lock @@ -49,7 +49,7 @@ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.9", ] [[package]] @@ -82,15 +82,6 @@ version = "2.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" -[[package]] -name = "bitmaps" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] - [[package]] name = "blake3" version = "1.8.7" @@ -199,9 +190,9 @@ checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" [[package]] name = "cpp_demangle" -version = "0.4.5" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2bb79cb74d735044c972aae58ed0aaa9a837e85b01106a54c39e42e97f62253" +checksum = "0667304c32ea56cb4cd6d2d7c0cfe9a2f8041229db8c033af7f8d69492429def" dependencies = [ "cfg-if", ] @@ -226,27 +217,27 @@ dependencies = [ [[package]] name = "cranelift-assembler-x64" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc822414b18d1f5b1b33ce1441534e311e62fef86ebb5b9d382af857d0272c9" +checksum = "d3307701abcb90554ee72fdb0db36ee0334a4abe380c4d87a5b04a6942613c3a" dependencies = [ "cranelift-assembler-x64-meta", ] [[package]] name = "cranelift-assembler-x64-meta" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c646808b06f4532478d8d6057d74f15c3322f10d995d9486e7dcea405bf521a" +checksum = "e62d0e19f9f5fa0c4243236df1ffdf139d207600b4402ac41ceba8dbe7ca0f3d" dependencies = [ "cranelift-srcgen", ] [[package]] name = "cranelift-bforest" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5996f01a686b2349cdb379083ec5ad3e8cb8767fb2d495d3a4f2ee4163a18d" +checksum = "47784bc3c4b57c0182bb8ff04aae5d5f5fc6bae8ba26b1212c9a659b90dab84e" dependencies = [ "cranelift-entity", "wasmtime-internal-core", @@ -254,9 +245,9 @@ dependencies = [ [[package]] name = "cranelift-bitset" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523fea83273f6a985520f57788809a4de2165794d9ab00fb1254fceb4f5aa00c" +checksum = "e13d120406f713dbce1940751e77bbb14daad1261379b7200c19285953e79a1d" dependencies = [ "serde", "serde_derive", @@ -265,9 +256,9 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d73d1e372730b5f64ed1a2bd9f01fe4686c8ec14a28034e3084e530c8d951878" +checksum = "a53dbec33ff86909e44be6f0ec2d17841aa38b931013707c9fc7279f1f0e5760" dependencies = [ "bumpalo", "cranelift-assembler-x64", @@ -279,13 +270,16 @@ dependencies = [ "cranelift-entity", "cranelift-isle", "gimli", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "libm", "log", + "postcard", "pulley-interpreter", "regalloc2", "rustc-hash", "serde", + "serde_derive", + "sha2", "smallvec", "target-lexicon", "wasmtime-internal-core", @@ -293,9 +287,9 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0319c18165e93dc1ebf78946a8da0b1c341c95b4a39729a69574671639bdb5f" +checksum = "42295b38e9182954cb32a71812e3d64d66a90efc0a2ababb73e465ad4a1efccf" dependencies = [ "cranelift-assembler-x64-meta", "cranelift-codegen-shared", @@ -306,24 +300,24 @@ dependencies = [ [[package]] name = "cranelift-codegen-shared" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9195cd8aeecb55e401aa96b2eaa55921636e8246c127ed7908f7ef7e0d40f270" +checksum = "b5200fa877fb64cd30cabe0603f394333f88f69adf63e4db8d48a111d0c9d0dd" [[package]] name = "cranelift-control" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8976c2154b74136322befc74222ab5c7249edd7e2604f8cbef2b94975541ffb9" +checksum = "b86250e480795fbb4425ea703bca7b75282998458ce74f5360843a31949f2bbc" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6038b3147c7982f4951150d5f96c7c06c1e7214b99d4b4a98607aadf8ded89d1" +checksum = "903c6592c7d600c251d20929f143543b7303ac70b072ad3394d65b29caf56f69" dependencies = [ "cranelift-bitset", "serde", @@ -333,11 +327,12 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbd294abe236e23cc3d907b0936226b6a8342db7636daa9c7c72be1e323420e" +checksum = "b929f09b82a270e2aae062945cf86cd9db39c59ad9bead6986ea6b09fcf8a969" dependencies = [ "cranelift-codegen", + "hashbrown 0.17.1", "log", "smallvec", "target-lexicon", @@ -345,26 +340,27 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a90b6ed3aba84189352a87badeb93b2126d3724225a42dc67fdce53d1b139c" +checksum = "b1c5809e8636a37e5a25ecc35242d33d6e7391c49b67488b83446e2898af2a2f" [[package]] name = "cranelift-native" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ec0cc1a54e22925eacf4fc3dc815f907734d3b377899d19d52bec04863e853" +checksum = "815c559daf605a5b4ea35530604643c1e87504353c0d1a14763f9c2b9d518493" dependencies = [ "cranelift-codegen", "libc", + "mach2", "target-lexicon", ] [[package]] name = "cranelift-srcgen" -version = "0.130.2" +version = "0.137.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "948865622f87f30907bb46fbb081b235ae63c1896a99a83c26a003305c1fa82d" +checksum = "d633ff621e7f31a943431da0d7dd37c4376766c60bd7171216de1c7ccabfb370" [[package]] name = "crc32fast" @@ -529,7 +525,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.9", ] [[package]] @@ -854,17 +850,17 @@ name = "hashbrown" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" -dependencies = [ - "foldhash", - "serde", - "serde_core", -] [[package]] name = "hashbrown" version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "foldhash", + "serde", + "serde_core", +] [[package]] name = "heck" @@ -997,20 +993,6 @@ dependencies = [ "icu_properties", ] -[[package]] -name = "im-rc" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" -dependencies = [ - "bitmaps", - "rand_core", - "rand_xoshiro", - "sized-chunks", - "typenum", - "version_check", -] - [[package]] name = "indexmap" version = "2.14.0" @@ -1202,12 +1184,9 @@ checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" [[package]] name = "mach2" -version = "0.4.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" -dependencies = [ - "libc", -] +checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b" [[package]] name = "memchr" @@ -1281,12 +1260,12 @@ dependencies = [ [[package]] name = "object" -version = "0.38.1" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc" +checksum = "dd229a0361b9d0d4396176e02d65897f487eebeab7caa6d443855ee152ca0b9c" dependencies = [ "crc32fast", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap", "memchr", ] @@ -1429,9 +1408,9 @@ dependencies = [ [[package]] name = "pulley-interpreter" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ec12fe19a9588315a49fe5704502a9c02d6a198303314b0c7c86123b06d29e5" +checksum = "6af498fa3ca312fe5a07178757781059b75a331f24d53aeb3706e51ad73317bd" dependencies = [ "cranelift-bitset", "log", @@ -1441,13 +1420,13 @@ dependencies = [ [[package]] name = "pulley-macros" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f7d5ef31ebf1b46cd7e722ffef934e670d7e462f49aa01cde07b9b76dca580" +checksum = "f0ba9959a3a286b7a2fb16466b7d1a804a117f81a98b7ac6d86cabd5ba037f3d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.9", ] [[package]] @@ -1495,15 +1474,6 @@ dependencies = [ "getrandom 0.2.17", ] -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core", -] - [[package]] name = "rayon" version = "1.12.0" @@ -1546,6 +1516,7 @@ dependencies = [ "hashbrown 0.17.1", "log", "rustc-hash", + "serde", "smallvec", ] @@ -1630,9 +1601,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "log", "once_cell", @@ -1654,9 +1625,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "ring", "rustls-pki-types", @@ -1669,12 +1640,6 @@ version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" -[[package]] -name = "ryu" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" - [[package]] name = "sandbox-attest" version = "0.1.0" @@ -1976,7 +1941,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.9", ] [[package]] @@ -1994,26 +1959,13 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +checksum = "4e7523beb55eece201a2356bee0bbca0d1ab466c14c07703b2e0ee6d42cb0c2c" dependencies = [ "serde_core", ] -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - [[package]] name = "sha1" version = "0.10.7" @@ -2058,16 +2010,6 @@ version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" -[[package]] -name = "sized-chunks" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] - [[package]] name = "slab" version = "0.4.12" @@ -2124,9 +2066,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.4" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f" +checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b" dependencies = [ "proc-macro2", "quote", @@ -2209,7 +2151,7 @@ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.9", ] [[package]] @@ -2260,9 +2202,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.12+spec-1.1.0" +version = "1.1.8+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +checksum = "20489e00e4d8741d6be680764cc12e270655e375a20d1011e844a9c3379e678d" dependencies = [ "indexmap", "serde_core", @@ -2270,32 +2212,32 @@ dependencies = [ "toml_datetime", "toml_parser", "toml_writer", - "winnow 0.7.15", + "winnow", ] [[package]] name = "toml_datetime" -version = "0.7.5+spec-1.1.0" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +checksum = "2b86d767906c6c42421dcba507eb9d203e779497710a47782a224bb871653053" dependencies = [ "serde_core", ] [[package]] name = "toml_parser" -version = "1.1.3+spec-1.1.0" +version = "1.1.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" +checksum = "baa693a8032d7e1cada7d0041e96126df243179ff061456783ac7f12bda4744c" dependencies = [ - "winnow 1.0.4", + "winnow", ] [[package]] name = "toml_writer" -version = "1.1.2+spec-1.1.0" +version = "1.1.3+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2" +checksum = "06bdbd8cfc056b8d2e2e85f29b56a3bdbecb527cef81eb39e3e7b98af4652770" [[package]] name = "typenum" @@ -2315,18 +2257,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - -[[package]] -name = "unsafe-libyaml" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" - [[package]] name = "untrusted" version = "0.9.0" @@ -2438,53 +2368,60 @@ dependencies = [ [[package]] name = "wasm-compose" -version = "0.245.1" +version = "0.261.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd23d12cc95c451c1306db5bc63075fbebb612bb70c53b4237b1ce5bc178343" +checksum = "df7deb87d659b1df555d3195e3df56d1f03b73d165c5a1bc3a0bad24274ea147" dependencies = [ "anyhow", - "heck", - "im-rc", "indexmap", "log", "petgraph", - "serde", - "serde_derive", - "serde_yaml", "smallvec", - "wasm-encoder 0.245.1", - "wasmparser 0.245.1", + "wasm-encoder 0.261.0", + "wasmparser 0.261.0", "wat", ] [[package]] name = "wasm-encoder" -version = "0.245.1" +version = "0.261.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9dca005e69bf015e45577e415b9af8c67e8ee3c0e38b5b0add5aa92581ed5c" +checksum = "2608e8bb6d67fd68f5a8d0eb1363d6e7bcbc1f8ded5a0bd3a1e382462b876b22" dependencies = [ "leb128fmt", - "wasmparser 0.245.1", + "wasmparser 0.261.0", ] [[package]] name = "wasm-encoder" -version = "0.258.0" +version = "0.262.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e974fe6821a8cf64575d51ea2194e2c8f77e7b66e9afe7419ce8a97f9ee0d251" +checksum = "4495a6f85dd94c411c749303efcbc5defade0b0cbdbc0541495241ab917a9b5a" dependencies = [ "leb128fmt", - "wasmparser 0.258.0", + "wasmparser 0.262.0", +] + +[[package]] +name = "wasm-metadata" +version = "0.261.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b88de21560ecd49deb8d8f1616b9b695f66fc312c5eca503f43accdc5795339e" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder 0.261.0", + "wasmparser 0.261.0", ] [[package]] name = "wasmparser" -version = "0.245.1" +version = "0.261.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f08c9adee0428b7bddf3890fc27e015ac4b761cc608c822667102b8bfd6995e" +checksum = "4f20f20e44f7e8aeb6744823ea9d869ede51e51be4fdaedede2852282e54d2d8" dependencies = [ "bitflags", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap", "semver", "serde", @@ -2492,9 +2429,9 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.258.0" +version = "0.262.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9a61719f93a87b16d325921e251800c4833f8fab50fa21c7de73aed50086313" +checksum = "974d643b125b272607e2fff8012ea14a8328acd7621e4bafa7afb32500052b1b" dependencies = [ "bitflags", "indexmap", @@ -2503,27 +2440,26 @@ dependencies = [ [[package]] name = "wasmprinter" -version = "0.245.1" +version = "0.261.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41517a3716fbb8ccf46daa9c1325f760fcbff5168e75c7392288e410b91ac8" +checksum = "86a21c9e3325655ba02de3e645bc8357a8b3651a2e3ada25b6dbc37560deb9b7" dependencies = [ "anyhow", "termcolor", - "wasmparser 0.245.1", + "wasmparser 0.261.0", ] [[package]] name = "wasmtime" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb1ed5899dde98357cfdcf647a4614498798719793898245b4b34e663addabf" +checksum = "2d93539aae382faee7b19650fd966f1f8185599b9cc4adc0a5a8b8f768c11ba9" dependencies = [ "addr2line", "async-trait", "bitflags", "bumpalo", "cc", - "cfg-if", "encoding_rs", "futures", "fxprof-processed-profile", @@ -2547,8 +2483,8 @@ dependencies = [ "target-lexicon", "tempfile", "wasm-compose", - "wasm-encoder 0.245.1", - "wasmparser 0.245.1", + "wasm-encoder 0.261.0", + "wasmparser 0.261.0", "wasmtime-environ", "wasmtime-internal-cache", "wasmtime-internal-component-macro", @@ -2560,16 +2496,16 @@ dependencies = [ "wasmtime-internal-jit-icache-coherence", "wasmtime-internal-unwinder", "wasmtime-internal-versioned-export-macros", - "wasmtime-internal-winch", "wat", "windows-sys 0.61.2", + "wit-parser", ] [[package]] name = "wasmtime-environ" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4172382dcc785c31d0e862c6780a18f5dd437914d22c4691351f965ef751c821" +checksum = "34fd44c205ef29cc3c254253dceb916be586887602e0e380361ed022776cfc10" dependencies = [ "anyhow", "cpp_demangle", @@ -2577,7 +2513,7 @@ dependencies = [ "cranelift-bitset", "cranelift-entity", "gimli", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap", "log", "object", @@ -2586,11 +2522,10 @@ dependencies = [ "semver", "serde", "serde_derive", - "sha2", "smallvec", "target-lexicon", - "wasm-encoder 0.245.1", - "wasmparser 0.245.1", + "wasm-encoder 0.261.0", + "wasmparser 0.261.0", "wasmprinter", "wasmtime-internal-component-util", "wasmtime-internal-core", @@ -2598,9 +2533,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-cache" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ed398988226d7aa0505ac6bb576e09532ad722d702ec4e66365d78ed695c95f" +checksum = "067440fa60ddd5145840e0335ffe0ab4d908a021932b6844c3ad61570abddfef" dependencies = [ "base64", "directories-next", @@ -2618,14 +2553,14 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-macro" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae5ec9fff073ff13b81732d56a9515d761c245750bcda09093827f84130ebc25" +checksum = "adf0938f1a0f067a60aa07a7f4369fae05ef227314aca64c1abc7b2dc5e80743" dependencies = [ "anyhow", "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.9", "wasmtime-internal-component-util", "wasmtime-internal-wit-bindgen", "wit-parser", @@ -2633,29 +2568,28 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-util" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935d9ab293ba27d1ec9aa7bc1b3a43993dbe961af2a8f23f90a11e1331b4c13f" +checksum = "2626398b21bf4b1547fdbadc68afd5cbe69c89ca2a1d6c45fd56fd3b28177b93" [[package]] name = "wasmtime-internal-core" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3820b174f477d2a7083209d1ad5353fcdb11eaea434b2137b8681029460dd3" +checksum = "83d4ac46034b149aed44335595402503094a04e3b70d0cff8c169d83437318b8" dependencies = [ "anyhow", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "libm", "serde", ] [[package]] name = "wasmtime-internal-cranelift" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1679d205caf9766c6aa309d45bb3e7c634d7725e3164404df33824b9f7c4fb7" +checksum = "1f496bf29d3f2a1d060e0a497a20bfba2a36befe80bdf3e640ba8d3dcab7df35" dependencies = [ - "cfg-if", "cranelift-codegen", "cranelift-control", "cranelift-entity", @@ -2669,7 +2603,7 @@ dependencies = [ "smallvec", "target-lexicon", "thiserror 2.0.20", - "wasmparser 0.245.1", + "wasmparser 0.261.0", "wasmtime-environ", "wasmtime-internal-core", "wasmtime-internal-unwinder", @@ -2678,12 +2612,11 @@ dependencies = [ [[package]] name = "wasmtime-internal-fiber" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e505254058be5b0df458d670ee42d9eafe2349d04c1296e9dc01071dc20a85" +checksum = "2074dc297d5ec7f0cfff65c248798dfe4bbee4d760fc2956cc0eaf49d2eadef1" dependencies = [ "cc", - "cfg-if", "libc", "rustix", "wasmtime-environ", @@ -2693,9 +2626,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-debug" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2e05b345f1773e59c20e6ad7298fd6857cdea245023d88bb659c96d8f0ea72" +checksum = "4e990e2fb7710dd73af071ecf60908072935be7a5c689b4a07e9a2adc7995151" dependencies = [ "cc", "object", @@ -2705,11 +2638,10 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-icache-coherence" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b86701b234a4643e3f111869aa792b3a05a06e02d486ee9cb6c04dae16b52dab" +checksum = "cf25a1b3b925915f845927967554400554db9cebd3a7038a6fca0cf6e9bbaf6a" dependencies = [ - "cfg-if", "libc", "wasmtime-internal-core", "windows-sys 0.61.2", @@ -2717,11 +2649,10 @@ dependencies = [ [[package]] name = "wasmtime-internal-unwinder" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63558d801beb83dde9b336eb4ae049019aee26627926edb32cd119d7e4c83cd" +checksum = "e69eb39fe5baf9e181269e6ced40f407d31afc8e514864e228ef0e087f4f5348" dependencies = [ - "cfg-if", "cranelift-codegen", "log", "object", @@ -2730,63 +2661,47 @@ dependencies = [ [[package]] name = "wasmtime-internal-versioned-export-macros" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "737c4d956fc3a848541a064afb683dd2771132a6b125be5baaf95c4379aa47df" +checksum = "a805a26effdf564820580b7c4ce1c00fdee3f4a9465a5aeef944f9e0c254ec2e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", -] - -[[package]] -name = "wasmtime-internal-winch" -version = "43.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f599b79545e3bba0b7913406055ebede5bb0dabee9ba2015ef25a9f4c9f47807" -dependencies = [ - "cranelift-codegen", - "gimli", - "log", - "object", - "target-lexicon", - "wasmparser 0.245.1", - "wasmtime-environ", - "wasmtime-internal-cranelift", - "winch-codegen", + "syn 3.0.9", ] [[package]] name = "wasmtime-internal-wit-bindgen" -version = "43.0.2" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2192a77a00b9a67800c2b4e1c70fb6abca79d6b529e53a2ef9dcdcc36090330d" +checksum = "8511353a609cd60bb91c85f96beef39a63e96ccdc20eb20af1da9b805c499ece" dependencies = [ "anyhow", "bitflags", "heck", "indexmap", + "wit-component", "wit-parser", ] [[package]] name = "wast" -version = "258.0.0" +version = "262.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97f7defc7ecca8b19ac7f824598eadd0c53985ee00c74060d65051e9da5b58a1" +checksum = "30612a0c29249b5f185888a107e8a519d920226b7d07f9d351fd094e9f75eb23" dependencies = [ "bumpalo", "leb128fmt", "memchr", "unicode-width", - "wasm-encoder 0.258.0", + "wasm-encoder 0.262.0", ] [[package]] name = "wat" -version = "1.258.0" +version = "1.262.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7555c008cca87f2ac58d9f83ccda7e7b44611093ce28eb28f052e7c78024b9bf" +checksum = "e228027f2b07bbaf946980ebbe2437fca73be6f54c40c2a8d4f42f277075f8d1" dependencies = [ "wast", ] @@ -2797,14 +2712,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.9", + "webpki-roots 1.0.10", ] [[package]] name = "webpki-roots" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9" dependencies = [ "rustls-pki-types", ] @@ -2840,25 +2755,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "winch-codegen" -version = "43.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52dbb0cf07b0dfe7b7a1ca8efb8f94ba98bd0fb144c411ea1665c78f0449e958" -dependencies = [ - "cranelift-assembler-x64", - "cranelift-codegen", - "gimli", - "regalloc2", - "smallvec", - "target-lexicon", - "thiserror 2.0.20", - "wasmparser 0.245.1", - "wasmtime-environ", - "wasmtime-internal-core", - "wasmtime-internal-cranelift", -] - [[package]] name = "windows-link" version = "0.2.1" @@ -2947,12 +2843,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" - [[package]] name = "winnow" version = "1.0.4" @@ -2960,13 +2850,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" [[package]] -name = "wit-parser" -version = "0.245.1" +name = "wit-component" +version = "0.261.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330698718e82983499419494dd1e3d7811a457a9bf9f69734e8c5f07a2547929" +checksum = "2818766842bd2321074c348fb5c15d8fdb105a9eb78374e6d77c7d4127e1f2f9" dependencies = [ "anyhow", - "hashbrown 0.16.1", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder 0.261.0", + "wasm-metadata", + "wasmparser 0.261.0", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.261.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "962e43c4db2da607b50839a531e5b63473268b40efdf8028d5c54b572ca4f6f6" +dependencies = [ + "anyhow", + "hashbrown 0.17.1", "id-arena", "indexmap", "log", @@ -2974,8 +2883,8 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "unicode-xid", - "wasmparser 0.245.1", + "unicode-ident", + "wasmparser 0.261.0", ] [[package]] @@ -3112,7 +3021,7 @@ checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.9", ] [[package]] diff --git a/sandbox/sandbox-rs/Cargo.toml b/sandbox/sandbox-rs/Cargo.toml index 5f732386b..a8775b5b7 100644 --- a/sandbox/sandbox-rs/Cargo.toml +++ b/sandbox/sandbox-rs/Cargo.toml @@ -40,7 +40,7 @@ sandbox-conformance = { path = "crates/sandbox-conformance" } sandbox-proof = { path = "crates/sandbox-proof" } sandbox-build = { path = "crates/sandbox-build" } -wasmtime = "43" +wasmtime = "50" p384 = { version = "0.13", default-features = false, features = ["ecdsa", "sha384"] } p256 = { version = "0.13", default-features = false, features = ["ecdsa"] } sha2 = { version = "0.10", default-features = false } diff --git a/sandbox/sandbox-rs/crates/sandbox-attest/src/lib.rs b/sandbox/sandbox-rs/crates/sandbox-attest/src/lib.rs index 9cc2780b4..c56a922eb 100644 --- a/sandbox/sandbox-rs/crates/sandbox-attest/src/lib.rs +++ b/sandbox/sandbox-rs/crates/sandbox-attest/src/lib.rs @@ -541,7 +541,7 @@ mod tests { } fn mech() -> Mechanism { - Mechanism::commit("wasmtime/43.0.2", b"consume_fuel=true;default_fuel=50000000", &[]) + Mechanism::commit("wasmtime/50.0.0", b"consume_fuel=true;default_fuel=50000000", &[]) } /// The whole backward-compatibility claim of §7.9 in one assertion: an diff --git a/sandbox/sandbox-rs/crates/sandbox-conformance/src/lib.rs b/sandbox/sandbox-rs/crates/sandbox-conformance/src/lib.rs index 7f0cd372f..6e42a0648 100644 --- a/sandbox/sandbox-rs/crates/sandbox-conformance/src/lib.rs +++ b/sandbox/sandbox-rs/crates/sandbox-conformance/src/lib.rs @@ -447,7 +447,7 @@ fn c11_mechanism() -> Result<(), String> { // (2) Carrying a mechanism is a distinct, self-describing profile. let mut evidenced = sample_attestation(); evidenced.tier = Tier::S2; - evidenced.mechanism = Some(Mechanism::commit("wasmtime/43.0.2", b"consume_fuel=true", &[])); + evidenced.mechanism = Some(Mechanism::commit("wasmtime/50.0.0", b"consume_fuel=true", &[])); want(evidenced.profile() == sandbox_attest::PROFILE_V2, "mechanism → /2 profile")?; want(evidenced.canonical_bytes().map_err(|e| format!("canon: {e}"))? != before, "the mechanism must be inside the signed bytes")?; diff --git a/sandbox/sandbox-rs/crates/sandbox-exec-wasm/src/lib.rs b/sandbox/sandbox-rs/crates/sandbox-exec-wasm/src/lib.rs index 4c998a626..b16e501a0 100644 --- a/sandbox/sandbox-rs/crates/sandbox-exec-wasm/src/lib.rs +++ b/sandbox/sandbox-rs/crates/sandbox-exec-wasm/src/lib.rs @@ -135,7 +135,7 @@ impl WasmExecutor { /// and `wasmtime_version_matches_the_lockfile` fails the build if it drifts. A /// stale value here would silently attest confinement to the wrong runtime, /// which is precisely the class of untruth §7.9 exists to prevent. -pub const WASMTIME_VERSION: &str = "43.0.2"; +pub const WASMTIME_VERSION: &str = "50.0.0"; impl Executor for WasmExecutor { fn tier(&self) -> Tier { diff --git a/sandbox/spec/attestation.md b/sandbox/spec/attestation.md index 7628799cf..7f6d324f5 100644 --- a/sandbox/spec/attestation.md +++ b/sandbox/spec/attestation.md @@ -28,7 +28,7 @@ Attestation { DeviceIdentity { class : DeviceClass, model : String, driver : String } Mechanism { runtime : String, profile_id : ContentId } - // runtime : enforcement runtime, name AND version ("wasmtime/43.0.2") + // runtime : enforcement runtime, name AND version ("wasmtime/50.0.0") // profile_id : BLAKE3 over the length-prefixed encoding of // (runtime, policy profile applied, egress allowlist installed) diff --git a/smart-byte/smart-byte-rs/Cargo.lock b/smart-byte/smart-byte-rs/Cargo.lock index b37607158..2350c7e53 100644 --- a/smart-byte/smart-byte-rs/Cargo.lock +++ b/smart-byte/smart-byte-rs/Cargo.lock @@ -1024,9 +1024,9 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.18" +version = "0.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d" dependencies = [ "crossbeam-utils", ] @@ -1218,7 +1218,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccc2776f0c61eca1ca32528f85548abd1a4be8fb53d1b21c013e4f18da1e7090" dependencies = [ "data-encoding", - "syn 2.0.117", + "syn 1.0.109", ] [[package]] @@ -1970,9 +1970,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.14" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "171fefbc92fe4a4de27e0698d6a5b392d6a0e333506bc49133760b3bcf948733" +checksum = "7d29020232d6aa3fb1daca64c1127cf662cf97f254ae16c18c05b8ab635fc118" dependencies = [ "atomic-waker", "bytes", @@ -2377,7 +2377,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -4065,7 +4065,7 @@ dependencies = [ "pin-project-lite", "rustc-hash", "rustls", - "socket2 0.6.3", + "socket2 0.5.10", "thiserror 2.0.18", "tokio", "tokio-stream", @@ -4110,7 +4110,7 @@ checksum = "78633d1fe1bde91d12bcabb230ac9edb890857414c6d44f3212e0d309525b5ff" dependencies = [ "cfg_aliases", "libc", - "socket2 0.6.3", + "socket2 0.5.10", "tracing", "windows-sys 0.61.2", ] @@ -4906,7 +4906,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2 0.6.3", + "socket2 0.5.10", "thiserror 2.0.18", "tokio", "tracing", @@ -4915,15 +4915,16 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.14" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" dependencies = [ "aws-lc-rs", "bytes", - "getrandom 0.3.4", + "getrandom 0.4.2", "lru-slab", - "rand 0.9.4", + "rand 0.10.1", + "rand_pcg", "ring", "rustc-hash", "rustls", @@ -4944,7 +4945,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.3", + "socket2 0.5.10", "tracing", "windows-sys 0.52.0", ] @@ -5347,9 +5348,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.40" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "aws-lc-rs", "log", @@ -5412,9 +5413,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.13" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "aws-lc-rs", "ring", @@ -7215,18 +7216,18 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.7" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31141ce3fc3e300ae89b78c0dd67f9708061d1d2eda54b8209346fd6be9a92c" +checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb" dependencies = [ "rustls-pki-types", ] [[package]] name = "webpki-roots" -version = "1.0.7" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" +checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9" dependencies = [ "rustls-pki-types", ] diff --git a/wai/tools/ops-gpu-bench/Cargo.lock b/wai/tools/ops-gpu-bench/Cargo.lock index f445fa02c..cc18def1b 100644 --- a/wai/tools/ops-gpu-bench/Cargo.lock +++ b/wai/tools/ops-gpu-bench/Cargo.lock @@ -952,9 +952,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.54.0" +version = "1.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c168a474b95bfecfe908a65d4bdffc523144b649a74c09c286afb35d53e0bc" +checksum = "b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3" dependencies = [ "pin-project-lite", ] diff --git a/wai/wai-ops-gpu/Cargo.lock b/wai/wai-ops-gpu/Cargo.lock index 39c91494c..850571340 100644 --- a/wai/wai-ops-gpu/Cargo.lock +++ b/wai/wai-ops-gpu/Cargo.lock @@ -678,9 +678,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.54.0" +version = "1.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c168a474b95bfecfe908a65d4bdffc523144b649a74c09c286afb35d53e0bc" +checksum = "b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3" dependencies = [ "pin-project-lite", ] diff --git a/wai/wai-quantum-desktop/Cargo.lock b/wai/wai-quantum-desktop/Cargo.lock index b284cbb5a..ef406f540 100644 --- a/wai/wai-quantum-desktop/Cargo.lock +++ b/wai/wai-quantum-desktop/Cargo.lock @@ -622,7 +622,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d045de693cb712d0b22c6a64be5b953f67b3ce00ab5ad3dd5d8b441886ab8e1a" dependencies = [ "quote", - "syn 3.0.9", + "syn 2.0.119", ] [[package]] @@ -979,7 +979,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -2845,7 +2845,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -3766,9 +3766,9 @@ checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee" [[package]] name = "tokio" -version = "1.54.0" +version = "1.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c168a474b95bfecfe908a65d4bdffc523144b649a74c09c286afb35d53e0bc" +checksum = "b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3" dependencies = [ "bytes", "libc", @@ -4408,7 +4408,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] diff --git a/wai/wai-rs/Cargo.lock b/wai/wai-rs/Cargo.lock index 6ce602869..e1b7d4d31 100644 --- a/wai/wai-rs/Cargo.lock +++ b/wai/wai-rs/Cargo.lock @@ -1295,7 +1295,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]] @@ -3354,14 +3354,14 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "log", "once_cell", @@ -3411,7 +3411,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3422,9 +3422,9 @@ checksum = "eec689c0bc40ff2458a5977b6619cb718087084a18e02a131c599b62d05e1a5f" [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "ring", "rustls-pki-types", @@ -3937,7 +3937,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4430,18 +4430,18 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b" +checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb" dependencies = [ "rustls-pki-types", ] [[package]] name = "webpki-roots" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9" dependencies = [ "rustls-pki-types", ] @@ -4621,7 +4621,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]]