diff options
| -rw-r--r-- | src/leap/base/checks.py | 23 | ||||
| -rw-r--r-- | src/leap/base/network.py | 6 | 
2 files changed, 11 insertions, 18 deletions
| diff --git a/src/leap/base/checks.py b/src/leap/base/checks.py index 84f9dd46..7285e74f 100644 --- a/src/leap/base/checks.py +++ b/src/leap/base/checks.py @@ -16,13 +16,9 @@ class LeapNetworkChecker(object):      """      all network related checks      """ -    # #718 -    # XXX get provider gateway as a parameter -    # for constructor. -    # def __init__(self, *args, **kwargs): -    # ... -    #   provider_gw = kwargs.pop('provider_gw', None) -    #   self.provider_gateway = provider_gw +    def __init__(self, *args, **kwargs): +        provider_gw = kwargs.pop('provider_gw', None) +        self.provider_gateway = provider_gw      def run_all(self, checker=None):          if not checker: @@ -34,15 +30,8 @@ class LeapNetworkChecker(object):          checker.check_internet_connection()          checker.is_internet_up() -        # XXX We are pinging the default gateway for our connection right? -        # kali: 2012-10-05 20:59 -- I think we should get -        # also the default gateway and ping it instead. -        checker.ping_gateway() - -        # something like: ? -        # see __init__ above -        # if self.provider_gateway: -        #     checker.ping_gateway(self.provider_gateway) +        if self.provider_gateway: +            checker.ping_gateway(self.provider_gateway)      def check_internet_connection(self):          try: @@ -65,7 +54,7 @@ class LeapNetworkChecker(object):      def is_internet_up(self):          iface, gateway = self.get_default_interface_gateway() -        self.ping_gateway(self) +        self.ping_gateway(self.provider_gateway)      def check_tunnel_default_interface(self):          """ diff --git a/src/leap/base/network.py b/src/leap/base/network.py index e90139c4..3891b00a 100644 --- a/src/leap/base/network.py +++ b/src/leap/base/network.py @@ -3,6 +3,7 @@ from __future__ import (print_function)  import logging  import threading +from leap.eip.config import get_eip_gateway  from leap.base.checks import LeapNetworkChecker  from leap.base.constants import ROUTE_CHECK_INTERVAL  from leap.base.exceptions import TunnelNotDefaultRouteError @@ -29,7 +30,8 @@ class NetworkCheckerThread(object):          # XXX get provider_gateway and pass it to checker          # see in eip.config for function          # #718 -        self.checker = LeapNetworkChecker() +        self.checker = LeapNetworkChecker( +                        provider_gw = get_eip_gateway())      def start(self):          self.process_handle = self._launch_recurrent_network_checks( @@ -55,6 +57,8 @@ class NetworkCheckerThread(object):                  break              except TunnelNotDefaultRouteError:                  # XXX ??? why do we sleep here??? +                # aa: If the openvpn isn't up and running yet, +                # let's give it a moment to breath.                  sleep(1)          fail_observer_dict = dict((( | 
