openvpn: fix ipchange hotplug event
authorIvan Pavlov <AuthorReflex@gmail.com>
Wed, 7 Jun 2023 17:58:42 +0000 (20:58 +0300)
committerRosen Penev <rosenp@gmail.com>
Fri, 9 Jun 2023 11:46:03 +0000 (14:46 +0300)
In f8a8b71e26b9bdbf86fbb7d4d1482637af7f3ba4 openvpn introduced new hotplug events.
For server config, ipchange hotplug event produces an error.
So, make ipchange hotplug event for client only

Fixes https://github.com/openwrt/packages/issues/21200

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
net/openvpn/Makefile
net/openvpn/files/openvpn.init

index 213f027fd5aea0430863085906e6f6bf7cf46053..ac76841b8b94618f29e7282dc99bcb286372920b 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=openvpn
 
 PKG_VERSION:=2.5.8
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE_URL:=\
        https://build.openvpn.net/downloads/releases/ \
index b5f612e46b974444207eb60b509b0081b2515abb..6eb3051352089ba895b03e951cd1f7eaaaf45bf2 100644 (file)
@@ -140,10 +140,11 @@ openvpn_get_credentials() {
 openvpn_add_instance() {
        local name="$1"
        local dir="$2"
-       local conf="$3"
+       local conf=$(basename "$3")
        local security="$4"
        local up="$5"
        local down="$6"
+       local client=$(grep -qEx "client|tls-client" "$dir/$conf" && echo 1)
 
        procd_open_instance "$name"
        procd_set_param command "$PROG" \
@@ -155,7 +156,7 @@ openvpn_add_instance() {
                --down "/usr/libexec/openvpn-hotplug down $name" \
                --route-up "/usr/libexec/openvpn-hotplug route-up $name" \
                --route-pre-down "/usr/libexec/openvpn-hotplug route-pre-down $name" \
-               --ipchange "/usr/libexec/openvpn-hotplug ipchange $name" \
+               ${client:+--ipchange "/usr/libexec/openvpn-hotplug ipchange $name"} \
                ${up:+--setenv user_up "$up"} \
                ${down:+--setenv user_down "$down"} \
                --script-security "${security:-2}" \