summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBug Magnet <marco.nikic@mullvad.net>2023-09-19 13:56:57 +0200
committerBug Magnet <marco.nikic@mullvad.net>2023-09-19 13:56:57 +0200
commita93b710585d97f47d577a442209cf6730af65ace (patch)
treed7dd75e7f7979797b1567428f719d74af6bc271f
parentb84180ce3f4a9e42beb4e27fa8b2332d0744a7c8 (diff)
parentb2a872022be56a2a7ad4dcdef3f883f84d581181 (diff)
downloadmullvadvpn-a93b710585d97f47d577a442209cf6730af65ace.tar.xz
mullvadvpn-a93b710585d97f47d577a442209cf6730af65ace.zip
Merge branch 'fix-swiftlint-warnings-in-xcode-ios-PacketTunnelProvider-296'
-rw-r--r--ios/PacketTunnel/PacketTunnelProvider.swift52
1 files changed, 29 insertions, 23 deletions
diff --git a/ios/PacketTunnel/PacketTunnelProvider.swift b/ios/PacketTunnel/PacketTunnelProvider.swift
index d9438deb12..df48ddf3a6 100644
--- a/ios/PacketTunnel/PacketTunnelProvider.swift
+++ b/ios/PacketTunnel/PacketTunnelProvider.swift
@@ -127,11 +127,14 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
override init() {
var loggerBuilder = LoggerBuilder()
let pid = ProcessInfo.processInfo.processIdentifier
+
loggerBuilder.metadata["pid"] = .string("\(pid)")
loggerBuilder.addFileOutput(fileURL: ApplicationConfiguration.logFileURL(for: .packetTunnel))
+
#if DEBUG
loggerBuilder.addOSLogOutput(subsystem: ApplicationTarget.packetTunnel.bundleIdentifier)
#endif
+
loggerBuilder.install()
providerLogger = Logger(label: "PacketTunnelProvider")
@@ -168,23 +171,9 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
super.init()
- adapter = WireGuardAdapter(
- with: self,
- shouldHandleReasserting: false,
- logHandler: { [weak self] logLevel, message in
- self?.dispatchQueue.async {
- self?.tunnelLogger.log(level: logLevel.loggerLevel, "\(message)")
- }
- }
- )
+ adapter = createWireGuardAdapter()
- tunnelMonitor = TunnelMonitor(
- eventQueue: dispatchQueue,
- pinger: Pinger(replyQueue: dispatchQueue),
- tunnelDeviceInfo: WgAdapterDeviceInfo(adapter: adapter),
- defaultPathObserver: PacketTunnelPathObserver(packetTunnelProvider: self),
- timings: TunnelMonitorTimings()
- )
+ tunnelMonitor = createTunnelMonitor(wireGuardAdapter: adapter)
tunnelMonitor.onEvent = { [weak self] event in
self?.handleTunnelMonitorEvent(event)
}
@@ -288,10 +277,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
do {
message = try TunnelProviderMessage(messageData: messageData)
} catch {
- self.providerLogger.error(
- error: error,
- message: "Failed to decode the app message."
- )
+ self.providerLogger.error(error: error, message: "Failed to decode the app message.")
completionHandler?(nil)
return
@@ -303,9 +289,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
case let .reconnectTunnel(appSelectorResult):
self.providerLogger.debug("Reconnecting the tunnel...")
- let nextRelay: NextRelay = (appSelectorResult ?? self.selectorResult)
- .map { .set($0) } ?? .automatic
-
+ let nextRelay: NextRelay = (appSelectorResult ?? self.selectorResult).map { .set($0) } ?? .automatic
self.reconnectTunnel(to: nextRelay, shouldStopTunnelMonitor: true)
completionHandler?(nil)
@@ -420,6 +404,28 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
// MARK: - Private
+ private func createWireGuardAdapter() -> WireGuardAdapter {
+ WireGuardAdapter(
+ with: self,
+ shouldHandleReasserting: false,
+ logHandler: { [weak self] logLevel, message in
+ self?.dispatchQueue.async {
+ self?.tunnelLogger.log(level: logLevel.loggerLevel, "\(message)")
+ }
+ }
+ )
+ }
+
+ private func createTunnelMonitor(wireGuardAdapter: WireGuardAdapter) -> TunnelMonitor {
+ TunnelMonitor(
+ eventQueue: dispatchQueue,
+ pinger: Pinger(replyQueue: dispatchQueue),
+ tunnelDeviceInfo: WgAdapterDeviceInfo(adapter: adapter),
+ defaultPathObserver: PacketTunnelPathObserver(packetTunnelProvider: self),
+ timings: TunnelMonitorTimings()
+ )
+ }
+
private func startTunnelReconnectionTimer(reconnectionDelay: Duration) {
dispatchPrecondition(condition: .onQueue(dispatchQueue))