open-trade лет назад: 5
Родитель
Сommit
8d4949232a
2 измененных файлов с 11 добавлено и 6 удалено
  1. 1 1
      libs/hbb_common
  2. 10 5
      src/rendezvous_server.rs

+ 1 - 1
libs/hbb_common

@@ -1 +1 @@
1
-Subproject commit 072ae27c89f371f028304b597b08355b91e50dc4
1
+Subproject commit ef0bf8e43ad9017d5b7851ad0f261b6503554e65

+ 10 - 5
src/rendezvous_server.rs

@@ -424,13 +424,16 @@ impl RendezvousServer {
424 424
         if relay_server.is_empty() {
425 425
             relay_server = self.relay_server.clone();
426 426
         }
427
-        msg_out.set_punch_hole_response(PunchHoleResponse {
427
+        let mut p = PunchHoleResponse {
428 428
             socket_addr: AddrMangle::encode(addr),
429 429
             pk,
430 430
             relay_server,
431
-            nat_type: phs.nat_type,
432 431
             ..Default::default()
433
-        });
432
+        };
433
+        if let Ok(t) = phs.nat_type.enum_value() {
434
+            p.set_nat_type(t);
435
+        }
436
+        msg_out.set_punch_hole_response(p);
434 437
         if let Some(socket) = socket {
435 438
             socket.send(&msg_out, addr_a).await?;
436 439
         } else {
@@ -459,11 +462,13 @@ impl RendezvousServer {
459 462
         if relay_server.is_empty() {
460 463
             relay_server = self.relay_server.clone();
461 464
         }
462
-        msg_out.set_punch_hole_response(PunchHoleResponse {
465
+        let mut p = PunchHoleResponse {
463 466
             socket_addr: la.local_addr.clone(),
464 467
             relay_server,
465 468
             ..Default::default()
466
-        });
469
+        };
470
+        p.set_is_local(true);
471
+        msg_out.set_punch_hole_response(p);
467 472
         if let Some(socket) = socket {
468 473
             socket.send(&msg_out, addr_a).await?;
469 474
         } else {