diff --git a/OpenVPN Adapter.xcodeproj/project.pbxproj b/OpenVPN Adapter.xcodeproj/project.pbxproj index 65ae32b..2900cac 100644 --- a/OpenVPN Adapter.xcodeproj/project.pbxproj +++ b/OpenVPN Adapter.xcodeproj/project.pbxproj @@ -9,10 +9,10 @@ /* 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 /* ConfigurationValues.h in Headers */ = {isa = PBXBuildFile; fileRef = C93779CC1EAE17F50030A362 /* ConfigurationValues.h */; }; - C93779CF1EAE17F50030A362 /* ConfigurationValues.mm in Sources */ = {isa = PBXBuildFile; fileRef = C93779CD1EAE17F50030A362 /* ConfigurationValues.mm */; }; - C93779D01EAE18730030A362 /* ConfigurationValues.h in Headers */ = {isa = PBXBuildFile; fileRef = C93779CC1EAE17F50030A362 /* ConfigurationValues.h */; }; - C93779D11EAE18760030A362 /* ConfigurationValues.mm in Sources */ = {isa = PBXBuildFile; fileRef = C93779CD1EAE17F50030A362 /* ConfigurationValues.mm */; }; + 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 */; }; C94605E91EAA656B00971516 /* OpenVPNConfigurationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C94605E81EAA656B00971516 /* OpenVPNConfigurationTests.swift */; }; C94605EA1EAA65F200971516 /* OpenVPNConfigurationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C94605E81EAA656B00971516 /* OpenVPNConfigurationTests.swift */; }; C98467A21EAA559B00272A9A /* local_key_auth.ovpn in Resources */ = {isa = PBXBuildFile; fileRef = C98467A11EAA559B00272A9A /* local_key_auth.ovpn */; }; @@ -84,8 +84,8 @@ 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 /* ConfigurationValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigurationValues.h; sourceTree = ""; }; - C93779CD1EAE17F50030A362 /* ConfigurationValues.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ConfigurationValues.mm; sourceTree = ""; }; + 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 = ""; }; C94605E81EAA656B00971516 /* OpenVPNConfigurationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenVPNConfigurationTests.swift; 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 = ""; }; @@ -205,8 +205,8 @@ C93779CB1EAE15F50030A362 /* Constants */ = { isa = PBXGroup; children = ( - C93779CC1EAE17F50030A362 /* ConfigurationValues.h */, - C93779CD1EAE17F50030A362 /* ConfigurationValues.mm */, + C93779CC1EAE17F50030A362 /* OpenVPNConfigurationValues.h */, + C93779CD1EAE17F50030A362 /* OpenVPNConfigurationValues.mm */, ); name = Constants; sourceTree = ""; @@ -345,7 +345,7 @@ C9BB477F1E7173C700F3F98C /* OpenVPNAdapter.h in Headers */, C98467AB1EAA5BE100272A9A /* OpenVPNConfiguration+Internal.h in Headers */, C98467A61EAA5B7700272A9A /* OpenVPNConfiguration.h in Headers */, - C93779CE1EAE17F50030A362 /* ConfigurationValues.h in Headers */, + C93779CE1EAE17F50030A362 /* OpenVPNConfigurationValues.h in Headers */, C9BB47601E71663A00F3F98C /* Umbrella-Header.h in Headers */, C9BB47811E7173C700F3F98C /* OpenVPNAdapter+Public.h in Headers */, C9BB47711E7171A100F3F98C /* OpenVPNError.h in Headers */, @@ -363,7 +363,7 @@ C9D2ABE51EA20F99007EDF9D /* OpenVPNAdapter.h in Headers */, C98467AC1EAA5BE200272A9A /* OpenVPNConfiguration+Internal.h in Headers */, C98467A71EAA5B7700272A9A /* OpenVPNConfiguration.h in Headers */, - C93779D01EAE18730030A362 /* ConfigurationValues.h in Headers */, + C93779D01EAE18730030A362 /* OpenVPNConfigurationValues.h in Headers */, C9D2ABE61EA20F99007EDF9D /* Umbrella-Header.h in Headers */, C9D2ABE71EA20F99007EDF9D /* OpenVPNAdapter+Public.h in Headers */, C9D2ABE81EA20F99007EDF9D /* OpenVPNError.h in Headers */, @@ -569,7 +569,7 @@ C9BB47821E7173C700F3F98C /* OpenVPNAdapter.mm in Sources */, C98467A81EAA5B7700272A9A /* OpenVPNConfiguration.mm in Sources */, C9BB477A1E7171ED00F3F98C /* OpenVPNClient.mm in Sources */, - C93779CF1EAE17F50030A362 /* ConfigurationValues.mm in Sources */, + C93779CF1EAE17F50030A362 /* OpenVPNConfigurationValues.mm in Sources */, C9FD921B1E9A667600374FC4 /* ovpncli.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -593,7 +593,7 @@ C98467A91EAA5B7700272A9A /* OpenVPNConfiguration.mm in Sources */, C9D2ABDC1EA20F99007EDF9D /* OpenVPNClient.mm in Sources */, C9D2ABDE1EA20F99007EDF9D /* ovpncli.cpp in Sources */, - C93779D11EAE18760030A362 /* ConfigurationValues.mm in Sources */, + C93779D11EAE18760030A362 /* OpenVPNConfigurationValues.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/OpenVPN Adapter/OpenVPNConfiguration.mm b/OpenVPN Adapter/OpenVPNConfiguration.mm index e15470d..5ed815a 100644 --- a/OpenVPN Adapter/OpenVPNConfiguration.mm +++ b/OpenVPN Adapter/OpenVPNConfiguration.mm @@ -6,7 +6,7 @@ // // -#import "ConfigurationValues.h" +#import "OpenVPNConfigurationValues.h" #import "OpenVPNConfiguration.h" #import "OpenVPNConfiguration+Internal.h" @@ -208,42 +208,33 @@ using namespace openvpn; - (OpenVPNCompressionMode)compressionMode { NSDictionary *options = @{ - @"yes": @(OpenVPNCompressionModeEnabled), - @"no": @(OpenVPNCompressionModeDisabled), - @"asym": @(OpenVPNCompressionModeAsym), - @"": @(OpenVPNCompressionModeDefault) + OpenVPNCompressionModeEnabledValue: @(OpenVPNCompressionModeEnabled), + OpenVPNCompressionModeDisabledValue: @(OpenVPNCompressionModeDisabled), + OpenVPNCompressionModeAsymValue: @(OpenVPNCompressionModeAsym), + OpenVPNCompressionModeDefaultValue: @(OpenVPNCompressionModeDefault) }; - NSString *currentValue = [NSString stringWithUTF8String:_config.compressionMode.c_str()]; + NSString *currentValue = _config.compressionMode.empty() ? OpenVPNCompressionModeDefaultValue : + [NSString stringWithUTF8String:_config.compressionMode.c_str()]; NSNumber *preference = options[currentValue]; - NSAssert(preference != nil, @"Incorrect compressionMode value"); + NSAssert(preference != nil, @"Incorrect compressionMode value: %@", currentValue); return (OpenVPNCompressionMode)[preference integerValue]; } - (void)setCompressionMode:(OpenVPNCompressionMode)compressionMode { - switch (compressionMode) { - case OpenVPNCompressionModeEnabled: - _config.compressionMode = "yes"; - break; - - case OpenVPNCompressionModeDisabled: - _config.compressionMode = "no"; - break; - - case OpenVPNCompressionModeAsym: - _config.compressionMode = "asym"; - break; - - case OpenVPNCompressionModeDefault: - _config.compressionMode = ""; - break; - - default: - NSAssert(NO, @"Incorrect OpenVPNCompressionMode value"); - break; - } + 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 *)privateKeyPassword { diff --git a/OpenVPN Adapter/ConfigurationValues.h b/OpenVPN Adapter/OpenVPNConfigurationValues.h similarity index 73% rename from OpenVPN Adapter/ConfigurationValues.h rename to OpenVPN Adapter/OpenVPNConfigurationValues.h index e7b3a06..0a95b8b 100644 --- a/OpenVPN Adapter/ConfigurationValues.h +++ b/OpenVPN Adapter/OpenVPNConfigurationValues.h @@ -1,5 +1,5 @@ // -// ConfigurationValues.h +// OpenVPNConfigurationValues.h // OpenVPN Adapter // // Created by Sergey Abramchuk on 24.04.17. @@ -8,6 +8,11 @@ #import +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; diff --git a/OpenVPN Adapter/ConfigurationValues.mm b/OpenVPN Adapter/OpenVPNConfigurationValues.mm similarity index 71% rename from OpenVPN Adapter/ConfigurationValues.mm rename to OpenVPN Adapter/OpenVPNConfigurationValues.mm index 1ae117c..a52c4fb 100644 --- a/OpenVPN Adapter/ConfigurationValues.mm +++ b/OpenVPN Adapter/OpenVPNConfigurationValues.mm @@ -1,12 +1,17 @@ // -// ConfigurationValues.m +// OpenVPNConfigurationValues.m // OpenVPN Adapter // // Created by Sergey Abramchuk on 24.04.17. // // -#import "ConfigurationValues.h" +#import "OpenVPNConfigurationValues.h" + +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";