From 99058b9f6536a3717ab82a9d77b09d5489334eb5 Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 12 Sep 2012 10:32:22 +0900 Subject: add openvpn-verb option to cli. Closes #534. accepts int [1-6] that get passed to openvpn invocation. We should filter out the polling "state"/"status" commands from the log if we want it to be real useful. --- src/leap/eip/config.py | 12 +++++++++--- src/leap/eip/openvpnconnection.py | 22 ++++++---------------- 2 files changed, 15 insertions(+), 19 deletions(-) (limited to 'src/leap/eip') diff --git a/src/leap/eip/config.py b/src/leap/eip/config.py index 833519ee..c0e17a19 100644 --- a/src/leap/eip/config.py +++ b/src/leap/eip/config.py @@ -48,7 +48,7 @@ def get_socket_path(): return socket_path -def build_ovpn_options(daemon=False, socket_path=None): +def build_ovpn_options(daemon=False, socket_path=None, **kwargs): """ build a list of options to be passed in the @@ -78,6 +78,11 @@ def build_ovpn_options(daemon=False, socket_path=None): opts.append('--persist-tun') opts.append('--persist-key') + verbosity = kwargs.get('ovpn_verbosity', None) + if verbosity and 1 <= verbosity <= 6: + opts.append('--verb') + opts.append("%s" % verbosity) + # remote # XXX get remote from eip.json opts.append('--remote') @@ -136,7 +141,7 @@ def build_ovpn_options(daemon=False, socket_path=None): def build_ovpn_command(debug=False, do_pkexec_check=True, vpnbin=None, - socket_path=None): + socket_path=None, **kwargs): """ build a string with the complete openvpn invocation @@ -182,7 +187,8 @@ def build_ovpn_command(debug=False, do_pkexec_check=True, vpnbin=None, command.append(vpn_command) daemon_mode = not debug - for opt in build_ovpn_options(daemon=daemon_mode, socket_path=socket_path): + for opt in build_ovpn_options(daemon=daemon_mode, socket_path=socket_path, + **kwargs): command.append(opt) # XXX check len and raise proper error diff --git a/src/leap/eip/openvpnconnection.py b/src/leap/eip/openvpnconnection.py index 2ab0622e..c280f70d 100644 --- a/src/leap/eip/openvpnconnection.py +++ b/src/leap/eip/openvpnconnection.py @@ -23,7 +23,8 @@ class OpenVPNConnection(Connection): of the openvpn binary """ - def __init__(self, config_file=None, + def __init__(self, + #config_file=None, watcher_cb=None, debug=False, host=None, @@ -46,8 +47,9 @@ to be triggered for each one of them. logger.debug('init openvpn connection') self.debug = debug # XXX if not host: raise ImproperlyConfigured + self.ovpn_verbosity = kwargs.get('ovpn_verbosity', None) - self.config_file = config_file + #self.config_file = config_file self.watcher_cb = watcher_cb #self.signal_maps = signal_maps @@ -58,19 +60,6 @@ to be triggered for each one of them. self.port = None self.proto = None - ################################## - # This is handled by Exception attrs - # now (see #504) - #self.missing_pkexec = False - #self.missing_auth_agent = False - - #self.bad_keyfile_perms = False - #self.missing_vpn_keyfile = False - #self.missing_provider = False - #self.missing_definition = False - #self.bad_provider = False - ################################# - #XXX workaround for signaling #the ui that we don't know how to #manage a connection error @@ -106,7 +95,8 @@ to be triggered for each one of them. try: command, args = eip_config.build_ovpn_command( debug=self.debug, - socket_path=self.host) + socket_path=self.host, + ovpn_verbosity=self.ovpn_verbosity) except eip_exceptions.EIPNoPolkitAuthAgentAvailable: command = args = None # XXX deprecate -- cgit v1.2.3