diff --git a/Passepartout-iOS/AppDelegate.swift b/Passepartout-iOS/AppDelegate.swift index ec54488a..7185b511 100644 --- a/Passepartout-iOS/AppDelegate.swift +++ b/Passepartout-iOS/AppDelegate.swift @@ -41,6 +41,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDele override init() { AppConstants.Log.configure() InfrastructureFactory.shared.preload() + #if !targetEnvironment(simulator) + VPN.shared = StandardVPNProvider(bundleIdentifier: AppConstants.App.tunnelBundleId) + #endif super.init() } diff --git a/Passepartout-iOS/Global/AppConstants+Flags.swift b/Passepartout-iOS/Global/AppConstants+Flags.swift index 36cf4a8a..fb939e70 100644 --- a/Passepartout-iOS/Global/AppConstants+Flags.swift +++ b/Passepartout-iOS/Global/AppConstants+Flags.swift @@ -46,12 +46,6 @@ extension AppConstants { } return false } - - static var isMockVPN = false { - didSet { - VPN.isMockVPN = isMockVPN - } - } } struct InApp { diff --git a/Passepartout-iOS/Global/ProductManager.swift b/Passepartout-iOS/Global/ProductManager.swift index 483c9536..64631c11 100644 --- a/Passepartout-iOS/Global/ProductManager.swift +++ b/Passepartout-iOS/Global/ProductManager.swift @@ -29,6 +29,7 @@ import Convenience import SwiftyBeaver import Kvitto import PassepartoutCore +import TunnelKit private let log = SwiftyBeaver.self diff --git a/Passepartout-iOS/Scenes/DebugLogViewController.swift b/Passepartout-iOS/Scenes/DebugLogViewController.swift index 477b1c7e..8bde7b74 100644 --- a/Passepartout-iOS/Scenes/DebugLogViewController.swift +++ b/Passepartout-iOS/Scenes/DebugLogViewController.swift @@ -26,6 +26,7 @@ import UIKit import SwiftyBeaver import PassepartoutCore +import TunnelKit private let log = SwiftyBeaver.self @@ -49,7 +50,7 @@ class DebugLogViewController: UIViewController { let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(toggleBars)) textLog?.addGestureRecognizer(tapGestureRecognizer) - NotificationCenter.default.addObserver(self, selector: #selector(vpnDidPrepare), name: .VPNDidPrepare, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(vpnDidPrepare), name: VPN.didPrepare, object: nil) if vpn.isPrepared { startRefreshingLog() } diff --git a/Passepartout-iOS/Scenes/Organizer/OrganizerViewController.swift b/Passepartout-iOS/Scenes/Organizer/OrganizerViewController.swift index f1d452c9..bc9f3ef8 100644 --- a/Passepartout-iOS/Scenes/Organizer/OrganizerViewController.swift +++ b/Passepartout-iOS/Scenes/Organizer/OrganizerViewController.swift @@ -27,6 +27,7 @@ import UIKit import StoreKit import MessageUI import PassepartoutCore +import TunnelKit import Convenience import SystemConfiguration.CaptiveNetwork @@ -120,7 +121,7 @@ class OrganizerViewController: UITableViewController, StrongTableHost { service.delegate = self let nc = NotificationCenter.default - nc.addObserver(self, selector: #selector(vpnDidUpdate), name: .VPNDidChangeStatus, object: nil) + nc.addObserver(self, selector: #selector(vpnDidUpdate), name: VPN.didChangeStatus, object: nil) nc.addObserver(self, selector: #selector(productManagerDidReloadReceipt), name: ProductManager.didReloadReceipt, object: nil) } diff --git a/Passepartout-iOS/Scenes/ServiceViewController.swift b/Passepartout-iOS/Scenes/ServiceViewController.swift index cbc55759..865e2478 100644 --- a/Passepartout-iOS/Scenes/ServiceViewController.swift +++ b/Passepartout-iOS/Scenes/ServiceViewController.swift @@ -114,8 +114,8 @@ class ServiceViewController: UIViewController, StrongTableHost { let nc = NotificationCenter.default nc.addObserver(self, selector: #selector(applicationDidBecomeActive), name: UIApplication.didBecomeActiveNotification, object: nil) - nc.addObserver(self, selector: #selector(vpnDidUpdate), name: .VPNDidChangeStatus, object: nil) - nc.addObserver(self, selector: #selector(vpnDidUpdate), name: .VPNDidReinstall, object: nil) + nc.addObserver(self, selector: #selector(vpnDidUpdate), name: VPN.didChangeStatus, object: nil) + nc.addObserver(self, selector: #selector(vpnDidUpdate), name: VPN.didReinstall, object: nil) if #available(iOS 13, *) { nc.addObserver(self, selector: #selector(intentDidUpdateService), name: IntentDispatcher.didUpdateService, object: nil) } diff --git a/Passepartout.xcodeproj/project.pbxproj b/Passepartout.xcodeproj/project.pbxproj index 430df264..21763f8f 100644 --- a/Passepartout.xcodeproj/project.pbxproj +++ b/Passepartout.xcodeproj/project.pbxproj @@ -31,13 +31,6 @@ 0E3152BC223FA03D00F61841 /* ApplicationError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E6BE13920CFB76800A6DD36 /* ApplicationError.swift */; }; 0E3152BD223FA03D00F61841 /* GroupConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDE8DED20C93E4C004C739C /* GroupConstants.swift */; }; 0E3152C0223FA03D00F61841 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E4FD7ED20D539A0002221FF /* Utils.swift */; }; - 0E3152C1223FA04800F61841 /* GracefulVPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5E5DE421511C5F00E318A3 /* GracefulVPN.swift */; }; - 0E3152C2223FA04800F61841 /* MockVPNProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E4FD7E020D3E4C5002221FF /* MockVPNProvider.swift */; }; - 0E3152C3223FA04800F61841 /* StandardVPNProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E4FD7DD20D3E49A002221FF /* StandardVPNProvider.swift */; }; - 0E3152C4223FA04800F61841 /* VPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED31C3620CF38D10027975F /* VPN.swift */; }; - 0E3152C5223FA04800F61841 /* VPNConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5E5DE1215119DD00E318A3 /* VPNConfiguration.swift */; }; - 0E3152C6223FA04800F61841 /* VPNProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED38AF1214177920004D387 /* VPNProvider.swift */; }; - 0E3152C7223FA04800F61841 /* VPNStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5E5DDE215119AF00E318A3 /* VPNStatus.swift */; }; 0E3152C8223FA04D00F61841 /* Infrastructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED31C1120CF0ABA0027975F /* Infrastructure.swift */; }; 0E3152CA223FA04D00F61841 /* InfrastructurePreset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E8D97E121388B52006FB4A0 /* InfrastructurePreset.swift */; }; 0E3152CB223FA04D00F61841 /* Pool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED31C0F20CF09A30027975F /* Pool.swift */; }; @@ -92,6 +85,7 @@ 0EA84515238A9B5200EFC500 /* Infrastructure+Name.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EA84514238A9B5100EFC500 /* Infrastructure+Name.swift */; }; 0EA8451A238C2AB500EFC500 /* Infrastructure+Metadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EA84519238C2AB500EFC500 /* Infrastructure+Metadata.swift */; }; 0EAAD71920E6669A0088754A /* GroupConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDE8DED20C93E4C004C739C /* GroupConstants.swift */; }; + 0EAC572F249426E200D0FCE0 /* GracefulVPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EAC572E249426E200D0FCE0 /* GracefulVPN.swift */; }; 0EB60FDA2111136E00AD27F3 /* UITextView+Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB60FD92111136E00AD27F3 /* UITextView+Search.swift */; }; 0EB67D6B2184581E00BA6200 /* ImportedHostsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB67D6A2184581E00BA6200 /* ImportedHostsViewController.swift */; }; 0EB9EB7323867E7F009C0A1C /* TrustedNetworksUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB9EB7223867E7F009C0A1C /* TrustedNetworksUI.swift */; }; @@ -226,8 +220,6 @@ 0E4B0D752366E6C800C890B4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Purchase.storyboard; sourceTree = ""; }; 0E4C9CB820DB9BC600A0C59C /* TrustedNetworks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrustedNetworks.swift; sourceTree = ""; }; 0E4C9CBA20DCF0D600A0C59C /* DestructiveTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DestructiveTableViewCell.swift; sourceTree = ""; }; - 0E4FD7DD20D3E49A002221FF /* StandardVPNProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandardVPNProvider.swift; sourceTree = ""; }; - 0E4FD7E020D3E4C5002221FF /* MockVPNProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockVPNProvider.swift; sourceTree = ""; }; 0E4FD7ED20D539A0002221FF /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; 0E4FD7F020D58618002221FF /* Macros.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Macros.swift; sourceTree = ""; }; 0E533B152258E03B00EF94FC /* PoolGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PoolGroup.swift; sourceTree = ""; }; @@ -236,9 +228,6 @@ 0E57F63D20C83FC5008323CF /* ServiceViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServiceViewController.swift; sourceTree = ""; }; 0E57F64220C83FC7008323CF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 0E57F64720C83FC7008323CF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0E5E5DDE215119AF00E318A3 /* VPNStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPNStatus.swift; sourceTree = ""; }; - 0E5E5DE1215119DD00E318A3 /* VPNConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPNConfiguration.swift; sourceTree = ""; }; - 0E5E5DE421511C5F00E318A3 /* GracefulVPN.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GracefulVPN.swift; sourceTree = ""; }; 0E6268932369AD0600355F75 /* PurchaseTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurchaseTableViewCell.swift; sourceTree = ""; }; 0E66A26F225FE25800F9C779 /* PoolCategory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PoolCategory.swift; path = ../Model/Profiles/PoolCategory.swift; sourceTree = ""; }; 0E6ACB7722B1A57C001B3C99 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/Intents.strings; sourceTree = ""; }; @@ -267,6 +256,7 @@ 0E9CDB6623604AD5006733B4 /* ServerNetworkViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerNetworkViewController.swift; sourceTree = ""; }; 0EA84514238A9B5100EFC500 /* Infrastructure+Name.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Infrastructure+Name.swift"; path = "Submodules/Core/Passepartout/Sources/Services/Infrastructure+Name.swift"; sourceTree = SOURCE_ROOT; }; 0EA84519238C2AB500EFC500 /* Infrastructure+Metadata.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Infrastructure+Metadata.swift"; path = "Submodules/Core/Passepartout/Sources/Services/Infrastructure+Metadata.swift"; sourceTree = SOURCE_ROOT; }; + 0EAC572E249426E200D0FCE0 /* GracefulVPN.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GracefulVPN.swift; path = Submodules/Core/Passepartout/Sources/Model/GracefulVPN.swift; sourceTree = SOURCE_ROOT; }; 0EB60FD92111136E00AD27F3 /* UITextView+Search.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITextView+Search.swift"; sourceTree = ""; }; 0EB67D6A2184581E00BA6200 /* ImportedHostsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImportedHostsViewController.swift; sourceTree = ""; }; 0EB9EB7223867E7F009C0A1C /* TrustedNetworksUI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TrustedNetworksUI.swift; sourceTree = ""; }; @@ -298,13 +288,11 @@ 0ED31C1120CF0ABA0027975F /* Infrastructure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Infrastructure.swift; sourceTree = ""; }; 0ED31C2820CF2A340027975F /* AccountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountViewController.swift; sourceTree = ""; }; 0ED31C2B20CF2D6F0027975F /* ProviderPoolViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProviderPoolViewController.swift; sourceTree = ""; }; - 0ED31C3620CF38D10027975F /* VPN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPN.swift; sourceTree = ""; }; 0ED31C3920CF39510027975F /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; 0ED31C3B20CF39510027975F /* Tunnel.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Tunnel.entitlements; sourceTree = ""; }; 0ED38AD8213F33150004D387 /* WizardHostViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WizardHostViewController.swift; sourceTree = ""; }; 0ED38AE621404F100004D387 /* EndpointDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EndpointDataSource.swift; sourceTree = ""; }; 0ED38AEB2141260D0004D387 /* ConfigurationModificationDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationModificationDelegate.swift; sourceTree = ""; }; - 0ED38AF1214177920004D387 /* VPNProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPNProvider.swift; sourceTree = ""; }; 0ED824C920D12B8700F2FE9E /* ToggleTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToggleTableViewCell.swift; sourceTree = ""; }; 0ED824CD20D12DBE00F2FE9E /* SettingTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingTableViewCell.swift; sourceTree = ""; }; 0ED993B0223FF8C700B0F9C9 /* IntentDispatcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = IntentDispatcher.swift; path = Submodules/Core/Passepartout/Sources/Intents/IntentDispatcher.swift; sourceTree = SOURCE_ROOT; }; @@ -424,20 +412,6 @@ path = Purchase; sourceTree = ""; }; - 0E4FD7D920D3E43F002221FF /* VPN */ = { - isa = PBXGroup; - children = ( - 0E5E5DE421511C5F00E318A3 /* GracefulVPN.swift */, - 0E4FD7E020D3E4C5002221FF /* MockVPNProvider.swift */, - 0E4FD7DD20D3E49A002221FF /* StandardVPNProvider.swift */, - 0ED31C3620CF38D10027975F /* VPN.swift */, - 0E5E5DE1215119DD00E318A3 /* VPNConfiguration.swift */, - 0ED38AF1214177920004D387 /* VPNProvider.swift */, - 0E5E5DDE215119AF00E318A3 /* VPNStatus.swift */, - ); - path = VPN; - sourceTree = ""; - }; 0E50E7C422330E5100D5F76C /* Intents */ = { isa = PBXGroup; children = ( @@ -538,6 +512,7 @@ 0ECEB109224FECEA00E9E551 /* DataUnit.swift */, 0EC7F20420E24308004EA58E /* DebugLog.swift */, 0ED38AE621404F100004D387 /* EndpointDataSource.swift */, + 0EAC572E249426E200D0FCE0 /* GracefulVPN.swift */, 0E45E70F22BE108100F19312 /* OpenVPNOptions.swift */, 0E89DFC4213DF7AE00741BA1 /* Preferences.swift */, 0EFB901722764689006405E4 /* ProfileNetworkSettings.swift */, @@ -613,7 +588,6 @@ 0ED31C0E20CF09890027975F /* Model */, 0ED31C1B20CF0ACE0027975F /* Services */, 0EB9EB7123867E7F009C0A1C /* UI */, - 0E4FD7D920D3E43F002221FF /* VPN */, 0E39BCF2214DA9310035E9DE /* AppConstants.swift */, 0E6BE13920CFB76800A6DD36 /* ApplicationError.swift */, 0EDE8DED20C93E4C004C739C /* GroupConstants.swift */, @@ -972,21 +946,16 @@ 0E3152BD223FA03D00F61841 /* GroupConstants.swift in Sources */, 0ECEB10A224FECEA00E9E551 /* DataUnit.swift in Sources */, 0E66A270225FE25800F9C779 /* PoolCategory.swift in Sources */, - 0E3152C2223FA04800F61841 /* MockVPNProvider.swift in Sources */, 0E533B162258E03B00EF94FC /* PoolGroup.swift in Sources */, 0E3152D2223FA05400F61841 /* DebugLog.swift in Sources */, 0E45E71022BE108100F19312 /* OpenVPNOptions.swift in Sources */, - 0E3152C4223FA04800F61841 /* VPN.swift in Sources */, - 0E3152C6223FA04800F61841 /* VPNProvider.swift in Sources */, 0E3152DA223FA05800F61841 /* PlaceholderConnectionProfile.swift in Sources */, 0E3152D0223FA05400F61841 /* ConnectionService+Migration.swift in Sources */, 0E1C0A4F238FC7A5009FC087 /* InfrastructureFactory.swift in Sources */, 0E3152D5223FA05400F61841 /* SessionProxy+Communication.swift in Sources */, 0E3152D7223FA05400F61841 /* TrustedNetworks.swift in Sources */, 0E3152DB223FA05800F61841 /* ProfileKey.swift in Sources */, - 0E3152C1223FA04800F61841 /* GracefulVPN.swift in Sources */, 0E3152CF223FA05400F61841 /* ConnectionService+Configurations.swift in Sources */, - 0E3152C5223FA04800F61841 /* VPNConfiguration.swift in Sources */, 0E3152C8223FA04D00F61841 /* Infrastructure.swift in Sources */, 0E3152D8223FA05400F61841 /* TrustPolicy.swift in Sources */, 0E3152DC223FA05800F61841 /* ProviderConnectionProfile.swift in Sources */, @@ -998,8 +967,8 @@ 0E3152CE223FA05400F61841 /* ConnectionService.swift in Sources */, 0ED993B1223FF8C700B0F9C9 /* IntentDispatcher.swift in Sources */, 0EA84515238A9B5200EFC500 /* Infrastructure+Name.swift in Sources */, + 0EAC572F249426E200D0FCE0 /* GracefulVPN.swift in Sources */, 0EEF23412321AC55000AEBE3 /* Issue.swift in Sources */, - 0E3152C3223FA04800F61841 /* StandardVPNProvider.swift in Sources */, 0E3152D1223FA05400F61841 /* Credentials.swift in Sources */, 0E3152CD223FA05400F61841 /* ConnectionProfile.swift in Sources */, 0E3152BC223FA03D00F61841 /* ApplicationError.swift in Sources */, @@ -1011,7 +980,6 @@ 0EA8451A238C2AB500EFC500 /* Infrastructure+Metadata.swift in Sources */, 0EB9EB7323867E7F009C0A1C /* TrustedNetworksUI.swift in Sources */, 0E3CAFC0229AAE770008E5C8 /* Intents.intentdefinition in Sources */, - 0E3152C7223FA04800F61841 /* VPNStatus.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Podfile b/Podfile index 8b6c02e1..917e75e7 100644 --- a/Podfile +++ b/Podfile @@ -5,11 +5,11 @@ use_frameworks! load 'Podfile.include' $tunnelkit_name = 'TunnelKit' -$tunnelkit_specs = ['Protocols/OpenVPN', 'Extra/LZO'] +$tunnelkit_specs = ['Protocols/OpenVPN', 'Manager', 'Extra/LZO'] def shared_pods - pod_version $tunnelkit_name, $tunnelkit_specs, '~> 2.2.7' - #pod_git $tunnelkit_name, $tunnelkit_specs, '74ed3cb' + #pod_version $tunnelkit_name, $tunnelkit_specs, '~> 2.2.7' + pod_git $tunnelkit_name, $tunnelkit_specs, '50d3b41' #pod_path $tunnelkit_name, $tunnelkit_specs, '..' pod 'SSZipArchive' diff --git a/Podfile.lock b/Podfile.lock index a1348f1a..881e47f0 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -24,13 +24,15 @@ PODS: - OpenSSL-Apple (1.1.1g.6) - SSZipArchive (2.2.3) - SwiftyBeaver (1.9.1) - - TunnelKit/AppExtension (2.2.7): + - TunnelKit/AppExtension (2.3.0): - SwiftyBeaver - TunnelKit/Core - - TunnelKit/Core (2.2.7): + - TunnelKit/Core (2.3.0): - SwiftyBeaver - - TunnelKit/Extra/LZO (2.2.7) - - TunnelKit/Protocols/OpenVPN (2.2.7): + - TunnelKit/Extra/LZO (2.3.0) + - TunnelKit/Manager (2.3.0): + - SwiftyBeaver + - TunnelKit/Protocols/OpenVPN (2.3.0): - OpenSSL-Apple (~> 1.1.1g.6) - TunnelKit/AppExtension - TunnelKit/Core @@ -49,8 +51,9 @@ DEPENDENCIES: - Kvitto - MBProgressHUD - SSZipArchive - - TunnelKit/Extra/LZO (~> 2.2.7) - - TunnelKit/Protocols/OpenVPN (~> 2.2.7) + - TunnelKit/Extra/LZO (from `https://github.com/passepartoutvpn/tunnelkit`, commit `50d3b41`) + - TunnelKit/Manager (from `https://github.com/passepartoutvpn/tunnelkit`, commit `50d3b41`) + - TunnelKit/Protocols/OpenVPN (from `https://github.com/passepartoutvpn/tunnelkit`, commit `50d3b41`) SPEC REPOS: https://github.com/cocoapods/specs.git: @@ -60,17 +63,22 @@ SPEC REPOS: - OpenSSL-Apple - SSZipArchive - SwiftyBeaver - - TunnelKit EXTERNAL SOURCES: Convenience: :commit: 0b09b1e :git: https://github.com/keeshux/convenience + TunnelKit: + :commit: 50d3b41 + :git: https://github.com/passepartoutvpn/tunnelkit CHECKOUT OPTIONS: Convenience: :commit: 0b09b1e :git: https://github.com/keeshux/convenience + TunnelKit: + :commit: 50d3b41 + :git: https://github.com/passepartoutvpn/tunnelkit SPEC CHECKSUMS: Convenience: c805c2aff569ff735c5d69c2c2b7a9bd110fa507 @@ -80,8 +88,8 @@ SPEC CHECKSUMS: OpenSSL-Apple: c9c1b9c5b2b1fc4e1758fc5f0836b58ae7fd8183 SSZipArchive: 62d4947b08730e4cda640473b0066d209ff033c9 SwiftyBeaver: a1f5691458561414bcfab51874b2b7445451602b - TunnelKit: cbd063b8b6f4f6a182cf48e646ff35cb2365bf91 + TunnelKit: a4fa4ecc6fc2b9fa74c38609c0e8fc4441d9672e -PODFILE CHECKSUM: 43c74249ac83f5246e4dda4bb40e2faa2f92dfe9 +PODFILE CHECKSUM: b4af1e40b6fcc446826c12ae8252f59008a7b8a5 COCOAPODS: 1.9.3 diff --git a/Submodules/Core b/Submodules/Core index 63aae9b1..ea527e1f 160000 --- a/Submodules/Core +++ b/Submodules/Core @@ -1 +1 @@ -Subproject commit 63aae9b1a4611b22875025ba3286c817c03e1861 +Subproject commit ea527e1fde39d0130327541a807501408cdf2059