travelmate: update 2.1.2-2
authorDirk Brenken <dev@brenken.org>
Tue, 9 Jan 2024 21:22:57 +0000 (22:22 +0100)
committerDirk Brenken <dev@brenken.org>
Tue, 9 Jan 2024 21:22:57 +0000 (22:22 +0100)
* fix a possible re-connection issue/cornercase seen on single radio units

Signed-off-by: Dirk Brenken <dev@brenken.org>
net/travelmate/Makefile
net/travelmate/files/travelmate.sh

index 93f405efd8e434c806bac4d8bf70d2bc200f2707..7ade58aab64582d6815554e68878d423dffaf9ec 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=travelmate
 PKG_VERSION:=2.1.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index dca5bc8964a5f09ab80c5e8d6299e987ac1452ba..0af2e4ac6b55023f16f4ff0f48eeb5d2e4dbe4de 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # travelmate, a wlan connection manager for travel router
-# Copyright (c) 2016-2023 Dirk Brenken (dev@brenken.org)
+# Copyright (c) 2016-2024 Dirk Brenken (dev@brenken.org)
 # This is free software, licensed under the GNU General Public License v3.
 
 # set (s)hellcheck exceptions
@@ -692,6 +692,16 @@ f_check() {
                                if [ -n "${ifname}" ] && [ "${enabled}" = "1" ]; then
                                        trm_ifquality="$(${trm_iwinfo} "${ifname}" info 2>/dev/null | awk -F '[ ]' '/Link Quality: [0-9]+\/[0-9]+/{split($NF,var0,"/");printf "%i\n",(var0[1]*100/var0[2])}')"
                                        if [ -z "${trm_ifquality}" ]; then
+                                               trm_ifstatus="$("${trm_ubuscmd}" -S call network.interface dump 2>/dev/null | "${trm_jsoncmd}" -ql1 -e "@.interface[@.device=\"${ifname}\"].up")"
+                                               if { [ -n "${trm_connection}" ] && [ "${trm_ifstatus}" = "false" ]; } || [ "${wait_time}" -eq "${trm_maxwait}" ]; then
+                                                       f_log "info" "no signal from uplink"
+                                                       f_vpn "disable"
+                                                       unset trm_connection
+                                                       trm_ifstatus="${status}"
+                                                       f_ctrack "end"
+                                                       f_jsnup
+                                                       break
+                                               fi
                                                continue
                                        elif [ "${trm_ifquality}" -ge "${trm_minquality}" ]; then
                                                trm_ifstatus="$("${trm_ubuscmd}" -S call network.interface dump 2>/dev/null | "${trm_jsoncmd}" -ql1 -e "@.interface[@.device=\"${ifname}\"].up")"