diff --git a/Cargo.lock b/Cargo.lock index d28cfc15a..1aa7e4040 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3108,6 +3108,7 @@ dependencies = [ "tokio-tungstenite", "tokio-util", "toml 0.7.8", + "tungstenite", "url", "uuid", "winapi 0.3.9", diff --git a/libs/hbb_common b/libs/hbb_common index ebb4d4a48..3afaf6494 160000 --- a/libs/hbb_common +++ b/libs/hbb_common @@ -1 +1 @@ -Subproject commit ebb4d4a48cf7ed6ca62e93f8ed124065c6408536 +Subproject commit 3afaf6494475ef58dcaaae6b4e6d2303cc3d632b diff --git a/src/client.rs b/src/client.rs index def76a0e1..3f4b60e9e 100644 --- a/src/client.rs +++ b/src/client.rs @@ -58,7 +58,6 @@ use hbb_common::{ sha2::{Digest, Sha256}, socket_client::{connect_tcp, connect_tcp_local, ipv4_to_ipv6}, sodiumoxide::{base64, crypto::sign}, - tcp::FramedStream, timeout, tokio::{ self, @@ -3557,8 +3556,7 @@ pub mod peer_online { rendezvous_proto::*, sleep, socket_client::connect_tcp, - tcp::FramedStream, - ResultType, + ResultType, Stream, }; pub async fn query_online_states, Vec)>(ids: Vec, f: F) { @@ -3581,7 +3579,7 @@ pub mod peer_online { } } - async fn create_online_stream() -> ResultType { + async fn create_online_stream() -> ResultType { let (rendezvous_server, _servers, _contained) = crate::get_rendezvous_server(READ_TIMEOUT).await; let tmp: Vec<&str> = rendezvous_server.split(":").collect(); diff --git a/src/client/io_loop.rs b/src/client/io_loop.rs index 8d858e5df..69ab0fb04 100644 --- a/src/client/io_loop.rs +++ b/src/client/io_loop.rs @@ -351,7 +351,7 @@ impl Remote { #[cfg(any(target_os = "windows", feature = "unix-file-copy-paste"))] async fn handle_local_clipboard_msg( &self, - peer: &mut crate::client::FramedStream, + peer: &mut Stream, msg: Option, ) { match msg { diff --git a/src/common.rs b/src/common.rs index 26d25f789..5f9bd71fe 100644 --- a/src/common.rs +++ b/src/common.rs @@ -27,7 +27,7 @@ use hbb_common::{ self, time::{Duration, Instant, Interval}, }, - ResultType, + ResultType, Stream, }; use crate::{ @@ -832,7 +832,7 @@ pub fn is_modifier(evt: &KeyEvent) -> bool { pub fn check_software_update() { if is_custom_client() { return; - } + } let opt = config::LocalConfig::get_option(config::keys::OPTION_ENABLE_CHECK_UPDATE); if config::option2bool(config::keys::OPTION_ENABLE_CHECK_UPDATE, &opt) { std::thread::spawn(move || allow_err!(check_software_update_())); @@ -1196,7 +1196,7 @@ pub fn pk_to_fingerprint(pk: Vec) -> String { #[inline] pub async fn get_next_nonkeyexchange_msg( - conn: &mut FramedStream, + conn: &mut Stream, timeout: Option, ) -> Option { let timeout = timeout.unwrap_or(READ_TIMEOUT); @@ -1265,7 +1265,7 @@ pub fn check_process(arg: &str, mut same_uid: bool) -> bool { false } -pub async fn secure_tcp(conn: &mut FramedStream, key: &str) -> ResultType<()> { +pub async fn secure_tcp(conn: &mut Stream, key: &str) -> ResultType<()> { let rs_pk = get_rs_pk(key); let Some(rs_pk) = rs_pk else { bail!("Handshake failed: invalid public key from rendezvous server"); diff --git a/src/rendezvous_mediator.rs b/src/rendezvous_mediator.rs index 69fc886ca..d8ec3c102 100644 --- a/src/rendezvous_mediator.rs +++ b/src/rendezvous_mediator.rs @@ -20,10 +20,9 @@ use hbb_common::{ rendezvous_proto::*, sleep, socket_client::{self, connect_tcp, is_ipv4}, - tcp::FramedStream, tokio::{self, select, sync::Mutex, time::interval}, udp::FramedSocket, - AddrMangle, IntoTargetAddr, ResultType, TargetAddr, + AddrMangle, IntoTargetAddr, ResultType, Stream, TargetAddr, }; use crate::{ @@ -706,7 +705,7 @@ async fn direct_server(server: ServerPtr) { enum Sink<'a> { Framed(&'a mut FramedSocket, &'a TargetAddr<'a>), - Stream(&'a mut FramedStream), + Stream(&'a mut Stream), } impl Sink<'_> {