[PATCH 1/4] fff-fastd: remove fastdstart and add some uci-defaults

mayosemmel mayosemmel at googlemail.com
Mo Jun 27 18:46:15 CEST 2016


Reviewed-by: Jan Kraus <mayosemmel at gmail.com>
Bitte erst applien, wenn noch jemand anders drüber geschaut hat und
natürlich nur im gesamten Satz.

Grüße Jan
Am Sonntag, den 26.06.2016, 23:23 +0200 schrieb Robert Langhammer:
> Signed-off-by: Robert Langhammer <rlanghammer at web.de>
> ---
>  .../files/etc/hotplug.d/iface/50-fastdstart        |  5 --
>  .../fff-fastd/files/etc/uci-defaults/55_fff-fastd  | 28 +++++++
>  .../fff/fff-fastd/files/usr/lib/micron.d/fff-fastd |  1 -
>  .../fff/fff-fastd/files/usr/sbin/fastdstart        | 97 ----------------------
>  4 files changed, 28 insertions(+), 103 deletions(-)
>  delete mode 100755 src/packages/fff/fff-fastd/files/etc/hotplug.d/iface/50-fastdstart
>  create mode 100644 src/packages/fff/fff-fastd/files/etc/uci-defaults/55_fff-fastd
>  delete mode 100644 src/packages/fff/fff-fastd/files/usr/lib/micron.d/fff-fastd
>  delete mode 100755 src/packages/fff/fff-fastd/files/usr/sbin/fastdstart
> 
> diff --git a/src/packages/fff/fff-fastd/files/etc/hotplug.d/iface/50-fastdstart b/src/packages/fff/fff-fastd/files/etc/hotplug.d/iface/50-fastdstart
> deleted file mode 100755
> index 7e7b27d..0000000
> --- a/src/packages/fff/fff-fastd/files/etc/hotplug.d/iface/50-fastdstart
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -#!/bin/sh 
> -[ "$ACTION" = "ifup" -a "$INTERFACE" = "wan" ] && {
> -	sleep 3
> -	/usr/sbin/fastdstart
> -}
> diff --git a/src/packages/fff/fff-fastd/files/etc/uci-defaults/55_fff-fastd b/src/packages/fff/fff-fastd/files/etc/uci-defaults/55_fff-fastd
> new file mode 100644
> index 0000000..8ce8425
> --- /dev/null
> +++ b/src/packages/fff/fff-fastd/files/etc/uci-defaults/55_fff-fastd
> @@ -0,0 +1,28 @@
> +/etc/init.d/fastd disable
> +
> +. /etc/community.cfg
> +project="$VPN_PROJECT"
> +
> +>/etc/config/fastd
> +
> +uci batch <<EOF
> +  set fastd.${project}='fastd'
> +  set fastd.${project}.enabled='1'
> +  set fastd.${project}.config_peer_dir="/etc/fastd/${project}/peers"
> +  set fastd.${project}.syslog_level='warn'
> +  set fastd.${project}.method='null'
> +  set fastd.${project}.mode='tap'
> +  set fastd.${project}.interface="${project}VPN"
> +  set fastd.${project}.mtu='1426'
> +  set fastd.${project}.on_up="/etc/fastd/${project}/up.sh"
> +  set fastd.${project}.secure_handshakes='0'
> +  set fastd.${project}.secret="generate"
> +EOF
> +
> +[ ! -d /etc/fastd/${project} ] &&  mkdir -p /etc/fastd/${project}
> +ln -s /tmp/fastd_${project}_peers /etc/fastd/${project}/peers
> +echo "#!/bin/sh" > /etc/fastd/${project}/up.sh
> +echo "ip link set up dev ${project}VPN" >> /etc/fastd/${project}/up.sh
> +echo "echo enable > /sys/devices/virtual/net/${project}VPN/batman_adv/no_rebroadcast" >> /etc/fastd/${project}/up.sh
> +echo "batctl if add ${project}VPN" >> /etc/fastd/${project}/up.sh
> +chmod +x /etc/fastd/${project}/up.sh
> diff --git a/src/packages/fff/fff-fastd/files/usr/lib/micron.d/fff-fastd b/src/packages/fff/fff-fastd/files/usr/lib/micron.d/fff-fastd
> deleted file mode 100644
> index b0022e8..0000000
> --- a/src/packages/fff/fff-fastd/files/usr/lib/micron.d/fff-fastd
> +++ /dev/null
> @@ -1 +0,0 @@
> -*/5 * * * * sleep $(/usr/bin/random 0 29); sh /usr/sbin/fastdstart
> diff --git a/src/packages/fff/fff-fastd/files/usr/sbin/fastdstart b/src/packages/fff/fff-fastd/files/usr/sbin/fastdstart
> deleted file mode 100755
> index 611a3f8..0000000
> --- a/src/packages/fff/fff-fastd/files/usr/sbin/fastdstart
> +++ /dev/null
> @@ -1,97 +0,0 @@
> -#!/bin/sh
> -
> -SERVER="no"
> -#SERVERNAME="--servername--"
> -
> -. /etc/community.cfg
> -
> -project="$VPN_PROJECT"
> -
> -test_ipv4_host1="keyserver.freifunk-franken.de" # Freifunk-Franken keyserver
> -test_ipv4_host2="8.8.8.8"        # Google DNS
> -test_ipv6_host1="heise.de"       # heise Zeitschriftenverlag
> -
> -if [ "$SERVER" = "no" ]; then
> -	test -f /tmp/started || exit
> -fi
> -
> -# Only do something with fastd when the router has internet connection
> -if ping -w5 -c3 "$test_ipv4_host1" &>/dev/null || 
> -   ping -w5 -c3 "$test_ipv4_host2" &>/dev/null ||
> -   ping6 -w5 -c3 "$test_ipv6_host1" &>/dev/null; then
> -	mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }' /sys/class/net/br-mesh/address 2>/dev/null)
> -	if [ "$SERVER" = "no" ]; then
> -		hostname=$(cat /proc/sys/kernel/hostname)
> -
> -		if [ "$hostname" = "OpenWrt" ]; then
> -			hostname=""
> -		fi
> -
> -		if [ "$hostname" = "" ]; then
> -			hostname=$mac
> -		fi
> -	else
> -		hostname=$SERVERNAME
> -	fi
> -
> -	if [ ! -d /etc/fastd ]; then
> -		mkdir /etc/fastd
> -	fi
> -
> -	if [ ! -d /etc/fastd/$project ]; then
> -		mkdir /etc/fastd/$project
> -
> -		mkdir /tmp/fastd_${project}_peers
> -		ln -s /tmp/fastd_${project}_peers /etc/fastd/$project/peers
> -		echo "#!/bin/sh" > /etc/fastd/$project/up.sh
> -		echo "ip link set up dev ${project}VPN" >> /etc/fastd/$project/up.sh
> -		echo "echo enable > /sys/devices/virtual/net/${project}VPN/batman_adv/no_rebroadcast" >> /etc/fastd/$project/up.sh
> -		echo "batctl if add ${project}VPN" >> /etc/fastd/$project/up.sh
> -		chmod +x /etc/fastd/$project/up.sh
> -
> -		secret=$(fastd --generate-key 2>&1 | grep -i secret | awk '{ print $2 }')
> -		echo "include peers from \"/etc/fastd/$project/peers\";" >> /etc/fastd/${project}/${project}.conf
> -		echo "log to syslog level warn;" >> /etc/fastd/${project}/${project}.conf
> -		echo "method \"null\";" >> /etc/fastd/${project}/${project}.conf
> -#		http://lists.nord-west.net/pipermail/freifunk-ol-dev/2013-July/000322.html
> -#		echo "bind 0.0.0.0:10000;" >> /etc/fastd/${project}/${project}.conf
> -		echo "interface \"${project}VPN\";" >> /etc/fastd/${project}/${project}.conf
> -		echo "mtu 1426;" >> /etc/fastd/${project}/${project}.conf
> -		echo "secret \"$secret\";" >> /etc/fastd/${project}/${project}.conf
> -		echo "on up \"/etc/fastd/${project}/up.sh\";" >> /etc/fastd/${project}/${project}.conf
> -		echo "secure handshakes no;" >> /etc/fastd/${project}/${project}.conf
> -	fi
> -
> -	if [ ! -d /tmp/fastd_${project}_peers ]; then
> -		mkdir /tmp/fastd_${project}_peers
> -	fi	
> -
> -	pubkey=$(fastd -c /etc/fastd/$project/$project.conf --show-key --machine-readable)
> -#	port=666
> -	lat=$(uci get system. at system[0].latitude)
> -	long=$(uci get system. at system[0].longitude)
> -
> -#	fire up
> -	if [ "$(/sbin/ifconfig -a | grep -i ethernet | grep $project)" = "" ]; then
> -		/bin/rm /var/run/fastd.$project.pid
> -		fastd -c /etc/fastd/$project/$project.conf -d --pid-file /var/run/fastd.$project.pid
> -	fi
> -
> -#	register
> -	wget -T15 "http://keyserver.freifunk-franken.de/${project}/geo.php?mac=$mac&name=$hostname&port=$port&key=$pubkey&lat=$lat&long=$long" -O /tmp/fastd_${project}_output
> -
> -	filenames=$(awk '/^####/ { gsub(/^####/, "", $0); gsub(/.conf/, "", $0); print $0; }' /tmp/fastd_${project}_output)
> -	for file in $filenames; do
> -		awk "{ if(a) print }; /^####$file.conf$/{a=1}; /^$/{a=0};" /tmp/fastd_${project}_output | sed 's/ float;/;/g' > /etc/fastd/$project/peers/$file
> -		echo 'float yes;' >> /etc/fastd/$project/peers/$file
> -	done
> -
> -	#reload
> -	kill -HUP $(cat /var/run/fastd.$project.pid)
> -else
> -	echo "Der Router kann keine Verbindung zum Fastdserver aufbauen"
> -	echo "$0 macht nichts!"
> -fi
> -
> -exit 0
> -# vim: noexpandtab
> -- 
> 2.8.0.rc3
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 473 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20160627/e33987dc/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev