diff --git a/Cargo.lock b/Cargo.lock index b114a4840ae..b628ab3bfe3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -93,7 +93,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom", + "getrandom 0.2.16", "once_cell", "version_check", "zerocopy", @@ -355,9 +355,9 @@ dependencies = [ [[package]] name = "async-tungstenite" -version = "0.28.2" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c348fb0b6d132c596eca3dcd941df48fb597aafcb07a738ec41c004b087dc99" +checksum = "ef0f7efedeac57d9b26170f72965ecfd31473ca52ca7a64e925b0b6f5f079886" dependencies = [ "atomic-waker", "futures-core", @@ -370,7 +370,7 @@ dependencies = [ "tokio", "tokio-rustls", "tungstenite", - "webpki-roots", + "webpki-roots 0.26.10", ] [[package]] @@ -1441,7 +1441,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "typenum", ] @@ -2514,7 +2514,19 @@ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] @@ -3391,11 +3403,10 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", "http 1.3.1", "hyper 1.6.0", "hyper-util", @@ -3405,7 +3416,7 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots", + "webpki-roots 1.0.0", ] [[package]] @@ -4025,7 +4036,7 @@ dependencies = [ "lazy_static", "libc", "mio", - "rand", + "rand 0.8.5", "serde", "tempfile", "uuid", @@ -4672,7 +4683,7 @@ checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -4897,7 +4908,7 @@ dependencies = [ "tungstenite", "url", "uuid", - "webpki-roots", + "webpki-roots 1.0.0", "webrender_api", ] @@ -5635,7 +5646,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", - "rand", + "rand 0.8.5", ] [[package]] @@ -5976,7 +5987,7 @@ checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" dependencies = [ "env_logger 0.8.4", "log", - "rand", + "rand 0.8.5", ] [[package]] @@ -5988,6 +5999,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "rand" version = "0.8.5" @@ -5995,8 +6012,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", ] [[package]] @@ -6006,7 +6033,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -6015,7 +6052,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", ] [[package]] @@ -6024,7 +6070,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fac4373cd91b4f55722c553fb0f286edbb81ef3ff6eec7b99d1898a4110a0b28" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -6108,7 +6154,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ - "getrandom", + "getrandom 0.2.16", "libredox", "thiserror 2.0.9", ] @@ -6200,7 +6246,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.16", "libc", "untrusted", "windows-sys 0.52.0", @@ -6982,8 +7028,8 @@ version = "0.0.1" dependencies = [ "log", "malloc_size_of_derive", - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", "rand_isaac", "servo_malloc_size_of", "uuid", @@ -7649,7 +7695,7 @@ checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", "fastrand", - "getrandom", + "getrandom 0.2.16", "once_cell", "rustix", "windows-sys 0.59.0", @@ -8079,7 +8125,7 @@ dependencies = [ "bytes", "chrono", "prost", - "rand", + "rand 0.8.5", "thread-id", "tracing", "tracing-subscriber", @@ -8135,21 +8181,20 @@ dependencies = [ [[package]] name = "tungstenite" -version = "0.24.0" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" dependencies = [ - "byteorder", "bytes", "data-encoding", "http 1.3.1", "httparse", "log", - "rand", + "rand 0.9.1", "rustls", "rustls-pki-types", "sha1", - "thiserror 1.0.69", + "thiserror 2.0.9", "utf-8", ] @@ -8388,7 +8433,7 @@ version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" dependencies = [ - "getrandom", + "getrandom 0.2.16", "serde", ] @@ -8480,6 +8525,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.97" @@ -8819,6 +8873,15 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "webpki-roots" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webrender" version = "0.66.0" @@ -9494,6 +9557,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] + [[package]] name = "wr_glyph_rasterizer" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 80233eb9b95..1abdc68ded3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ aes-kw = { version = "0.2.1", features = ["alloc"] } app_units = "0.7" arboard = "3" arrayvec = "0.7" -async-tungstenite = { version = "0.28", features = ["tokio-rustls-webpki-roots"] } +async-tungstenite = { version = "0.29", features = ["tokio-rustls-webpki-roots"] } atomic_refcell = "0.1.13" aws-lc-rs = { version = "1.13", default-features = false, features = ["aws-lc-sys"] } background_hang_monitor_api = { path = "components/shared/background_hang_monitor" } @@ -156,7 +156,7 @@ tower-service = "0.3" tracing = "0.1.41" tracing-perfetto = "0.1.5" tracing-subscriber = "0.3.19" -tungstenite = "0.24" +tungstenite = "0.26" uluru = "3.0" unicode-bidi = "0.3.18" unicode-properties = { version = "0.1.3", features = ["emoji"] } @@ -167,7 +167,7 @@ urlpattern = "0.3" uuid = { version = "1.12.1", features = ["v4"] } webdriver = "0.53.0" webgpu_traits = { path = "components/shared/webgpu" } -webpki-roots = "0.26" +webpki-roots = "1.0" webrender = { git = "https://github.com/servo/webrender", branch = "0.67", features = ["capture"] } webrender_api = { git = "https://github.com/servo/webrender", branch = "0.67" } webxr-api = { path = "components/shared/webxr" } diff --git a/components/net/websocket_loader.rs b/components/net/websocket_loader.rs index 8ad7df5d376..0b5a81f47ae 100644 --- a/components/net/websocket_loader.rs +++ b/components/net/websocket_loader.rs @@ -169,12 +169,12 @@ fn setup_dom_listener( trace!("handling WS DOM action: {:?}", dom_action); match dom_action { WebSocketDomAction::SendMessage(MessageData::Text(data)) => { - if let Err(e) = sender.send(DomMsg::Send(Message::Text(data))) { + if let Err(e) = sender.send(DomMsg::Send(Message::Text(data.into()))) { warn!("Error sending websocket message: {:?}", e); } }, WebSocketDomAction::SendMessage(MessageData::Binary(data)) => { - if let Err(e) = sender.send(DomMsg::Send(Message::Binary(data))) { + if let Err(e) = sender.send(DomMsg::Send(Message::Binary(data.into()))) { warn!("Error sending websocket message: {:?}", e); } }, @@ -246,7 +246,7 @@ async fn run_ws_loop( }; match msg { Message::Text(s) => { - let message = MessageData::Text(s); + let message = MessageData::Text(s.as_str().to_owned()); if let Err(e) = resource_event_sender .send(WebSocketNetworkEvent::MessageReceived(message)) { @@ -256,7 +256,7 @@ async fn run_ws_loop( } Message::Binary(v) => { - let message = MessageData::Binary(v); + let message = MessageData::Binary(v.to_vec()); if let Err(e) = resource_event_sender .send(WebSocketNetworkEvent::MessageReceived(message)) { diff --git a/deny.toml b/deny.toml index cc0040081ce..037e09e8469 100644 --- a/deny.toml +++ b/deny.toml @@ -71,14 +71,17 @@ allow = [] # List of crates to deny: deny = [ "num", - { crate = "rand", wrappers = [ - "ipc-channel", - "phf_generator", - "quickcheck", - "servo_rand", - "tracing-perfetto", - "tungstenite", - ] }, + # cargo-deny does not allow denying the rand crate while also skipping + # it for duplicate checks. While the ecosystem is split between 0.8 and 0.9, + # we need to prioritize allowing duplicate versions. + #{ crate = "rand", wrappers = [ + # "ipc-channel", + # "phf_generator", + # "quickcheck", + # "servo_rand", + # "tracing-perfetto", + # "tungstenite", + #] }, ] # List of crates to skip for the duplicate check: @@ -160,6 +163,14 @@ skip = [ "objc2-app-kit", "objc2-foundation", "objc2", + + # duplicated by tungstenite + "getrandom", + "rand", + "rand_chacha", + "rand_core", + "wasi", + "webpki-roots", ] # github.com organizations to allow git sources for