From patchwork Sat Jul 28 21:15:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: vpn-select: Demand hood file to be provided as argument From: Adrian Schmutzler X-Patchwork-Id: 899 Message-Id: <20180728211523.10210-1-freifunk@adrianschmutzler.de> To: franken-dev@freifunk.net Date: Sat, 28 Jul 2018 23:15:23 +0200 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 Reviewed-by: Robert Langhammer Reviewed-by: Tim Niemeyer Reviewed-by: Fabian Bläse --- 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)