summaryrefslogtreecommitdiff
path: root/src/leap/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/base')
-rw-r--r--src/leap/base/checks.py23
-rw-r--r--src/leap/base/network.py6
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(((