Merge branch 'feature/reset-tunnel' into develop

This commit is contained in:
Sergey Abramchuk
2019-03-18 13:16:17 +03:00
5 changed files with 14 additions and 20 deletions

View File

@@ -34,11 +34,11 @@ typedef NS_ENUM(NSInteger, OpenVPNAdapterEvent);
the TUN interface, or nil if an error occurred.
@param openVPNAdapter The OpenVPNAdapter instance requesting this information.
@param networkSettings The NEPacketTunnelNetworkSettings to be used for the tunnel.
@param completionHandler The completion handler to be called with a NEPacketTunnelFlow object, or nil if an error occurred.
@param networkSettings The NEPacketTunnelNetworkSettings to be used for the tunnel. Provides nil to clear out the network settings.
@param completionHandler The completion handler to be called with a NEPacketTunnelFlow object, or nil if an error occurred or the network settings were cleared out.
*/
- (void)openVPNAdapter:(OpenVPNAdapter *)openVPNAdapter
configureTunnelWithNetworkSettings:(NEPacketTunnelNetworkSettings *)networkSettings
configureTunnelWithNetworkSettings:(nullable NEPacketTunnelNetworkSettings *)networkSettings
completionHandler:(void (^)(id<OpenVPNAdapterPacketFlow> _Nullable packetFlow))completionHandler
NS_SWIFT_NAME(openVPNAdapter(_:configureTunnelWithNetworkSettings:completionHandler:));

View File

@@ -398,6 +398,16 @@
_sessionName = nil;
_packetFlowBridge = nil;
_networkSettingsBuilder = nil;
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
void (^completionHandler)(id<OpenVPNAdapterPacketFlow> _Nullable) = ^(id<OpenVPNAdapterPacketFlow> flow) {
dispatch_semaphore_signal(semaphore);
};
[self.delegate openVPNAdapter:self configureTunnelWithNetworkSettings:nil completionHandler:completionHandler];
dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, 30 * NSEC_PER_SEC));
}
#pragma mark -

View File

@@ -64,11 +64,6 @@ typedef NS_ENUM(NSInteger, OpenVPNTLSCertProfile);
*/
@property (nonatomic) NSInteger connectionTimeout;
/**
Keep tun interface active during pauses or reconnections
*/
@property (nonatomic) BOOL tunPersist;
/**
If YES and a redirect-gateway profile doesn't also define
DNS servers, use the standard Google DNS servers.

View File

@@ -308,14 +308,6 @@ NSString *const OpenVPNTLSCertProfileDefaultValue = @"default";
_config.connTimeout = connectionTimeout;
}
- (BOOL)tunPersist {
return _config.tunPersist;
}
- (void)setTunPersist:(BOOL)tunPersist {
_config.tunPersist = tunPersist;
}
- (BOOL)googleDNSFallback {
return _config.googleDnsFallback;
}
@@ -485,7 +477,6 @@ NSString *const OpenVPNTLSCertProfileDefaultValue = @"default";
configuration.proto = self.proto;
configuration.ipv6 = self.ipv6;
configuration.connectionTimeout = self.connectionTimeout;
configuration.tunPersist = self.tunPersist;
configuration.googleDNSFallback = self.googleDNSFallback;
configuration.synchronousDNSLookup = self.synchronousDNSLookup;
configuration.autologinSessions = self.autologinSessions;
@@ -512,7 +503,6 @@ NSString *const OpenVPNTLSCertProfileDefaultValue = @"default";
[aCoder encodeInteger:self.proto forKey:NSStringFromSelector(@selector(proto))];
[aCoder encodeInteger:self.ipv6 forKey:NSStringFromSelector(@selector(ipv6))];
[aCoder encodeInteger:self.connectionTimeout forKey:NSStringFromSelector(@selector(connectionTimeout))];
[aCoder encodeBool:self.tunPersist forKey:NSStringFromSelector(@selector(tunPersist))];
[aCoder encodeBool:self.googleDNSFallback forKey:NSStringFromSelector(@selector(googleDNSFallback))];
[aCoder encodeBool:self.synchronousDNSLookup forKey:NSStringFromSelector(@selector(synchronousDNSLookup))];
[aCoder encodeBool:self.autologinSessions forKey:NSStringFromSelector(@selector(autologinSessions))];
@@ -539,7 +529,6 @@ NSString *const OpenVPNTLSCertProfileDefaultValue = @"default";
self.proto = (OpenVPNTransportProtocol)[aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(proto))];
self.ipv6 = (OpenVPNIPv6Preference)[aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(ipv6))];
self.connectionTimeout = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(connectionTimeout))];
self.tunPersist = [aDecoder decodeBoolForKey:NSStringFromSelector(@selector(tunPersist))];
self.googleDNSFallback = [aDecoder decodeBoolForKey:NSStringFromSelector(@selector(googleDNSFallback))];
self.synchronousDNSLookup = [aDecoder decodeBoolForKey:NSStringFromSelector(@selector(synchronousDNSLookup))];
self.autologinSessions = [aDecoder decodeBoolForKey:NSStringFromSelector(@selector(autologinSessions))];

View File

@@ -111,7 +111,7 @@ class OpenVPNAdapterTests: XCTestCase {
extension OpenVPNAdapterTests: OpenVPNAdapterDelegate {
func openVPNAdapter(_ openVPNAdapter: OpenVPNAdapter, configureTunnelWithNetworkSettings networkSettings: NEPacketTunnelNetworkSettings, completionHandler: @escaping (OpenVPNAdapterPacketFlow?) -> Void) {
func openVPNAdapter(_ openVPNAdapter: OpenVPNAdapter, configureTunnelWithNetworkSettings networkSettings: NEPacketTunnelNetworkSettings?, completionHandler: @escaping (OpenVPNAdapterPacketFlow?) -> Void) {
completionHandler(customFlow)
}