[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