diff options
Diffstat (limited to 'src/leap/base')
-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((( |