From patchwork Sun Jun 26 21:23:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/4] fff-fastd: remove fastdstart and add some uci-defaults From: Robert Langhammer X-Patchwork-Id: 176 Message-Id: <1466976194-2546-2-git-send-email-rlanghammer@web.de> To: franken-dev@freifunk.net Date: Sun, 26 Jun 2016 23:23:11 +0200 Signed-off-by: Robert Langhammer Reviewed-by: Jan Kraus --- .../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 < /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.@system[0].latitude) - long=$(uci get system.@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