From cc0cc7ca8aaa1a664223a4c72ff9bcac7bf0ae40 Mon Sep 17 00:00:00 2001 From: zonyitoo Date: Fri, 21 Jan 2022 20:22:45 +0800 Subject: [PATCH] drop proxied socket when send/recv error --- crates/shadowsocks-service/src/local/net/udp/association.rs | 3 +++ crates/shadowsocks-service/src/local/tunnel/udprelay.rs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/crates/shadowsocks-service/src/local/net/udp/association.rs b/crates/shadowsocks-service/src/local/net/udp/association.rs index 2eac6fd2..7d9d60be 100644 --- a/crates/shadowsocks-service/src/local/net/udp/association.rs +++ b/crates/shadowsocks-service/src/local/net/udp/association.rs @@ -457,6 +457,9 @@ where data.len(), err ); + + // Drop the socket and reconnect to another server. + self.proxied_socket = None; } } diff --git a/crates/shadowsocks-service/src/local/tunnel/udprelay.rs b/crates/shadowsocks-service/src/local/tunnel/udprelay.rs index c8e91f3e..50c4ae70 100644 --- a/crates/shadowsocks-service/src/local/tunnel/udprelay.rs +++ b/crates/shadowsocks-service/src/local/tunnel/udprelay.rs @@ -343,6 +343,9 @@ impl UdpAssociationContext { data.len(), err ); + + // Drop the socket and reconnect to another server. + self.proxied_socket = None; } }