[PATCH] vpn-select: Demand hood file to be provided as argument

Adrian Schmutzler freifunk at adrianschmutzler.de
Sa Jul 28 23:15:23 CEST 2018


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.

Fixes #106

Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>

---

I raised the version for fff-vpn-select by 2, since it still was
on 1. The never existant version 2 would have been the initial
KeyXchangeV2 version.
---
 src/packages/fff/fff-hoods/Makefile                       | 2 +-
 src/packages/fff/fff-hoods/files/usr/sbin/configurehood   | 2 +-
 src/packages/fff/fff-vpn-select/Makefile                  | 2 +-
 src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select | 7 ++++---
 4 files changed, 7 insertions(+), 6 deletions(-)

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..6565c80 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -195,7 +195,7 @@ 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
+		sh /usr/sbin/vpn-select "$hoodfiletmp"
 	else
 		sh /usr/sbin/vpn-stop
 	fi
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..86236e8 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,16 @@
 #!/bin/sh
 
-. /lib/functions/fff/keyxchange
 . /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
@@ -54,7 +55,7 @@ json_select ".." # back to root
 # main
 
 # Only do something when file is here and greater 0 byte
-if [ -s "$hoodfiletmp" ]; then
+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)
-- 
2.11.0



Mehr Informationen über die Mailingliste franken-dev