summaryrefslogtreecommitdiff
path: root/src/leap/bitmask
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/bitmask')
-rw-r--r--src/leap/bitmask/gui/app.py4
-rw-r--r--src/leap/bitmask/vpn/_config.py12
-rw-r--r--src/leap/bitmask/vpn/privilege.py16
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):