diff --git a/OpenVPN Adapter/OpenVPNConfiguration.h b/OpenVPN Adapter/OpenVPNConfiguration.h index cd6ac2d..07acf6d 100644 --- a/OpenVPN Adapter/OpenVPNConfiguration.h +++ b/OpenVPN Adapter/OpenVPNConfiguration.h @@ -30,4 +30,16 @@ */ @property (nullable, nonatomic) NSString *guiVersion; +/** + Use a different server than that specified in "remote" + option of profile + */ +@property (nullable, nonatomic) NSString *serverOverride; + +/** + Force a given transport protocol + Should be tcp, udp, or adaptive. + */ +@property (nullable, nonatomic) NSString *protoOverride; + @end diff --git a/OpenVPN Adapter/OpenVPNConfiguration.mm b/OpenVPN Adapter/OpenVPNConfiguration.mm index 42373fc..892bdf1 100644 --- a/OpenVPN Adapter/OpenVPNConfiguration.mm +++ b/OpenVPN Adapter/OpenVPNConfiguration.mm @@ -73,4 +73,20 @@ using namespace openvpn; _config.guiVersion = guiVersion ? std::string([guiVersion UTF8String]) : ""; } +- (NSString *)serverOverride { + return _config.serverOverride.size() != 0 ? [NSString stringWithUTF8String:_config.serverOverride.c_str()] : nil; +} + +- (void)setServerOverride:(NSString *)serverOverride { + _config.serverOverride = serverOverride ? std::string([serverOverride UTF8String]) : ""; +} + +- (NSString *)protoOverride { + return _config.protoOverride.size() != 0 ? [NSString stringWithUTF8String:_config.protoOverride.c_str()] : nil; +} + +- (void)setProtoOverride:(NSString *)protoOverride { + _config.protoOverride = protoOverride ? std::string([protoOverride UTF8String]) : ""; +} + @end