Beispiel #1
0
        private Service.KillSwitch.KillSwitch GetKillSwitch(SplitTunnelMode mode)
        {
            _serviceSettings.SplitTunnelSettings.Returns(new SplitTunnelSettingsContract
            {
                Mode = mode, AppPaths = new string[0], Ips = new string[0]
            });

            return(new Service.KillSwitch.KillSwitch(_firewall, _serviceSettings, _networkInterfaceLoader));
        }
Beispiel #2
0
        public void OnVpnConnecting_SplitTunnelBlockMode_BlockInternet(SplitTunnelMode mode)
        {
            // Arrange
            var killSwitch = GetKillSwitch(mode);

            // Act
            killSwitch.OnVpnConnecting(GetConnectingVpnState());

            // Assert
            _firewall.Received(1).EnableLeakProtection(RemoteIp);
        }
Beispiel #3
0
        public void OnVpnConnecting_SplitTunnelBlockMode_BlockInternet(SplitTunnelMode mode, bool dnsLeakOnly)
        {
            // Arrange
            var killSwitch = GetKillSwitch(mode);

            // Act
            killSwitch.OnVpnConnecting(GetConnectingVpnState());

            // Assert
            _firewall.ReceivedWithAnyArgs(1).EnableLeakProtection(Arg.Is <FirewallParams>(p => p.DnsLeakOnly == dnsLeakOnly));
        }
Beispiel #4
0
        public VpnConfig(
            IReadOnlyDictionary <VpnProtocol, IReadOnlyCollection <int> > portConfig,
            IReadOnlyCollection <string> customDns,
            SplitTunnelMode splitTunnelMode,
            IReadOnlyCollection <string> splitTunnelIPs)
        {
            AssertPortsValid(portConfig);
            AssertCustomDnsValid(customDns);

            Ports           = portConfig;
            CustomDns       = customDns;
            SplitTunnelMode = splitTunnelMode;
            SplitTunnelIPs  = splitTunnelIPs;
        }
Beispiel #5
0
 public OpenVpnProcessParams(
     VpnEndpoint endpoint,
     int managementPort,
     string password,
     IReadOnlyCollection <string> customDns,
     SplitTunnelMode splitTunnelMode,
     IReadOnlyCollection <string> splitTunnelIPs)
 {
     Endpoint        = endpoint;
     ManagementPort  = managementPort;
     Password        = password;
     CustomDns       = customDns;
     SplitTunnelMode = splitTunnelMode;
     SplitTunnelIPs  = splitTunnelIPs;
 }
 public OpenVpnProcessParams(
     VpnEndpoint endpoint,
     int managementPort,
     string password,
     IReadOnlyCollection <string> customDns,
     SplitTunnelMode splitTunnelMode,
     IReadOnlyCollection <string> splitTunnelIPs,
     bool useTunAdapter,
     string interfaceGuid)
 {
     Endpoint        = endpoint;
     ManagementPort  = managementPort;
     Password        = password;
     CustomDns       = customDns;
     SplitTunnelMode = splitTunnelMode;
     SplitTunnelIPs  = splitTunnelIPs;
     UseTunAdapter   = useTunAdapter;
     InterfaceGuid   = interfaceGuid;
 }
Beispiel #7
0
        public void ExpectedLeakProtectionStatus_ShouldBe_Expected_WhenConnecting(VpnStatus status, SplitTunnelMode splitTunnelMode, bool expected)
        {
            // Arrange
            var state = new VpnState(status);

            _serviceSettings.SplitTunnelSettings.Returns(new SplitTunnelSettingsContract
            {
                Mode = splitTunnelMode
            });
            var killSwitch = new Service.KillSwitch.KillSwitch(_firewall, _serviceSettings);

            // Act
            var result = killSwitch.ExpectedLeakProtectionStatus(state);

            //Assert
            result.Should().Be(expected);
        }
 public SplitTunnelRoutesArgument(IReadOnlyCollection <string> ips, SplitTunnelMode splitTunnelMode)
 {
     _ips             = ips;
     _splitTunnelMode = splitTunnelMode;
 }
Beispiel #9
0
 public BaseRouteArgument(SplitTunnelMode splitTunnelMode)
 {
     _splitTunnelMode = splitTunnelMode;
 }
Beispiel #10
0
 public VpnConfig(
     IReadOnlyDictionary <VpnProtocol, IReadOnlyCollection <int> > portConfig,
     SplitTunnelMode splitTunnelMode, bool useTunAdapter) :
     this(portConfig, new List <string>(), splitTunnelMode, new List <string>(), useTunAdapter)
 {
 }