Просмотр исходного кода

fix ID_EXISTS not sent out due to ipv6 change

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

+ 3 - 3
src/rendezvous_server.rs

@@ -789,7 +789,7 @@ impl RendezvousServer {
789 789
 
790 790
     #[inline]
791 791
     async fn send_to_tcp(&mut self, msg: RendezvousMessage, addr: SocketAddr) {
792
-        let mut tcp = self.tcp_punch.lock().await.remove(&addr);
792
+        let mut tcp = self.tcp_punch.lock().await.remove(&try_into_v4(addr));
793 793
         tokio::spawn(async move {
794 794
             Self::send_to_sink(&mut tcp, msg).await;
795 795
         });
@@ -817,7 +817,7 @@ impl RendezvousServer {
817 817
         msg: RendezvousMessage,
818 818
         addr: SocketAddr,
819 819
     ) -> ResultType<()> {
820
-        let mut sink = self.tcp_punch.lock().await.remove(&addr);
820
+        let mut sink = self.tcp_punch.lock().await.remove(&try_into_v4(addr));
821 821
         Self::send_to_sink(&mut sink, msg).await;
822 822
         Ok(())
823 823
     }
@@ -1126,7 +1126,7 @@ impl RendezvousServer {
1126 1126
             }
1127 1127
         }
1128 1128
         if sink.is_none() {
1129
-            self.tcp_punch.lock().await.remove(&addr);
1129
+            self.tcp_punch.lock().await.remove(&try_into_v4(addr));
1130 1130
         }
1131 1131
         log::debug!("Tcp connection from {:?} closed", addr);
1132 1132
         Ok(())