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

robert rlanghammer at web.de
Do Jun 20 22:04:51 CEST 2019


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 at 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:=+ at 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 :)




Mehr Informationen über die Mailingliste franken-dev