diff options
Diffstat (limited to 'src/leap/bitmask/vpn')
-rw-r--r-- | src/leap/bitmask/vpn/_config.py | 12 | ||||
-rw-r--r-- | src/leap/bitmask/vpn/privilege.py | 16 |
2 files changed, 25 insertions, 3 deletions
diff --git a/src/leap/bitmask/vpn/_config.py b/src/leap/bitmask/vpn/_config.py index 5f10734..421d15a 100644 --- a/src/leap/bitmask/vpn/_config.py +++ b/src/leap/bitmask/vpn/_config.py @@ -1,14 +1,24 @@ +import os.path import pkg_resources -from .constants import IS_LINUX +from .constants import IS_LINUX +from leap.bitmask.util import STANDALONE, here if IS_LINUX: def get_bitmask_helper_path(): + if STANDALONE: + return os.path.join(here(), "..", "apps", "helpers", + "bitmask-root") + return pkg_resources.resource_filename( 'leap.bitmask.vpn.helpers.linux', 'bitmask-root') def get_bitmask_polkit_policy_path(): + if STANDALONE: + return os.path.join(here(), "..", "apps", "helpers", + "se.leap.bitmask.bundle.policy") + return pkg_resources.resource_filename( 'leap.bitmask.vpn.helpers.linux', 'se.leap.bitmask.bundle.policy') diff --git a/src/leap/bitmask/vpn/privilege.py b/src/leap/bitmask/vpn/privilege.py index 9666a94..ef33337 100644 --- a/src/leap/bitmask/vpn/privilege.py +++ b/src/leap/bitmask/vpn/privilege.py @@ -31,6 +31,8 @@ from abc import ABCMeta, abstractmethod from twisted.logger import Logger from twisted.python.procutils import which +from leap.bitmask.util import STANDALONE, here + log = Logger() @@ -38,15 +40,25 @@ flags_STANDALONE = False def install_helpers(): + cmd = 'bitmask_helpers install' + if STANDALONE: + binary_path = os.path.join(here(), "bitmask") + cmd = "%s %s" % (binary_path, cmd) + # TODO check if the command has succeeded, and display error # if failed - commands.getoutput('pkexec bitmask_helpers install') + commands.getoutput('pkexec ' + cmd) def uninstall_helpers(): + cmd = 'bitmask_helpers uninstall' + if STANDALONE: + binary_path = os.path.join(here(), "bitmask") + cmd = "%s %s" % (binary_path, cmd) + # TODO check if the command has succeeded, and display error # if failed - commands.getoutput('pkexec bitmask_helpers uninstall') + commands.getoutput('pkexec ' + cmd) class NoPolkitAuthAgentAvailable(Exception): |