From f2bf7bb52962967843716a31e0c939aced5655ee Mon Sep 17 00:00:00 2001 From: tottoto Date: Thu, 23 Oct 2025 12:17:14 +0900 Subject: [PATCH] Disable socket2 dependency on wasi target --- Cargo.toml | 4 +++- src/runtime/stream.rs | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index faf6e1d43..1cd6e607d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -118,7 +118,6 @@ serde_with = { version = "3.8.1", default-features = false, features = ["macros" sha1 = "0.10.0" sha2 = "0.10.2" snap = { version = "1.0.5", optional = true } -socket2 = "0.5.5" stringprep = "0.1.2" strsim = "0.11.1" take_mut = "0.2.2" @@ -247,6 +246,9 @@ features = ["serde", "serde_json-1"] rustdoc-args = ["--cfg", "docsrs"] all-features = true +[target.'cfg(not(wasi))'.dependencies] +socket2 = "0.5.5" + # Target-specific dependencies for GSSAPI authentication [target.'cfg(not(windows))'.dependencies] cross-krb5 = { version = "0.4.2", optional = true, default-features = false } diff --git a/src/runtime/stream.rs b/src/runtime/stream.rs index 4f7960d05..52fe15d84 100644 --- a/src/runtime/stream.rs +++ b/src/runtime/stream.rs @@ -74,14 +74,14 @@ async fn tcp_try_connect(address: &SocketAddr) -> Result { let stream = TcpStream::connect(address).await?; stream.set_nodelay(true)?; - let socket = socket2::Socket::from(stream.into_std()?); #[cfg(not(target_os = "wasi"))] { + let sock_ref = socket2::SockRef::from(&stream); let conf = socket2::TcpKeepalive::new().with_time(KEEPALIVE_TIME); - socket.set_tcp_keepalive(&conf)?; + sock_ref.set_tcp_keepalive(&conf)?; } - let std_stream = std::net::TcpStream::from(socket); - Ok(TcpStream::from_std(std_stream)?) + + Ok(stream) } pub(crate) async fn tcp_connect(resolved: Vec) -> Result {