diff --git a/swift/apple/FirezoneNetworkExtension/Adapter.swift b/swift/apple/FirezoneNetworkExtension/Adapter.swift index 2e932dc3e..3dd6effc2 100644 --- a/swift/apple/FirezoneNetworkExtension/Adapter.swift +++ b/swift/apple/FirezoneNetworkExtension/Adapter.swift @@ -350,10 +350,11 @@ extension Adapter: CallbackHandlerDelegate { dnsAddress: dnsAddress) case .tunnelReady: if let networkSettings = self.networkSettings { - if let packetTunnelProvider = self.packetTunnelProvider { - networkSettings.apply( - on: packetTunnelProvider, logger: self.logger, completionHandler: nil) - } + networkSettings.apply( + on: packetTunnelProvider, + logger: self.logger, + completionHandler: nil + ) } case .stoppingTunnel, .stoppedTunnel, .stoppingTunnelTemporarily, .stoppedTunnelTemporarily: @@ -377,15 +378,12 @@ extension Adapter: CallbackHandlerDelegate { self.logger.error("Adapter.onTunnelReady: No network settings") return } - guard let packetTunnelProvider = self.packetTunnelProvider else { - self.logger.error("Adapter.onTunnelReady: No packet tunnel provider") - return - } + // Connlib's up, set it as the default DNS networkSettings.setMatchDomains([""]) networkSettings.apply(on: packetTunnelProvider, logger: self.logger) { error in if let error = error { - packetTunnelProvider.handleTunnelShutdown( + self.packetTunnelProvider?.handleTunnelShutdown( dueTo: .networkSettingsApplyFailure, errorMessage: error.localizedDescription) onStarted?(AdapterError.setNetworkSettings(error)) @@ -408,10 +406,6 @@ extension Adapter: CallbackHandlerDelegate { self.logger.error("Adapter.onAddRoute: No network settings") return } - guard let packetTunnelProvider = self.packetTunnelProvider else { - self.logger.error("Adapter.onAddRoute: No packet tunnel provider") - return - } networkSettings.addRoute(route) if case .tunnelReady = self.state { @@ -429,10 +423,6 @@ extension Adapter: CallbackHandlerDelegate { self.logger.error("Adapter.onRemoveRoute: No network settings") return } - guard let packetTunnelProvider = self.packetTunnelProvider else { - self.logger.error("Adapter.onRemoveRoute: No packet tunnel provider") - return - } networkSettings.removeRoute(route) if case .tunnelReady = self.state { networkSettings.apply(on: packetTunnelProvider, logger: self.logger, completionHandler: nil) @@ -462,10 +452,6 @@ extension Adapter: CallbackHandlerDelegate { self.logger.error("Adapter.onUpdateResources: No network settings") return } - guard let packetTunnelProvider = self.packetTunnelProvider else { - self.logger.error("Adapter.onUpdateResources: No packet tunnel provider") - return - } let updatedResourceDomains = networkResources.compactMap { $0.resourceLocation.domain } networkSettings.setResourceDomains(updatedResourceDomains) if case .tunnelReady = self.state { diff --git a/swift/apple/FirezoneNetworkExtension/NetworkSettings.swift b/swift/apple/FirezoneNetworkExtension/NetworkSettings.swift index b3ac3323c..9d85a7cda 100644 --- a/swift/apple/FirezoneNetworkExtension/NetworkSettings.swift +++ b/swift/apple/FirezoneNetworkExtension/NetworkSettings.swift @@ -68,7 +68,10 @@ class NetworkSettings { logger: Logger, completionHandler: ((Error?) -> Void)? ) { - guard let packetTunnelProvider = packetTunnelProvider else { return } + guard let packetTunnelProvider = packetTunnelProvider else { + logger.error("\(#function): packetTunnelProvider not initialized! This should not happen.") + return + } guard self.hasUnappliedChanges else { logger.error("NetworkSettings.apply: No changes to apply")