summaryrefslogtreecommitdiffhomepage
path: root/windows
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2020-01-31 14:41:54 +0100
committerDavid Lönnhager <david.l@mullvad.net>2020-03-16 09:47:52 +0100
commit7610fcbfd8df8ecac6bd45ee8da54a7cd002b469 (patch)
tree2a769c468c01b0e0a4f91fb41455998aa009c525 /windows
parent8b24d7dc78a77a264b60f7f3d36fbfbd28e5e52d (diff)
downloadmullvadvpn-7610fcbfd8df8ecac6bd45ee8da54a7cd002b469.tar.xz
mullvadvpn-7610fcbfd8df8ecac6bd45ee8da54a7cd002b469.zip
Permit traffic to unique local addresses with "Allow LAN" enabled
Diffstat (limited to 'windows')
-rw-r--r--windows/winfw/src/winfw/rules/baseline/permitlan.cpp2
-rw-r--r--windows/winfw/src/winfw/rules/baseline/permitlanservice.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/windows/winfw/src/winfw/rules/baseline/permitlan.cpp b/windows/winfw/src/winfw/rules/baseline/permitlan.cpp
index b9a24cf038..f0038f2421 100644
--- a/windows/winfw/src/winfw/rules/baseline/permitlan.cpp
+++ b/windows/winfw/src/winfw/rules/baseline/permitlan.cpp
@@ -90,8 +90,10 @@ bool PermitLan::applyIpv6(IObjectInstaller &objectInstaller) const
wfp::ConditionBuilder conditionBuilder(FWPM_LAYER_ALE_AUTH_CONNECT_V6);
const wfp::IpNetwork linkLocal(wfp::IpAddress::Literal6({ 0xFE80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }), 10);
+ const wfp::IpNetwork uniqueLocal(wfp::IpAddress::Literal6({ 0xFD00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }), 8);
conditionBuilder.add_condition(ConditionIp::Remote(linkLocal));
+ conditionBuilder.add_condition(ConditionIp::Remote(uniqueLocal));
if (!objectInstaller.addFilter(filterBuilder, conditionBuilder))
{
diff --git a/windows/winfw/src/winfw/rules/baseline/permitlanservice.cpp b/windows/winfw/src/winfw/rules/baseline/permitlanservice.cpp
index 7534e08462..041afd5492 100644
--- a/windows/winfw/src/winfw/rules/baseline/permitlanservice.cpp
+++ b/windows/winfw/src/winfw/rules/baseline/permitlanservice.cpp
@@ -66,8 +66,10 @@ bool PermitLanService::applyIpv6(IObjectInstaller &objectInstaller) const
wfp::ConditionBuilder conditionBuilder(FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6);
const wfp::IpNetwork linkLocal(wfp::IpAddress::Literal6{ 0xFE80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, 10);
+ const wfp::IpNetwork uniqueLocal(wfp::IpAddress::Literal6({ 0xFD00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }), 8);
conditionBuilder.add_condition(ConditionIp::Remote(linkLocal));
+ conditionBuilder.add_condition(ConditionIp::Remote(uniqueLocal));
return objectInstaller.addFilter(filterBuilder, conditionBuilder);
}