summaryrefslogtreecommitdiff
path: root/src/leap/bitmask
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2017-09-10 22:10:31 +0200
committerKali Kaneko <kali@leap.se>2017-09-10 22:11:41 +0200
commit8f18e8a0fa96987de25d784f0df6c1066eee104e (patch)
tree63742201c4309a04f6c0058c9fcb4c53052d1d01 /src/leap/bitmask
parent7953bd1844235bf12ab82c030194c7a78c2b3b28 (diff)
[bug] add the error as an upper level attribute of the dict
the UI is expecting it there, not inside the result data. we probably could delete it from the later.
Diffstat (limited to 'src/leap/bitmask')
-rw-r--r--src/leap/bitmask/core/dispatcher.py10
-rw-r--r--src/leap/bitmask/vpn/tunnel.py3
2 files changed, 9 insertions, 4 deletions
diff --git a/src/leap/bitmask/core/dispatcher.py b/src/leap/bitmask/core/dispatcher.py
index 363594ca..91168d87 100644
--- a/src/leap/bitmask/core/dispatcher.py
+++ b/src/leap/bitmask/core/dispatcher.py
@@ -186,8 +186,8 @@ class VPNCmd(SubCommand):
@register_method('dict')
def do_STATUS(self, vpn, *parts):
- d = vpn.do_status()
- return d
+ result = vpn.do_status()
+ return result
@register_method('dict')
def do_START(self, vpn, *parts):
@@ -570,7 +570,11 @@ class CommandDispatcher(object):
def _format_result(result):
- return json.dumps({'error': None, 'result': result})
+ if isinstance(result, dict) and result.get('error'):
+ error = result['error']
+ else:
+ error = None
+ return json.dumps({'error': error, 'result': result})
def _format_error(failure):
diff --git a/src/leap/bitmask/vpn/tunnel.py b/src/leap/bitmask/vpn/tunnel.py
index 64796e9c..b49135df 100644
--- a/src/leap/bitmask/vpn/tunnel.py
+++ b/src/leap/bitmask/vpn/tunnel.py
@@ -118,8 +118,9 @@ class ConfiguredTunnel(object):
running = yield self.__start_spawn_proc(vpnproc, cmd)
vpnproc.pid = running.pid
defer.returnValue(True)
- except Exception:
+ except Exception as exc:
self._vpnproc.failed = True
+ self._vpnproc.errmsg = exc.message
raise
def __start_pre_up(self, proc):