summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2021-05-20 13:25:49 +0200
committerAndrej Mihajlov <and@mullvad.net>2021-05-27 14:36:59 +0200
commitc2432fb7060e11683887afd7fff5c1327d3018df (patch)
tree83950d6357e802965a74cf0bec8bc5dcc10d1970
parentf66690efdd956f9f8be76720386a28136f011052 (diff)
downloadmullvadvpn-c2432fb7060e11683887afd7fff5c1327d3018df.tar.xz
mullvadvpn-c2432fb7060e11683887afd7fff5c1327d3018df.zip
PacketTunnel: configure DNS using new DNSSettings
-rw-r--r--ios/PacketTunnel/PacketTunnelProvider.swift17
1 files changed, 16 insertions, 1 deletions
diff --git a/ios/PacketTunnel/PacketTunnelProvider.swift b/ios/PacketTunnel/PacketTunnelProvider.swift
index 8e12bdb9f7..69800ef006 100644
--- a/ios/PacketTunnel/PacketTunnelProvider.swift
+++ b/ios/PacketTunnel/PacketTunnelProvider.swift
@@ -440,7 +440,6 @@ extension PacketTunnelConfiguration {
return peerConfig
}
- let dnsServers: [IPAddress] = [mullvadEndpoint.ipv4Gateway, mullvadEndpoint.ipv6Gateway]
var interfaceConfig = InterfaceConfiguration(privateKey: tunnelSettings.interface.privateKey.privateKey)
interfaceConfig.listenPort = 0
interfaceConfig.dns = dnsServers.map { DNSServer(address: $0) }
@@ -448,6 +447,22 @@ extension PacketTunnelConfiguration {
return TunnelConfiguration(name: nil, interface: interfaceConfig, peers: peerConfigs)
}
+
+ var dnsServers: [IPAddress] {
+ let mullvadEndpoint = selectorResult.endpoint
+ let dnsSettings = tunnelSettings.interface.dnsSettings
+
+ switch (dnsSettings.blockAdvertising, dnsSettings.blockTracking) {
+ case (true, false):
+ return [IPv4Address("100.64.0.1")!]
+ case (false, true):
+ return [IPv4Address("100.64.0.2")!]
+ case (true, true):
+ return [IPv4Address("100.64.0.3")!]
+ case (false, false):
+ return [mullvadEndpoint.ipv4Gateway, mullvadEndpoint.ipv6Gateway]
+ }
+ }
}
struct PacketTunnelContext {