@@ -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)
@@ -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
@@ -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)
@@ -1,15 +1,18 @@
#!/bin/sh
-. /lib/functions/fff/keyxchange
+# Usage: vpn-select <path-to-hood-file>
+
. /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