From a21c569e9f84c7b831395ba5a9f738742a748062 Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Fri, 21 Dec 2018 19:23:16 +0530 Subject: NE: Simplify DNS resolution Signed-off-by: Roopesh Chander --- .../PacketTunnelProvider.swift | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift') diff --git a/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift b/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift index 8d71f0b..c418ebc 100644 --- a/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift +++ b/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift @@ -58,11 +58,9 @@ class PacketTunnelProvider: NEPacketTunnelProvider { errorNotifier.tunnelName = tunnelName let endpoints = tunnelConfiguration.peers.map { $0.endpoint } - guard let resolvedEndpoints = resolveDomainNames(endpoints: endpoints) else { - wg_log(.error, staticMessage: "Starting tunnel failed: DNS resolution failure") - let dnsError = PacketTunnelProviderError.dnsResolutionFailure - errorNotifier.notify(dnsError) - startTunnelCompletionHandler(dnsError) + guard let resolvedEndpoints = DNSResolver.resolveSync(endpoints: endpoints) else { + errorNotifier.notify(PacketTunnelProviderError.dnsResolutionFailure) + startTunnelCompletionHandler(PacketTunnelProviderError.dnsResolutionFailure) return } assert(endpoints.count == resolvedEndpoints.count) @@ -167,18 +165,6 @@ class PacketTunnelProvider: NEPacketTunnelProvider { } } - private func resolveDomainNames(endpoints: [Endpoint?]) -> [Endpoint?]? { - do { - return try DNSResolver.resolveSync(endpoints: endpoints) - } catch DNSResolverError.dnsResolutionFailed(let hostnames) { - wg_log(.error, message: "DNS resolution failed for the following hostnames: \(hostnames.joined(separator: ", "))") - } catch { - // There can be no other errors from DNSResolver.resolveSync() - fatalError() - } - return nil - } - private func connect(interfaceName: String, settings: String, fileDescriptor: Int32) -> Int32 { return withStringsAsGoStrings(interfaceName, settings) { return wgTurnOn($0.0, $0.1, fileDescriptor) } } -- cgit v1.2.3-59-g8ed1b