summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/vpn/service.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/bitmask/vpn/service.py')
-rw-r--r--src/leap/bitmask/vpn/service.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/leap/bitmask/vpn/service.py b/src/leap/bitmask/vpn/service.py
index 874c30d3..5ab1e97e 100644
--- a/src/leap/bitmask/vpn/service.py
+++ b/src/leap/bitmask/vpn/service.py
@@ -78,16 +78,24 @@ class VPNService(HookableService):
exc.expected = True
raise exc
yield self._setup(domain)
+
try:
- self._vpn.start()
+ started = self._vpn.start()
+
+ # XXX capture it inside start method
+ # here I'd like to get (status, message)
except NoPolkitAuthAgentAvailable as e:
e.expected = True
raise e
+ # --------------------------------------
- self._started = True
+ self._started = started
self._domain = domain
self._write_last(domain)
- defer.returnValue({'result': 'started'})
+ if started:
+ defer.returnValue({'result': 'started'})
+ else:
+ raise Exception('Could not start VPN, check logs')
def stop_vpn(self):
# TODO -----------------------------