From b4e7e9475c9aeaa768bc7c023efe2e96f463fe9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Touceda?= Date: Thu, 15 Aug 2013 12:01:20 -0300 Subject: Add LEAPOPENVPN=1 command line env var to the vpnlauncher --- src/leap/bitmask/services/eip/vpnlaunchers.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/leap/bitmask') diff --git a/src/leap/bitmask/services/eip/vpnlaunchers.py b/src/leap/bitmask/services/eip/vpnlaunchers.py index 8a127ce9..31a1c17b 100644 --- a/src/leap/bitmask/services/eip/vpnlaunchers.py +++ b/src/leap/bitmask/services/eip/vpnlaunchers.py @@ -402,6 +402,10 @@ class LinuxVPNLauncher(VPNLauncher): openvpn = first(openvpn_possibilities) args = [] + args += [ + '--setenv', "LEAPOPENVPN", "1" + ] + pkexec = self.maybe_pkexec() if pkexec: args.append(openvpn) @@ -658,6 +662,10 @@ class DarwinVPNLauncher(VPNLauncher): openvpn = first(openvpn_possibilities) args = [openvpn] + args += [ + '--setenv', "LEAPOPENVPN", "1" + ] + if openvpn_verb is not None: args += ['--verb', '%d' % (openvpn_verb,)] @@ -825,6 +833,11 @@ class WindowsVPNLauncher(VPNLauncher): openvpn = first(openvpn_possibilities) args = [] + + args += [ + '--setenv', "LEAPOPENVPN", "1" + ] + if openvpn_verb is not None: args += ['--verb', '%d' % (openvpn_verb,)] -- cgit v1.2.3 From 1a105a07daa2c32243fb67bbacfc511d6014691e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Touceda?= Date: Thu, 15 Aug 2013 12:01:45 -0300 Subject: Detect a running instance of EIP by checking for LEAPOPENVPN var --- src/leap/bitmask/services/eip/vpnprocess.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/leap/bitmask') diff --git a/src/leap/bitmask/services/eip/vpnprocess.py b/src/leap/bitmask/services/eip/vpnprocess.py index 95ea2334..a96f176e 100644 --- a/src/leap/bitmask/services/eip/vpnprocess.py +++ b/src/leap/bitmask/services/eip/vpnprocess.py @@ -579,7 +579,7 @@ class VPNManager(object): # we need to be able to filter out arguments in the form # --openvpn-foo, since otherwise we are shooting ourselves # in the feet. - if any(map(lambda s: s.startswith("openvpn"), p.cmdline)): + if any(map(lambda s: s.find("LEAPOPENVPN") != -1, p.cmdline)): openvpn_process = p break except psutil.error.AccessDenied: -- cgit v1.2.3 From 3a0950e936dbe20a22f5809c46406d3a6b9ceffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Touceda?= Date: Thu, 15 Aug 2013 12:02:08 -0300 Subject: Add an explicit comment about why we are using different poll_times --- src/leap/bitmask/services/eip/vpnprocess.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/leap/bitmask') diff --git a/src/leap/bitmask/services/eip/vpnprocess.py b/src/leap/bitmask/services/eip/vpnprocess.py index a96f176e..a896b60c 100644 --- a/src/leap/bitmask/services/eip/vpnprocess.py +++ b/src/leap/bitmask/services/eip/vpnprocess.py @@ -229,6 +229,9 @@ class VPNManager(object): """ # Timers, in secs + # NOTE: We need to set a bigger poll time in OSX because it seems + # openvpn malfunctions when you ask it a lot of things in a short + # amount of time. POLL_TIME = 2.5 if IS_MAC else 1.0 CONNECTION_RETRY_TIME = 1 -- cgit v1.2.3