[source] openvpn: quote parameters to --push in openvpn config file

LEDE Commits lede-commits at lists.infradead.org
Mon Dec 12 01:23:54 PST 2016


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/a456dd96e7d2131cac1e7c2cca5e124d43d50f13

commit a456dd96e7d2131cac1e7c2cca5e124d43d50f13
Author: Magnus Kroken <mkroken at gmail.com>
AuthorDate: Sat Dec 10 12:02:03 2016 +0100

    openvpn: quote parameters to --push in openvpn config file
    
    OpenVPN requires arguments to --push to be enclosed in double quotes.
    One set of quotes is stripped when the UCI config is parsed.
    Change append_params() of openvpn.init to enclose push parameters in
    double quotes.
    
    Unquoted push parameters do not cause errors in OpenVPN 2.3,
    but OpenVPN 2.4 fails to start with unquoted push parameters.
    
    Fixes: FS#290.
    
    Signed-off-by: Magnus Kroken <mkroken at gmail.com>
---
 package/network/services/openvpn/files/openvpn.init | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/network/services/openvpn/files/openvpn.init b/package/network/services/openvpn/files/openvpn.init
index 4c8f77f..0fcdc7e 100644
--- a/package/network/services/openvpn/files/openvpn.init
+++ b/package/network/services/openvpn/files/openvpn.init
@@ -42,7 +42,8 @@ append_params() {
 		config_get v "$s" "$p"
 		IFS="$LIST_SEP"
 		for v in $v; do
-			[ -n "$v" ] && append_param "$s" "$p" && echo " $v" >> "/var/etc/openvpn-$s.conf"
+			[ -n "$v" ] && [ "$p" != "push" ] && append_param "$s" "$p" && echo " $v" >> "/var/etc/openvpn-$s.conf"
+			[ -n "$v" ] && [ "$p" == "push" ] && append_param "$s" "$p" && echo " \"$v\"" >> "/var/etc/openvpn-$s.conf"
 		done
 		unset IFS
 	done



More information about the lede-commits mailing list