openvpn: add list element parsing
For the parameters tls-cipher and ncp-ciphers more than one option can be used in the OpenVPN configuration, separated by a colon, which should be implemented as a list in order to configure it more clearly. By adding the new OPENVPN_LIST option to the openvpn.options file with the tls-cipher and ncp-cipher parameters, uci can now add this option as a "list" and the init script will generate the appropriate OpenVPN configuration from it. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
parent
966ba6daa4
commit
675eb747aa
3 changed files with 20 additions and 3 deletions
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||||
PKG_NAME:=openvpn
|
PKG_NAME:=openvpn
|
||||||
|
|
||||||
PKG_VERSION:=2.4.6
|
PKG_VERSION:=2.4.6
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE_URL:=\
|
PKG_SOURCE_URL:=\
|
||||||
https://build.openvpn.net/downloads/releases/ \
|
https://build.openvpn.net/downloads/releases/ \
|
||||||
|
|
|
@ -49,6 +49,19 @@ append_params() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
append_list() {
|
||||||
|
local p; local v; local s="$1"; shift
|
||||||
|
|
||||||
|
list_cb_append() {
|
||||||
|
v="$1:${v}"
|
||||||
|
}
|
||||||
|
|
||||||
|
for p in $*; do
|
||||||
|
config_list_foreach "$s" "$p" list_cb_append
|
||||||
|
done
|
||||||
|
[ -n "$v" ] && append_param "$s" "$p" && echo " ${v%*:}" >> "/var/etc/openvpn-$s.conf"
|
||||||
|
}
|
||||||
|
|
||||||
section_enabled() {
|
section_enabled() {
|
||||||
config_get_bool enable "$1" 'enable' 0
|
config_get_bool enable "$1" 'enable' 0
|
||||||
config_get_bool enabled "$1" 'enabled' 0
|
config_get_bool enabled "$1" 'enabled' 0
|
||||||
|
@ -99,6 +112,7 @@ start_instance() {
|
||||||
|
|
||||||
append_bools "$s" $OPENVPN_BOOLS
|
append_bools "$s" $OPENVPN_BOOLS
|
||||||
append_params "$s" $OPENVPN_PARAMS
|
append_params "$s" $OPENVPN_PARAMS
|
||||||
|
append_list "$s" $OPENVPN_LIST
|
||||||
|
|
||||||
openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf"
|
openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf"
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,6 @@ mode
|
||||||
mssfix
|
mssfix
|
||||||
mtu_disc
|
mtu_disc
|
||||||
mute
|
mute
|
||||||
ncp_ciphers
|
|
||||||
nice
|
nice
|
||||||
ns_cert_type
|
ns_cert_type
|
||||||
ping
|
ping
|
||||||
|
@ -117,7 +116,6 @@ status_version
|
||||||
syslog
|
syslog
|
||||||
tcp_queue_limit
|
tcp_queue_limit
|
||||||
tls_auth
|
tls_auth
|
||||||
tls_cipher
|
|
||||||
tls_crypt
|
tls_crypt
|
||||||
tls_timeout
|
tls_timeout
|
||||||
tls_verify
|
tls_verify
|
||||||
|
@ -190,3 +188,8 @@ up_delay
|
||||||
up_restart
|
up_restart
|
||||||
username_as_common_name
|
username_as_common_name
|
||||||
'
|
'
|
||||||
|
|
||||||
|
OPENVPN_LIST='
|
||||||
|
tls_cipher
|
||||||
|
ncp_ciphers
|
||||||
|
'
|
||||||
|
|
Loading…
Reference in a new issue