summaryrefslogtreecommitdiff
path: root/src/leap
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2014-11-10 20:41:56 -0800
committerIvan Alejandro <ivanalejandro0@gmail.com>2014-11-14 12:00:43 -0300
commitd6d73d41278c7c438c27f286bc5f6106d37f51d2 (patch)
treeb7e0458300b28a4c1034f6d57e36de32073ebbe7 /src/leap
parent26ec219c305d2033457b3c2689d918a49815f0f6 (diff)
vpn: support for the server setting custom fragment openvpn option
Diffstat (limited to 'src/leap')
-rw-r--r--src/leap/bitmask/services/eip/eipconfig.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/leap/bitmask/services/eip/eipconfig.py b/src/leap/bitmask/services/eip/eipconfig.py
index 5b51d12e..659ca1b1 100644
--- a/src/leap/bitmask/services/eip/eipconfig.py
+++ b/src/leap/bitmask/services/eip/eipconfig.py
@@ -216,7 +216,7 @@ class EIPConfig(ServiceConfig):
"""
_service_name = "eip"
- OPENVPN_ALLOWED_KEYS = ("auth", "cipher", "tls-cipher")
+ OPENVPN_ALLOWED_KEYS = ("auth", "cipher", "tls-cipher", "fragment")
OPENVPN_CIPHERS_REGEX = re.compile("[A-Z0-9\-]+")
def __init__(self):
@@ -255,6 +255,11 @@ class EIPConfig(ServiceConfig):
These are sanitized with alphanumeric whitelist.
+ NOTE: some openvpn config option don't take a value, but
+ this method currently requires that every option has a value.
+ Also, this does not yet work with values with spaces, like
+ `keepalive 10 30`
+
:returns: openvpn configuration dict
:rtype: C{dict}
"""
@@ -262,7 +267,7 @@ class EIPConfig(ServiceConfig):
config = {}
for key, value in ovpncfg.items():
if key in self.OPENVPN_ALLOWED_KEYS and value is not None:
- sanitized_val = self.OPENVPN_CIPHERS_REGEX.findall(value)
+ sanitized_val = self.OPENVPN_CIPHERS_REGEX.findall(str(value))
if len(sanitized_val) != 0:
_val = sanitized_val[0]
config[str(key)] = str(_val)