diff options
author | Kali Kaneko (leap communications) <kali@leap.se> | 2017-04-18 22:18:16 +0200 |
---|---|---|
committer | Kali Kaneko (leap communications) <kali@leap.se> | 2017-04-19 20:14:28 +0200 |
commit | 71c341b9aea1097e0d8f4ccc2eee9728599ea8b0 (patch) | |
tree | ea0d6158f857a972294e63064d798663a45b2304 /src/leap/bitmask/vpn | |
parent | 5e6de17902f73ea0ac48eeda77216a302bd0872f (diff) |
[bug] pass along no polkit error
Diffstat (limited to 'src/leap/bitmask/vpn')
-rw-r--r-- | src/leap/bitmask/vpn/privilege.py | 1 | ||||
-rw-r--r-- | src/leap/bitmask/vpn/service.py | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/leap/bitmask/vpn/privilege.py b/src/leap/bitmask/vpn/privilege.py index b49f165c..3c66c7a5 100644 --- a/src/leap/bitmask/vpn/privilege.py +++ b/src/leap/bitmask/vpn/privilege.py @@ -50,6 +50,7 @@ def uninstall_helpers(): class NoPolkitAuthAgentAvailable(Exception): + message = 'No polkit authentication agent available. Please run one.' pass diff --git a/src/leap/bitmask/vpn/service.py b/src/leap/bitmask/vpn/service.py index 1ec1ed6d..eefccad1 100644 --- a/src/leap/bitmask/vpn/service.py +++ b/src/leap/bitmask/vpn/service.py @@ -29,6 +29,7 @@ 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, helpers +from leap.bitmask.vpn.privilege import NoPolkitAuthAgentAvailable from leap.common.config import get_path_prefix from leap.common.files import check_and_fix_urw_only from leap.common.certs import get_cert_time_boundaries @@ -68,7 +69,12 @@ class VPNService(HookableService): def start_vpn(self, domain): # TODO check if the VPN is started and return an error if it is. yield self._setup(domain) - self._vpn.start() + try: + self._vpn.start() + except NoPolkitAuthAgentAvailable as e: + e.expected = True + raise e + self._started = True self._domain = domain self._write_last(domain) |