diff --git a/Passepartout.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Passepartout.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 87851223..d5440d4d 100644 --- a/Passepartout.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Passepartout.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -41,7 +41,7 @@ "kind" : "remoteSourceControl", "location" : "git@github.com:passepartoutvpn/passepartoutkit-source", "state" : { - "revision" : "c859acb74cb50f7ad218265cd3d3eb0eb99ee1c5" + "revision" : "de9387965025a1f79e060e6bdc862933fe972598" } }, { diff --git a/Passepartout/App/App.entitlements b/Passepartout/App/App.entitlements index 3beadaec..03d111e0 100644 --- a/Passepartout/App/App.entitlements +++ b/Passepartout/App/App.entitlements @@ -37,7 +37,8 @@ keychain-access-groups - $(AppIdentifierPrefix)$(CFG_GROUP_ID) + $(CFG_KEYCHAIN_GROUP_ID) + $(AppIdentifierPrefix)$(CFG_KEYCHAIN_GROUP_ID) diff --git a/Passepartout/App/App.plist b/Passepartout/App/App.plist index 2beab1b6..85e304cd 100644 --- a/Passepartout/App/App.plist +++ b/Passepartout/App/App.plist @@ -13,7 +13,7 @@ iapBundlePrefix $(CFG_IAP_BUNDLE_PREFIX) keychainGroupId - $(CFG_TEAM_ID).$(CFG_GROUP_ID) + $(CFG_KEYCHAIN_GROUP_ID) tunnelId $(CFG_TUNNEL_ID) legacyV2CloudKitId diff --git a/Passepartout/Config.xcconfig b/Passepartout/Config.xcconfig index f0153ec0..9a6bc98a 100644 --- a/Passepartout/Config.xcconfig +++ b/Passepartout/Config.xcconfig @@ -36,6 +36,7 @@ CFG_GROUP_ID[sdk=appletvsimulator*] = $(CFG_RAW_GROUP_ID) CFG_GROUP_ID[sdk=iphoneos*] = $(CFG_RAW_GROUP_ID) CFG_GROUP_ID[sdk=iphonesimulator*] = $(CFG_RAW_GROUP_ID) CFG_GROUP_ID[sdk=macosx*] = $(CFG_TEAM_ID).$(CFG_RAW_GROUP_ID) +CFG_KEYCHAIN_GROUP_ID = $(CFG_TEAM_ID).$(CFG_RAW_GROUP_ID) CFG_IAP_BUNDLE_PREFIX = com.algoritmico.ios.Passepartout CFG_INTENTS_ID = $(CFG_APP_ID).Intents CFG_RAW_GROUP_ID = group.com.algoritmico.Passepartout diff --git a/Passepartout/Intents/Intents.plist b/Passepartout/Intents/Intents.plist index d94c5250..c0f716ad 100644 --- a/Passepartout/Intents/Intents.plist +++ b/Passepartout/Intents/Intents.plist @@ -8,10 +8,6 @@ $(CFG_APP_ID) groupId $(CFG_GROUP_ID) - keychainGroupId - $(CFG_TEAM_ID).$(CFG_GROUP_ID) - teamId - $(CFG_TEAM_ID) tunnelId $(CFG_TUNNEL_ID) diff --git a/Passepartout/Library/Package.swift b/Passepartout/Library/Package.swift index 9c53fffe..cc85133e 100644 --- a/Passepartout/Library/Package.swift +++ b/Passepartout/Library/Package.swift @@ -28,7 +28,7 @@ let package = Package( ], dependencies: [ // .package(url: "git@github.com:passepartoutvpn/passepartoutkit-source", from: "0.8.0"), - .package(url: "git@github.com:passepartoutvpn/passepartoutkit-source", revision: "c859acb74cb50f7ad218265cd3d3eb0eb99ee1c5"), + .package(url: "git@github.com:passepartoutvpn/passepartoutkit-source", revision: "de9387965025a1f79e060e6bdc862933fe972598"), // .package(path: "../../../passepartoutkit-source"), .package(url: "git@github.com:passepartoutvpn/passepartoutkit-source-openvpn-openssl", from: "0.8.0"), // .package(url: "git@github.com:passepartoutvpn/passepartoutkit-source-openvpn-openssl", revision: "031863a1cd683962a7dfe68e20b91fa820a1ecce"), diff --git a/Passepartout/Library/Sources/AppLibrary/Business/NEProfileRepository.swift b/Passepartout/Library/Sources/AppLibrary/Business/NEProfileRepository.swift index a9e71764..47427be0 100644 --- a/Passepartout/Library/Sources/AppLibrary/Business/NEProfileRepository.swift +++ b/Passepartout/Library/Sources/AppLibrary/Business/NEProfileRepository.swift @@ -46,7 +46,12 @@ public final class NEProfileRepository: ProfileRepository { .managersPublisher .sink { [weak self] allManagers in let profiles = allManagers.values.compactMap { - try? repository.profile(from: $0) + do { + return try repository.profile(from: $0) + } catch { + pp_log(.app, .error, "Unable to decode profile from NE manager '\($0.localizedDescription ?? "")': \(error)") + return nil + } } self?.profilesSubject.send(profiles) } diff --git a/Passepartout/Library/Sources/AppUI/AppUI.swift b/Passepartout/Library/Sources/AppUI/AppUI.swift index d511203a..274c60da 100644 --- a/Passepartout/Library/Sources/AppUI/AppUI.swift +++ b/Passepartout/Library/Sources/AppUI/AppUI.swift @@ -24,11 +24,13 @@ // import Foundation +import NetworkExtension import PassepartoutKit public enum AppUI { public static func configure(with context: AppContext) { assertMissingModuleImplementations() + cleanUpOrphanedKeychainEntries() } } @@ -44,4 +46,7 @@ private extension AppUI { } } } + + static func cleanUpOrphanedKeychainEntries() { + } } diff --git a/Passepartout/Tunnel/Tunnel.entitlements b/Passepartout/Tunnel/Tunnel.entitlements index 1e8c0899..c1217f54 100644 --- a/Passepartout/Tunnel/Tunnel.entitlements +++ b/Passepartout/Tunnel/Tunnel.entitlements @@ -18,7 +18,7 @@ keychain-access-groups - $(AppIdentifierPrefix)$(CFG_GROUP_ID) + $(CFG_KEYCHAIN_GROUP_ID) diff --git a/Passepartout/Tunnel/Tunnel.plist b/Passepartout/Tunnel/Tunnel.plist index 77958724..db76be5d 100644 --- a/Passepartout/Tunnel/Tunnel.plist +++ b/Passepartout/Tunnel/Tunnel.plist @@ -7,7 +7,7 @@ groupId $(CFG_GROUP_ID) keychainGroupId - $(CFG_TEAM_ID).$(CFG_GROUP_ID) + $(CFG_KEYCHAIN_GROUP_ID) tunnelId $(CFG_TUNNEL_ID)