diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2022-11-24 12:25:30 +0100 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2022-11-28 10:39:07 +0100 |
| commit | 363d0b9793588270bd538905e0867bb275da263e (patch) | |
| tree | c02b620f9f937375ce8c3919d0df108734eb4533 | |
| parent | 044b3868dfa1bd8c4573624aecd4c17b053d256e (diff) | |
| download | mullvadvpn-363d0b9793588270bd538905e0867bb275da263e.tar.xz mullvadvpn-363d0b9793588270bd538905e0867bb275da263e.zip | |
Pass access group to KeychainSettingsStore
| -rw-r--r-- | ios/MullvadVPN/SettingsManager/KeychainSettingsStore.swift | 12 | ||||
| -rw-r--r-- | ios/MullvadVPN/SettingsManager/SettingsManager.swift | 9 |
2 files changed, 12 insertions, 9 deletions
diff --git a/ios/MullvadVPN/SettingsManager/KeychainSettingsStore.swift b/ios/MullvadVPN/SettingsManager/KeychainSettingsStore.swift index f98ee06a6f..eb662b8d11 100644 --- a/ios/MullvadVPN/SettingsManager/KeychainSettingsStore.swift +++ b/ios/MullvadVPN/SettingsManager/KeychainSettingsStore.swift @@ -11,10 +11,12 @@ import MullvadTypes import Security class KeychainSettingsStore: SettingsStore { - let keychainServiceName: String + let serviceName: String + let accessGroup: String - init(keychainServiceName: String) { - self.keychainServiceName = keychainServiceName + init(serviceName: String, accessGroup: String) { + self.serviceName = serviceName + self.accessGroup = accessGroup } func read(key: SettingsKey) throws -> Data { @@ -89,14 +91,14 @@ class KeychainSettingsStore: SettingsStore { private func createDefaultAttributes(item: SettingsKey) -> [CFString: Any] { return [ kSecClass: kSecClassGenericPassword, - kSecAttrService: keychainServiceName, + kSecAttrService: serviceName, kSecAttrAccount: item.rawValue, ] } private func createAccessAttributes() -> [CFString: Any] { return [ - kSecAttrAccessGroup: ApplicationConfiguration.securityGroupIdentifier, + kSecAttrAccessGroup: accessGroup, kSecAttrAccessible: kSecAttrAccessibleAfterFirstUnlock, ] } diff --git a/ios/MullvadVPN/SettingsManager/SettingsManager.swift b/ios/MullvadVPN/SettingsManager/SettingsManager.swift index f0e88185b1..092e35fc8c 100644 --- a/ios/MullvadVPN/SettingsManager/SettingsManager.swift +++ b/ios/MullvadVPN/SettingsManager/SettingsManager.swift @@ -16,6 +16,11 @@ private let accountTokenKey = "accountToken" private let accountExpiryKey = "accountExpiry" enum SettingsManager { + private static let store: SettingsStore = KeychainSettingsStore( + serviceName: keychainServiceName, + accessGroup: ApplicationConfiguration.securityGroupIdentifier + ) + private static func makeParser() -> SettingsParser { SettingsParser(decoder: JSONDecoder(), encoder: JSONEncoder()) } @@ -50,10 +55,6 @@ enum SettingsManager { } } - private static let store: SettingsStore = KeychainSettingsStore( - keychainServiceName: keychainServiceName - ) - // MARK: - Settings static func readSettings() throws -> TunnelSettingsV2 { |
