diff options
| author | David Lönnhager <david.l@mullvad.net> | 2025-07-15 13:27:24 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2025-07-15 13:27:24 +0200 |
| commit | be6324ca93855e371c380b4313c849d879306682 (patch) | |
| tree | cbb04323c72308351556f9a0da124deb8df7b7f4 | |
| parent | e6e985f38a0138b4c234974e8c1b9f00380583d4 (diff) | |
| parent | a3a6a6d8e4749d1b83540e8d276a269783e65544 (diff) | |
| download | mullvadvpn-be6324ca93855e371c380b4313c849d879306682.tar.xz mullvadvpn-be6324ca93855e371c380b4313c849d879306682.zip | |
Merge branch 'macos-fix-pq-timeout'
| -rw-r--r-- | talpid-core/src/firewall/macos.rs | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/talpid-core/src/firewall/macos.rs b/talpid-core/src/firewall/macos.rs index fafc5dcddb..d8bf5a5136 100644 --- a/talpid-core/src/firewall/macos.rs +++ b/talpid-core/src/firewall/macos.rs @@ -1,7 +1,5 @@ use std::env; use std::io; -use std::net::Ipv6Addr; -use std::net::SocketAddr; use std::net::{IpAddr, Ipv4Addr}; use std::ptr; use std::sync::LazyLock; @@ -146,14 +144,10 @@ impl Firewall { } // Socket addresses for Multicast DNS. - let mdns_port = 5353; - let mdns_addrs = [ - SocketAddr::from((Ipv4Addr::new(224, 0, 0, 251), mdns_port)), - SocketAddr::from((Ipv6Addr::new(0xff02, 0, 0, 0, 0, 0, 0, 0xfb), mdns_port)), - ]; - - if mdns_addrs.contains(&remote_address) { - // Ignore MDNS states. PQ *seems* to timeout if these states are flushed. + const MDNS_PORT: u16 = 5353; + if remote_address.port() == MDNS_PORT { + // Blocking mDNS sometimes causes the tunnel to fail. Seemingly by interferring with + // configd, mDNSResponder, or another macOS service. return Ok(false); } |
