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