From 763d4eeb05fbfe2f368a55e24a2ab7214719a926 Mon Sep 17 00:00:00 2001 From: rustdesk Date: Mon, 21 Sep 2026 17:58:35 +0800 Subject: [PATCH] bump hbb_common: tungstenite 0.29 forks, read buffer grown as bytes arrive hbb_common 7dc56d6..d9895ff, one commit: tokio-tungstenite and tungstenite up from 0.26 to rustdesk-org's rustdesk-patches-0.29 branches. The tungstenite fork grows the read buffer a read_buffer_size chunk at a time as bytes arrive, where upstream reserved the whole length a frame header declared. It is pinned here at the workspace root, the one place cargo reads [patch], so hbb_common's copy and tokio-tungstenite's resolve to the same one. The lockfile moves only those two crates and drops utf-8, which 0.29 no longer pulls. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab --- Cargo.lock | 16 ++++------------ Cargo.toml | 5 +++++ libs/hbb_common | 2 +- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 774ccfd0b..fcac8e5ad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8609,8 +8609,8 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.26.2" -source = "git+https://github.com/rustdesk-org/tokio-tungstenite?rev=9c320de8e7c546cb654b017b7f4cbb4a5cc09cd9#9c320de8e7c546cb654b017b7f4cbb4a5cc09cd9" +version = "0.29.0" +source = "git+https://github.com/rustdesk-org/tokio-tungstenite?rev=c241b11b03de4881faf1ecd2fe6e867c92f3013b#c241b11b03de4881faf1ecd2fe6e867c92f3013b" dependencies = [ "futures-util", "log", @@ -8893,9 +8893,8 @@ dependencies = [ [[package]] name = "tungstenite" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" +version = "0.29.0" +source = "git+https://github.com/rustdesk-org/tungstenite-rs?rev=efce47e5364f00a63302cf07ab1fb13ded478914#efce47e5364f00a63302cf07ab1fb13ded478914" dependencies = [ "bytes", "data-encoding", @@ -8909,7 +8908,6 @@ dependencies = [ "rustls-pki-types", "sha1", "thiserror 2.0.17", - "utf-8", "webpki-roots 0.26.11", ] @@ -9139,12 +9137,6 @@ dependencies = [ "log", ] -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf16string" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index 47b7972bc..9fedd8cc1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -218,6 +218,11 @@ exclude = ["vdi/host"] # This allows building and running on systems without libxdo installed (e.g., Wayland-only) [patch.crates-io] libxdo-sys = { path = "libs/libxdo-sys-stub" } +# Upstream reserves a frame's whole declared length as soon as its header is in, so a header alone +# buys an allocation the size it names, bounded only by max_frame_size. This fork grows the read +# buffer one read_buffer_size chunk at a time as the bytes actually arrive. Patched rather than +# depended on directly, so tokio-tungstenite's own tungstenite resolves to the same copy. +tungstenite = { git = "https://github.com/rustdesk-org/tungstenite-rs", rev = "efce47e5364f00a63302cf07ab1fb13ded478914" } # One branch off upstream v0.13.0, the tag whose crate versions match this stack. # webrtc-util: reads the Windows adapter list's IPv6 addresses as host-order u16 groups, so every # one comes out byte-swapped, fails to bind, and ICE gathers no IPv6 host candidate on Windows; diff --git a/libs/hbb_common b/libs/hbb_common index 7dc56d69e..d9895ff9c 160000 --- a/libs/hbb_common +++ b/libs/hbb_common @@ -1 +1 @@ -Subproject commit 7dc56d69e0cf79ee25958068605fad75f907b2ec +Subproject commit d9895ff9cb4c77137fb05ce3161bcf7210177aef