|
|
@@ -706,17 +706,14 @@ impl RendezvousServer {
|
|
706
|
706
|
}
|
|
707
|
707
|
ph.nat_type = NatType::SYMMETRIC.into(); // will force relay
|
|
708
|
708
|
}
|
|
709
|
|
- let same_intranet = !ws
|
|
710
|
|
- && match peer_addr {
|
|
711
|
|
- SocketAddr::V4(a) => match addr {
|
|
712
|
|
- SocketAddr::V4(b) => a.ip() == b.ip(),
|
|
|
709
|
+ let same_intranet: bool = !ws
|
|
|
710
|
+ && (peer_is_lan && is_lan || {
|
|
|
711
|
+ match (peer_addr, addr) {
|
|
|
712
|
+ (SocketAddr::V4(a), SocketAddr::V4(b)) => a.ip() == b.ip(),
|
|
|
713
|
+ (SocketAddr::V6(a), SocketAddr::V6(b)) => a.ip() == b.ip(),
|
|
713
|
714
|
_ => false,
|
|
714
|
|
- },
|
|
715
|
|
- SocketAddr::V6(a) => match addr {
|
|
716
|
|
- SocketAddr::V6(b) => a.ip() == b.ip(),
|
|
717
|
|
- _ => false,
|
|
718
|
|
- },
|
|
719
|
|
- };
|
|
|
715
|
+ }
|
|
|
716
|
+ });
|
|
720
|
717
|
let socket_addr = AddrMangle::encode(addr).into();
|
|
721
|
718
|
if same_intranet {
|
|
722
|
719
|
log::debug!(
|