mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2026-04-24 00:00:05 +08:00
Check for UNSPEC gateway within adapter
This commit is contained in:
@@ -145,12 +145,14 @@ static void socketCallback(CFSocketRef socket, CFSocketCallBackType type, CFData
|
|||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NSString *defaultGateway = [gateway length] == 0 || [gateway isEqualToString:@"UNSPEC"] ? nil : gateway;
|
||||||
|
|
||||||
if (isIPv6) {
|
if (isIPv6) {
|
||||||
if (!self.tunnelSettingsIPv6.initialized) {
|
if (!self.tunnelSettingsIPv6.initialized) {
|
||||||
self.tunnelSettingsIPv6.initialized = YES;
|
self.tunnelSettingsIPv6.initialized = YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.defaultGatewayIPv6 = gateway;
|
self.defaultGatewayIPv6 = defaultGateway
|
||||||
|
|
||||||
[self.tunnelSettingsIPv6.localAddresses addObject:address];
|
[self.tunnelSettingsIPv6.localAddresses addObject:address];
|
||||||
[self.tunnelSettingsIPv6.prefixLengths addObject:prefixLength];
|
[self.tunnelSettingsIPv6.prefixLengths addObject:prefixLength];
|
||||||
@@ -159,7 +161,7 @@ static void socketCallback(CFSocketRef socket, CFSocketCallBackType type, CFData
|
|||||||
self.tunnelSettingsIPv4.initialized = YES;
|
self.tunnelSettingsIPv4.initialized = YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.defaultGatewayIPv4 = gateway;
|
self.defaultGatewayIPv4 = defaultGateway;
|
||||||
|
|
||||||
[self.tunnelSettingsIPv4.localAddresses addObject:address];
|
[self.tunnelSettingsIPv4.localAddresses addObject:address];
|
||||||
[self.tunnelSettingsIPv4.prefixLengths addObject:prefixLength];
|
[self.tunnelSettingsIPv4.prefixLengths addObject:prefixLength];
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ bool OpenVPNClient::tun_builder_set_remote_address(const std::string &address, b
|
|||||||
|
|
||||||
bool OpenVPNClient::tun_builder_add_address(const std::string &address, int prefix_length, const std::string &gateway, bool ipv6, bool net30) {
|
bool OpenVPNClient::tun_builder_add_address(const std::string &address, int prefix_length, const std::string &gateway, bool ipv6, bool net30) {
|
||||||
NSString *localAddress = [NSString stringWithUTF8String:address.c_str()];
|
NSString *localAddress = [NSString stringWithUTF8String:address.c_str()];
|
||||||
NSString *gatewayAddress = !gateway.empty() && gateway.compare("UNSPEC") != 0 ? [NSString stringWithUTF8String:gateway.c_str()] : nil;
|
NSString *gatewayAddress = [NSString stringWithUTF8String:gateway.c_str()];
|
||||||
|
|
||||||
return [(__bridge OpenVPNAdapter *)adapter addLocalAddress:localAddress prefixLength:@(prefix_length) gateway:gatewayAddress isIPv6:ipv6];
|
return [(__bridge OpenVPNAdapter *)adapter addLocalAddress:localAddress prefixLength:@(prefix_length) gateway:gatewayAddress isIPv6:ipv6];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user