mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2026-04-06 00:00:03 +08:00
Merge branch 'feature/tests' into feature/spm
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
MODULEMAP_FILE = Sources/OpenVPNAdapter/include/module.modulemap
|
MODULEMAP_FILE = Sources/OpenVPNAdapter/module.modulemap
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) USE_ASIO
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) USE_ASIO
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = NO
|
GCC_WARN_64_TO_32_BIT_CONVERSION = NO
|
||||||
|
|||||||
22
OpenVPNAdapter.xcodeproj/OpenVPNAdapterTests_Info.plist
Normal file
22
OpenVPNAdapter.xcodeproj/OpenVPNAdapterTests_Info.plist
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>$(PRODUCT_NAME)</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>BNDL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -45,7 +45,14 @@
|
|||||||
C97E5FB4241231F7005C2EBC /* OpenVPNTransportStats.h in Headers */ = {isa = PBXBuildFile; fileRef = C97E5FB3241231F7005C2EBC /* OpenVPNTransportStats.h */; };
|
C97E5FB4241231F7005C2EBC /* OpenVPNTransportStats.h in Headers */ = {isa = PBXBuildFile; fileRef = C97E5FB3241231F7005C2EBC /* OpenVPNTransportStats.h */; };
|
||||||
C97E5FB6241231FF005C2EBC /* OpenVPNTransportStats+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C97E5FB5241231FF005C2EBC /* OpenVPNTransportStats+Internal.h */; };
|
C97E5FB6241231FF005C2EBC /* OpenVPNTransportStats+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C97E5FB5241231FF005C2EBC /* OpenVPNTransportStats+Internal.h */; };
|
||||||
C97E5FB824123211005C2EBC /* OpenVPNTransportProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = C97E5FB724123211005C2EBC /* OpenVPNTransportProtocol.h */; };
|
C97E5FB824123211005C2EBC /* OpenVPNTransportProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = C97E5FB724123211005C2EBC /* OpenVPNTransportProtocol.h */; };
|
||||||
C97E5FBB2412344D005C2EBC /* Umbrella-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = C97E5FBA2412344D005C2EBC /* Umbrella-Header.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
C97E5FDD24123F48005C2EBC /* OpenVPNConfigurationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97E5FD724123F48005C2EBC /* OpenVPNConfigurationTests.swift */; };
|
||||||
|
C97E5FDE24123F48005C2EBC /* CustomFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97E5FD824123F48005C2EBC /* CustomFlow.swift */; };
|
||||||
|
C97E5FDF24123F48005C2EBC /* OpenVPNAdapterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97E5FD924123F48005C2EBC /* OpenVPNAdapterTests.swift */; };
|
||||||
|
C97E5FE024123F48005C2EBC /* VPNProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97E5FDA24123F48005C2EBC /* VPNProfile.swift */; };
|
||||||
|
C97E5FE124123F48005C2EBC /* Bundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97E5FDB24123F48005C2EBC /* Bundle.swift */; };
|
||||||
|
C97E5FE624124B0E005C2EBC /* Umbrella-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = C97E5FBA2412344D005C2EBC /* Umbrella-Header.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
|
C97E5FE724124B6F005C2EBC /* LZ4.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::LZ4::Product" /* LZ4.framework */; };
|
||||||
|
C97E5FEC24124B73005C2EBC /* mbedTLS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::mbedTLS::Product" /* mbedTLS.framework */; };
|
||||||
C9EABF3124110BE200D828D4 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9EABF3024110BE200D828D4 /* SystemConfiguration.framework */; };
|
C9EABF3124110BE200D828D4 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9EABF3024110BE200D828D4 /* SystemConfiguration.framework */; };
|
||||||
C9EABF772411215C00D828D4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9EABF642411189800D828D4 /* UIKit.framework */; platformFilter = ios; };
|
C9EABF772411215C00D828D4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9EABF642411189800D828D4 /* UIKit.framework */; platformFilter = ios; };
|
||||||
OBJ_250 /* lz4.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* lz4.c */; };
|
OBJ_250 /* lz4.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* lz4.c */; };
|
||||||
@@ -95,8 +102,6 @@
|
|||||||
OBJ_301 /* OpenVPNSessionToken.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* OpenVPNSessionToken.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
OBJ_301 /* OpenVPNSessionToken.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* OpenVPNSessionToken.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
OBJ_302 /* OpenVPNCertificate.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* OpenVPNCertificate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
OBJ_302 /* OpenVPNCertificate.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* OpenVPNCertificate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
OBJ_304 /* OpenVPNClient.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::OpenVPNClient::Product" /* OpenVPNClient.framework */; };
|
OBJ_304 /* OpenVPNClient.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::OpenVPNClient::Product" /* OpenVPNClient.framework */; };
|
||||||
OBJ_305 /* LZ4.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::LZ4::Product" /* LZ4.framework */; };
|
|
||||||
OBJ_306 /* mbedTLS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::mbedTLS::Product" /* mbedTLS.framework */; };
|
|
||||||
OBJ_322 /* ovpncli.mm in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* ovpncli.mm */; };
|
OBJ_322 /* ovpncli.mm in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* ovpncli.mm */; };
|
||||||
OBJ_324 /* mbedTLS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::mbedTLS::Product" /* mbedTLS.framework */; };
|
OBJ_324 /* mbedTLS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::mbedTLS::Product" /* mbedTLS.framework */; };
|
||||||
OBJ_325 /* LZ4.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::LZ4::Product" /* LZ4.framework */; };
|
OBJ_325 /* LZ4.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "OpenVPNAdapter::LZ4::Product" /* LZ4.framework */; };
|
||||||
@@ -175,6 +180,27 @@
|
|||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
|
C97E5FE224124652005C2EBC /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = OBJ_1 /* Project object */;
|
||||||
|
proxyType = 1;
|
||||||
|
remoteGlobalIDString = "OpenVPNAdapter::OpenVPNAdapter";
|
||||||
|
remoteInfo = OpenVPNAdapter;
|
||||||
|
};
|
||||||
|
C97E5FE924124B6F005C2EBC /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = OBJ_1 /* Project object */;
|
||||||
|
proxyType = 1;
|
||||||
|
remoteGlobalIDString = "OpenVPNAdapter::LZ4";
|
||||||
|
remoteInfo = LZ4;
|
||||||
|
};
|
||||||
|
C97E5FEE24124B73005C2EBC /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = OBJ_1 /* Project object */;
|
||||||
|
proxyType = 1;
|
||||||
|
remoteGlobalIDString = "OpenVPNAdapter::mbedTLS";
|
||||||
|
remoteInfo = mbedTLS;
|
||||||
|
};
|
||||||
C9EABF2A2411076400D828D4 /* PBXContainerItemProxy */ = {
|
C9EABF2A2411076400D828D4 /* PBXContainerItemProxy */ = {
|
||||||
isa = PBXContainerItemProxy;
|
isa = PBXContainerItemProxy;
|
||||||
containerPortal = OBJ_1 /* Project object */;
|
containerPortal = OBJ_1 /* Project object */;
|
||||||
@@ -196,20 +222,6 @@
|
|||||||
remoteGlobalIDString = "OpenVPNAdapter::OpenVPNClient";
|
remoteGlobalIDString = "OpenVPNAdapter::OpenVPNClient";
|
||||||
remoteInfo = OpenVPNClient;
|
remoteInfo = OpenVPNClient;
|
||||||
};
|
};
|
||||||
C9EABF2D2411076400D828D4 /* PBXContainerItemProxy */ = {
|
|
||||||
isa = PBXContainerItemProxy;
|
|
||||||
containerPortal = OBJ_1 /* Project object */;
|
|
||||||
proxyType = 1;
|
|
||||||
remoteGlobalIDString = "OpenVPNAdapter::LZ4";
|
|
||||||
remoteInfo = LZ4;
|
|
||||||
};
|
|
||||||
C9EABF2E2411076400D828D4 /* PBXContainerItemProxy */ = {
|
|
||||||
isa = PBXContainerItemProxy;
|
|
||||||
containerPortal = OBJ_1 /* Project object */;
|
|
||||||
proxyType = 1;
|
|
||||||
remoteGlobalIDString = "OpenVPNAdapter::mbedTLS";
|
|
||||||
remoteInfo = mbedTLS;
|
|
||||||
};
|
|
||||||
/* End PBXContainerItemProxy section */
|
/* End PBXContainerItemProxy section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
@@ -253,6 +265,13 @@
|
|||||||
C97E5FB724123211005C2EBC /* OpenVPNTransportProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNTransportProtocol.h; sourceTree = "<group>"; };
|
C97E5FB724123211005C2EBC /* OpenVPNTransportProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenVPNTransportProtocol.h; sourceTree = "<group>"; };
|
||||||
C97E5FB92412334B005C2EBC /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
|
C97E5FB92412334B005C2EBC /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
|
||||||
C97E5FBA2412344D005C2EBC /* Umbrella-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Umbrella-Header.h"; sourceTree = "<group>"; };
|
C97E5FBA2412344D005C2EBC /* Umbrella-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Umbrella-Header.h"; sourceTree = "<group>"; };
|
||||||
|
C97E5FCD24123F2E005C2EBC /* OpenVPNAdapterTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = OpenVPNAdapterTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
C97E5FD624123F48005C2EBC /* OpenVPNReachabilityTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenVPNReachabilityTests.swift; sourceTree = "<group>"; };
|
||||||
|
C97E5FD724123F48005C2EBC /* OpenVPNConfigurationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenVPNConfigurationTests.swift; sourceTree = "<group>"; };
|
||||||
|
C97E5FD824123F48005C2EBC /* CustomFlow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomFlow.swift; sourceTree = "<group>"; };
|
||||||
|
C97E5FD924123F48005C2EBC /* OpenVPNAdapterTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenVPNAdapterTests.swift; sourceTree = "<group>"; };
|
||||||
|
C97E5FDA24123F48005C2EBC /* VPNProfile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VPNProfile.swift; sourceTree = "<group>"; };
|
||||||
|
C97E5FDB24123F48005C2EBC /* Bundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Bundle.swift; sourceTree = "<group>"; };
|
||||||
C9EABF3024110BE200D828D4 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
|
C9EABF3024110BE200D828D4 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
|
||||||
C9EABF3224110E7500D828D4 /* ovpnapi.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = ovpnapi.hpp; sourceTree = "<group>"; };
|
C9EABF3224110E7500D828D4 /* ovpnapi.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = ovpnapi.hpp; sourceTree = "<group>"; };
|
||||||
C9EABF3324110E7500D828D4 /* ovpncli.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = ovpncli.hpp; sourceTree = "<group>"; };
|
C9EABF3324110E7500D828D4 /* ovpncli.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = ovpncli.hpp; sourceTree = "<group>"; };
|
||||||
@@ -463,6 +482,13 @@
|
|||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
C97E5FCA24123F2E005C2EBC /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
OBJ_254 /* Frameworks */ = {
|
OBJ_254 /* Frameworks */ = {
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 0;
|
buildActionMask = 0;
|
||||||
@@ -475,10 +501,10 @@
|
|||||||
buildActionMask = 0;
|
buildActionMask = 0;
|
||||||
files = (
|
files = (
|
||||||
OBJ_304 /* OpenVPNClient.framework in Frameworks */,
|
OBJ_304 /* OpenVPNClient.framework in Frameworks */,
|
||||||
OBJ_305 /* LZ4.framework in Frameworks */,
|
|
||||||
C9EABF3124110BE200D828D4 /* SystemConfiguration.framework in Frameworks */,
|
C9EABF3124110BE200D828D4 /* SystemConfiguration.framework in Frameworks */,
|
||||||
OBJ_306 /* mbedTLS.framework in Frameworks */,
|
C97E5FEC24124B73005C2EBC /* mbedTLS.framework in Frameworks */,
|
||||||
C9EABF772411215C00D828D4 /* UIKit.framework in Frameworks */,
|
C9EABF772411215C00D828D4 /* UIKit.framework in Frameworks */,
|
||||||
|
C97E5FE724124B6F005C2EBC /* LZ4.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -501,6 +527,20 @@
|
|||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
|
C97E5FD524123F48005C2EBC /* OpenVPNAdapter */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
C97E5FDB24123F48005C2EBC /* Bundle.swift */,
|
||||||
|
C97E5FDA24123F48005C2EBC /* VPNProfile.swift */,
|
||||||
|
C97E5FD824123F48005C2EBC /* CustomFlow.swift */,
|
||||||
|
C97E5FD624123F48005C2EBC /* OpenVPNReachabilityTests.swift */,
|
||||||
|
C97E5FD724123F48005C2EBC /* OpenVPNConfigurationTests.swift */,
|
||||||
|
C97E5FD924123F48005C2EBC /* OpenVPNAdapterTests.swift */,
|
||||||
|
);
|
||||||
|
name = OpenVPNAdapter;
|
||||||
|
path = Tests/OpenVPNAdapter;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
C9EABF2F24110BE100D828D4 /* Frameworks */ = {
|
C9EABF2F24110BE100D828D4 /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@@ -633,6 +673,7 @@
|
|||||||
OBJ_231 /* Tests */ = {
|
OBJ_231 /* Tests */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
C97E5FD524123F48005C2EBC /* OpenVPNAdapter */,
|
||||||
);
|
);
|
||||||
name = Tests;
|
name = Tests;
|
||||||
sourceTree = SOURCE_ROOT;
|
sourceTree = SOURCE_ROOT;
|
||||||
@@ -644,6 +685,7 @@
|
|||||||
"OpenVPNAdapter::OpenVPNAdapter::Product" /* OpenVPNAdapter.framework */,
|
"OpenVPNAdapter::OpenVPNAdapter::Product" /* OpenVPNAdapter.framework */,
|
||||||
"OpenVPNAdapter::OpenVPNClient::Product" /* OpenVPNClient.framework */,
|
"OpenVPNAdapter::OpenVPNClient::Product" /* OpenVPNClient.framework */,
|
||||||
"OpenVPNAdapter::LZ4::Product" /* LZ4.framework */,
|
"OpenVPNAdapter::LZ4::Product" /* LZ4.framework */,
|
||||||
|
C97E5FCD24123F2E005C2EBC /* OpenVPNAdapterTests.xctest */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = BUILT_PRODUCTS_DIR;
|
sourceTree = BUILT_PRODUCTS_DIR;
|
||||||
@@ -653,6 +695,8 @@
|
|||||||
children = (
|
children = (
|
||||||
OBJ_48 /* include */,
|
OBJ_48 /* include */,
|
||||||
OBJ_27 /* library */,
|
OBJ_27 /* library */,
|
||||||
|
C97E5FBA2412344D005C2EBC /* Umbrella-Header.h */,
|
||||||
|
C97E5FB92412334B005C2EBC /* module.modulemap */,
|
||||||
);
|
);
|
||||||
name = OpenVPNAdapter;
|
name = OpenVPNAdapter;
|
||||||
path = Sources/OpenVPNAdapter;
|
path = Sources/OpenVPNAdapter;
|
||||||
@@ -748,8 +792,6 @@
|
|||||||
OBJ_68 /* OpenVPNTransportStats.h */,
|
OBJ_68 /* OpenVPNTransportStats.h */,
|
||||||
OBJ_69 /* OpenVPNSessionToken.h */,
|
OBJ_69 /* OpenVPNSessionToken.h */,
|
||||||
OBJ_70 /* OpenVPNCertificate.h */,
|
OBJ_70 /* OpenVPNCertificate.h */,
|
||||||
C97E5FBA2412344D005C2EBC /* Umbrella-Header.h */,
|
|
||||||
C97E5FB92412334B005C2EBC /* module.modulemap */,
|
|
||||||
);
|
);
|
||||||
path = include;
|
path = include;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -770,8 +812,8 @@
|
|||||||
children = (
|
children = (
|
||||||
OBJ_8 /* LZ4 */,
|
OBJ_8 /* LZ4 */,
|
||||||
OBJ_76 /* mbedTLS */,
|
OBJ_76 /* mbedTLS */,
|
||||||
OBJ_26 /* OpenVPNAdapter */,
|
|
||||||
OBJ_71 /* OpenVPNClient */,
|
OBJ_71 /* OpenVPNClient */,
|
||||||
|
OBJ_26 /* OpenVPNAdapter */,
|
||||||
);
|
);
|
||||||
name = Sources;
|
name = Sources;
|
||||||
sourceTree = SOURCE_ROOT;
|
sourceTree = SOURCE_ROOT;
|
||||||
@@ -969,13 +1011,31 @@
|
|||||||
OBJ_302 /* OpenVPNCertificate.h in Headers */,
|
OBJ_302 /* OpenVPNCertificate.h in Headers */,
|
||||||
C97E5FAC241231AA005C2EBC /* OpenVPNServerEntry+Internal.h in Headers */,
|
C97E5FAC241231AA005C2EBC /* OpenVPNServerEntry+Internal.h in Headers */,
|
||||||
C97E5F90241230B3005C2EBC /* OpenVPNIPv6Preference.h in Headers */,
|
C97E5F90241230B3005C2EBC /* OpenVPNIPv6Preference.h in Headers */,
|
||||||
C97E5FBB2412344D005C2EBC /* Umbrella-Header.h in Headers */,
|
C97E5FE624124B0E005C2EBC /* Umbrella-Header.h in Headers */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
/* End PBXHeadersBuildPhase section */
|
/* End PBXHeadersBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
|
C97E5FCC24123F2E005C2EBC /* OpenVPNAdapterTests */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = C97E5FD424123F2E005C2EBC /* Build configuration list for PBXNativeTarget "OpenVPNAdapterTests" */;
|
||||||
|
buildPhases = (
|
||||||
|
C97E5FC924123F2E005C2EBC /* Sources */,
|
||||||
|
C97E5FCA24123F2E005C2EBC /* Frameworks */,
|
||||||
|
C97E5FCB24123F2E005C2EBC /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
C97E5FE324124652005C2EBC /* PBXTargetDependency */,
|
||||||
|
);
|
||||||
|
name = OpenVPNAdapterTests;
|
||||||
|
productName = OpenVPNAdapterTests;
|
||||||
|
productReference = C97E5FCD24123F2E005C2EBC /* OpenVPNAdapterTests.xctest */;
|
||||||
|
productType = "com.apple.product-type.bundle.unit-test";
|
||||||
|
};
|
||||||
"OpenVPNAdapter::LZ4" /* LZ4 */ = {
|
"OpenVPNAdapter::LZ4" /* LZ4 */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = OBJ_246 /* Build configuration list for PBXNativeTarget "LZ4" */;
|
buildConfigurationList = OBJ_246 /* Build configuration list for PBXNativeTarget "LZ4" */;
|
||||||
@@ -1004,8 +1064,8 @@
|
|||||||
);
|
);
|
||||||
dependencies = (
|
dependencies = (
|
||||||
OBJ_307 /* PBXTargetDependency */,
|
OBJ_307 /* PBXTargetDependency */,
|
||||||
OBJ_309 /* PBXTargetDependency */,
|
C97E5FEA24124B6F005C2EBC /* PBXTargetDependency */,
|
||||||
OBJ_310 /* PBXTargetDependency */,
|
C97E5FEF24124B73005C2EBC /* PBXTargetDependency */,
|
||||||
);
|
);
|
||||||
name = OpenVPNAdapter;
|
name = OpenVPNAdapter;
|
||||||
productName = OpenVPNAdapter;
|
productName = OpenVPNAdapter;
|
||||||
@@ -1053,7 +1113,13 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastSwiftMigration = 9999;
|
LastSwiftMigration = 9999;
|
||||||
|
LastSwiftUpdateCheck = 1130;
|
||||||
LastUpgradeCheck = 9999;
|
LastUpgradeCheck = 9999;
|
||||||
|
TargetAttributes = {
|
||||||
|
C97E5FCC24123F2E005C2EBC = {
|
||||||
|
CreatedOnToolsVersion = 11.3.1;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "OpenVPNAdapter" */;
|
buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "OpenVPNAdapter" */;
|
||||||
compatibilityVersion = "Xcode 11.0";
|
compatibilityVersion = "Xcode 11.0";
|
||||||
@@ -1071,11 +1137,34 @@
|
|||||||
"OpenVPNAdapter::mbedTLS" /* mbedTLS */,
|
"OpenVPNAdapter::mbedTLS" /* mbedTLS */,
|
||||||
"OpenVPNAdapter::OpenVPNClient" /* OpenVPNClient */,
|
"OpenVPNAdapter::OpenVPNClient" /* OpenVPNClient */,
|
||||||
"OpenVPNAdapter::OpenVPNAdapter" /* OpenVPNAdapter */,
|
"OpenVPNAdapter::OpenVPNAdapter" /* OpenVPNAdapter */,
|
||||||
|
C97E5FCC24123F2E005C2EBC /* OpenVPNAdapterTests */,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
|
C97E5FCB24123F2E005C2EBC /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
C97E5FC924123F2E005C2EBC /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
C97E5FE124123F48005C2EBC /* Bundle.swift in Sources */,
|
||||||
|
C97E5FDD24123F48005C2EBC /* OpenVPNConfigurationTests.swift in Sources */,
|
||||||
|
C97E5FDF24123F48005C2EBC /* OpenVPNAdapterTests.swift in Sources */,
|
||||||
|
C97E5FDE24123F48005C2EBC /* CustomFlow.swift in Sources */,
|
||||||
|
C97E5FE024123F48005C2EBC /* VPNProfile.swift in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
OBJ_249 /* Sources */ = {
|
OBJ_249 /* Sources */ = {
|
||||||
isa = PBXSourcesBuildPhase;
|
isa = PBXSourcesBuildPhase;
|
||||||
buildActionMask = 0;
|
buildActionMask = 0;
|
||||||
@@ -1204,21 +1293,26 @@
|
|||||||
/* End PBXSourcesBuildPhase section */
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXTargetDependency section */
|
/* Begin PBXTargetDependency section */
|
||||||
|
C97E5FE324124652005C2EBC /* PBXTargetDependency */ = {
|
||||||
|
isa = PBXTargetDependency;
|
||||||
|
target = "OpenVPNAdapter::OpenVPNAdapter" /* OpenVPNAdapter */;
|
||||||
|
targetProxy = C97E5FE224124652005C2EBC /* PBXContainerItemProxy */;
|
||||||
|
};
|
||||||
|
C97E5FEA24124B6F005C2EBC /* PBXTargetDependency */ = {
|
||||||
|
isa = PBXTargetDependency;
|
||||||
|
target = "OpenVPNAdapter::LZ4" /* LZ4 */;
|
||||||
|
targetProxy = C97E5FE924124B6F005C2EBC /* PBXContainerItemProxy */;
|
||||||
|
};
|
||||||
|
C97E5FEF24124B73005C2EBC /* PBXTargetDependency */ = {
|
||||||
|
isa = PBXTargetDependency;
|
||||||
|
target = "OpenVPNAdapter::mbedTLS" /* mbedTLS */;
|
||||||
|
targetProxy = C97E5FEE24124B73005C2EBC /* PBXContainerItemProxy */;
|
||||||
|
};
|
||||||
OBJ_307 /* PBXTargetDependency */ = {
|
OBJ_307 /* PBXTargetDependency */ = {
|
||||||
isa = PBXTargetDependency;
|
isa = PBXTargetDependency;
|
||||||
target = "OpenVPNAdapter::OpenVPNClient" /* OpenVPNClient */;
|
target = "OpenVPNAdapter::OpenVPNClient" /* OpenVPNClient */;
|
||||||
targetProxy = C9EABF2C2411076400D828D4 /* PBXContainerItemProxy */;
|
targetProxy = C9EABF2C2411076400D828D4 /* PBXContainerItemProxy */;
|
||||||
};
|
};
|
||||||
OBJ_309 /* PBXTargetDependency */ = {
|
|
||||||
isa = PBXTargetDependency;
|
|
||||||
target = "OpenVPNAdapter::LZ4" /* LZ4 */;
|
|
||||||
targetProxy = C9EABF2D2411076400D828D4 /* PBXContainerItemProxy */;
|
|
||||||
};
|
|
||||||
OBJ_310 /* PBXTargetDependency */ = {
|
|
||||||
isa = PBXTargetDependency;
|
|
||||||
target = "OpenVPNAdapter::mbedTLS" /* mbedTLS */;
|
|
||||||
targetProxy = C9EABF2E2411076400D828D4 /* PBXContainerItemProxy */;
|
|
||||||
};
|
|
||||||
OBJ_326 /* PBXTargetDependency */ = {
|
OBJ_326 /* PBXTargetDependency */ = {
|
||||||
isa = PBXTargetDependency;
|
isa = PBXTargetDependency;
|
||||||
target = "OpenVPNAdapter::mbedTLS" /* mbedTLS */;
|
target = "OpenVPNAdapter::mbedTLS" /* mbedTLS */;
|
||||||
@@ -1232,6 +1326,126 @@
|
|||||||
/* End PBXTargetDependency section */
|
/* End PBXTargetDependency section */
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
|
C97E5FD224123F2E005C2EBC /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
CODE_SIGN_STYLE = Manual;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
ENABLE_TESTABILITY = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
"DEBUG=1",
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
INFOPLIST_FILE = OpenVPNAdapter.xcodeproj/OpenVPNAdapterTests_Info.plist;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
"@loader_path/Frameworks",
|
||||||
|
);
|
||||||
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "me.ss-abramchuk.openvpn-adapter-tests";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
C97E5FD324123F2E005C2EBC /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
CODE_SIGN_STYLE = Manual;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
INFOPLIST_FILE = OpenVPNAdapter.xcodeproj/OpenVPNAdapterTests_Info.plist;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
"@loader_path/Frameworks",
|
||||||
|
);
|
||||||
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "me.ss-abramchuk.openvpn-adapter-tests";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
VALIDATE_PRODUCT = YES;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
OBJ_247 /* Debug */ = {
|
OBJ_247 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = C9EABF7524111E9C00D828D4 /* LZ4.xcconfig */;
|
baseConfigurationReference = C9EABF7524111E9C00D828D4 /* LZ4.xcconfig */;
|
||||||
@@ -1517,6 +1731,15 @@
|
|||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
|
C97E5FD424123F2E005C2EBC /* Build configuration list for PBXNativeTarget "OpenVPNAdapterTests" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
C97E5FD224123F2E005C2EBC /* Debug */,
|
||||||
|
C97E5FD324123F2E005C2EBC /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
OBJ_2 /* Build configuration list for PBXProject "OpenVPNAdapter" */ = {
|
OBJ_2 /* Build configuration list for PBXProject "OpenVPNAdapter" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
|
|||||||
@@ -6,20 +6,6 @@
|
|||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
buildImplicitDependencies = "YES">
|
buildImplicitDependencies = "YES">
|
||||||
<BuildActionEntries>
|
<BuildActionEntries>
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "OpenVPNAdapter::OpenVPNClient"
|
|
||||||
BuildableName = "OpenVPNClient.framework"
|
|
||||||
BlueprintName = "OpenVPNClient"
|
|
||||||
ReferencedContainer = "container:OpenVPNAdapter.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
<BuildActionEntry
|
<BuildActionEntry
|
||||||
buildForTesting = "YES"
|
buildForTesting = "YES"
|
||||||
buildForRunning = "YES"
|
buildForRunning = "YES"
|
||||||
@@ -42,9 +28,9 @@
|
|||||||
buildForAnalyzing = "YES">
|
buildForAnalyzing = "YES">
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "OpenVPNAdapter::OpenVPNAdapter"
|
BlueprintIdentifier = "OpenVPNAdapter::LZ4"
|
||||||
BuildableName = "OpenVPNAdapter.framework"
|
BuildableName = "LZ4.framework"
|
||||||
BlueprintName = "OpenVPNAdapter"
|
BlueprintName = "LZ4"
|
||||||
ReferencedContainer = "container:OpenVPNAdapter.xcodeproj">
|
ReferencedContainer = "container:OpenVPNAdapter.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
@@ -56,9 +42,23 @@
|
|||||||
buildForAnalyzing = "YES">
|
buildForAnalyzing = "YES">
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "OpenVPNAdapter::LZ4"
|
BlueprintIdentifier = "OpenVPNAdapter::OpenVPNClient"
|
||||||
BuildableName = "LZ4.framework"
|
BuildableName = "OpenVPNClient.framework"
|
||||||
BlueprintName = "LZ4"
|
BlueprintName = "OpenVPNClient"
|
||||||
|
ReferencedContainer = "container:OpenVPNAdapter.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "OpenVPNAdapter::OpenVPNAdapter"
|
||||||
|
BuildableName = "OpenVPNAdapter.framework"
|
||||||
|
BlueprintName = "OpenVPNAdapter"
|
||||||
ReferencedContainer = "container:OpenVPNAdapter.xcodeproj">
|
ReferencedContainer = "container:OpenVPNAdapter.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
@@ -70,6 +70,21 @@
|
|||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
<Testables>
|
<Testables>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "C97E5FCC24123F2E005C2EBC"
|
||||||
|
BuildableName = "OpenVPNAdapterTests.xctest"
|
||||||
|
BlueprintName = "OpenVPNAdapterTests"
|
||||||
|
ReferencedContainer = "container:OpenVPNAdapter.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
<SkippedTests>
|
||||||
|
<Test
|
||||||
|
Identifier = "OpenVPNReachabilityTests">
|
||||||
|
</Test>
|
||||||
|
</SkippedTests>
|
||||||
|
</TestableReference>
|
||||||
</Testables>
|
</Testables>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
@@ -89,6 +104,15 @@
|
|||||||
savedToolIdentifier = ""
|
savedToolIdentifier = ""
|
||||||
useCustomWorkingDirectory = "NO"
|
useCustomWorkingDirectory = "NO"
|
||||||
debugDocumentVersioning = "YES">
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "OpenVPNAdapter::OpenVPNClient"
|
||||||
|
BuildableName = "OpenVPNClient.framework"
|
||||||
|
BlueprintName = "OpenVPNClient"
|
||||||
|
ReferencedContainer = "container:OpenVPNAdapter.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
</ProfileAction>
|
</ProfileAction>
|
||||||
<AnalyzeAction
|
<AnalyzeAction
|
||||||
buildConfiguration = "Debug">
|
buildConfiguration = "Debug">
|
||||||
|
|||||||
@@ -1,100 +0,0 @@
|
|||||||
//
|
|
||||||
// OpenVPNCertificateTests.swift
|
|
||||||
// OpenVPN Adapter
|
|
||||||
//
|
|
||||||
// Created by Sergey Abramchuk on 06.09.17.
|
|
||||||
//
|
|
||||||
//
|
|
||||||
|
|
||||||
import XCTest
|
|
||||||
@testable import OpenVPNAdapter
|
|
||||||
|
|
||||||
class OpenVPNCertificateTests: XCTestCase {
|
|
||||||
|
|
||||||
override func setUp() {
|
|
||||||
super.setUp()
|
|
||||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
|
||||||
}
|
|
||||||
|
|
||||||
override func tearDown() {
|
|
||||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
|
||||||
super.tearDown()
|
|
||||||
}
|
|
||||||
|
|
||||||
func testCertificatePEMandDER() {
|
|
||||||
guard
|
|
||||||
let caURL = Bundle.current.url(forResource: "test-ca", withExtension: "crt"),
|
|
||||||
let caOriginalPEMData = try? Data(contentsOf: caURL)
|
|
||||||
else {
|
|
||||||
XCTFail()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let certificateFromPEM: OpenVPNCertificate
|
|
||||||
do {
|
|
||||||
certificateFromPEM = try OpenVPNCertificate(pem: caOriginalPEMData)
|
|
||||||
} catch {
|
|
||||||
XCTFail(error.localizedDescription)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let caDERData: Data
|
|
||||||
do {
|
|
||||||
caDERData = try certificateFromPEM.derData()
|
|
||||||
} catch {
|
|
||||||
XCTFail(error.localizedDescription)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let certificateFromDER: OpenVPNCertificate
|
|
||||||
do {
|
|
||||||
certificateFromDER = try OpenVPNCertificate(der: caDERData)
|
|
||||||
} catch {
|
|
||||||
XCTFail(error.localizedDescription)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let caGeneratedPEMData: Data
|
|
||||||
do {
|
|
||||||
caGeneratedPEMData = try certificateFromDER.pemData()
|
|
||||||
} catch {
|
|
||||||
XCTFail(error.localizedDescription)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
XCTAssert(caGeneratedPEMData.elementsEqual(caOriginalPEMData))
|
|
||||||
}
|
|
||||||
|
|
||||||
func testCertificateFromEmptyPEM() {
|
|
||||||
let caData = Data(count: 1024)
|
|
||||||
|
|
||||||
do {
|
|
||||||
let _ = try OpenVPNCertificate(pem: caData)
|
|
||||||
} catch {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
XCTFail("Initialization with empty PEM data should fail")
|
|
||||||
}
|
|
||||||
|
|
||||||
func testReadSerial() {
|
|
||||||
guard
|
|
||||||
let caURL = Bundle.current.url(forResource: "test-ca", withExtension: "crt"),
|
|
||||||
let caOriginalPEMData = try? Data(contentsOf: caURL)
|
|
||||||
else {
|
|
||||||
XCTFail()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let certificateFromPEM: OpenVPNCertificate
|
|
||||||
do {
|
|
||||||
certificateFromPEM = try OpenVPNCertificate(pem: caOriginalPEMData)
|
|
||||||
} catch {
|
|
||||||
XCTFail(error.localizedDescription)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
XCTAssert(!certificateFromPEM.serial.isEmpty)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
//
|
|
||||||
// OpenVPNPrivateKeyTests.swift
|
|
||||||
// OpenVPN Adapter
|
|
||||||
//
|
|
||||||
// Created by Sergey Abramchuk on 07.09.17.
|
|
||||||
//
|
|
||||||
//
|
|
||||||
|
|
||||||
import XCTest
|
|
||||||
@testable import OpenVPNAdapter
|
|
||||||
|
|
||||||
class OpenVPNPrivateKeyTests: XCTestCase {
|
|
||||||
|
|
||||||
override func setUp() {
|
|
||||||
super.setUp()
|
|
||||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
|
||||||
}
|
|
||||||
|
|
||||||
override func tearDown() {
|
|
||||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
|
||||||
super.tearDown()
|
|
||||||
}
|
|
||||||
|
|
||||||
func testKeyPEMandDERWithoutPassword() {
|
|
||||||
guard
|
|
||||||
let caURL = Bundle.current.url(forResource: "keyfile-decrypted", withExtension: "3des"),
|
|
||||||
let caOriginalPEMData = try? Data(contentsOf: caURL)
|
|
||||||
else {
|
|
||||||
XCTFail()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let keyFromPEM: OpenVPNPrivateKey
|
|
||||||
do {
|
|
||||||
keyFromPEM = try OpenVPNPrivateKey(pem: caOriginalPEMData, password: nil)
|
|
||||||
} catch {
|
|
||||||
XCTFail("\(error)")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
XCTAssert(keyFromPEM.type == .RSA)
|
|
||||||
|
|
||||||
let keyDERData: Data
|
|
||||||
do {
|
|
||||||
keyDERData = try keyFromPEM.derData()
|
|
||||||
} catch {
|
|
||||||
XCTFail("\(error)")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let keyFromDER: OpenVPNPrivateKey
|
|
||||||
do {
|
|
||||||
keyFromDER = try OpenVPNPrivateKey(der: keyDERData, password: nil)
|
|
||||||
} catch {
|
|
||||||
XCTFail("\(error)")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
XCTAssert(keyFromDER.type == .RSA)
|
|
||||||
|
|
||||||
let keyGeneratedPEMData: Data
|
|
||||||
do {
|
|
||||||
keyGeneratedPEMData = try keyFromDER.pemData()
|
|
||||||
} catch {
|
|
||||||
XCTFail("\(error)")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
XCTAssert(keyGeneratedPEMData.elementsEqual(caOriginalPEMData))
|
|
||||||
}
|
|
||||||
|
|
||||||
func testKeyPEMandDERWithPassword() {
|
|
||||||
guard
|
|
||||||
let keyURL = Bundle.current.url(forResource: "keyfile-encrypted", withExtension: "3des"),
|
|
||||||
let keyOriginalPEMData = try? Data(contentsOf: keyURL)
|
|
||||||
else {
|
|
||||||
XCTFail()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let keyFromPEM: OpenVPNPrivateKey
|
|
||||||
do {
|
|
||||||
keyFromPEM = try OpenVPNPrivateKey(pem: keyOriginalPEMData, password: "testkey")
|
|
||||||
} catch {
|
|
||||||
XCTFail("\(error)")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let keyDERData: Data
|
|
||||||
do {
|
|
||||||
keyDERData = try keyFromPEM.derData()
|
|
||||||
} catch {
|
|
||||||
XCTFail("\(error)")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let keyFromDER: OpenVPNPrivateKey
|
|
||||||
do {
|
|
||||||
keyFromDER = try OpenVPNPrivateKey(der: keyDERData, password: nil)
|
|
||||||
} catch {
|
|
||||||
XCTFail("\(error)")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let keyGeneratedPEMData: Data
|
|
||||||
do {
|
|
||||||
keyGeneratedPEMData = try keyFromDER.pemData()
|
|
||||||
} catch {
|
|
||||||
XCTFail("\(error)")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
guard
|
|
||||||
let keySampleURL = Bundle.current.url(forResource: "keyfile-decrypted", withExtension: "3des"),
|
|
||||||
let keySamplePEMData = try? Data(contentsOf: keySampleURL)
|
|
||||||
else {
|
|
||||||
XCTFail()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
XCTAssert(keyGeneratedPEMData.elementsEqual(keySamplePEMData))
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIICXgIBAAKBgQDMYfnvWtC8Id5bPKae5yXSxQTt+Zpul6AnnZWfI2TtIarvjHBF
|
|
||||||
UtXRo96y7hoL4VWOPKGCsRqMFDkrbeUjRrx8iL914/srnyf6sh9c8Zk04xEOpK1y
|
|
||||||
pvBz+Ks4uZObtjnnitf0NBGdjMKxveTq+VE7BWUIyQjtQ8mbDOsiLLvh7wIDAQAB
|
|
||||||
AoGAefPIT8MPpAJNjIE/JrfkAMTgsSLrvCurO5gzDBbxhPE+7tsMrsDDpuix3HBo
|
|
||||||
iEg3ZbzV3obQwV7b0gcr34W4t0CMuJf5b5irHRG8JcZuncmofDy6z7S5Vs75O85z
|
|
||||||
fVzTIuVUyuHy1rM6rSBYKfsMLVyImUb4wtIXEMHPzdCL9LECQQD3ZfgGqudMWq8v
|
|
||||||
3BlKhsQ4fsR0vxzNlMZfoRrZzcvBT339Bp1UQ8aUo8xBtHiRwuW1NaPNgYKX6XQ6
|
|
||||||
ppuWuTiJAkEA030i493KnFPLRwWypqF/s6ZNlVye+euFN5NF/IeJcvb/GUDRYv9O
|
|
||||||
pRozRS1jNx4ZB1K2xT7N9MwsPHD6j6K4twJBALdfHTfT9RzjGnae7SAQQ+CcFYFz
|
|
||||||
JiY6386B2yUVJLFj+j5RaMvMcKQ7xGnvGm7vxtNJrt/j3qg6oavXUfulzgECQQDP
|
|
||||||
CEVLhCd/+ZeZoz5MWPTGTRrOCKmoRqNW0FlG6PfpD1qSwh04KG44uflO0yu5HUGr
|
|
||||||
JZG+bcj4x5bWZFMkoUrpAkEAyEgQzesKFqcbt1cqv3pLXJYQBBw6leFXgHk11a7k
|
|
||||||
+AkexhrPYyq/4tXFO2TLk2hs7tpYgNDOqZCvEu7jtN3RuA==
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
Proc-Type: 4,ENCRYPTED
|
|
||||||
DEK-Info: DES-EDE3-CBC,BE8274D6692AF2A7
|
|
||||||
|
|
||||||
9ZXjoF55A9XgJpdaWmF/ZL1sJfbnE1M42N7HHRDwpq1/K+afC9poM0/AdCUbRL7w
|
|
||||||
uvQERievbAYpNeLdah1EftM6033e1oTxUMivdL4orDKcbb3qDpSQ0o0UbjavbT+d
|
|
||||||
aruilW8zVP4dz3mYMvGbkgoujgzdT+4wM0T1mTTuYcRKQsHlg7QDy2QrBILNuXA4
|
|
||||||
Hmye4GlSXVUSON8vPXT12V4oeubEIZVlnkLTRFGRVA4qz5tby9GBymkeNCBu+LCw
|
|
||||||
JwJLTbQwMFqozHvioq/2YBaHDcySpTD4X5AwrCjifUNO9BnLWLAmt8dOWr0z+48E
|
|
||||||
P/yWr5xZl3DrKh9r9EGb9xbTxhum3yHV7bvXLoUH+t9gowmd4Lq3Qjjf8jQXle0P
|
|
||||||
zoCOVxwN1E1IMhleEUPV7L8mbt26b0JyvrSS5ByrXahGu9vGQyy7qqx9ZANkzgXF
|
|
||||||
3hPMDuzQXMJiUeG92VsMEdGdA1/8V5ro+ceB5c7Zca5MjMzvx2tihda7BUjj6dSE
|
|
||||||
cA8Vvksy/NX/nqHSt0aSgphvBmZP8dN6GMcZ+hT7p0fhCq4mSFEykQqueKXiFUfz
|
|
||||||
0xCUVZC6WzOoEkc8k7xiLWQDlsZZ13Z4yxU1IxJp7llZXpZ8GkwS+678/Nx8h54A
|
|
||||||
mv5ZlSFWWQrvN5JPQJka7aU2ITu1LUK6mXBu+DoSDOfQuqR4vQytkjOqHK185iHs
|
|
||||||
JQtBGkFFdElkWgubPX/S8/xxoT8MoQY/c+dr6iwcswyUnSJXh32KLPGNBoqWCCbY
|
|
||||||
jp/VYmeb117gNpEJKJhcNbrP7DoQrC3/D7JFXnOvTA/z6FOtUmz0rQ==
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICUjCCAdegAwIBAgIJAMFD4n5iQ8zoMAoGCCqGSM49BAMCMD4xCzAJBgNVBAYT
|
|
||||||
Ak5MMREwDwYDVQQKEwhQb2xhclNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBF
|
|
||||||
QyBDQTAeFw0xMzA5MjQxNTQ5NDhaFw0yMzA5MjIxNTQ5NDhaMD4xCzAJBgNVBAYT
|
|
||||||
Ak5MMREwDwYDVQQKEwhQb2xhclNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBF
|
|
||||||
QyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABMPaKzRBN1gvh1b+/Im6KUNLTuBu
|
|
||||||
ww5XUzM5WNRStJGVOQsj318XJGJI/BqVKc4sLYfCiFKAr9ZqqyHduNMcbli4yuiy
|
|
||||||
aY7zQa0pw7RfdadHb9UZKVVpmlM7ILRmFmAzHqOBoDCBnTAdBgNVHQ4EFgQUnW0g
|
|
||||||
JEkBPyvLeLUZvH4kydv7NnwwbgYDVR0jBGcwZYAUnW0gJEkBPyvLeLUZvH4kydv7
|
|
||||||
NnyhQqRAMD4xCzAJBgNVBAYTAk5MMREwDwYDVQQKEwhQb2xhclNTTDEcMBoGA1UE
|
|
||||||
AxMTUG9sYXJzc2wgVGVzdCBFQyBDQYIJAMFD4n5iQ8zoMAwGA1UdEwQFMAMBAf8w
|
|
||||||
CgYIKoZIzj0EAwIDaQAwZgIxAMO0YnNWKJUAfXgSJtJxexn4ipg+kv4znuR50v56
|
|
||||||
t4d0PCu412mUC6Nnd7izvtE2MgIxAP1nnJQjZ8BWukszFQDG48wxCCyci9qpdSMv
|
|
||||||
uCjn8pwUOkABXK8Mss90fzCfCEOtIA==
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
Reference in New Issue
Block a user