diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2021-05-20 13:25:49 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2021-05-27 14:36:59 +0200 |
| commit | c2432fb7060e11683887afd7fff5c1327d3018df (patch) | |
| tree | 83950d6357e802965a74cf0bec8bc5dcc10d1970 | |
| parent | f66690efdd956f9f8be76720386a28136f011052 (diff) | |
| download | mullvadvpn-c2432fb7060e11683887afd7fff5c1327d3018df.tar.xz mullvadvpn-c2432fb7060e11683887afd7fff5c1327d3018df.zip | |
PacketTunnel: configure DNS using new DNSSettings
| -rw-r--r-- | ios/PacketTunnel/PacketTunnelProvider.swift | 17 |
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 { |
