diff options
| -rw-r--r-- | data/templates/openvpn/service-override.conf.j2 | 21 | ||||
| -rw-r--r-- | data/templates/openvpn/service-override.conf.tmpl | 20 | 
2 files changed, 21 insertions, 20 deletions
| diff --git a/data/templates/openvpn/service-override.conf.j2 b/data/templates/openvpn/service-override.conf.j2 new file mode 100644 index 000000000..d7551eb92 --- /dev/null +++ b/data/templates/openvpn/service-override.conf.j2 @@ -0,0 +1,21 @@ +{% set options = namespace(value=0) %} +{% if openvpn_option is vyos_defined %} +{%     for option in openvpn_option %} +{#         Remove the '--' prefix from variable if it is presented #} +{%         if option.startswith('--') %} +{%             set option = option.split('--', maxsplit=1)[1] %} +{%         endif %} +{#         Workaround to pass '--push' options properly. Previously openvpn accepted this option without values in double-quotes #} +{#         But now it stopped doing this, so we need to add them for compatibility #} +{#         HOWEVER! This is a raw option and we do not promise that this or any other trick will work for all the cases. #} +{#         Using 'openvpn-option' you take all responsibility for compatibility for yourself. #} +{%         if option.startswith('push') and not (option.startswith('push "') and option.endswith('"')) %} +{%             set option = 'push \"%s\"' | format(option.split('push ', maxsplit=1)[1]) %} +{%         endif %} +{%         set options.value = options.value ~ ' --' ~ option %} +{%     endfor %} +{% endif %} +[Service] +ExecStart= +ExecStart=/usr/sbin/openvpn --daemon openvpn-%i --config %i.conf --status %i.status 30 --writepid %i.pid {{ options.value }} + diff --git a/data/templates/openvpn/service-override.conf.tmpl b/data/templates/openvpn/service-override.conf.tmpl deleted file mode 100644 index cba652223..000000000 --- a/data/templates/openvpn/service-override.conf.tmpl +++ /dev/null @@ -1,20 +0,0 @@ -[Service] -ExecStart= -ExecStart=/usr/sbin/openvpn --daemon openvpn-%i --config %i.conf --status %i.status 30 --writepid %i.pid -{%- if openvpn_option is vyos_defined %} -{%   for option in openvpn_option %} -{#     Remove the '--' prefix from variable if it is presented #} -{%     if option.startswith('--') %} -{%       set option = option.split('--', maxsplit=1)[1] %} -{%     endif %} -{#     Workaround to pass '--push' options properly. Previously openvpn accepted this option without values in double-quotes #} -{#     But now it stopped doing this, so we need to add them for compatibility #} -{#     HOWEVER! This is a raw option and we do not promise that this or any other trick will work for all the cases. #} -{#     Using 'openvpn-option' you take all responsibility for compatibility for yourself. #} -{%     if option.startswith('push') and not (option.startswith('push "') and option.endswith('"')) %} -{%       set option = 'push \"%s\"'|format(option.split('push ', maxsplit=1)[1]) %} -{%     endif %} - --{{ option }} -{%-   endfor %} -{% endif %} - | 
