summaryrefslogtreecommitdiffhomepage
path: root/windows
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2020-12-17 19:43:54 +0100
committerDavid Lönnhager <david.l@mullvad.net>2021-01-04 16:50:18 +0100
commita2379f2b5eb7a79cd0a05f63692207674e9fabd5 (patch)
treef3d08577213319b78483adaa33646649fa154ce0 /windows
parent9bc51f619b553b5aa36ba79e5ea6d8d374ca9dd2 (diff)
downloadmullvadvpn-a2379f2b5eb7a79cd0a05f63692207674e9fabd5.tar.xz
mullvadvpn-a2379f2b5eb7a79cd0a05f63692207674e9fabd5.zip
Remove unneeded transport protocol types in WinFw
Diffstat (limited to 'windows')
-rw-r--r--windows/winfw/src/winfw/fwcontext.cpp30
-rw-r--r--windows/winfw/src/winfw/rules/baseline/permitendpoint.cpp8
-rw-r--r--windows/winfw/src/winfw/rules/baseline/permitendpoint.h11
-rw-r--r--windows/winfw/src/winfw/rules/multi/permitvpnrelay.cpp9
-rw-r--r--windows/winfw/src/winfw/rules/multi/permitvpnrelay.h11
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;
};