summaryrefslogtreecommitdiffhomepage
path: root/windows
diff options
context:
space:
mode:
authorOdd Stranne <odd@mullvad.net>2020-02-15 22:06:02 +0100
committerOdd Stranne <odd@mullvad.net>2020-02-19 20:46:19 +0100
commit736e32cfd07588757ae118e37cd3638f2ff1213a (patch)
treeea36e1f460e55e4dd09bb3b8983117a51ef2f5ec /windows
parentfb37a7cf53dea9264474b6617c7650ae4f8204a8 (diff)
downloadmullvadvpn-736e32cfd07588757ae118e37cd3638f2ff1213a.tar.xz
mullvadvpn-736e32cfd07588757ae118e37cd3638f2ff1213a.zip
Coalesce recurring port definitions
Diffstat (limited to 'windows')
-rw-r--r--windows/winfw/src/winfw/fwcontext.cpp3
-rw-r--r--windows/winfw/src/winfw/rules/baseline/permitdhcp.cpp11
-rw-r--r--windows/winfw/src/winfw/rules/baseline/permitdhcpserver.cpp9
-rw-r--r--windows/winfw/src/winfw/rules/baseline/permitdns.cpp9
-rw-r--r--windows/winfw/src/winfw/rules/nontunneldns/blockall.cpp8
-rw-r--r--windows/winfw/src/winfw/rules/nontunneldns/permitselected.cpp8
-rw-r--r--windows/winfw/src/winfw/rules/ports.h19
-rw-r--r--windows/winfw/src/winfw/rules/tunneldns/blockall.cpp8
-rw-r--r--windows/winfw/src/winfw/rules/tunneldns/permitselected.cpp8
-rw-r--r--windows/winfw/src/winfw/winfw.vcxproj1
-rw-r--r--windows/winfw/src/winfw/winfw.vcxproj.filters3
11 files changed, 31 insertions, 56 deletions
diff --git a/windows/winfw/src/winfw/fwcontext.cpp b/windows/winfw/src/winfw/fwcontext.cpp
index ca56b813fa..975dd339a6 100644
--- a/windows/winfw/src/winfw/fwcontext.cpp
+++ b/windows/winfw/src/winfw/fwcontext.cpp
@@ -3,6 +3,7 @@
#include "mullvadobjects.h"
#include "objectpurger.h"
#include "rules/ifirewallrule.h"
+#include "rules/ports.h"
#include "rules/baseline/blockall.h"
#include "rules/baseline/permitdhcp.h"
#include "rules/baseline/permitndp.h"
@@ -30,8 +31,6 @@ using namespace rules;
namespace
{
-static const uint32_t DNS_SERVER_PORT = 53;
-
baseline::PermitVpnRelay::Protocol TranslateProtocol(WinFwProtocol protocol)
{
switch (protocol)
diff --git a/windows/winfw/src/winfw/rules/baseline/permitdhcp.cpp b/windows/winfw/src/winfw/rules/baseline/permitdhcp.cpp
index c067ac48e9..4d142a6305 100644
--- a/windows/winfw/src/winfw/rules/baseline/permitdhcp.cpp
+++ b/windows/winfw/src/winfw/rules/baseline/permitdhcp.cpp
@@ -1,6 +1,7 @@
#include "stdafx.h"
#include "permitdhcp.h"
#include <winfw/mullvadguids.h>
+#include <winfw/rules/ports.h>
#include <libwfp/filterbuilder.h>
#include <libwfp/conditionbuilder.h>
#include <libwfp/ipaddress.h>
@@ -14,16 +15,6 @@ using namespace wfp::conditions;
namespace rules::baseline
{
-namespace
-{
-
-static const uint32_t DHCPV4_CLIENT_PORT = 68;
-static const uint32_t DHCPV4_SERVER_PORT = 67;
-static const uint32_t DHCPV6_CLIENT_PORT = 546;
-static const uint32_t DHCPV6_SERVER_PORT = 547;
-
-} // anonymous namespace
-
bool PermitDhcp::apply(IObjectInstaller &objectInstaller)
{
return applyIpv4(objectInstaller) && applyIpv6(objectInstaller);
diff --git a/windows/winfw/src/winfw/rules/baseline/permitdhcpserver.cpp b/windows/winfw/src/winfw/rules/baseline/permitdhcpserver.cpp
index 1c5702f08a..a8fb2e3036 100644
--- a/windows/winfw/src/winfw/rules/baseline/permitdhcpserver.cpp
+++ b/windows/winfw/src/winfw/rules/baseline/permitdhcpserver.cpp
@@ -1,6 +1,7 @@
#include "stdafx.h"
#include "permitdhcpserver.h"
#include <winfw/mullvadguids.h>
+#include <winfw/rules/ports.h>
#include <libwfp/filterbuilder.h>
#include <libwfp/conditionbuilder.h>
#include <libwfp/ipaddress.h>
@@ -14,14 +15,6 @@ using namespace wfp::conditions;
namespace rules::baseline
{
-namespace
-{
-
-static const uint32_t DHCPV4_CLIENT_PORT = 68;
-static const uint32_t DHCPV4_SERVER_PORT = 67;
-
-} // anonymous namespace
-
//static
std::unique_ptr<PermitDhcpServer> PermitDhcpServer::WithExtent(Extent extent)
{
diff --git a/windows/winfw/src/winfw/rules/baseline/permitdns.cpp b/windows/winfw/src/winfw/rules/baseline/permitdns.cpp
index 44f20db944..8ce530edaa 100644
--- a/windows/winfw/src/winfw/rules/baseline/permitdns.cpp
+++ b/windows/winfw/src/winfw/rules/baseline/permitdns.cpp
@@ -1,6 +1,7 @@
#include "stdafx.h"
#include "permitdns.h"
#include <winfw/mullvadguids.h>
+#include <winfw/rules/ports.h>
#include <libwfp/filterbuilder.h>
#include <libwfp/conditionbuilder.h>
#include <libwfp/conditions/conditionport.h>
@@ -10,14 +11,6 @@ using namespace wfp::conditions;
namespace rules::baseline
{
-namespace
-{
-
-static const uint32_t DNS_SERVER_PORT = 53;
-
-} // anonymous namespace
-
-
bool PermitDns::apply(IObjectInstaller &objectInstaller)
{
wfp::FilterBuilder filterBuilder;
diff --git a/windows/winfw/src/winfw/rules/nontunneldns/blockall.cpp b/windows/winfw/src/winfw/rules/nontunneldns/blockall.cpp
index 86108c7ce1..8592aa5d42 100644
--- a/windows/winfw/src/winfw/rules/nontunneldns/blockall.cpp
+++ b/windows/winfw/src/winfw/rules/nontunneldns/blockall.cpp
@@ -1,6 +1,7 @@
#include "stdafx.h"
#include "blockall.h"
#include <winfw/mullvadguids.h>
+#include <winfw/rules/ports.h>
#include <libwfp/filterbuilder.h>
#include <libwfp/conditionbuilder.h>
#include <libwfp/conditions/conditionport.h>
@@ -11,13 +12,6 @@ using namespace wfp::conditions;
namespace rules::nontunneldns
{
-namespace
-{
-
-static const uint32_t DNS_SERVER_PORT = 53;
-
-} // anonymous namespace
-
BlockAll::BlockAll(std::optional<std::wstring> tunnelInterfaceAlias)
: m_tunnelInterfaceAlias(std::move(tunnelInterfaceAlias))
{
diff --git a/windows/winfw/src/winfw/rules/nontunneldns/permitselected.cpp b/windows/winfw/src/winfw/rules/nontunneldns/permitselected.cpp
index 4ede986c7f..3c8130ea40 100644
--- a/windows/winfw/src/winfw/rules/nontunneldns/permitselected.cpp
+++ b/windows/winfw/src/winfw/rules/nontunneldns/permitselected.cpp
@@ -1,6 +1,7 @@
#include "stdafx.h"
#include "permitselected.h"
#include <winfw/mullvadguids.h>
+#include <winfw/rules/ports.h>
#include <libwfp/filterbuilder.h>
#include <libwfp/conditionbuilder.h>
#include <libwfp/conditions/conditionport.h>
@@ -13,13 +14,6 @@ using namespace wfp::conditions;
namespace rules::nontunneldns
{
-namespace
-{
-
-static const uint32_t DNS_SERVER_PORT = 53;
-
-} // anonymous namespace
-
PermitSelected::PermitSelected(std::optional<std::wstring> tunnelInterfaceAlias, const std::vector<wfp::IpAddress> &hosts)
: m_tunnelInterfaceAlias(std::move(tunnelInterfaceAlias))
{
diff --git a/windows/winfw/src/winfw/rules/ports.h b/windows/winfw/src/winfw/rules/ports.h
new file mode 100644
index 0000000000..5a4e601062
--- /dev/null
+++ b/windows/winfw/src/winfw/rules/ports.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include <cstdint>
+
+namespace rules
+{
+
+// Use weakly typed enum to get implicit promotion to integral types.
+enum Ports : uint16_t
+{
+ DHCPV4_CLIENT_PORT = 68,
+ DHCPV4_SERVER_PORT = 67,
+ DHCPV6_CLIENT_PORT = 546,
+ DHCPV6_SERVER_PORT = 547,
+
+ DNS_SERVER_PORT = 53,
+};
+
+}
diff --git a/windows/winfw/src/winfw/rules/tunneldns/blockall.cpp b/windows/winfw/src/winfw/rules/tunneldns/blockall.cpp
index 6d7825f86a..8d9c2d7cd2 100644
--- a/windows/winfw/src/winfw/rules/tunneldns/blockall.cpp
+++ b/windows/winfw/src/winfw/rules/tunneldns/blockall.cpp
@@ -1,6 +1,7 @@
#include "stdafx.h"
#include "blockall.h"
#include <winfw/mullvadguids.h>
+#include <winfw/rules/ports.h>
#include <libwfp/filterbuilder.h>
#include <libwfp/conditionbuilder.h>
#include <libwfp/conditions/conditionport.h>
@@ -11,13 +12,6 @@ using namespace wfp::conditions;
namespace rules::tunneldns
{
-namespace
-{
-
-static const uint32_t DNS_SERVER_PORT = 53;
-
-} // anonymous namespace
-
BlockAll::BlockAll(const std::wstring &tunnelInterfaceAlias)
: m_tunnelInterfaceAlias(tunnelInterfaceAlias)
{
diff --git a/windows/winfw/src/winfw/rules/tunneldns/permitselected.cpp b/windows/winfw/src/winfw/rules/tunneldns/permitselected.cpp
index f1f426f49f..0d34706589 100644
--- a/windows/winfw/src/winfw/rules/tunneldns/permitselected.cpp
+++ b/windows/winfw/src/winfw/rules/tunneldns/permitselected.cpp
@@ -1,6 +1,7 @@
#include "stdafx.h"
#include "permitselected.h"
#include <winfw/mullvadguids.h>
+#include <winfw/rules/ports.h>
#include <libwfp/filterbuilder.h>
#include <libwfp/conditionbuilder.h>
#include <libwfp/conditions/conditionport.h>
@@ -13,13 +14,6 @@ using namespace wfp::conditions;
namespace rules::tunneldns
{
-namespace
-{
-
-static const uint32_t DNS_SERVER_PORT = 53;
-
-} // anonymous namespace
-
PermitSelected::PermitSelected(const std::wstring &tunnelInterfaceAlias, const std::vector<wfp::IpAddress> &hosts)
: m_tunnelInterfaceAlias(tunnelInterfaceAlias)
{
diff --git a/windows/winfw/src/winfw/winfw.vcxproj b/windows/winfw/src/winfw/winfw.vcxproj
index 1bb9302f71..40829a0cb9 100644
--- a/windows/winfw/src/winfw/winfw.vcxproj
+++ b/windows/winfw/src/winfw/winfw.vcxproj
@@ -70,6 +70,7 @@
<ClInclude Include="rules\baseline\permitvpntunnelservice.h" />
<ClInclude Include="rules\nontunneldns\blockall.h" />
<ClInclude Include="rules\nontunneldns\permitselected.h" />
+ <ClInclude Include="rules\ports.h" />
<ClInclude Include="rules\tunneldns\blockall.h" />
<ClInclude Include="rules\tunneldns\permitselected.h" />
<ClInclude Include="wfpobjecttype.h" />
diff --git a/windows/winfw/src/winfw/winfw.vcxproj.filters b/windows/winfw/src/winfw/winfw.vcxproj.filters
index d0dca72579..90f15ab205 100644
--- a/windows/winfw/src/winfw/winfw.vcxproj.filters
+++ b/windows/winfw/src/winfw/winfw.vcxproj.filters
@@ -123,6 +123,9 @@
<ClInclude Include="rules\tunneldns\permitselected.h">
<Filter>rules\tunneldns</Filter>
</ClInclude>
+ <ClInclude Include="rules\ports.h">
+ <Filter>rules</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="rules">