diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/leap/bitmask/gui/app.py | 4 | ||||
| -rw-r--r-- | src/leap/bitmask/vpn/_config.py | 12 | ||||
| -rw-r--r-- | src/leap/bitmask/vpn/privilege.py | 16 | 
3 files changed, 29 insertions, 3 deletions
diff --git a/src/leap/bitmask/gui/app.py b/src/leap/bitmask/gui/app.py index 42e12807..57bed56d 100644 --- a/src/leap/bitmask/gui/app.py +++ b/src/leap/bitmask/gui/app.py @@ -244,6 +244,10 @@ def start_app():      # DEBUG ====================================      if STANDALONE and len(sys.argv) > MIN_ARGS: +        if sys.argv[1] == 'bitmask_helpers': +            from leap.bitmask.vpn.helpers import main +            return main() +          from leap.bitmask.cli import bitmask_cli          return bitmask_cli.main() diff --git a/src/leap/bitmask/vpn/_config.py b/src/leap/bitmask/vpn/_config.py index 5f10734d..421d15a6 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 9666a943..ef33337a 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):  | 
