summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2022-11-24 12:25:30 +0100
committerAndrej Mihajlov <and@mullvad.net>2022-11-28 10:39:07 +0100
commit363d0b9793588270bd538905e0867bb275da263e (patch)
treec02b620f9f937375ce8c3919d0df108734eb4533
parent044b3868dfa1bd8c4573624aecd4c17b053d256e (diff)
downloadmullvadvpn-363d0b9793588270bd538905e0867bb275da263e.tar.xz
mullvadvpn-363d0b9793588270bd538905e0867bb275da263e.zip
Pass access group to KeychainSettingsStore
-rw-r--r--ios/MullvadVPN/SettingsManager/KeychainSettingsStore.swift12
-rw-r--r--ios/MullvadVPN/SettingsManager/SettingsManager.swift9
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 {