[RFC,1/2] fff-vpn-select: Disable VPN via tunneldigger

Submitted by Adrian Schmutzler on June 20, 2019, 5:55 p.m.

Details

Message ID 20190620175529.2080-2-freifunk@adrianschmutzler.de
State Superseded
Headers show

Commit Message

Adrian Schmutzler June 20, 2019, 5:55 p.m.
This will deselect fff-tunneldigger and tunneldigger packages.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
 src/packages/fff/fff-vpn-select/Makefile           |  7 ++---
 .../fff/fff-vpn-select/files/usr/sbin/vpn-select   | 31 ----------------------
 2 files changed, 2 insertions(+), 36 deletions(-)

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 7bc33755..efc1d3a7 100644
--- a/src/packages/fff/fff-vpn-select/Makefile
+++ b/src/packages/fff/fff-vpn-select/Makefile
@@ -1,8 +1,7 @@ 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fff-vpn-select
-PKG_VERSION:=3
-PKG_RELEASE:=1
+PKG_RELEASE:=4
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
 
@@ -13,9 +12,7 @@  define Package/$(PKG_NAME)
 	CATEGORY:=Freifunk
 	TITLE:= Freifunk-Franken vpn-select
 	URL:=http://www.freifunk-franken.de
-	DEPENDS:=+@BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT \
-			 +fff-tunneldigger \
-			 +fff-fastd
+	DEPENDS:=+fff-fastd
 endef
 
 define Package/$(PKG_NAME)/description
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 58e48c44..abc21817 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
@@ -29,24 +27,6 @@  do
 		echo "remote \"${address}\" port ${port};" >> "$filename"
 		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,25 +38,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
 	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

Comments

Robert Langhammer June 20, 2019, 8:04 p.m.
Hi Adrian, s. unten

Am 20.06.19 um 19:55 schrieb Adrian Schmutzler:
> This will deselect fff-tunneldigger and tunneldigger packages.
>
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> ---
>  src/packages/fff/fff-vpn-select/Makefile           |  7 ++---
>  .../fff/fff-vpn-select/files/usr/sbin/vpn-select   | 31 ----------------------
>  2 files changed, 2 insertions(+), 36 deletions(-)
>
> diff --git a/src/packages/fff/fff-vpn-select/Makefile b/src/packages/fff/fff-vpn-select/Makefile
> index 7bc33755..efc1d3a7 100644
> --- a/src/packages/fff/fff-vpn-select/Makefile
> +++ b/src/packages/fff/fff-vpn-select/Makefile
> @@ -1,8 +1,7 @@
>  include $(TOPDIR)/rules.mk
>
>  PKG_NAME:=fff-vpn-select
> -PKG_VERSION:=3
> -PKG_RELEASE:=1
> +PKG_RELEASE:=4
>
>  PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
>
> @@ -13,9 +12,7 @@ define Package/$(PKG_NAME)
>  	CATEGORY:=Freifunk
>  	TITLE:= Freifunk-Franken vpn-select
>  	URL:=http://www.freifunk-franken.de
> -	DEPENDS:=+@BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT \
> -			 +fff-tunneldigger \
> -			 +fff-fastd
> +	DEPENDS:=+fff-fastd
>  endef
>
>  define Package/$(PKG_NAME)/description
> 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 58e48c44..abc21817 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
> @@ -29,24 +27,6 @@ do
>  		echo "remote \"${address}\" port ${port};" >> "$filename"
>  		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,25 +38,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
>  	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

Da kann sogar noch mehr weg:

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

Dafür hatte ich die Variablen vergessen :)
Adrian Schmutzler June 21, 2019, 11 a.m.
Hallo robert,

wenn du schon Patches hast, können wir auch gerne deine nehmen, war ja schließlich deine Idee.

Weiteres siehe unten.

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of
> robert
> Sent: Donnerstag, 20. Juni 2019 22:05
> To: franken-dev@freifunk.net
> Subject: Re: [RFC PATCH 1/2] fff-vpn-select: Disable VPN via tunneldigger
> 

[...]

> >
> >  		# fastd start/stop for various situations
> 
> Da kann sogar noch mehr weg:
> 
> -
> -               # 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
> 

Brauchen wir das nicht auch für den Fall, dass keine VPN-Server eingetragen sind?

Das wäre bei dezentralen Hood der Normal-Fall und kann auch bei zentralen Hoods mal versehentlich passieren ... Wenn sich dieser Status dann verändert, würde fastd ggf. crashen oder nicht starten?!

Grüße

Adrian
Adrian Schmutzler June 21, 2019, 11:06 a.m.
Hallo nochmal,

 

ich sehe gerade, vpn-stop habe ich ganz übersehen …

 

Grüße

 

Adrian

 

From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of Adrian Schmutzler
Sent: Freitag, 21. Juni 2019 13:01
To: 'robert' <rlanghammer@web.de>; franken-dev@freifunk.net
Subject: RE: [RFC PATCH 1/2] fff-vpn-select: Disable VPN via tunneldigger

 

Hallo robert, 

wenn du schon Patches hast, können wir auch gerne deine nehmen, war ja schließlich deine Idee. 

Weiteres siehe unten. 

> -----Original Message----- 
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of 
> robert 
> Sent: Donnerstag, 20. Juni 2019 22:05 
> To: franken-dev@freifunk.net <mailto:franken-dev@freifunk.net>  
> Subject: Re: [RFC PATCH 1/2] fff-vpn-select: Disable VPN via tunneldigger 
> 

[...] 

> > 
> >             # fastd start/stop for various situations 
> 
> Da kann sogar noch mehr weg: 
> 
> - 
> -               # 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 
> 

Brauchen wir das nicht auch für den Fall, dass keine VPN-Server eingetragen sind? 

Das wäre bei dezentralen Hood der Normal-Fall und kann auch bei zentralen Hoods mal versehentlich passieren ... Wenn sich dieser Status dann verändert, würde fastd ggf. crashen oder nicht starten?!

Grüße 

Adrian