fix is_loopback

This commit is contained in:
rustdesk 2023-06-16 15:13:23 +08:00
parent c871978475
commit f1e941bf9f
2 changed files with 5 additions and 4 deletions

View File

@ -374,8 +374,8 @@ async fn handle_connection(
key: &str,
ws: bool,
) {
let ip = addr.ip().to_string();
if !ws && ip == "127.0.0.1" {
let ip = hbb_common::try_into_v4(addr).ip();
if !ws && ip.is_loopback() {
let limiter = limiter.clone();
tokio::spawn(async move {
let mut stream = stream;
@ -389,6 +389,7 @@ async fn handle_connection(
});
return;
}
let ip = ip.to_string();
if BLOCKLIST.read().await.get(&ip).is_some() {
log::info!("{} blocked", ip);
return;

View File

@ -436,7 +436,7 @@ impl RendezvousServer {
self.handle_local_addr(la, addr, Some(socket)).await?;
}
Some(rendezvous_message::Union::ConfigureUpdate(mut cu)) => {
if addr.ip().is_loopback() && cu.serial > self.inner.serial {
if try_into_v4(addr).ip().is_loopback() && cu.serial > self.inner.serial {
let mut inner: Inner = (*self.inner).clone();
inner.serial = cu.serial;
self.inner = Arc::new(inner);
@ -1203,7 +1203,7 @@ impl RendezvousServer {
}
SocketAddr::V6(v6_socket_addr) => {
if let Some(v4_addr) = v6_socket_addr.ip().to_ipv4_mapped() {
if let Some(v4_addr) = v6_socket_addr.ip().to_ipv4() {
return network.contains(v4_addr);
}
}