diff options
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"> |
