diff --git a/OpenVPN Adapter.xcodeproj/project.pbxproj b/OpenVPN Adapter.xcodeproj/project.pbxproj index 1f8cbb9..86b0f5e 100644 --- a/OpenVPN Adapter.xcodeproj/project.pbxproj +++ b/OpenVPN Adapter.xcodeproj/project.pbxproj @@ -9,10 +9,6 @@ /* Begin PBXBuildFile section */ C90BAD311E73FF6C00DEFB32 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C90BAD301E73FF6C00DEFB32 /* SystemConfiguration.framework */; }; C912BB251E7C3339002B9414 /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C912BB241E7C3339002B9414 /* NetworkExtension.framework */; }; - C93779CE1EAE17F50030A362 /* OpenVPNConfigurationValues.h in Headers */ = {isa = PBXBuildFile; fileRef = C93779CC1EAE17F50030A362 /* OpenVPNConfigurationValues.h */; }; - C93779CF1EAE17F50030A362 /* OpenVPNConfigurationValues.mm in Sources */ = {isa = PBXBuildFile; fileRef = C93779CD1EAE17F50030A362 /* OpenVPNConfigurationValues.mm */; }; - C93779D01EAE18730030A362 /* OpenVPNConfigurationValues.h in Headers */ = {isa = PBXBuildFile; fileRef = C93779CC1EAE17F50030A362 /* OpenVPNConfigurationValues.h */; }; - C93779D11EAE18760030A362 /* OpenVPNConfigurationValues.mm in Sources */ = {isa = PBXBuildFile; fileRef = C93779CD1EAE17F50030A362 /* OpenVPNConfigurationValues.mm */; }; C93779D51EAE32670030A362 /* OpenVPNCredentials.h in Headers */ = {isa = PBXBuildFile; fileRef = C93779D31EAE32670030A362 /* OpenVPNCredentials.h */; settings = {ATTRIBUTES = (Public, ); }; }; C93779D61EAE32670030A362 /* OpenVPNCredentials.h in Headers */ = {isa = PBXBuildFile; fileRef = C93779D31EAE32670030A362 /* OpenVPNCredentials.h */; settings = {ATTRIBUTES = (Public, ); }; }; C93779D71EAE32670030A362 /* OpenVPNCredentials.mm in Sources */ = {isa = PBXBuildFile; fileRef = C93779D41EAE32670030A362 /* OpenVPNCredentials.mm */; }; @@ -45,6 +41,22 @@ C9657A431EB0CAC200EFF210 /* OpenVPNServerEntry.mm in Sources */ = {isa = PBXBuildFile; fileRef = C9657A3F1EB0CAC200EFF210 /* OpenVPNServerEntry.mm */; }; C9657A461EB0CB5900EFF210 /* OpenVPNServerEntry+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A441EB0CB5900EFF210 /* OpenVPNServerEntry+Internal.h */; }; C9657A471EB0CB5900EFF210 /* OpenVPNServerEntry+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A441EB0CB5900EFF210 /* OpenVPNServerEntry+Internal.h */; }; + C9657A4C1EB0CD6C00EFF210 /* OpenVPNProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A4A1EB0CD6C00EFF210 /* OpenVPNProperties.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A4D1EB0CD6C00EFF210 /* OpenVPNProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A4A1EB0CD6C00EFF210 /* OpenVPNProperties.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A561EB0CDFA00EFF210 /* OpenVPNProperties+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A501EB0CD9200EFF210 /* OpenVPNProperties+Internal.h */; }; + C9657A571EB0CDFB00EFF210 /* OpenVPNProperties+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A501EB0CD9200EFF210 /* OpenVPNProperties+Internal.h */; }; + C9657A581EB0CE1300EFF210 /* OpenVPNProperties.mm in Sources */ = {isa = PBXBuildFile; fileRef = C9657A4B1EB0CD6C00EFF210 /* OpenVPNProperties.mm */; }; + C9657A591EB0CE1400EFF210 /* OpenVPNProperties.mm in Sources */ = {isa = PBXBuildFile; fileRef = C9657A4B1EB0CD6C00EFF210 /* OpenVPNProperties.mm */; }; + C9657A5E1EB0D60700EFF210 /* OpenVPNTransportProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A5D1EB0D60700EFF210 /* OpenVPNTransportProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A5F1EB0D60700EFF210 /* OpenVPNTransportProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A5D1EB0D60700EFF210 /* OpenVPNTransportProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A611EB0D64E00EFF210 /* OpenVPNIPv6Preference.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A601EB0D64E00EFF210 /* OpenVPNIPv6Preference.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A621EB0D64E00EFF210 /* OpenVPNIPv6Preference.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A601EB0D64E00EFF210 /* OpenVPNIPv6Preference.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A641EB0D6C200EFF210 /* OpenVPNCompressionMode.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A631EB0D6AD00EFF210 /* OpenVPNCompressionMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A651EB0D6C200EFF210 /* OpenVPNCompressionMode.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A631EB0D6AD00EFF210 /* OpenVPNCompressionMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A671EB0D73200EFF210 /* OpenVPNMinTLSVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A661EB0D73200EFF210 /* OpenVPNMinTLSVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A681EB0D73200EFF210 /* OpenVPNMinTLSVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A661EB0D73200EFF210 /* OpenVPNMinTLSVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A6A1EB0D75700EFF210 /* OpenVPNTLSCertProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A691EB0D75700EFF210 /* OpenVPNTLSCertProfile.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9657A6B1EB0D75700EFF210 /* OpenVPNTLSCertProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = C9657A691EB0D75700EFF210 /* OpenVPNTLSCertProfile.h */; settings = {ATTRIBUTES = (Public, ); }; }; C98467A21EAA559B00272A9A /* local_key_auth.ovpn in Resources */ = {isa = PBXBuildFile; fileRef = C98467A11EAA559B00272A9A /* local_key_auth.ovpn */; }; C98467A31EAA559B00272A9A /* local_key_auth.ovpn in Resources */ = {isa = PBXBuildFile; fileRef = C98467A11EAA559B00272A9A /* local_key_auth.ovpn */; }; C98467A61EAA5B7700272A9A /* OpenVPNConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = C98467A41EAA5B7700272A9A /* OpenVPNConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -114,8 +126,6 @@ C90BAD2F1E73FA7400DEFB32 /* Tests.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Tests.xcconfig; sourceTree = ""; }; C90BAD301E73FF6C00DEFB32 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; C912BB241E7C3339002B9414 /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; - C93779CC1EAE17F50030A362 /* OpenVPNConfigurationValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNConfigurationValues.h; sourceTree = ""; }; - C93779CD1EAE17F50030A362 /* OpenVPNConfigurationValues.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OpenVPNConfigurationValues.mm; sourceTree = ""; }; C93779D31EAE32670030A362 /* OpenVPNCredentials.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNCredentials.h; sourceTree = ""; }; C93779D41EAE32670030A362 /* OpenVPNCredentials.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OpenVPNCredentials.mm; sourceTree = ""; }; C93779D91EAE32880030A362 /* OpenVPNCredentials+Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OpenVPNCredentials+Internal.h"; sourceTree = ""; }; @@ -132,6 +142,14 @@ C9657A3E1EB0CAC200EFF210 /* OpenVPNServerEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNServerEntry.h; sourceTree = ""; }; C9657A3F1EB0CAC200EFF210 /* OpenVPNServerEntry.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OpenVPNServerEntry.mm; sourceTree = ""; }; C9657A441EB0CB5900EFF210 /* OpenVPNServerEntry+Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OpenVPNServerEntry+Internal.h"; sourceTree = ""; }; + C9657A4A1EB0CD6C00EFF210 /* OpenVPNProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNProperties.h; sourceTree = ""; }; + C9657A4B1EB0CD6C00EFF210 /* OpenVPNProperties.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OpenVPNProperties.mm; sourceTree = ""; }; + C9657A501EB0CD9200EFF210 /* OpenVPNProperties+Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OpenVPNProperties+Internal.h"; sourceTree = ""; }; + C9657A5D1EB0D60700EFF210 /* OpenVPNTransportProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNTransportProtocol.h; sourceTree = ""; }; + C9657A601EB0D64E00EFF210 /* OpenVPNIPv6Preference.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNIPv6Preference.h; sourceTree = ""; }; + C9657A631EB0D6AD00EFF210 /* OpenVPNCompressionMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OpenVPNCompressionMode.h; sourceTree = ""; }; + C9657A661EB0D73200EFF210 /* OpenVPNMinTLSVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNMinTLSVersion.h; sourceTree = ""; }; + C9657A691EB0D75700EFF210 /* OpenVPNTLSCertProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNTLSCertProfile.h; sourceTree = ""; }; C98467A11EAA559B00272A9A /* local_key_auth.ovpn */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = local_key_auth.ovpn; sourceTree = ""; }; C98467A41EAA5B7700272A9A /* OpenVPNConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNConfiguration.h; sourceTree = ""; }; C98467A51EAA5B7700272A9A /* OpenVPNConfiguration.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OpenVPNConfiguration.mm; sourceTree = ""; }; @@ -239,21 +257,53 @@ name = Frameworks; sourceTree = ""; }; - C93779CA1EAE15EE0030A362 /* Helpers */ = { + C9235AC41EB24F0100C7D303 /* Configuration */ = { isa = PBXGroup; children = ( - C93779CB1EAE15F50030A362 /* Constants */, + C98467A41EAA5B7700272A9A /* OpenVPNConfiguration.h */, + C98467AA1EAA5BB500272A9A /* OpenVPNConfiguration+Internal.h */, + C98467A51EAA5B7700272A9A /* OpenVPNConfiguration.mm */, + C93779D31EAE32670030A362 /* OpenVPNCredentials.h */, + C93779D91EAE32880030A362 /* OpenVPNCredentials+Internal.h */, + C93779D41EAE32670030A362 /* OpenVPNCredentials.mm */, + C9657A3E1EB0CAC200EFF210 /* OpenVPNServerEntry.h */, + C9657A441EB0CB5900EFF210 /* OpenVPNServerEntry+Internal.h */, + C9657A3F1EB0CAC200EFF210 /* OpenVPNServerEntry.mm */, + C9657A4A1EB0CD6C00EFF210 /* OpenVPNProperties.h */, + C9657A501EB0CD9200EFF210 /* OpenVPNProperties+Internal.h */, + C9657A4B1EB0CD6C00EFF210 /* OpenVPNProperties.mm */, ); - name = Helpers; + name = Configuration; sourceTree = ""; }; - C93779CB1EAE15F50030A362 /* Constants */ = { + C9235AC51EB24F1100C7D303 /* Stats */ = { isa = PBXGroup; children = ( - C93779CC1EAE17F50030A362 /* OpenVPNConfigurationValues.h */, - C93779CD1EAE17F50030A362 /* OpenVPNConfigurationValues.mm */, + C9657A151EB0A7F800EFF210 /* OpenVPNConnectionInfo.h */, + C9657A1B1EB0A8D800EFF210 /* OpenVPNConnectionInfo+Internal.h */, + C9657A161EB0A7F800EFF210 /* OpenVPNConnectionInfo.mm */, + C9657A231EB0B60200EFF210 /* OpenVPNTransportStats.h */, + C9657A291EB0B6FA00EFF210 /* OpenVPNTransportStats+Internal.h */, + C9657A241EB0B60200EFF210 /* OpenVPNTransportStats.mm */, + C9657A321EB0BA3900EFF210 /* OpenVPNInterfaceStats.h */, + C9657A381EB0BAAB00EFF210 /* OpenVPNInterfaceStats+Internal.h */, + C9657A331EB0BA3900EFF210 /* OpenVPNInterfaceStats.mm */, ); - name = Constants; + name = Stats; + sourceTree = ""; + }; + C9235AC61EB24F2A00C7D303 /* Types */ = { + isa = PBXGroup; + children = ( + C9BB476F1E7171A100F3F98C /* OpenVPNError.h */, + C9BB47701E7171A100F3F98C /* OpenVPNEvent.h */, + C9657A5D1EB0D60700EFF210 /* OpenVPNTransportProtocol.h */, + C9657A601EB0D64E00EFF210 /* OpenVPNIPv6Preference.h */, + C9657A631EB0D6AD00EFF210 /* OpenVPNCompressionMode.h */, + C9657A661EB0D73200EFF210 /* OpenVPNMinTLSVersion.h */, + C9657A691EB0D75700EFF210 /* OpenVPNTLSCertProfile.h */, + ); + name = Types; sourceTree = ""; }; C9B376B71EA53CE700B7F423 /* Client */ = { @@ -279,7 +329,6 @@ C9BB47641E7169AF00F3F98C /* Libraries */ = { isa = PBXGroup; children = ( - C93779CA1EAE15EE0030A362 /* Helpers */, C9BB47681E716ABF00F3F98C /* Vendors */, ); name = Libraries; @@ -296,26 +345,9 @@ C9BB47671E7169F000F3F98C /* Adapter */ = { isa = PBXGroup; children = ( - C9BB476F1E7171A100F3F98C /* OpenVPNError.h */, - C9BB47701E7171A100F3F98C /* OpenVPNEvent.h */, - C98467A41EAA5B7700272A9A /* OpenVPNConfiguration.h */, - C98467AA1EAA5BB500272A9A /* OpenVPNConfiguration+Internal.h */, - C98467A51EAA5B7700272A9A /* OpenVPNConfiguration.mm */, - C93779D31EAE32670030A362 /* OpenVPNCredentials.h */, - C93779D91EAE32880030A362 /* OpenVPNCredentials+Internal.h */, - C93779D41EAE32670030A362 /* OpenVPNCredentials.mm */, - C9657A3E1EB0CAC200EFF210 /* OpenVPNServerEntry.h */, - C9657A441EB0CB5900EFF210 /* OpenVPNServerEntry+Internal.h */, - C9657A3F1EB0CAC200EFF210 /* OpenVPNServerEntry.mm */, - C9657A151EB0A7F800EFF210 /* OpenVPNConnectionInfo.h */, - C9657A1B1EB0A8D800EFF210 /* OpenVPNConnectionInfo+Internal.h */, - C9657A161EB0A7F800EFF210 /* OpenVPNConnectionInfo.mm */, - C9657A231EB0B60200EFF210 /* OpenVPNTransportStats.h */, - C9657A291EB0B6FA00EFF210 /* OpenVPNTransportStats+Internal.h */, - C9657A241EB0B60200EFF210 /* OpenVPNTransportStats.mm */, - C9657A321EB0BA3900EFF210 /* OpenVPNInterfaceStats.h */, - C9657A381EB0BAAB00EFF210 /* OpenVPNInterfaceStats+Internal.h */, - C9657A331EB0BA3900EFF210 /* OpenVPNInterfaceStats.mm */, + C9235AC61EB24F2A00C7D303 /* Types */, + C9235AC41EB24F0100C7D303 /* Configuration */, + C9235AC51EB24F1100C7D303 /* Stats */, C9BB477B1E7173C700F3F98C /* OpenVPNAdapter.h */, C9BB477C1E7173C700F3F98C /* OpenVPNAdapter+Internal.h */, C9BB477D1E7173C700F3F98C /* OpenVPNAdapter+Public.h */, @@ -404,21 +436,27 @@ C9657A3A1EB0BAAB00EFF210 /* OpenVPNInterfaceStats+Internal.h in Headers */, C9BB47721E7171A100F3F98C /* OpenVPNEvent.h in Headers */, C9BB477F1E7173C700F3F98C /* OpenVPNAdapter.h in Headers */, + C9657A4C1EB0CD6C00EFF210 /* OpenVPNProperties.h in Headers */, + C9657A571EB0CDFB00EFF210 /* OpenVPNProperties+Internal.h in Headers */, C9657A341EB0BA3900EFF210 /* OpenVPNInterfaceStats.h in Headers */, C9657A401EB0CAC200EFF210 /* OpenVPNServerEntry.h in Headers */, C98467AB1EAA5BE100272A9A /* OpenVPNConfiguration+Internal.h in Headers */, C98467A61EAA5B7700272A9A /* OpenVPNConfiguration.h in Headers */, - C93779CE1EAE17F50030A362 /* OpenVPNConfigurationValues.h in Headers */, C9657A2B1EB0B6FA00EFF210 /* OpenVPNTransportStats+Internal.h in Headers */, C9BB47601E71663A00F3F98C /* Umbrella-Header.h in Headers */, + C9657A5E1EB0D60700EFF210 /* OpenVPNTransportProtocol.h in Headers */, C9657A1D1EB0A8D800EFF210 /* OpenVPNConnectionInfo+Internal.h in Headers */, C9657A171EB0A7F800EFF210 /* OpenVPNConnectionInfo.h in Headers */, C9BB47811E7173C700F3F98C /* OpenVPNAdapter+Public.h in Headers */, C9BB47711E7171A100F3F98C /* OpenVPNError.h in Headers */, C9BB47801E7173C700F3F98C /* OpenVPNAdapter+Internal.h in Headers */, + C9657A611EB0D64E00EFF210 /* OpenVPNIPv6Preference.h in Headers */, + C9657A671EB0D73200EFF210 /* OpenVPNMinTLSVersion.h in Headers */, C93779D51EAE32670030A362 /* OpenVPNCredentials.h in Headers */, + C9657A641EB0D6C200EFF210 /* OpenVPNCompressionMode.h in Headers */, C9FD921A1E9A667600374FC4 /* ovpncli.hpp in Headers */, C93779DB1EAE32880030A362 /* OpenVPNCredentials+Internal.h in Headers */, + C9657A6A1EB0D75700EFF210 /* OpenVPNTLSCertProfile.h in Headers */, C9657A461EB0CB5900EFF210 /* OpenVPNServerEntry+Internal.h in Headers */, C9657A251EB0B60200EFF210 /* OpenVPNTransportStats.h in Headers */, ); @@ -432,21 +470,27 @@ C9657A3B1EB0BAAB00EFF210 /* OpenVPNInterfaceStats+Internal.h in Headers */, C9D2ABE41EA20F99007EDF9D /* OpenVPNEvent.h in Headers */, C9D2ABE51EA20F99007EDF9D /* OpenVPNAdapter.h in Headers */, + C9657A4D1EB0CD6C00EFF210 /* OpenVPNProperties.h in Headers */, + C9657A561EB0CDFA00EFF210 /* OpenVPNProperties+Internal.h in Headers */, C9657A351EB0BA3900EFF210 /* OpenVPNInterfaceStats.h in Headers */, C9657A411EB0CAC200EFF210 /* OpenVPNServerEntry.h in Headers */, C98467AC1EAA5BE200272A9A /* OpenVPNConfiguration+Internal.h in Headers */, C98467A71EAA5B7700272A9A /* OpenVPNConfiguration.h in Headers */, - C93779D01EAE18730030A362 /* OpenVPNConfigurationValues.h in Headers */, C9657A2F1EB0B79500EFF210 /* OpenVPNTransportStats+Internal.h in Headers */, C9D2ABE61EA20F99007EDF9D /* Umbrella-Header.h in Headers */, + C9657A5F1EB0D60700EFF210 /* OpenVPNTransportProtocol.h in Headers */, C9657A1E1EB0A8D800EFF210 /* OpenVPNConnectionInfo+Internal.h in Headers */, C9657A181EB0A7F800EFF210 /* OpenVPNConnectionInfo.h in Headers */, C9D2ABE71EA20F99007EDF9D /* OpenVPNAdapter+Public.h in Headers */, C9D2ABE81EA20F99007EDF9D /* OpenVPNError.h in Headers */, C9D2ABE91EA20F99007EDF9D /* OpenVPNAdapter+Internal.h in Headers */, + C9657A621EB0D64E00EFF210 /* OpenVPNIPv6Preference.h in Headers */, + C9657A681EB0D73200EFF210 /* OpenVPNMinTLSVersion.h in Headers */, C93779D61EAE32670030A362 /* OpenVPNCredentials.h in Headers */, + C9657A651EB0D6C200EFF210 /* OpenVPNCompressionMode.h in Headers */, C9D2ABEA1EA20F99007EDF9D /* ovpncli.hpp in Headers */, C93779DC1EAE32880030A362 /* OpenVPNCredentials+Internal.h in Headers */, + C9657A6B1EB0D75700EFF210 /* OpenVPNTLSCertProfile.h in Headers */, C9657A471EB0CB5900EFF210 /* OpenVPNServerEntry+Internal.h in Headers */, C9657A261EB0B60200EFF210 /* OpenVPNTransportStats.h in Headers */, ); @@ -650,8 +694,8 @@ C9BB47821E7173C700F3F98C /* OpenVPNAdapter.mm in Sources */, C98467A81EAA5B7700272A9A /* OpenVPNConfiguration.mm in Sources */, C9657A311EB0B7A900EFF210 /* OpenVPNTransportStats.mm in Sources */, + C9657A581EB0CE1300EFF210 /* OpenVPNProperties.mm in Sources */, C9BB477A1E7171ED00F3F98C /* OpenVPNClient.mm in Sources */, - C93779CF1EAE17F50030A362 /* OpenVPNConfigurationValues.mm in Sources */, C9FD921B1E9A667600374FC4 /* ovpncli.cpp in Sources */, C9657A361EB0BA3900EFF210 /* OpenVPNInterfaceStats.mm in Sources */, C9657A211EB0ACAE00EFF210 /* OpenVPNConnectionInfo.mm in Sources */, @@ -678,9 +722,9 @@ C9D2ABDB1EA20F99007EDF9D /* OpenVPNAdapter.mm in Sources */, C98467A91EAA5B7700272A9A /* OpenVPNConfiguration.mm in Sources */, C9657A301EB0B7A600EFF210 /* OpenVPNTransportStats.mm in Sources */, + C9657A591EB0CE1400EFF210 /* OpenVPNProperties.mm in Sources */, C9D2ABDC1EA20F99007EDF9D /* OpenVPNClient.mm in Sources */, C9D2ABDE1EA20F99007EDF9D /* ovpncli.cpp in Sources */, - C93779D11EAE18760030A362 /* OpenVPNConfigurationValues.mm in Sources */, C9657A371EB0BA3900EFF210 /* OpenVPNInterfaceStats.mm in Sources */, C9657A221EB0ACAE00EFF210 /* OpenVPNConnectionInfo.mm in Sources */, C93779D81EAE32670030A362 /* OpenVPNCredentials.mm in Sources */, diff --git a/OpenVPN Adapter/OpenVPNConfiguration+Internal.h b/OpenVPN Adapter/OpenVPNConfiguration+Internal.h index a14b00e..5219545 100644 --- a/OpenVPN Adapter/OpenVPNConfiguration+Internal.h +++ b/OpenVPN Adapter/OpenVPNConfiguration+Internal.h @@ -16,4 +16,13 @@ using namespace openvpn; @property (readonly) ClientAPI::Config config; ++ (OpenVPNTransportProtocol)getTransportProtocolFromString:(nullable NSString *)value; ++ (nonnull NSString *)getStringFromTransportProtocol:(OpenVPNTransportProtocol)protocol; + ++ (OpenVPNIPv6Preference)getIPv6PreferenceFromString:(nullable NSString *)value; ++ (nonnull NSString *)getStringFromIPv6Preference:(OpenVPNIPv6Preference)preference; + ++ (OpenVPNCompressionMode)getCompressionModeFromString:(nullable NSString *)value; ++ (nonnull NSString *)getStringFromCompressionMode:(OpenVPNCompressionMode)compressionMode; + @end diff --git a/OpenVPN Adapter/OpenVPNConfiguration.mm b/OpenVPN Adapter/OpenVPNConfiguration.mm index 7cee211..ca06176 100644 --- a/OpenVPN Adapter/OpenVPNConfiguration.mm +++ b/OpenVPN Adapter/OpenVPNConfiguration.mm @@ -6,12 +6,37 @@ // // -#import "OpenVPNValues.h" -#import "OpenVPNConfiguration.h" #import "OpenVPNConfiguration+Internal.h" using namespace openvpn; +NSString * const OpenVPNTransportProtocolUDPValue = @"udp"; +NSString * const OpenVPNTransportProtocolTCPValue = @"tcp"; +NSString * const OpenVPNTransportProtocolAdaptiveValue = @"adaptive"; +NSString * const OpenVPNTransportProtocolDefaultValue = @""; + +NSString * const OpenVPNIPv6PreferenceEnabledValue = @"yes"; +NSString * const OpenVPNIPv6PreferenceDisabledValue = @"no"; +NSString * const OpenVPNIPv6PreferenceDefaultValue = @"default"; + +NSString * const OpenVPNCompressionModeEnabledValue = @"yes"; +NSString * const OpenVPNCompressionModeDisabledValue = @"no"; +NSString * const OpenVPNCompressionModeAsymValue = @"asym"; +NSString * const OpenVPNCompressionModeDefaultValue = @""; + +NSString * const OpenVPNMinTLSVersionDisabledValue = @"disabled"; +NSString * const OpenVPNMinTLSVersion10Value = @"tls_1_0"; +NSString * const OpenVPNMinTLSVersion11Value = @"tls_1_1"; +NSString * const OpenVPNMinTLSVersion12Value = @"tls_1_2"; +NSString * const OpenVPNMinTLSVersionDefaultValue = @"default"; + +NSString * const OpenVPNTLSCertProfileLegacyValue = @"legacy"; +NSString * const OpenVPNTLSCertProfilePreferredValue = @"preferred"; +NSString * const OpenVPNTLSCertProfileSuiteBValue = @"suiteb"; +NSString * const OpenVPNTLSCertProfileLegacyDefaultValue = @"legacy-default"; +NSString * const OpenVPNTLSCertProfilePreferredDefaultValue = @"preferred-default"; +NSString * const OpenVPNTLSCertProfileDefaultValue = @"default"; + @interface OpenVPNConfiguration () { ClientAPI::Config _config; } @@ -24,6 +49,94 @@ using namespace openvpn; return _config; } ++ (OpenVPNTransportProtocol)getTransportProtocolFromString:(NSString *)value { + NSDictionary *options = @{ + OpenVPNTransportProtocolUDPValue: @(OpenVPNTransportProtocolUDP), + OpenVPNTransportProtocolTCPValue: @(OpenVPNTransportProtocolTCP), + OpenVPNTransportProtocolAdaptiveValue: @(OpenVPNTransportProtocolAdaptive), + OpenVPNTransportProtocolDefaultValue: @(OpenVPNTransportProtocolDefault) + }; + + NSString *currentValue = [value length] == 0 ? OpenVPNTransportProtocolDefaultValue : value; + + NSNumber *transportProtocol = options[currentValue]; + NSAssert(transportProtocol != nil, @"Incorrect protocol value: %@", currentValue); + + return (OpenVPNTransportProtocol)[transportProtocol integerValue]; +} + ++ (nonnull NSString *)getStringFromTransportProtocol:(OpenVPNTransportProtocol)protocol { + NSDictionary *options = @{ + @(OpenVPNTransportProtocolUDP): OpenVPNTransportProtocolUDPValue, + @(OpenVPNTransportProtocolTCP): OpenVPNTransportProtocolTCPValue, + @(OpenVPNTransportProtocolAdaptive): OpenVPNTransportProtocolAdaptiveValue, + @(OpenVPNTransportProtocolDefault): OpenVPNTransportProtocolDefaultValue + }; + + NSString *value = options[@(protocol)]; + NSAssert(value != nil, @"Incorrect protocol value: %li", (NSInteger)protocol); + + return value; +} + ++ (OpenVPNIPv6Preference)getIPv6PreferenceFromString:(nullable NSString *)value { + NSDictionary *options = @{ + OpenVPNIPv6PreferenceEnabledValue: @(OpenVPNIPv6PreferenceEnabled), + OpenVPNIPv6PreferenceDisabledValue: @(OpenVPNIPv6PreferenceDisabled), + OpenVPNIPv6PreferenceDefaultValue: @(OpenVPNIPv6PreferenceDefault) + }; + + NSString *currentValue = [value length] == 0 ? OpenVPNIPv6PreferenceDefaultValue : value; + + NSNumber *ipv6 = options[currentValue]; + NSAssert(ipv6 != nil, @"Incorrect ipv6 value: %@", currentValue); + + return (OpenVPNIPv6Preference)[ipv6 integerValue]; +} + ++ (nonnull NSString *)getStringFromIPv6Preference:(OpenVPNIPv6Preference)preference { + NSDictionary *options = @{ + @(OpenVPNIPv6PreferenceEnabled): OpenVPNIPv6PreferenceEnabledValue, + @(OpenVPNIPv6PreferenceDisabled): OpenVPNIPv6PreferenceDisabledValue, + @(OpenVPNIPv6PreferenceDefault): OpenVPNIPv6PreferenceDefaultValue + }; + + NSString *value = options[@(preference)]; + NSAssert(value != nil, @"Incorrect ipv6 value: %li", (NSInteger)preference); + + return value; +} + ++ (OpenVPNCompressionMode)getCompressionModeFromString:(nullable NSString *)value { + NSDictionary *options = @{ + OpenVPNCompressionModeEnabledValue: @(OpenVPNCompressionModeEnabled), + OpenVPNCompressionModeDisabledValue: @(OpenVPNCompressionModeDisabled), + OpenVPNCompressionModeAsymValue: @(OpenVPNCompressionModeAsym), + OpenVPNCompressionModeDefaultValue: @(OpenVPNCompressionModeDefault) + }; + + NSString *currentValue = [value length] == 0 ? OpenVPNCompressionModeDefaultValue : value; + + NSNumber *compressionMode = options[currentValue]; + NSAssert(compressionMode != nil, @"Incorrect compressionMode value: %@", currentValue); + + return (OpenVPNCompressionMode)[compressionMode integerValue]; +} + ++ (nonnull NSString *)getStringFromCompressionMode:(OpenVPNCompressionMode)compressionMode { + NSDictionary *options = @{ + @(OpenVPNCompressionModeEnabled): OpenVPNCompressionModeEnabledValue, + @(OpenVPNCompressionModeDisabled): OpenVPNCompressionModeDisabledValue, + @(OpenVPNCompressionModeAsym): OpenVPNCompressionModeAsymValue, + @(OpenVPNCompressionModeDefault): OpenVPNCompressionModeDefaultValue + }; + + NSString *value = options[@(compressionMode)]; + NSAssert(value != nil, @"Incorrect compressionMode value: %li", (NSInteger)compressionMode); + + return value; +} + @end @implementation OpenVPNConfiguration @@ -83,63 +196,23 @@ using namespace openvpn; } - (OpenVPNTransportProtocol)proto { - NSDictionary *options = @{ - OpenVPNTransportProtocolUDPValue: @(OpenVPNTransportProtocolUDP), - OpenVPNTransportProtocolTCPValue: @(OpenVPNTransportProtocolTCP), - OpenVPNTransportProtocolAdaptiveValue: @(OpenVPNTransportProtocolAdaptive), - OpenVPNTransportProtocolDefaultValue: @(OpenVPNTransportProtocolDefault) - }; - - NSString *currentValue = _config.protoOverride.empty() ? OpenVPNTransportProtocolDefaultValue : - [NSString stringWithUTF8String:_config.protoOverride.c_str()]; - - NSNumber *transportProtocol = options[currentValue]; - NSAssert(transportProtocol != nil, @"Incorrect protoOverride value: %@", currentValue); - - return (OpenVPNTransportProtocol)[transportProtocol integerValue]; + NSString *currentValue = [NSString stringWithUTF8String:_config.protoOverride.c_str()]; + return [OpenVPNConfiguration getTransportProtocolFromString:currentValue]; } - (void)setProto:(OpenVPNTransportProtocol)proto { - NSDictionary *options = @{ - @(OpenVPNTransportProtocolUDP): OpenVPNTransportProtocolUDPValue, - @(OpenVPNTransportProtocolTCP): OpenVPNTransportProtocolTCPValue, - @(OpenVPNTransportProtocolAdaptive): OpenVPNTransportProtocolAdaptiveValue, - @(OpenVPNTransportProtocolDefault): OpenVPNTransportProtocolDefaultValue - }; - - NSString *value = options[@(proto)]; - NSAssert(value != nil, @"Incorrect proto value: %li", (NSInteger)proto); - - _config.protoOverride = [value UTF8String]; + NSString *value = [OpenVPNConfiguration getStringFromTransportProtocol:proto]; + _config.protoOverride = std::string([value UTF8String]); } - (OpenVPNIPv6Preference)ipv6 { - NSDictionary *options = @{ - OpenVPNIPv6PreferenceEnabledValue: @(OpenVPNIPv6PreferenceEnabled), - OpenVPNIPv6PreferenceDisabledValue: @(OpenVPNIPv6PreferenceDisabled), - OpenVPNIPv6PreferenceDefaultValue: @(OpenVPNIPv6PreferenceDefault) - }; - - NSString *currentValue = _config.ipv6.empty() ? OpenVPNIPv6PreferenceDefaultValue : - [NSString stringWithUTF8String:_config.ipv6.c_str()]; - - NSNumber *ipv6 = options[currentValue]; - NSAssert(ipv6 != nil, @"Incorrect ipv6 value: %@", currentValue); - - return (OpenVPNIPv6Preference)[ipv6 integerValue]; + NSString *currentValue = [NSString stringWithUTF8String:_config.ipv6.c_str()]; + return [OpenVPNConfiguration getIPv6PreferenceFromString:currentValue]; } - (void)setIpv6:(OpenVPNIPv6Preference)ipv6 { - NSDictionary *options = @{ - @(OpenVPNIPv6PreferenceEnabled): OpenVPNIPv6PreferenceEnabledValue, - @(OpenVPNIPv6PreferenceDisabled): OpenVPNIPv6PreferenceDisabledValue, - @(OpenVPNIPv6PreferenceDefault): OpenVPNIPv6PreferenceDefaultValue - }; - - NSString *value = options[@(ipv6)]; - NSAssert(value != nil, @"Incorrect ipv6 value: %li", (NSInteger)ipv6); - - _config.ipv6 = [value UTF8String]; + NSString *value = [OpenVPNConfiguration getStringFromIPv6Preference:ipv6]; + _config.ipv6 = std::string([value UTF8String]); } - (NSInteger)connectionTimeout { @@ -191,34 +264,13 @@ using namespace openvpn; } - (OpenVPNCompressionMode)compressionMode { - NSDictionary *options = @{ - OpenVPNCompressionModeEnabledValue: @(OpenVPNCompressionModeEnabled), - OpenVPNCompressionModeDisabledValue: @(OpenVPNCompressionModeDisabled), - OpenVPNCompressionModeAsymValue: @(OpenVPNCompressionModeAsym), - OpenVPNCompressionModeDefaultValue: @(OpenVPNCompressionModeDefault) - }; - - NSString *currentValue = _config.compressionMode.empty() ? OpenVPNCompressionModeDefaultValue : - [NSString stringWithUTF8String:_config.compressionMode.c_str()]; - - NSNumber *compressionMode = options[currentValue]; - NSAssert(compressionMode != nil, @"Incorrect compressionMode value: %@", currentValue); - - return (OpenVPNCompressionMode)[compressionMode integerValue]; + NSString *currentValue = [NSString stringWithUTF8String:_config.compressionMode.c_str()]; + return [OpenVPNConfiguration getCompressionModeFromString:currentValue]; } - (void)setCompressionMode:(OpenVPNCompressionMode)compressionMode { - NSDictionary *options = @{ - @(OpenVPNCompressionModeEnabled): OpenVPNCompressionModeEnabledValue, - @(OpenVPNCompressionModeDisabled): OpenVPNCompressionModeDisabledValue, - @(OpenVPNCompressionModeAsym): OpenVPNCompressionModeAsymValue, - @(OpenVPNCompressionModeDefault): OpenVPNCompressionModeDefaultValue - }; - - NSString *value = options[@(compressionMode)]; - NSAssert(value != nil, @"Incorrect compressionMode value: %li", (NSInteger)compressionMode); - - _config.compressionMode = [value UTF8String]; + NSString *value = [OpenVPNConfiguration getStringFromCompressionMode:compressionMode]; + _config.compressionMode = std::string([value UTF8String]); } - (NSString *)privateKeyPassword { diff --git a/OpenVPN Adapter/OpenVPNValues.h b/OpenVPN Adapter/OpenVPNValues.h deleted file mode 100644 index 2203c3f..0000000 --- a/OpenVPN Adapter/OpenVPNValues.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// OpenVPNConfigurationValues.h -// OpenVPN Adapter -// -// Created by Sergey Abramchuk on 24.04.17. -// -// - -#import - -extern NSString * __nonnull const OpenVPNTransportProtocolUDPValue; -extern NSString * __nonnull const OpenVPNTransportProtocolTCPValue; -extern NSString * __nonnull const OpenVPNTransportProtocolAdaptiveValue; -extern NSString * __nonnull const OpenVPNTransportProtocolDefaultValue; - -extern NSString * __nonnull const OpenVPNIPv6PreferenceEnabledValue; -extern NSString * __nonnull const OpenVPNIPv6PreferenceDisabledValue; -extern NSString * __nonnull const OpenVPNIPv6PreferenceDefaultValue; - -extern NSString * __nonnull const OpenVPNCompressionModeEnabledValue; -extern NSString * __nonnull const OpenVPNCompressionModeDisabledValue; -extern NSString * __nonnull const OpenVPNCompressionModeAsymValue; -extern NSString * __nonnull const OpenVPNCompressionModeDefaultValue; - -extern NSString * __nonnull const OpenVPNMinTLSVersionDisabledValue; -extern NSString * __nonnull const OpenVPNMinTLSVersion10Value; -extern NSString * __nonnull const OpenVPNMinTLSVersion11Value; -extern NSString * __nonnull const OpenVPNMinTLSVersion12Value; -extern NSString * __nonnull const OpenVPNMinTLSVersionDefaultValue; - -extern NSString * __nonnull const OpenVPNTLSCertProfileLegacyValue; -extern NSString * __nonnull const OpenVPNTLSCertProfilePreferredValue; -extern NSString * __nonnull const OpenVPNTLSCertProfileSuiteBValue; -extern NSString * __nonnull const OpenVPNTLSCertProfileLegacyDefaultValue; -extern NSString * __nonnull const OpenVPNTLSCertProfilePreferredDefaultValue; -extern NSString * __nonnull const OpenVPNTLSCertProfileDefaultValue; diff --git a/OpenVPN Adapter/OpenVPNValues.mm b/OpenVPN Adapter/OpenVPNValues.mm deleted file mode 100644 index 53737cd..0000000 --- a/OpenVPN Adapter/OpenVPNValues.mm +++ /dev/null @@ -1,36 +0,0 @@ -// -// OpenVPNConfigurationValues.m -// OpenVPN Adapter -// -// Created by Sergey Abramchuk on 24.04.17. -// -// - -#import "OpenVPNValues.h" - -NSString * const OpenVPNTransportProtocolUDPValue = @"udp"; -NSString * const OpenVPNTransportProtocolTCPValue = @"tcp"; -NSString * const OpenVPNTransportProtocolAdaptiveValue = @"adaptive"; -NSString * const OpenVPNTransportProtocolDefaultValue = @""; - -NSString * const OpenVPNIPv6PreferenceEnabledValue = @"yes"; -NSString * const OpenVPNIPv6PreferenceDisabledValue = @"no"; -NSString * const OpenVPNIPv6PreferenceDefaultValue = @"default"; - -NSString * const OpenVPNCompressionModeEnabledValue = @"yes"; -NSString * const OpenVPNCompressionModeDisabledValue = @"no"; -NSString * const OpenVPNCompressionModeAsymValue = @"asym"; -NSString * const OpenVPNCompressionModeDefaultValue = @""; - -NSString * const OpenVPNMinTLSVersionDisabledValue = @"disabled"; -NSString * const OpenVPNMinTLSVersion10Value = @"tls_1_0"; -NSString * const OpenVPNMinTLSVersion11Value = @"tls_1_1"; -NSString * const OpenVPNMinTLSVersion12Value = @"tls_1_2"; -NSString * const OpenVPNMinTLSVersionDefaultValue = @"default"; - -NSString * const OpenVPNTLSCertProfileLegacyValue = @"legacy"; -NSString * const OpenVPNTLSCertProfilePreferredValue = @"preferred"; -NSString * const OpenVPNTLSCertProfileSuiteBValue = @"suiteb"; -NSString * const OpenVPNTLSCertProfileLegacyDefaultValue = @"legacy-default"; -NSString * const OpenVPNTLSCertProfilePreferredDefaultValue = @"preferred-default"; -NSString * const OpenVPNTLSCertProfileDefaultValue = @"default"; diff --git a/OpenVPN Adapter/Umbrella-Header.h b/OpenVPN Adapter/Umbrella-Header.h index 70961a4..502099a 100644 --- a/OpenVPN Adapter/Umbrella-Header.h +++ b/OpenVPN Adapter/Umbrella-Header.h @@ -18,9 +18,15 @@ FOUNDATION_EXPORT const unsigned char OpenVPNAdapterVersionString[]; #import #import +#import +#import +#import +#import +#import #import #import #import +#import #import #import #import