From d6e1d9c1cef028e267e70875f706b9378564ddef Mon Sep 17 00:00:00 2001 From: Ruben Pollan Date: Mon, 23 Jul 2018 16:48:12 +0200 Subject: [bug] return allways a valid state from openvpn Even if we don't recognize the state that openvpn is providing. Add TCP_CONNECT state as well. --- src/leap/bitmask/vpn/_state.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/leap/bitmask/vpn/_state.py') diff --git a/src/leap/bitmask/vpn/_state.py b/src/leap/bitmask/vpn/_state.py index 53877735..b0af9870 100644 --- a/src/leap/bitmask/vpn/_state.py +++ b/src/leap/bitmask/vpn/_state.py @@ -20,6 +20,7 @@ VPN State. """ import time +from twisted.logger import Logger class State(object): @@ -29,6 +30,8 @@ class State(object): OpenVPN Management documentation. """ + log = Logger() + CONNECTING = 'CONNECTING' WAIT = 'WAIT' AUTH = 'AUTH' @@ -54,6 +57,7 @@ class State(object): 'ADD_ROUTES': 'Adding routes to system', 'CONNECTED': 'Initialization Sequence Completed', 'RECONNECTING': 'A restart has occurred', + 'TCP_CONNECT': 'Stablishing tcp connection', 'EXITING': 'A graceful exit is in progress', 'OFF': 'Disconnected', 'FAILED': 'A failure has occurred', @@ -68,6 +72,7 @@ class State(object): 'ADD_ROUTES': STARTING, 'CONNECTED': ON, 'RECONNECTING': STARTING, + 'TCP_CONNECT': STARTING, 'EXITING': STOPPING, 'OFF': OFF, 'FAILED': OFF @@ -79,11 +84,15 @@ class State(object): @classmethod def get_legend(cls, state): - return cls._legend.get(state) + return cls._legend.get(state, '') @classmethod def get_simple(cls, state): - return cls._simple.get(state) + simple = cls._simple.get(state) + if not simple: + cls.log.warn('Unkown openvpn state: %s' % state) + simple = cls.FAILED + return simple @property def simple(self): -- cgit v1.2.3