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

mail at adrianschmutzler.de mail at adrianschmutzler.de
So Jul 29 12:43:05 CEST 2018


Hallo Fabian,

nur zwecks hoodfilelocal:

Mir würde es besser gefallen, nicht nochmal ein File zu kopieren.

Das Entfernen von hoodfiletmp aus hoodutils hätte einen gewissen Charme, da dann das Verhalten wieder konsistent wird. Zudem wird hoodfiletmp ja ohnehin jeweils zu Beginn der Laufzeit von configurehood gelöscht. Es wäre dann halt während der Konfigurationsphase in configurehood (also bei einem Wechsel solange, bis hoodfileref angelegt wird) kein hoodfile für die restlichen Komponenten sichtbar.
Hier müsste man mal genauer überlegen, was das für Einflüsse hat (ggf. ist es sogar positiv, wenn nachgeordnete Komponenten WÄHREND der Konfiguration davon ausgehen, dass es noch kein Hoodfile gibt).

Ich würde mit dieser Änderung aber bis nach einem stable Release warten, damit wir nichts kaputt machen.

Ansonsten ist die Lösung mit dem Kopieren des Files natürlich eine, die funktionieren sollte und jetzt auch nicht "schlecht" ist.

Grüße

Adrian


> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Fabian Bläse
> Sent: Sonntag, 29. Juli 2018 12:09
> To: Adrian Schmutzler <freifunk at adrianschmutzler.de>; franken-dev
> <franken-dev at freifunk.net>
> Subject: Re: [PATCH] vpn-select: Demand hood file to be provided as
> argument
> 
> Moin,
> 
> das klingt für mich sehr vernünftig, die Abhängigkeit los zu werden.
> 
> Allerdings sollten wir entweder:
> - Die hoodfiletmp aus hoodutils entfernen oder
> - hoodfilelocal trotzdem nach hoodfiletmp kopieren damit trotzdem alles
> weiterhin so ist, wie man erwartet.
> 
> Allerdings nicht in diesem Patch sondern generell.
> 
> Für diesen Patch:
> Reviewed-by: Fabian Bläse <fabian at blaese.de>
> 
> Fabian
> 
> > On 28. Jul 2018, at 23:15, Adrian Schmutzler
> <freifunk at adrianschmutzler.de> wrote:
> >
> > 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