[PATCH 3/4] fff-vpn-select: remove tunneldigger

Adrian Schmutzler mail at adrianschmutzler.de
Di Jun 25 14:54:30 CEST 2019


Hallo Robert,

bitte auch hier Version anpassen:

- PKG_VERSION:=3
- PKG_RELEASE:=1
+ PKG_RELEASE:=4

Rest siehe unten:

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of
> Robert Langhammer
> Sent: Dienstag, 25. Juni 2019 14:34
> To: franken-dev at freifunk.net
> Subject: [PATCH 3/4] fff-vpn-select: remove tunneldigger
> 
> Signed-off-by: Robert Langhammer <rlanghammer at web.de>
> ---
>  src/packages/fff/fff-vpn-select/Makefile      |  3 +-
>  .../fff-vpn-select/files/usr/sbin/vpn-select  | 41 +------------------
>  .../fff-vpn-select/files/usr/sbin/vpn-stop    |  2 -
>  3 files changed, 2 insertions(+), 44 deletions(-)
> 
> diff --git a/src/packages/fff/fff-vpn-select/Makefile b/src/packages/fff/fff-vpn-
> select/Makefile
> index 7bc3375..09dd7ea 100644
> --- a/src/packages/fff/fff-vpn-select/Makefile
> +++ b/src/packages/fff/fff-vpn-select/Makefile
> @@ -14,13 +14,12 @@ define Package/$(PKG_NAME)
>  	TITLE:= Freifunk-Franken vpn-select
>  	URL:=http://www.freifunk-franken.de
>  	DEPENDS:=+ at BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT \
> -			 +fff-tunneldigger \
>  			 +fff-fastd
>  endef
> 
>  define Package/$(PKG_NAME)/description
>  	This package selects and starts the VPN
> -	In this version fastd and l2tp via tunneldigger
> +	In this version fastd

Hier hätte ich ein dringendes Bedürfnis, daraus einen richtigen Satz zu machen, z.B. einfach die zweite Zeile in Klammern:
+	(currently only via fastd)

>  endef
> 
>  define Build/Prepare
> 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 58e48c4..1c38345 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
> @@ -8,9 +8,7 @@ hoodfile="$1"
> 
>  make_config() {
>  # remove old config
> ->/etc/config/tunneldigger
>  rm /tmp/fastd_fff_peers/*
> -count=0
>  Index=1
>  json_load "$(cat "$hoodfile")"
>  json_select vpn
> @@ -30,23 +28,6 @@ do
>  		echo "" >> "$filename"
>  		echo "float yes;" >> "$filename"
> 

In der Zeile vor #ask sind bei mir noch zwei nutzlose Tabs. Ggf. die gleich mit platt machen.

> -		# ask for Broker and select the tunnel
> -		if [ "l2tp" = "$(wget -T10 "${address}/vpn.txt" -O - 2>/dev/null)"
> ]; then
> -			# Gateway offers l2tp
> -			L2PORT=$((port + 10000))
> -			UUID=$hostname
> -
> -			uci set tunneldigger.$count=broker
> -			uci set
> tunneldigger.$count.address="${address}:$L2PORT"
> -			uci set tunneldigger.$count.uuid="$UUID"
> -			uci set tunneldigger.$count.interface="l2tp$count"
> -			uci set tunneldigger.$count.enabled="1"
> -			uci set
> tunneldigger.$count.hook_script='/etc/tunneldigger/tunneldigger.hook'
> -			uci -c /tmp commit tunneldigger
> -			count=$((count + 1))
> -			# remove this fastd-peer
> -			rm "$filename"
> -		fi
>  	fi
>  	json_select ".." # back to vpn
>  	Index=$(( Index + 1 ))
> @@ -58,34 +39,14 @@ json_select ".." # back to root
> 
>  # 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)
> -	[ "$hostname" = "LEDE" ] && hostname=""
> -	[ "$hostname" = "" ] &&  hostname="$mac"
> -
>  	if [ ! -d /tmp/fastd_fff_peers ]; then
>  		# first run after reboot
>  		mkdir /tmp/fastd_fff_peers
>  		make_config
> -		# start fastd only if there are some peers left
> -		[ "$(ls /etc/fastd/fff/peers/* 2>/dev/null)" ] && /etc/init.d/fastd
> start
> -		/etc/init.d/tunneldigger start
> +		/etc/init.d/fastd start

So starten wir fastd auch, wenn wir ein leeres vpn[] bekommen. Ich würde hier nur die tunneldigger Zeile entfernen.

>  	else
> -		# check if new tunneldigger conf is different
> -		sumold=$(sha256sum /etc/config/tunneldigger)
>  		make_config
> -		sumnew=$(sha256sum /etc/config/tunneldigger)
> -		[ "$sumnew" != "$sumold" ] && /etc/init.d/tunneldigger restart
>  		/etc/init.d/fastd reload

Soweit ja.

> -
> -		# fastd start/stop for various situations
> -		pidfile="/tmp/run/fastd.fff.pid"
> -		if [ "$(ls /etc/fastd/fff/peers/* 2>/dev/null)" ]; then
> -			([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) ||
> /etc/init.d/fastd start
> -		else
> -			([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) &&
> /etc/init.d/fastd stop
> -		fi

Hier selbes Argument wie oben: Kriegt man ein leeres vpn[], sollte fastd ausgeschaltet werden (und danach wieder angeschaltet).
Selbst wenn wir uns entscheiden sollten, dass wir in diesem Fall fastd trotzdem starten/laufen lassen, hätte ich diese beiden Änderungen gerne in einem eigenen Commit.

Alternativ könnte man natürlich auch an dem fastd reload rumspielen. Hab ich mir jetzt aber noch keine genaueren Gedanken dazu gemacht. Wäre aber auch ein eigenes Projekt.

Vielen Dank fürs Patch-Bauen und beste Grüße

Adrian

>  	fi
>  	exit 0
>  else
> diff --git a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-stop
> b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-stop
> index 9d7fd9a..03a160b 100755
> --- a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-stop
> +++ b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-stop
> @@ -1,7 +1,5 @@
>  #!/bin/sh
> 
> ->/etc/config/tunneldigger
>  rm /tmp/fastd_fff_peers/*
>  /etc/init.d/fastd stop
> -/etc/init.d/tunneldigger stop
> 
> --
> 2.20.1
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190625/7199eaeb/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev