forked from freifunk-franken/firmware
vpn-select: Demand hood file to be provided as argument
By removing the reference to the hood file from vpn-select, we remove the entire dependency from fff-hoodutils. vpn-select will now work with any file provided, as long as it has the correct syntax. At the moment, the only provider is the configurehood script. Since the various hood file variants are handled there, it seems logical that configurehood also chooses and provides the correct hood file for vpn-select, instead of vpn-select which had no other contact with hood file choice. This is simple, tidy and effective. Adjusted some comments. Fixes #106 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Reviewed-by: Robert Langhammer <rlanghammer@web.de> Reviewed-by: Fabian Bläse <fabian@blaese.de>
This commit is contained in:
parent
62fd2b71e0
commit
53184f63fb
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue