diff options
author | Christian Poessinger <christian@poessinger.com> | 2019-09-04 20:32:36 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2019-09-04 20:34:44 +0200 |
commit | 8257a5e67679fe6b7b74e8ba4b57547209a281d2 (patch) | |
tree | 3a70a1b7815d2ed61e4965862c246205c06c4ae8 /src/conf_mode/interface-openvpn.py | |
parent | b142ab9f5093e10915cba08852f75a94be0b9ee6 (diff) | |
download | vyos-1x-8257a5e67679fe6b7b74e8ba4b57547209a281d2.tar.gz vyos-1x-8257a5e67679fe6b7b74e8ba4b57547209a281d2.zip |
openvpn: T1617: T1632: support quotes in openvpn-option
The following CLI command can be used to add a raw option to OpenVPN
which requires quotes:
> set interfaces openvpn vtun10 openvpn-option 'push "keepalive 1 10"'
The resulting config file will then have the following set:
> push "keepalive 1 10"
Diffstat (limited to 'src/conf_mode/interface-openvpn.py')
-rwxr-xr-x | src/conf_mode/interface-openvpn.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/conf_mode/interface-openvpn.py b/src/conf_mode/interface-openvpn.py index 4e5915d4e..91679084e 100755 --- a/src/conf_mode/interface-openvpn.py +++ b/src/conf_mode/interface-openvpn.py @@ -806,6 +806,11 @@ def generate(openvpn): tmpl = jinja2.Template(config_tmpl) config_text = tmpl.render(openvpn) + + # we need to support quoting of raw parameters from OpenVPN CLI + # see https://phabricator.vyos.net/T1632 + config_text = config_text.replace(""",'"') + with open(get_config_name(interface), 'w') as f: f.write(config_text) os.chown(get_config_name(interface), uid, gid) |