From ef804c1fd5a8ae307aca70853c9224b63d14a731 Mon Sep 17 00:00:00 2001 From: Ruben Pollan Date: Tue, 28 Mar 2017 13:35:56 +0200 Subject: [feat] add a check for the installation of the helpers to the API - Resolves: #8786 --- src/leap/bitmask/vpn/helpers/__init__.py | 6 ++++++ src/leap/bitmask/vpn/service.py | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'src/leap/bitmask/vpn') diff --git a/src/leap/bitmask/vpn/helpers/__init__.py b/src/leap/bitmask/vpn/helpers/__init__.py index 8905adfd..69a9a5fb 100644 --- a/src/leap/bitmask/vpn/helpers/__init__.py +++ b/src/leap/bitmask/vpn/helpers/__init__.py @@ -1,5 +1,6 @@ from os import remove, chmod from shutil import copyfile +import os.path import sys from leap.bitmask.vpn.constants import IS_LINUX @@ -21,6 +22,11 @@ if IS_LINUX: remove(helper_to) remove(polkit_to) + def check(): + helper = os.path.exists(helper_to) + polkit = os.path.exists(polkit_to) + return helper and polkit + def main(): if sys.argv[-1] == 'install': diff --git a/src/leap/bitmask/vpn/service.py b/src/leap/bitmask/vpn/service.py index 17e20af6..a7dce3d2 100644 --- a/src/leap/bitmask/vpn/service.py +++ b/src/leap/bitmask/vpn/service.py @@ -27,7 +27,7 @@ from twisted.internet import defer from leap.bitmask.hooks import HookableService from leap.bitmask.vpn.vpn import VPNManager from leap.bitmask.vpn._checks import is_service_ready, get_vpn_cert_path -from leap.bitmask.vpn import privilege +from leap.bitmask.vpn import privilege, helpers from leap.common.config import get_path_prefix from leap.common.files import check_and_fix_urw_only @@ -97,10 +97,13 @@ class VPNService(HookableService): return status - def do_check(self, domain): + def do_check(self, domain=None): """Check whether the VPN Service is properly configured, and can be started""" - return {'vpn_ready': is_service_ready(domain)} + ret = {'installed': helpers.check()} + if domain: + ret['vpn_ready'] = is_service_ready(domain) + return ret @defer.inlineCallbacks def do_get_cert(self, username): -- cgit v1.2.3