summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKali Kaneko (leap communications) <kali@leap.se>2017-04-20 14:43:30 +0200
committerKali Kaneko (leap communications) <kali@leap.se>2017-04-20 14:43:35 +0200
commit9c1d1bd3da383a22702abae4470513be34572d3d (patch)
tree8883c63ab2da666d93d7001d47c72eb0aff792db
parent3ebaa03a307eab2a0a4d31efd143326d6ea592b2 (diff)
[bug] fix enabling of vpn service
- Resolves: #8845
-rw-r--r--src/leap/bitmask/core/dispatcher.py4
-rw-r--r--src/leap/bitmask/vpn/service.py3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/leap/bitmask/core/dispatcher.py b/src/leap/bitmask/core/dispatcher.py
index 52de62b..fc17b76 100644
--- a/src/leap/bitmask/core/dispatcher.py
+++ b/src/leap/bitmask/core/dispatcher.py
@@ -436,9 +436,9 @@ class CommandDispatcher(object):
def do_VPN(self, *parts):
vpn = self._get_service(self.subcommand_vpn.label)
- if not vpn:
- return _format_result({'vpn': 'disabled'})
subcmd = parts[1]
+ if subcmd != 'enable' and not vpn:
+ return _format_result({'vpn': 'disabled'})
dispatch = self.subcommand_vpn.dispatch
if subcmd in ('enable', 'disable'):
diff --git a/src/leap/bitmask/vpn/service.py b/src/leap/bitmask/vpn/service.py
index ec9e065..b04ea9f 100644
--- a/src/leap/bitmask/vpn/service.py
+++ b/src/leap/bitmask/vpn/service.py
@@ -90,6 +90,9 @@ class VPNService(HookableService):
# TODO -----------------------------
# when shutting down the main bitmaskd daemon, this should be called.
+ if not self._vpn:
+ raise Exception('VPN was not running')
+
if self._started:
self._vpn.stop()
self._started = False