summaryrefslogtreecommitdiffhomepage
path: root/ios/PacketTunnel/DeviceCheck
diff options
context:
space:
mode:
authorBug Magnet <marco.nikic@mullvad.net>2025-01-14 11:49:21 +0100
committerBug Magnet <marco.nikic@mullvad.net>2025-01-14 11:49:21 +0100
commited0b9cd0283e26e216fbb7edf5cd6e5bcf042cde (patch)
tree6fc5be4a68ffde2337d1bc3bb516ff46144a07be /ios/PacketTunnel/DeviceCheck
parentd2949b4a0b1d3d86a25de1569dc8308c9d7fe237 (diff)
parente71db0cfc12bd561532b73722983175edab2482c (diff)
downloadmullvadvpn-ed0b9cd0283e26e216fbb7edf5cd6e5bcf042cde.tar.xz
mullvadvpn-ed0b9cd0283e26e216fbb7edf5cd6e5bcf042cde.zip
Merge branch 'fix-warnings-introduced-by-xcode-16-ios-741'
Diffstat (limited to 'ios/PacketTunnel/DeviceCheck')
-rw-r--r--ios/PacketTunnel/DeviceCheck/DeviceCheckOperation.swift6
-rw-r--r--ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift6
-rw-r--r--ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift10
3 files changed, 13 insertions, 9 deletions
diff --git a/ios/PacketTunnel/DeviceCheck/DeviceCheckOperation.swift b/ios/PacketTunnel/DeviceCheck/DeviceCheckOperation.swift
index 6c4e00b156..1fbdff9a7f 100644
--- a/ios/PacketTunnel/DeviceCheck/DeviceCheckOperation.swift
+++ b/ios/PacketTunnel/DeviceCheck/DeviceCheckOperation.swift
@@ -27,7 +27,7 @@ import WireGuardKitTypes
Other times, packet tunnel runs this operation with `rotateImmediatelyOnKeyMismatch` set to `false`, in which
case it respects the 24 hour interval between key rotation retry attempts.
*/
-final class DeviceCheckOperation: ResultOperation<DeviceCheck> {
+final class DeviceCheckOperation: ResultOperation<DeviceCheck>, @unchecked Sendable {
private let logger = Logger(label: "DeviceCheckOperation")
private let remoteService: DeviceCheckRemoteServiceProtocol
@@ -127,8 +127,8 @@ final class DeviceCheckOperation: ResultOperation<DeviceCheck> {
accountNumber: String, deviceIdentifier: String,
completion: @escaping (Result<Account, Error>, Result<Device, Error>) -> Void
) {
- var accountResult: Result<Account, Error> = .failure(OperationError.cancelled)
- var deviceResult: Result<Device, Error> = .failure(OperationError.cancelled)
+ nonisolated(unsafe) var accountResult: Result<Account, Error> = .failure(OperationError.cancelled)
+ nonisolated(unsafe) var deviceResult: Result<Device, Error> = .failure(OperationError.cancelled)
let dispatchGroup = DispatchGroup()
diff --git a/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift b/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift
index 2bae95fe3c..1668680631 100644
--- a/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift
+++ b/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteService.swift
@@ -23,7 +23,7 @@ struct DeviceCheckRemoteService: DeviceCheckRemoteServiceProtocol {
func getAccountData(
accountNumber: String,
- completion: @escaping (Result<Account, Error>) -> Void
+ completion: @escaping @Sendable (Result<Account, Error>) -> Void
) -> Cancellable {
accountsProxy.getAccountData(accountNumber: accountNumber).execute(completionHandler: completion)
}
@@ -31,7 +31,7 @@ struct DeviceCheckRemoteService: DeviceCheckRemoteServiceProtocol {
func getDevice(
accountNumber: String,
identifier: String,
- completion: @escaping (Result<Device, Error>) -> Void
+ completion: @escaping @Sendable (Result<Device, Error>) -> Void
) -> Cancellable {
devicesProxy.getDevice(
accountNumber: accountNumber,
@@ -45,7 +45,7 @@ struct DeviceCheckRemoteService: DeviceCheckRemoteServiceProtocol {
accountNumber: String,
identifier: String,
publicKey: PublicKey,
- completion: @escaping (Result<Device, Error>) -> Void
+ completion: @escaping @Sendable (Result<Device, Error>) -> Void
) -> Cancellable {
devicesProxy.rotateDeviceKey(
accountNumber: accountNumber,
diff --git a/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift b/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift
index 0cab26654f..05030dba89 100644
--- a/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift
+++ b/ios/PacketTunnel/DeviceCheck/DeviceCheckRemoteServiceProtocol.swift
@@ -12,14 +12,18 @@ import WireGuardKitTypes
/// A protocol that formalizes remote service dependency used by `DeviceCheckOperation`.
protocol DeviceCheckRemoteServiceProtocol {
- func getAccountData(accountNumber: String, completion: @escaping (Result<Account, Error>) -> Void)
+ func getAccountData(accountNumber: String, completion: @escaping @Sendable (Result<Account, Error>) -> Void)
-> Cancellable
- func getDevice(accountNumber: String, identifier: String, completion: @escaping (Result<Device, Error>) -> Void)
+ func getDevice(
+ accountNumber: String,
+ identifier: String,
+ completion: @escaping @Sendable (Result<Device, Error>) -> Void
+ )
-> Cancellable
func rotateDeviceKey(
accountNumber: String,
identifier: String,
publicKey: PublicKey,
- completion: @escaping (Result<Device, Error>) -> Void
+ completion: @escaping @Sendable (Result<Device, Error>) -> Void
) -> Cancellable
}