From d039bed57704f5e28ce44f0fec91a44c371cde82 Mon Sep 17 00:00:00 2001 From: open-trade Date: Wed, 24 Mar 2021 16:52:15 +0800 Subject: [PATCH] this way can not get right extern ip --- src/rendezvous_server.rs | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/src/rendezvous_server.rs b/src/rendezvous_server.rs index 4689681..aff9f12 100644 --- a/src/rendezvous_server.rs +++ b/src/rendezvous_server.rs @@ -66,10 +66,6 @@ struct PeerMap { db: super::SledAsync, } -lazy_static::lazy_static! { - static ref PUBLIC_IP: Arc> = Default::default(); -} - pub const DEFAULT_PORT: &'static str = "21116"; impl PeerMap { @@ -223,12 +219,6 @@ impl RendezvousServer { } Ok((stream, addr)) = listener.accept() => { log::debug!("Tcp connection from {:?}", addr); - if let Ok(local_addr) = stream.local_addr() { - if PUBLIC_IP.write().unwrap().is_empty() { - log::info!("Public ip is {}", local_addr.ip().to_string()); - } - *PUBLIC_IP.write().unwrap() = local_addr.ip().to_string(); - } let (a, mut b) = Framed::new(stream, BytesCodec::new()).split(); let tcp_punch = rs.tcp_punch.clone(); let mut rs = rs.clone(); @@ -604,7 +594,7 @@ impl RendezvousServer { }; msg_out.set_fetch_local_addr(FetchLocalAddr { socket_addr, - relay_server: check_relay_server(&self.relay_servers[i]), + relay_server: self.relay_servers[i].clone(), ..Default::default() }); } else { @@ -621,7 +611,7 @@ impl RendezvousServer { msg_out.set_punch_hole(PunchHole { socket_addr, nat_type: ph.nat_type, - relay_server: check_relay_server(&self.relay_servers[i]), + relay_server: self.relay_servers[i].clone(), ..Default::default() }); } @@ -709,10 +699,3 @@ pub fn test_if_valid_server(host: &str, name: &str) -> ResultType { } res } - -fn check_relay_server(addr: &str) -> String { - if addr.contains("0.0.0.0") { - return addr.replace("0.0.0.0", &PUBLIC_IP.read().unwrap()); - } - addr.to_owned() -}