diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile index b565ac7..93fd430 100644 --- a/src/packages/fff/fff-hoods/Makefile +++ b/src/packages/fff/fff-hoods/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-hoods -PKG_VERSION:=2 +PKG_VERSION:=3 PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood index 57c6f9f..47e228b 100755 --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood @@ -195,9 +195,9 @@ if [ -s "$hoodfiletmp" ]; then # and now we get to vpn-select script and load VPNs directly from /tmp/keyxchangev2data if hasInternet ; then - sh /usr/sbin/vpn-select + /usr/sbin/vpn-select "$hoodfiletmp" else - sh /usr/sbin/vpn-stop + /usr/sbin/vpn-stop fi # now we load the prefix from the hoodfile and set this to br-mesh diff --git a/src/packages/fff/fff-vpn-select/Makefile b/src/packages/fff/fff-vpn-select/Makefile index 4e2d89b..27cff09 100644 --- a/src/packages/fff/fff-vpn-select/Makefile +++ b/src/packages/fff/fff-vpn-select/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-vpn-select -PKG_VERSION:=1 +PKG_VERSION:=3 PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select index 7c9bced..ddd21a1 100755 --- a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select +++ b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select @@ -1,15 +1,18 @@ #!/bin/sh -. /lib/functions/fff/keyxchange +# Usage: vpn-select + . /usr/share/libubox/jshn.sh +hoodfile="$1" + make_config() { # remove old config >/etc/config/tunneldigger rm /tmp/fastd_fff_peers/* count=0 Index=1 -json_load "$(cat "$hoodfiletmp")" +json_load "$(cat "$hoodfile")" json_select vpn # get fastd peers while json_select "$Index" > /dev/null @@ -53,8 +56,8 @@ json_select ".." # back to root # main -# Only do something when file is here and greater 0 byte -if [ -s "$hoodfiletmp" ]; then +# Only do something if file is there and not empty; otherwise exit 1 +if [ -s "$hoodfile" ]; then # set some vars hostname=$(cat /proc/sys/kernel/hostname) mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }' /sys/class/net/br-mesh/address 2>/dev/null) @@ -84,4 +87,8 @@ if [ -s "$hoodfiletmp" ]; then ([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) && /etc/init.d/fastd stop fi fi + exit 0 +else + echo "vpn-select: Hood file not found or empty!" + exit 1 fi