From fdb2acf85ed4f509ab2070e0abdf99d455eb9378 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 16 Jul 2020 16:01:54 +0200 Subject: [PATCH] Retrieve key for OpenVPN when needed --- openmptcprouter/files/etc/init.d/openmptcprouter-vps | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 02843198d..5d77b5f11 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -95,11 +95,16 @@ _set_openvpn_vps() { [ "$enabled" != "1" ] && echo "OpenVPN disabled" && return port="$(uci -q get openvpn.omr.port)" cipher="$(uci -q get openvpn.omr.cipher)" - local current_port current_cipher + key="$(base64 /etc/luci-uploads/client.key | tr -d "\n")" + local current_port current_cipher current_key [ -z "$vps_config" ] && vps_config=$(_get_json "config") [ -z "$vps_config" ] && return + current_key="$(echo "$vps_config" | jsonfilter -q -e '@.openvpn.client_key')" current_port="$(echo "$vps_config" | jsonfilter -q -e '@.openvpn.port')" current_cipher="$(echo "$vps_config" | jsonfilter -q -e '@.openvpn.cipher')" + if [ "$curent_key" != "$key" ]; then + uci -q set openmptcprouter.${servername}.get_config="1" + fi if [ "$current_port" != "$port" ] || [ "$current_cipher" != "$cipher" ]; then local settings settings='{"port": '$port', "cipher": "'$cipher'"}'