fix udp proxy not work when being exit node (#133)

This commit is contained in:
Sijie.Sun
2024-06-05 08:08:55 +08:00
committed by GitHub
parent 6e77e6b5e7
commit b43c078152
4 changed files with 19 additions and 1 deletions

View File

@@ -246,6 +246,10 @@ impl IcmpProxy {
}
async fn try_handle_peer_packet(&self, packet: &ZCPacket) -> Option<()> {
if self.cidr_set.is_empty() && !self.global_ctx.enable_exit_node() {
return None;
}
let _ = self.global_ctx.get_ipv4()?;
let hdr = packet.peer_manager_header().unwrap();
let is_exit_node = hdr.is_exit_node();

View File

@@ -356,6 +356,10 @@ impl TcpProxy {
}
async fn try_handle_peer_packet(&self, packet: &mut ZCPacket) -> Option<()> {
if self.cidr_set.is_empty() && !self.global_ctx.enable_exit_node() {
return None;
}
let ipv4_addr = self.global_ctx.get_ipv4()?;
let hdr = packet.peer_manager_header().unwrap();
let is_exit_node = hdr.is_exit_node();

View File

@@ -227,7 +227,7 @@ pub struct UdpProxy {
impl UdpProxy {
async fn try_handle_packet(&self, packet: &ZCPacket) -> Option<()> {
if self.cidr_set.is_empty() {
if self.cidr_set.is_empty() && !self.global_ctx.enable_exit_node() {
return None;
}