From e26142f8767872397ce19fe93337082c8ca1177d Mon Sep 17 00:00:00 2001 From: Dmitriy Khaustov aka xDimon Date: Mon, 13 Oct 2025 15:27:43 +0300 Subject: [PATCH] fix: reuseaddr error under shadow Signed-off-by: Dmitriy Khaustov aka xDimon --- Cargo.toml | 3 +++ src/transport/tcp/mod.rs | 1 + src/transport/websocket/mod.rs | 1 + 3 files changed, 5 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index d11b4837..f0ce4776 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -104,6 +104,9 @@ fuzz = ["serde/derive", "serde/rc", "bytes/serde", "dep:serde_millis", "cid/serd quic = ["dep:webpki", "dep:quinn", "dep:rustls", "dep:ring", "dep:rcgen"] webrtc = ["dep:str0m"] +# Shadow simulation compatibility +x-shadow = [] + [profile.release] debug = true diff --git a/src/transport/tcp/mod.rs b/src/transport/tcp/mod.rs index 748e138d..84b780e3 100644 --- a/src/transport/tcp/mod.rs +++ b/src/transport/tcp/mod.rs @@ -205,6 +205,7 @@ impl TcpTransport { socket.set_nonblocking(true)?; socket.set_nodelay(nodelay)?; + #[cfg(not(feature = "x-shadow"))] match dial_addresses.local_dial_address(&remote_address.ip()) { Ok(Some(dial_address)) => { socket.set_reuse_address(true)?; diff --git a/src/transport/websocket/mod.rs b/src/transport/websocket/mod.rs index 72bb0305..114e3a6d 100644 --- a/src/transport/websocket/mod.rs +++ b/src/transport/websocket/mod.rs @@ -246,6 +246,7 @@ impl WebSocketTransport { socket.set_nonblocking(true)?; socket.set_nodelay(nodelay)?; + #[cfg(not(feature = "x-shadow"))] match dial_addresses.local_dial_address(&remote_address.ip()) { Ok(Some(dial_address)) => { socket.set_reuse_address(true)?;