From f6fe4f81c5b01e0677b3b23f17c4aa03d25b102f Mon Sep 17 00:00:00 2001 From: Jan-Tarek Butt Date: Wed, 30 Oct 2013 00:20:39 +0100 Subject: [PATCH] =?UTF-8?q?Einr=C3=BCckungen=20Korrigiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan-Tarek Butt --- .../root_file_system/etc/fastdstart.sh.tpl | 108 +++++++++--------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/bsp/default/root_file_system/etc/fastdstart.sh.tpl b/bsp/default/root_file_system/etc/fastdstart.sh.tpl index 281fb61c..e456a63f 100755 --- a/bsp/default/root_file_system/etc/fastdstart.sh.tpl +++ b/bsp/default/root_file_system/etc/fastdstart.sh.tpl @@ -9,78 +9,78 @@ test_internet_host1="mastersword.de" test_internet_host2="109.163.229.254" if [ "$SERVER" == "no" ]; then - test -f /tmp/started || exit + test -f /tmp/started || exit fi #Only do something with fastd when the router has internet connection if ping -w5 -c3 "$test_internet_host1" &>/dev/null || ping -w5 -c3 "$test_internet_host2" &>/dev/null || ping6 -w5 -c3 heise.de &>/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) + 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" == "OpenWrt" ]; then + hostname="" + fi - if [ "$hostname" == "" ]; then - hostname=$mac - fi - else - hostname=$SERVERNAME - fi + if [ "$hostname" == "" ]; then + hostname=$mac + fi + else + hostname=$SERVERNAME + fi - if [ ! -d /etc/fastd ]; then - mkdir /etc/fastd - fi + if [ ! -d /etc/fastd ]; then + mkdir /etc/fastd + fi - if [ ! -d /etc/fastd/$project ]; then - mkdir /etc/fastd/$project + 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 "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 - fi + 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 "batctl if add ${project}VPN" >> /etc/fastd/$project/up.sh + chmod +x /etc/fastd/$project/up.sh - if [ ! -d /tmp/fastd_${project}_peers ]; then - mkdir /tmp/fastd_${project}_peers - fi + 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 + fi - pubkey=$(fastd -c /etc/fastd/$project/$project.conf --show-key --machine-readable) - #port=666 + 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 - # 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 +# 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://mastersword.de/~reddog/${project}/?mac=$mac&name=$hostname&port=$port&key=$pubkey" -O /tmp/fastd_${project}_output +# register + wget -T15 "http://mastersword.de/~reddog/${project}/?mac=$mac&name=$hostname&port=$port&key=$pubkey" -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 > /etc/fastd/$project/peers/$file - done + 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 > /etc/fastd/$project/peers/$file + done - #reload - kill -HUP $(cat /var/run/fastd.$project.pid) + #reload + kill -HUP $(cat /var/run/fastd.$project.pid) else echo "Der Router kann keine Verbindung zum Fastdserver aufbauen" echo "$0 macht nichts!"