diff options
| author | David Lönnhager <david.l@mullvad.net> | 2020-01-31 15:16:55 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2020-03-16 09:47:52 +0100 |
| commit | a5b166aec776686159ece28c1f901c81a9839548 (patch) | |
| tree | 50ed6457634297280623de8c6108888815084e0e | |
| parent | 7610fcbfd8df8ecac6bd45ee8da54a7cd002b469 (diff) | |
| download | mullvadvpn-a5b166aec776686159ece28c1f901c81a9839548.tar.xz mullvadvpn-a5b166aec776686159ece28c1f901c81a9839548.zip | |
Permit broadcasts to the local network with "Allow LAN" enabled
| -rw-r--r-- | talpid-core/src/firewall/mod.rs | 4 | ||||
| -rw-r--r-- | windows/winfw/src/winfw/rules/baseline/permitlan.cpp | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/talpid-core/src/firewall/mod.rs b/talpid-core/src/firewall/mod.rs index 9a02321031..75f5a12041 100644 --- a/talpid-core/src/firewall/mod.rs +++ b/talpid-core/src/firewall/mod.rs @@ -40,7 +40,9 @@ lazy_static! { IpNetwork::V6(Ipv6Network::new(Ipv6Addr::new(0xfd00, 0, 0, 0, 0, 0, 0, 0), 8).unwrap()), ]; /// When "allow local network" is enabled the app will allow traffic to these networks. - pub(crate) static ref ALLOWED_LAN_MULTICAST_NETS: [IpNetwork; 5] = [ + pub(crate) static ref ALLOWED_LAN_MULTICAST_NETS: [IpNetwork; 6] = [ + // Local network broadcast. Not routable + IpNetwork::V4(Ipv4Network::new(Ipv4Addr::new(255, 255, 255, 255), 32).unwrap()), // Local subnetwork multicast. Not routable IpNetwork::V4(Ipv4Network::new(Ipv4Addr::new(224, 0, 0, 0), 24).unwrap()), // Simple Service Discovery Protocol (SSDP) address diff --git a/windows/winfw/src/winfw/rules/baseline/permitlan.cpp b/windows/winfw/src/winfw/rules/baseline/permitlan.cpp index f0038f2421..d5cbef5b29 100644 --- a/windows/winfw/src/winfw/rules/baseline/permitlan.cpp +++ b/windows/winfw/src/winfw/rules/baseline/permitlan.cpp @@ -57,6 +57,9 @@ bool PermitLan::applyIpv4(IObjectInstaller &objectInstaller) const conditionBuilder.reset(); + // Local network broadcast. + conditionBuilder.add_condition(ConditionIp::Remote(wfp::IpNetwork(wfp::IpAddress::Literal({ 255, 255, 255, 255 }), 32))); + // Local subnet multicast. conditionBuilder.add_condition(ConditionIp::Remote(wfp::IpNetwork(wfp::IpAddress::Literal({ 224, 0, 0, 0 }), 24))); |
