private async void Connect() { if (!_connectRequested) { return; } InvokeConnecting(); if (!_serviceSettings.Ipv6LeakProtection) { _connectRequested = false; _origin.Connect(_servers, _config, _protocol, _credentials); return; } if (_ipv6Task.IsCompleted) { if (_ipv6.Enabled) { _networkChanged = false; _ipv6Task = _ipv6.DisableAsync(); } else { _connectRequested = false; _origin.Connect(_servers, _config, _protocol, _credentials); return; } } await _ipv6Task; Queued(Connect); }
public void Connect(IReadOnlyList <VpnHost> servers, VpnConfig config, VpnProtocol protocol, VpnCredentials credentials) { AddDefaultGateway(); _origin.Connect(servers, config, protocol, credentials); }
public Task Connect(VpnConnectionRequestContract connectionRequest) { Ensure.NotNull(connectionRequest, nameof(connectionRequest)); _logger.Info("Connect requested"); _serviceSettings.Apply(connectionRequest.Settings); var endpoints = Map(connectionRequest.Servers); var protocol = Map(connectionRequest.Protocol); var credentials = Map(connectionRequest.Credentials); var config = Map(connectionRequest.VpnConfig); NetworkSettingsConfig settingsConfig = new NetworkSettingsConfig { AddDefaultGatewayForTap = !connectionRequest.Settings.PortForwardingEnabled }; if (_networkSettings.ApplyNetworkSettings(settingsConfig)) { _vpnConnection.Connect( endpoints, config, protocol, credentials); } else { CallbackStateChanged(new VpnState(VpnStatus.Disconnected, VpnError.NoTapAdaptersError)); } return(Task.CompletedTask); }
public void Connect(IReadOnlyList <VpnHost> servers, VpnConfig config, VpnProtocol protocol, VpnCredentials credentials) { ApplyNetworkSettings(); _origin.Connect(servers, config, protocol, credentials); }
public Task Connect(VpnConnectionRequestContract connectionRequest) { Ensure.NotNull(connectionRequest, nameof(connectionRequest)); _logger.Info("Connect requested"); _serviceSettings.Apply(connectionRequest.Settings); var endpoints = Map(connectionRequest.Servers); var protocol = Map(connectionRequest.Protocol); var credentials = Map(connectionRequest.Credentials); var config = Map(connectionRequest.VpnConfig); _vpnConnection.Connect( endpoints, config, protocol, credentials); return(Task.CompletedTask); }
public void Connect(IReadOnlyList <VpnHost> servers, VpnConfig config, VpnCredentials credentials) { _origin.Connect(servers, config, credentials); }