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

Submitted by Robert Langhammer on June 25, 2019, 12:33 p.m.

Details

Message ID 20190625123336.21719-4-rlanghammer@web.de
State Superseded
Headers show

Commit Message

Robert Langhammer June 25, 2019, 12:33 p.m.
Signed-off-by: Robert Langhammer <rlanghammer@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(-)

--
2.20.1

Patch hide | download patch | download mbox

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:=+@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
 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"

-		# 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
 	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
-
-		# 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
 	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


Comments

Adrian Schmutzler June 25, 2019, 12:54 p.m.
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@freifunk.net] On Behalf Of
> Robert Langhammer
> Sent: Dienstag, 25. Juni 2019 14:34
> To: franken-dev@freifunk.net
> Subject: [PATCH 3/4] fff-vpn-select: remove tunneldigger
> 
> Signed-off-by: Robert Langhammer <rlanghammer@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:=+@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
Robert Langhammer June 25, 2019, 2:32 p.m.
Hi Adrian,

stimmt, das mit dem Start ist so nicht schön.

Eigentlich gefällt mir das ganze vpn-select, so wie es jetzt ist, nicht
wirklich. Es wird fastd Zeugs außerhalb von if [ "$protocol" = "fastd"
]; gemacht. Das stammt alles noch aus der l2tp-Experimentierphase.

Ich mach mir da mal Gedanken, wie man das schöner und offener für neue
Protokolle machen kann.

Grüße
Robert


Am 25.06.19 um 14:54 schrieb Adrian Schmutzler:
> Hallo Robert,
>
>
Adrian Schmutzler June 26, 2019, 12:11 p.m.
Hallo Robert,

 

generell sich Gedanken zu machen schadet nie :-)

 

Allerdings würde ich warten, bis man tatsächlich wieder ein zweites Protokoll hat, bevor man jetzt am vpn-select hypothetisch rumbaut.

Meistens ist dann doch wieder alles anders, wenn es ernst wird.

 

Ich habe dieses spezielle start/stop beim fastd allerdings auch nie ganz verstanden, ggf. sollte man das bei einem Treffen mal genau diskutieren.

Für den Patch würde ich es erstmal (wie im Patch beschrieben) drin lassen.

 

Beste Grüße

 

Adrian

 

 

From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of robert
Sent: Dienstag, 25. Juni 2019 16:32
To: franken-dev@freifunk.net
Subject: Re: [PATCH 3/4] fff-vpn-select: remove tunneldigger

 

Hi Adrian, 

stimmt, das mit dem Start ist so nicht schön. 

Eigentlich gefällt mir das ganze vpn-select, so wie es jetzt ist, nicht 
wirklich. Es wird fastd Zeugs außerhalb von if [ "$protocol" = "fastd" 
]; gemacht. Das stammt alles noch aus der l2tp-Experimentierphase. 

Ich mach mir da mal Gedanken, wie man das schöner und offener für neue 
Protokolle machen kann. 

Grüße 
Robert 

 

Am 25.06.19 um 14:54 schrieb Adrian Schmutzler: 
> Hallo Robert, 
> 
>