aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Merhar <mattmerhar@protonmail.com>2019-06-22 03:05:14 -0400
committerPetr Štetiar <ynezz@true.cz>2019-07-17 20:11:41 +0200
commitc0a715f75e21821263e07d9ee8cc9c14c6b5dd66 (patch)
tree02a08400686bb4537ab27cd0e26ac71c9ad72777
parent0254087e925dabae7e06a281a5c16489052088f4 (diff)
downloadupstream-c0a715f75e21821263e07d9ee8cc9c14c6b5dd66.tar.gz
upstream-c0a715f75e21821263e07d9ee8cc9c14c6b5dd66.tar.bz2
upstream-c0a715f75e21821263e07d9ee8cc9c14c6b5dd66.zip
openvpn: fix handling of list options
This addresses an issue where the list option specified in /etc/config/openvpn i.e. 'tls_cipher' would instead show up in the generated openvpn-<name>.conf as 'ncp-ciphers'. For context, 'ncp_ciphers' appears after 'tls_cipher' in OPENVPN_LIST from openvpn.options. Also, the ordering of the options in the UCI config file is now preserved when generating the OpenVPN config. The two currently supported list options deal with cipher preferences. Signed-off-by: Matt Merhar <mattmerhar@protonmail.com> (cherry picked from commit 1d4c4cbd20580dd211431ab58460a6eebd5e021e)
-rw-r--r--package/network/services/openvpn/Makefile2
-rw-r--r--package/network/services/openvpn/files/openvpn.init5
2 files changed, 4 insertions, 3 deletions
diff --git a/package/network/services/openvpn/Makefile b/package/network/services/openvpn/Makefile
index f01b74d8aa..30c74789a4 100644
--- a/package/network/services/openvpn/Makefile
+++ b/package/network/services/openvpn/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=openvpn
PKG_VERSION:=2.4.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=\
https://build.openvpn.net/downloads/releases/ \
diff --git a/package/network/services/openvpn/files/openvpn.init b/package/network/services/openvpn/files/openvpn.init
index ebb05640d8..a7d35d1a98 100644
--- a/package/network/services/openvpn/files/openvpn.init
+++ b/package/network/services/openvpn/files/openvpn.init
@@ -53,13 +53,14 @@ append_list() {
local p; local v; local s="$1"; shift
list_cb_append() {
- v="$1:${v}"
+ v="${v}:$1"
}
for p in $*; do
+ unset v
config_list_foreach "$s" "$p" list_cb_append
+ [ -n "$v" ] && append_param "$s" "$p" && echo " ${v:1}" >> "/var/etc/openvpn-$s.conf"
done
- [ -n "$v" ] && append_param "$s" "$p" && echo " ${v%*:}" >> "/var/etc/openvpn-$s.conf"
}
section_enabled() {