diff options
| author | David Lönnhager <david.l@mullvad.net> | 2020-12-17 19:43:54 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2021-01-04 16:50:18 +0100 |
| commit | a2379f2b5eb7a79cd0a05f63692207674e9fabd5 (patch) | |
| tree | f3d08577213319b78483adaa33646649fa154ce0 /windows | |
| parent | 9bc51f619b553b5aa36ba79e5ea6d8d374ca9dd2 (diff) | |
| download | mullvadvpn-a2379f2b5eb7a79cd0a05f63692207674e9fabd5.tar.xz mullvadvpn-a2379f2b5eb7a79cd0a05f63692207674e9fabd5.zip | |
Remove unneeded transport protocol types in WinFw
Diffstat (limited to 'windows')
5 files changed, 17 insertions, 52 deletions
diff --git a/windows/winfw/src/winfw/fwcontext.cpp b/windows/winfw/src/winfw/fwcontext.cpp index 99a3d3dc26..793f8c917d 100644 --- a/windows/winfw/src/winfw/fwcontext.cpp +++ b/windows/winfw/src/winfw/fwcontext.cpp @@ -31,32 +31,6 @@ using namespace rules; namespace { -multi::PermitVpnRelay::Protocol TranslateProtocol(WinFwProtocol protocol) -{ - switch (protocol) - { - case Tcp: return multi::PermitVpnRelay::Protocol::Tcp; - case Udp: return multi::PermitVpnRelay::Protocol::Udp; - default: - { - THROW_ERROR("Missing case handler in switch clause"); - } - }; -} - -baseline::PermitEndpoint::Protocol TranslateEndpointProtocol(WinFwProtocol protocol) -{ - switch (protocol) - { - case Tcp: return baseline::PermitEndpoint::Protocol::Tcp; - case Udp: return baseline::PermitEndpoint::Protocol::Udp; - default: - { - THROW_ERROR("Missing case handler in switch clause"); - } - }; -} - // // Since the PermitLan rule doesn't specifically address DNS, it will allow DNS requests targetting // a local resolver to leave the machine. From the local resolver the request will either be @@ -119,7 +93,7 @@ void AppendRelayRules ruleset.emplace_back(std::make_unique<multi::PermitVpnRelay>( wfp::IpAddress(relay.ip), relay.port, - TranslateProtocol(relay.protocol), + relay.protocol, relayClient, sublayer )); @@ -137,7 +111,7 @@ void AppendAllowedEndpointRules ruleset.emplace_back(std::make_unique<baseline::PermitEndpoint>( wfp::IpAddress(endpoint.ip), endpoint.port, - TranslateEndpointProtocol(endpoint.protocol) + endpoint.protocol )); } diff --git a/windows/winfw/src/winfw/rules/baseline/permitendpoint.cpp b/windows/winfw/src/winfw/rules/baseline/permitendpoint.cpp index 217631579d..5b79d64ceb 100644 --- a/windows/winfw/src/winfw/rules/baseline/permitendpoint.cpp +++ b/windows/winfw/src/winfw/rules/baseline/permitendpoint.cpp @@ -30,12 +30,12 @@ const GUID &OutboundLayerFromIp(const wfp::IpAddress &ip) }; } -std::unique_ptr<ConditionProtocol> CreateProtocolCondition(PermitEndpoint::Protocol protocol) +std::unique_ptr<ConditionProtocol> CreateProtocolCondition(WinFwProtocol protocol) { switch (protocol) { - case PermitEndpoint::Protocol::Tcp: return ConditionProtocol::Tcp(); - case PermitEndpoint::Protocol::Udp: return ConditionProtocol::Udp(); + case WinFwProtocol::Tcp: return ConditionProtocol::Tcp(); + case WinFwProtocol::Udp: return ConditionProtocol::Udp(); default: { THROW_ERROR("Missing case handler in switch clause"); @@ -49,7 +49,7 @@ PermitEndpoint::PermitEndpoint ( const wfp::IpAddress &address, uint16_t port, - Protocol protocol + WinFwProtocol protocol ) : m_address(address) , m_port(port) diff --git a/windows/winfw/src/winfw/rules/baseline/permitendpoint.h b/windows/winfw/src/winfw/rules/baseline/permitendpoint.h index cfa57b003d..93564dbd1e 100644 --- a/windows/winfw/src/winfw/rules/baseline/permitendpoint.h +++ b/windows/winfw/src/winfw/rules/baseline/permitendpoint.h @@ -1,6 +1,7 @@ #pragma once #include <winfw/rules/ifirewallrule.h> +#include <winfw/winfw.h> #include <libwfp/ipaddress.h> #include <string> @@ -11,17 +12,11 @@ class PermitEndpoint : public IFirewallRule { public: - enum class Protocol - { - Tcp, - Udp - }; - PermitEndpoint ( const wfp::IpAddress &address, uint16_t port, - Protocol protocol + WinFwProtocol protocol ); bool apply(IObjectInstaller &objectInstaller) override; @@ -30,7 +25,7 @@ private: const wfp::IpAddress m_address; const uint16_t m_port; - const Protocol m_protocol; + const WinFwProtocol m_protocol; }; } diff --git a/windows/winfw/src/winfw/rules/multi/permitvpnrelay.cpp b/windows/winfw/src/winfw/rules/multi/permitvpnrelay.cpp index 35e56ba167..ee5ffcb0c4 100644 --- a/windows/winfw/src/winfw/rules/multi/permitvpnrelay.cpp +++ b/windows/winfw/src/winfw/rules/multi/permitvpnrelay.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "permitvpnrelay.h" #include <winfw/mullvadguids.h> +#include <winfw/winfw.h> #include <libwfp/filterbuilder.h> #include <libwfp/conditionbuilder.h> #include <libwfp/conditions/conditionprotocol.h> @@ -30,12 +31,12 @@ const GUID &LayerFromIp(const wfp::IpAddress &ip) }; } -std::unique_ptr<ConditionProtocol> CreateProtocolCondition(PermitVpnRelay::Protocol protocol) +std::unique_ptr<ConditionProtocol> CreateProtocolCondition(WinFwProtocol protocol) { switch (protocol) { - case PermitVpnRelay::Protocol::Tcp: return ConditionProtocol::Tcp(); - case PermitVpnRelay::Protocol::Udp: return ConditionProtocol::Udp(); + case WinFwProtocol::Tcp: return ConditionProtocol::Tcp(); + case WinFwProtocol::Udp: return ConditionProtocol::Udp(); default: { THROW_ERROR("Missing case handler in switch clause"); @@ -62,7 +63,7 @@ PermitVpnRelay::PermitVpnRelay ( const wfp::IpAddress &relay, uint16_t relayPort, - Protocol protocol, + WinFwProtocol protocol, const std::wstring &relayClient, Sublayer sublayer ) diff --git a/windows/winfw/src/winfw/rules/multi/permitvpnrelay.h b/windows/winfw/src/winfw/rules/multi/permitvpnrelay.h index 22b7956588..d63f27a862 100644 --- a/windows/winfw/src/winfw/rules/multi/permitvpnrelay.h +++ b/windows/winfw/src/winfw/rules/multi/permitvpnrelay.h @@ -1,6 +1,7 @@ #pragma once #include <winfw/rules/ifirewallrule.h> +#include <winfw/winfw.h> #include <libwfp/ipaddress.h> #include <string> @@ -11,12 +12,6 @@ class PermitVpnRelay : public IFirewallRule { public: - enum class Protocol - { - Tcp, - Udp - }; - enum class Sublayer { Baseline, @@ -27,7 +22,7 @@ public: ( const wfp::IpAddress &relay, uint16_t relayPort, - Protocol protocol, + WinFwProtocol protocol, const std::wstring &relayClient, Sublayer sublayer ); @@ -38,7 +33,7 @@ private: const wfp::IpAddress m_relay; const uint16_t m_relayPort; - const Protocol m_protocol; + const WinFwProtocol m_protocol; const std::wstring m_relayClient; const Sublayer m_sublayer; }; |
