Beispiel #1
0
        private string InterfaceGuid()
        {
            if (_config.UseTunAdapter)
            {
                return(_networkInterfaceLoader.GetTunInterface()?.Id ?? string.Empty);
            }

            return(_networkInterfaceLoader.GetTapInterface()?.Id ?? string.Empty);
        }
Beispiel #2
0
        private async Task ValidateConnectionAsync(Func <Task> connectionFunction)
        {
            INetworkInterface tunInterface = _networkInterfaceLoader.GetTunInterface();
            INetworkInterface tapInterface = _networkInterfaceLoader.GetTapInterface();

            if (tunInterface == null && tapInterface == null)
            {
                RaiseVpnStateChanged(new VpnStateChangedEventArgs(
                                         new VpnState(VpnStatus.Disconnected), VpnError.NoTapAdaptersError, false));
                return;
            }

            if (tunInterface == null && _appSettings.UseTunAdapter)
            {
                _appSettings.UseTunAdapter = false;
                SendTunFallbackEvent();
            }

            await connectionFunction();
        }