summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBug Magnet <marco.nikic@mullvad.net>2024-02-13 08:28:17 +0100
committerBug Magnet <marco.nikic@mullvad.net>2024-02-13 08:28:17 +0100
commitda4e1c2b9e93e8a54e80c6d78131898733bf41bd (patch)
tree37256b84b0922b5d324fc9e619b85094cd58bd84
parent66f4b14263168bef439b3a8353b071268ee4b08b (diff)
parente3af7f6c1616425eab2ee474ead73d7b321436b5 (diff)
downloadmullvadvpn-da4e1c2b9e93e8a54e80c6d78131898733bf41bd.tar.xz
mullvadvpn-da4e1c2b9e93e8a54e80c6d78131898733bf41bd.zip
Merge branch 'enable-wireguard-adapter-to-select-a-list-of-allowed-ips-ios-507'
-rw-r--r--ios/PacketTunnel/WireGuardAdapter/WgAdapter.swift5
-rw-r--r--ios/PacketTunnelCore/Actor/ConfigurationBuilder.swift4
-rw-r--r--ios/PacketTunnelCore/Actor/PacketTunnelActor+ErrorState.swift3
-rw-r--r--ios/PacketTunnelCore/Actor/PacketTunnelActor.swift6
-rw-r--r--ios/PacketTunnelCore/Actor/Protocols/TunnelAdapterProtocol.swift1
5 files changed, 12 insertions, 7 deletions
diff --git a/ios/PacketTunnel/WireGuardAdapter/WgAdapter.swift b/ios/PacketTunnel/WireGuardAdapter/WgAdapter.swift
index c907d3d981..7ad9b6be9a 100644
--- a/ios/PacketTunnel/WireGuardAdapter/WgAdapter.swift
+++ b/ios/PacketTunnel/WireGuardAdapter/WgAdapter.swift
@@ -112,10 +112,7 @@ private extension TunnelAdapterConfiguration {
if let peer {
var peerConfig = PeerConfiguration(publicKey: peer.publicKey)
peerConfig.endpoint = peer.endpoint.wgEndpoint
- peerConfig.allowedIPs = [
- IPAddressRange(from: "0.0.0.0/0")!,
- IPAddressRange(from: "::/0")!,
- ]
+ peerConfig.allowedIPs = allowedIPs
peers.append(peerConfig)
}
diff --git a/ios/PacketTunnelCore/Actor/ConfigurationBuilder.swift b/ios/PacketTunnelCore/Actor/ConfigurationBuilder.swift
index 1b06f39366..06b970a223 100644
--- a/ios/PacketTunnelCore/Actor/ConfigurationBuilder.swift
+++ b/ios/PacketTunnelCore/Actor/ConfigurationBuilder.swift
@@ -26,13 +26,15 @@ struct ConfigurationBuilder {
var interfaceAddresses: [IPAddressRange]
var dns: SelectedDNSServers?
var endpoint: MullvadEndpoint?
+ var allowedIPs: [IPAddressRange]
func makeConfiguration() throws -> TunnelAdapterConfiguration {
return TunnelAdapterConfiguration(
privateKey: privateKey,
interfaceAddresses: interfaceAddresses,
dns: dnsServers,
- peer: try peer
+ peer: try peer,
+ allowedIPs: allowedIPs
)
}
diff --git a/ios/PacketTunnelCore/Actor/PacketTunnelActor+ErrorState.swift b/ios/PacketTunnelCore/Actor/PacketTunnelActor+ErrorState.swift
index 077bfdbb25..94888c8115 100644
--- a/ios/PacketTunnelCore/Actor/PacketTunnelActor+ErrorState.swift
+++ b/ios/PacketTunnelCore/Actor/PacketTunnelActor+ErrorState.swift
@@ -114,7 +114,8 @@ extension PacketTunnelActor {
do {
let configurationBuilder = ConfigurationBuilder(
privateKey: PrivateKey(),
- interfaceAddresses: []
+ interfaceAddresses: [],
+ allowedIPs: []
)
var config = try configurationBuilder.makeConfiguration()
config.dns = [IPv4Address.loopback]
diff --git a/ios/PacketTunnelCore/Actor/PacketTunnelActor.swift b/ios/PacketTunnelCore/Actor/PacketTunnelActor.swift
index 8d3372c6be..4d40fdf1e6 100644
--- a/ios/PacketTunnelCore/Actor/PacketTunnelActor.swift
+++ b/ios/PacketTunnelCore/Actor/PacketTunnelActor.swift
@@ -250,7 +250,11 @@ extension PacketTunnelActor {
privateKey: activeKey,
interfaceAddresses: settings.interfaceAddresses,
dns: settings.dnsServers,
- endpoint: connectionState.connectedEndpoint
+ endpoint: connectionState.connectedEndpoint,
+ allowedIPs: [
+ IPAddressRange(from: "0.0.0.0/0")!,
+ IPAddressRange(from: "::/0")!,
+ ]
)
/*
diff --git a/ios/PacketTunnelCore/Actor/Protocols/TunnelAdapterProtocol.swift b/ios/PacketTunnelCore/Actor/Protocols/TunnelAdapterProtocol.swift
index b50ab4a7ad..0bbbbbf8a5 100644
--- a/ios/PacketTunnelCore/Actor/Protocols/TunnelAdapterProtocol.swift
+++ b/ios/PacketTunnelCore/Actor/Protocols/TunnelAdapterProtocol.swift
@@ -27,6 +27,7 @@ public struct TunnelAdapterConfiguration {
public var interfaceAddresses: [IPAddressRange]
public var dns: [IPAddress]
public var peer: TunnelPeer?
+ public var allowedIPs: [IPAddressRange]
}
/// Struct describing a single peer.