rustdesk лет назад: 2
Родитель
Сommit
f1e941bf9f
2 измененных файлов с 5 добавлено и 4 удалено
  1. 3 2
      src/relay_server.rs
  2. 2 2
      src/rendezvous_server.rs

+ 3 - 2
src/relay_server.rs

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

+ 2 - 2
src/rendezvous_server.rs

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