<p dir="ltr"><br>
Am 04.04.2016 3:20 nachm. schrieb "Christian Dresel" <<a href="mailto:fff@chrisi01.de">fff@chrisi01.de</a>>:<br>
><br>
> Hi Alex<br>
><br>
> bevor ich anfange ein kurzes sorry, nicht Roland sondern Robert war<br>
> natürlich gemeint und auch alle anderen die daran gearbeitet haben (ich<br>
> und Namen...)!</p>
<p dir="ltr">Schreib doch einfach " die Haßbergler" <br>
lieber einen zu viel gelobt. ;)</p>
<p dir="ltr">><br>
> zu deinen Kommentar, dieses fastdstart.sh Script wird sowieso im Cron<br>
> alle 5 Minuten aufgerufen. Die Abfrage zum keyxchange läuft also<br>
> weiterhin alle 5 Minuten, dazu holt er auch die peers aus fastd alle 5<br>
> Minuten neu und schreibt sie in die /etc/config/tunneldigger<br>
><br>
> Auch die restliche Startsequenz wird im fastdstart.sh Script alle 5<br>
> Minuten durchlaufen so sollte (ich bin mir nicht sicher) eine<br>
> Hood/Gatewayänderung eigentlich immer übernommen werden.<br>
><br>
> Das war früher mit fastd schon immer so und hab ich jetzt eben einfach<br>
> für den l2tp übernommen.<br>
><br>
> Sicher kann ich sagen das neue GW/Hoods auf jeden Fall nach 5 Minuten in<br>
> der /etc/config/tunneldigger landen, wie der Tunneldigger damit umgeht<br>
> muss man vermutlich testen (oder es weiß jemand).</p>
<p dir="ltr">Alles klar :) dann gib bescheid wenns durchgebaut ist. :)</p>
<p dir="ltr">><br>
> mfg<br>
><br>
> Christian<br>
><br>
><br>
> Am 04.04.2016 um 15:15 schrieb Alex Gutfried:<br>
> > Hi super Sache :)<br>
> > vll wäre jede Nacht um 4:00 Uhr ein<br>
> ><br>
> > L2tp off<br>
> > L2tp conf<br>
> > service /etc/bla/tunneldigger restart<br>
> > l2tp on<br>
> ><br>
> > Sinnnvoll<br>
> > So wird spätestens jede Nacht erfasst ob es neue l2tp gateways gibt und<br>
> > spätestens jetzt wird ne Hoodänderung umgebaut.<br>
> ><br>
> > Ka vermutlich gibs was eleganteres. Nur so als Denkanstoß.<br>
> ><br>
> > LG Alex<br>
> ><br>
> > Am 04.04.2016 3:05 nachm. schrieb "Christian Dresel" <<a href="mailto:fff@chrisi01.de">fff@chrisi01.de</a><br>
> > <mailto:<a href="mailto:fff@chrisi01.de">fff@chrisi01.de</a>>>:<br>
> ><br>
> >     Hallo zusammen<br>
> ><br>
> >     ich hab mich mal rangesetzt und erste Versuche unternommen den<br>
> >     Tunneldigger fest in die Firmware zu integrieren. Aufgebaut ist das<br>
> >     ganze auf den Patch von Tim, welcher im Wiki zu finden ist [1] (dieser<br>
> >     muss zuvor unbedingt mit integriert werden!).<br>
> ><br>
> >     Ich hab die größten Teile der Scripte von Roland aus Hassfurt genommen<br>
> >     und in unsere fastdstart.sh integriert. Die Grundidee ist, zu prüfen ob<br>
> >     im /tmp/l2tp on drinnen steht, ist dies der Fall wird l2tp verwendet,<br>
> >     steht dort irgendwas anderes drinnen wird immer auf fastd VPN<br>
> >     umgeschaltet.<br>
> ><br>
> >     Das WebUI schreibt nun in diese File ein "on" wenn dort ein Haken<br>
> >     gesetzt wird (evtl. sollte man noch eine Mouseover Erklärung hinzufügen<br>
> >     o.ä.). Im fastdstart.sh Script wird auch nach 10 Sekunden (haben bei<br>
> >     meinen Tests gereicht) geprüft ob auch mindestens ein l2tp Tunnel<br>
> >     aufgebaut wird. Ist dies nicht der Fall wird automatisch wieder auf<br>
> >     fastd VPN umgeschaltet (dann gibt es in der Hood vermutlich keine l2tp<br>
> >     Gateways).<br>
> ><br>
> >     Das alte l2tunnel Script ist nicht mehr vorhanden, ich hab es<br>
> >     ausgeschlachtet und ins fastdstart.sh eingefügt. Ziel ist es hier auch<br>
> >     zu erkennen wenn es auf einmal keine l2tp Gateways mehr gibt oder sich<br>
> >     die Hood ändert, das die Router sich da anpassen, dies ist noch<br>
> >     ungetestet und auch nicht zu Ende überlegt, evtl. können da noch Fehler<br>
> >     enthalten sein, ich bitte hier um eine genaue Überprüfung.<br>
> ><br>
> >     Das ganze ist noch RFC, da ich es noch nicht mal erfolgreich durchgebaut<br>
> >     habe (daher bitte nicht applien, ich weiß nicht mal ob es erfolgreich<br>
> >     baut!). Bisher läuft es direkt auf dem Router gebastelt bei mir mit<br>
> >     diesem System aber absolut zuverlässig seit gestern Abend und daraufhin<br>
> >     hab ich das Patch nun erstellt.<br>
> ><br>
> >     Ich hätte gerne Rückmeldung ob wir das so in unsere Firmware einbauen<br>
> >     möchten und wenn ja was man verbessern/ändern könnte.<br>
> ><br>
> >     Vielen Dank<br>
> ><br>
> >     mfg<br>
> ><br>
> >     Christian<br>
> ><br>
> >     [1] <a href="https://wiki.freifunk-franken.de/w/Neues_Paket_in_Firmware_aufnehmen">https://wiki.freifunk-franken.de/w/Neues_Paket_in_Firmware_aufnehmen</a><br>
> ><br>
> >     Am 04.04.2016 <tel:04.04.2016> um 14:57 schrieb Christian Dresel:<br>
> >     > Signed-off-by: Christian Dresel <<a href="mailto:fff@chrisi01.de">fff@chrisi01.de</a><br>
> >     <mailto:<a href="mailto:fff@chrisi01.de">fff@chrisi01.de</a>>><br>
> >     ><br>
> >     >       new file:   .gitignore.orig<br>
> >     >       new file:   .gitignore.rej<br>
> >     >       modified:   bsp/default/root_file_system/etc/fastdstart.sh.tpl<br>
> >     >       new file:   bsp/default/root_file_system/etc/tunneldigger.hook<br>
> >     >       modified:   buildscript<br>
> >     >       modified:<br>
> >      src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html<br>
> >     >       modified:<br>
> >      src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html<br>
> >     >       modified:   src/packages/fff/fff/Makefile<br>
> >     > ---<br>
> >     >  .gitignore.orig                                    |  13 ++<br>
> >     >  .gitignore.rej                                     |   9 +<br>
> >     >  bsp/default/root_file_system/etc/fastdstart.sh.tpl | 198<br>
> >     +++++++++++++--------<br>
> >     >  bsp/default/root_file_system/etc/tunneldigger.hook |   9 +<br>
> >     >  buildscript                                        |   7 +-<br>
> >     >  .../fff/fff-web/files/www/ssl/cgi-bin/home.html    |   7 +-<br>
> >     >  .../fff-web/files/www/ssl/cgi-bin/settings.html    |  17 ++<br>
> >     >  src/packages/fff/fff/Makefile                      |   4 +-<br>
> >     >  8 files changed, 186 insertions(+), 78 deletions(-)<br>
> >     >  create mode 100644 .gitignore.orig<br>
> >     >  create mode 100644 .gitignore.rej<br>
> >     >  mode change 100755 => 100644<br>
> >     bsp/default/root_file_system/etc/fastdstart.sh.tpl<br>
> >     >  create mode 100644 bsp/default/root_file_system/etc/tunneldigger.hook<br>
> >     ><br>
> >     > diff --git a/.gitignore.orig b/.gitignore.orig<br>
> >     > new file mode 100644<br>
> >     > index 0000000..4d83dc3<br>
> >     > --- /dev/null<br>
> >     > +++ b/.gitignore.orig<br>
> >     > @@ -0,0 +1,13 @@<br>
> >     > +/selected_bsp<br>
> >     > +/selected_community<br>
> >     > +/build*<br>
> >     > +/bin*<br>
> >     > +/src/dl<br>
> >     > +/src/openwrt<br>
> >     > +/src/packages/fastd<br>
> >     > +/src/packages/openwrt<br>
> >     > +/src/packages/batman_adv<br>
> >     > +/src/packages/routing<br>
> >     > +/.project<br>
> >     > +/*.patch<br>
> >     > +/.mailmap<br>
> >     > diff --git a/.gitignore.rej b/.gitignore.rej<br>
> >     > new file mode 100644<br>
> >     > index 0000000..eb36f24<br>
> >     > --- /dev/null<br>
> >     > +++ b/.gitignore.rej<br>
> >     > @@ -0,0 +1,9 @@<br>
> >     > +--- .gitignore<br>
> >     > ++++ .gitignore<br>
> >     > +@@ -8,5 +8,6 @@ src/packages/fastd<br>
> >     > + src/packages/openwrt<br>
> >     > + src/packages/batman_adv<br>
> >     > + src/packages/routing<br>
> >     > ++src/packages/wlanslovenija<br>
> >     > + .project<br>
> >     > + ./*.patch<br>
> >     > diff --git a/bsp/default/root_file_system/etc/fastdstart.sh.tpl<br>
> >     b/bsp/default/root_file_system/etc/fastdstart.sh.tpl<br>
> >     > old mode 100755<br>
> >     > new mode 100644<br>
> >     > index 5bb5165..a4a1dc3<br>
> >     > --- a/bsp/default/root_file_system/etc/fastdstart.sh.tpl<br>
> >     > +++ b/bsp/default/root_file_system/etc/fastdstart.sh.tpl<br>
> >     > @@ -3,93 +3,143 @@<br>
> >     >  SERVER="no"<br>
> >     >  #SERVERNAME="--servername--"<br>
> >     ><br>
> >     > -project="${VPN_PROJECT}"<br>
> >     > +project="fff"<br>
> >     ><br>
> >     >  test_ipv4_host1="<a href="http://keyserver.freifunk-franken.de">keyserver.freifunk-franken.de</a><br>
> >     <<a href="http://keyserver.freifunk-franken.de">http://keyserver.freifunk-franken.de</a>>" # Freifunk-Franken keyserver<br>
> >     >  test_ipv4_host2="8.8.8.8"        # Google DNS<br>
> >     >  test_ipv6_host1="<a href="http://heise.de">heise.de</a> <<a href="http://heise.de">http://heise.de</a>>"       # heise<br>
> >     Zeitschriftenverlag<br>
> >     ><br>
> >     >  if [ "$SERVER" = "no" ]; then<br>
> >     > -     test -f /tmp/started || exit<br>
> >     > +        test -f /tmp/started || exit<br>
> >     >  fi<br>
> >     ><br>
> >     >  # Only do something with fastd when the router has internet<br>
> >     connection<br>
> >     > -if ping -w5 -c3 "$test_ipv4_host1" &>/dev/null ||<br>
> >     > +if ping -w5 -c3 "$test_ipv4_host1" &>/dev/null ||<br>
> >     >     ping -w5 -c3 "$test_ipv4_host2" &>/dev/null ||<br>
> >     >     ping6 -w5 -c3 "$test_ipv6_host1" &>/dev/null; then<br>
> >     > -     mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac<br>
> >     }' /sys/class/net/br-mesh/address 2>/dev/null)<br>
> >     > -     if [ "$SERVER" = "no" ]; then<br>
> >     > -             hostname=$(cat /proc/sys/kernel/hostname)<br>
> >     > -<br>
> >     > -             if [ "$hostname" = "OpenWrt" ]; then<br>
> >     > -                     hostname=""<br>
> >     > -             fi<br>
> >     > -<br>
> >     > -             if [ "$hostname" = "" ]; then<br>
> >     > -                     hostname=$mac<br>
> >     > -             fi<br>
> >     > -     else<br>
> >     > -             hostname=$SERVERNAME<br>
> >     > -     fi<br>
> >     > -<br>
> >     > -     if [ ! -d /etc/fastd ]; then<br>
> >     > -             mkdir /etc/fastd<br>
> >     > -     fi<br>
> >     > -<br>
> >     > -     if [ ! -d /etc/fastd/$project ]; then<br>
> >     > -             mkdir /etc/fastd/$project<br>
> >     > -<br>
> >     > -             mkdir /tmp/fastd_${project}_peers<br>
> >     > -             ln -s /tmp/fastd_${project}_peers<br>
> >     /etc/fastd/$project/peers<br>
> >     > -             echo "#!/bin/sh" > /etc/fastd/$project/up.sh<br>
> >     > -             echo "ip link set up dev ${project}VPN" >><br>
> >     /etc/fastd/$project/up.sh<br>
> >     > -             echo "echo enable ><br>
> >     /sys/devices/virtual/net/${project}VPN/batman_adv/no_rebroadcast" >><br>
> >     /etc/fastd/$project/up.sh<br>
> >     > -             echo "batctl if add ${project}VPN" >><br>
> >     /etc/fastd/$project/up.sh<br>
> >     > -             chmod +x /etc/fastd/$project/up.sh<br>
> >     > -<br>
> >     > -             secret=$(fastd --generate-key 2>&1 | grep -i secret<br>
> >     | awk '{ print $2 }')<br>
> >     > -             echo "include peers from<br>
> >     \"/etc/fastd/$project/peers\";" >> /etc/fastd/${project}/${project}.conf<br>
> >     > -             echo "log to syslog level warn;" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > -             echo "method \"null\";" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > -#<br>
> >     <a href="http://lists.nord-west.net/pipermail/freifunk-ol-dev/2013-July/000322.html">http://lists.nord-west.net/pipermail/freifunk-ol-dev/2013-July/000322.html</a><br>
> >     > -#            echo "bind <a href="http://0.0.0.0:10000">0.0.0.0:10000</a> <<a href="http://0.0.0.0:10000">http://0.0.0.0:10000</a>>;" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > -             echo "interface \"${project}VPN\";" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > -             echo "mtu 1426;" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > -             echo "secret \"$secret\";" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > -             echo "on up \"/etc/fastd/${project}/up.sh\";" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > -             echo "secure handshakes no;" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > -     fi<br>
> >     > -<br>
> >     > -     if [ ! -d /tmp/fastd_${project}_peers ]; then<br>
> >     > -             mkdir /tmp/fastd_${project}_peers<br>
> >     > -     fi<br>
> >     > -<br>
> >     > -     pubkey=$(fastd -c /etc/fastd/$project/$project.conf<br>
> >     --show-key --machine-readable)<br>
> >     > -#    port=666<br>
> >     > -     lat=$(uci get system.@system[0].latitude)<br>
> >     > -     long=$(uci get system.@system[0].longitude)<br>
> >     > -<br>
> >     > -#    fire up<br>
> >     > -     if [ "$(/sbin/ifconfig -a | grep -i ethernet | grep<br>
> >     $project)" = "" ]; then<br>
> >     > -             /bin/rm /var/run/fastd.$project.pid<br>
> >     > -             fastd -c /etc/fastd/$project/$project.conf -d<br>
> >     --pid-file /var/run/fastd.$project.pid<br>
> >     > -     fi<br>
> >     > -<br>
> >     > -#    register<br>
> >     > -     wget -T15<br>
> >     "<a href="http://keyserver.freifunk-franken.de/${project}/geo.php?mac=$mac&name=$hostname&port=$port&key=$pubkey&lat=$lat&long=$long">http://keyserver.freifunk-franken.de/${project}/geo.php?mac=$mac&name=$hostname&port=$port&key=$pubkey&lat=$lat&long=$long</a>"<br>
> >     -O /tmp/fastd_${project}_output<br>
> >     > -<br>
> >     > -     filenames=$(awk '/^####/ { gsub(/^####/, "", $0);<br>
> >     gsub(/.conf/, "", $0); print $0; }' /tmp/fastd_${project}_output)<br>
> >     > -     for file in $filenames; do<br>
> >     > -             awk "{ if(a) print }; /^####$file.conf$/{a=1};<br>
> >     /^$/{a=0};" /tmp/fastd_${project}_output | sed 's/ float;/;/g' ><br>
> >     /etc/fastd/$project/peers/$file<br>
> >     > -             echo 'float yes;' >> /etc/fastd/$project/peers/$file<br>
> >     > -     done<br>
> >     > -<br>
> >     > -     #reload<br>
> >     > -     kill -HUP $(cat /var/run/fastd.$project.pid)<br>
> >     > +        mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print<br>
> >     mac }' /sys/class/net/br-mesh/address 2>/dev/null)<br>
> >     > +        if [ "$SERVER" = "no" ]; then<br>
> >     > +                hostname=$(cat /proc/sys/kernel/hostname)<br>
> >     > +<br>
> >     > +                if [ "$hostname" = "OpenWrt" ]; then<br>
> >     > +                        hostname=""<br>
> >     > +                fi<br>
> >     > +<br>
> >     > +                if [ "$hostname" = "" ]; then<br>
> >     > +                        hostname=$mac<br>
> >     > +                fi<br>
> >     > +        else<br>
> >     > +                hostname=$SERVERNAME<br>
> >     > +        fi<br>
> >     > +<br>
> >     > +        if [ ! -d /etc/fastd ]; then<br>
> >     > +                mkdir /etc/fastd<br>
> >     > +        fi<br>
> >     > +<br>
> >     > +        if [ ! -d /etc/fastd/$project ]; then<br>
> >     > +                mkdir /etc/fastd/$project<br>
> >     > +<br>
> >     > +                mkdir /tmp/fastd_${project}_peers<br>
> >     > +                ln -s /tmp/fastd_${project}_peers<br>
> >     /etc/fastd/$project/peers<br>
> >     > +                echo "#!/bin/sh" > /etc/fastd/$project/up.sh<br>
> >     > +                echo "ip link set up dev ${project}VPN" >><br>
> >     /etc/fastd/$project/up.sh<br>
> >     > +                echo "echo enable ><br>
> >     /sys/devices/virtual/net/${project}VPN/batman_adv/no_rebroadcast" >><br>
> >     /etc/fastd/<br>
> >     > +                echo "batctl if add ${project}VPN" >><br>
> >     /etc/fastd/$project/up.sh<br>
> >     > +                chmod +x /etc/fastd/$project/up.sh<br>
> >     > +<br>
> >     > +                secret=$(fastd --generate-key 2>&1 | grep -i<br>
> >     secret | awk '{ print $2 }')<br>
> >     > +                echo "include peers from<br>
> >     \"/etc/fastd/$project/peers\";" >> /etc/fastd/${project}/${project}.conf<br>
> >     > +                echo "log to syslog level warn;" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > +                echo "method \"null\";" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > +#<br>
> >      <a href="http://lists.nord-west.net/pipermail/freifunk-ol-dev/2013-July/000322.html">http://lists.nord-west.net/pipermail/freifunk-ol-dev/2013-July/000322.html</a><br>
> >     > +#               echo "bind <a href="http://0.0.0.0:10000">0.0.0.0:10000</a> <<a href="http://0.0.0.0:10000">http://0.0.0.0:10000</a>>;"<br>
> >     >> /etc/fastd/${project}/${project}.conf<br>
> >     > +                echo "interface \"${project}VPN\";" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > +                echo "mtu 1426;" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > +                echo "secret \"$secret\";" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > +                echo "on up \"/etc/fastd/${project}/up.sh\";" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > +                echo "secure handshakes no;" >><br>
> >     /etc/fastd/${project}/${project}.conf<br>
> >     > +          fi<br>
> >     > +<br>
> >     > +        if [ ! -d /tmp/fastd_${project}_peers ]; then<br>
> >     > +                mkdir /tmp/fastd_${project}_peers<br>
> >     > +        fi<br>
> >     > +<br>
> >     > +        pubkey=$(fastd -c /etc/fastd/$project/$project.conf<br>
> >     --show-key --machine-readable)<br>
> >     > +#       port=666<br>
> >     > +        lat=$(uci get system.@system[0].latitude)<br>
> >     > +        long=$(uci get system.@system[0].longitude)<br>
> >     > +<br>
> >     > +                #       register<br>
> >     > +        wget -T15<br>
> >     "<a href="http://keyserver.freifunk-franken.de/${project}/geo.php?mac=$mac&name=$hostname&port=$port&key=$pubkey&lat=$lat&long=$long">http://keyserver.freifunk-franken.de/${project}/geo.php?mac=$mac&name=$hostname&port=$port&key=$pubkey&lat=$lat&long=$long</a>"<br>
> >     -O /tmp/fastd_${project}_output<br>
> >     > +<br>
> >     > +        filenames=$(awk '/^####/ { gsub(/^####/, "", $0);<br>
> >     gsub(/.conf/, "", $0); print $0; }' /tmp/fastd_${project}_output)<br>
> >     > +        for file in $filenames; do<br>
> >     > +                awk "{ if(a) print }; /^####$file.conf$/{a=1};<br>
> >     /^$/{a=0};" /tmp/fastd_${project}_output | sed 's/ float;/;/g' ><br>
> >     /etc/fastd/$project/peers/$file<br>
> >     > +                echo 'float yes;' >> /etc/fastd/$project/peers/$file<br>
> >     > +        done<br>
> >     > +<br>
> >     > +                if cat /tmp/l2tp | grep on >/dev/null ; then<br>
> >     > +<br>
> >     > +                        # fire up l2tp<br>
> >     > +<br>
> >     > +                                # Wir holen uns die Conf aus den<br>
> >     peers des fastd<br>
> >     > +                                # Dort finden wir die IPs unserer GWs<br>
> >     > +                                # Die Ports rechnen wir aus den<br>
> >     Fastd-ports aus +10000<br>
> >     > +<br>
> >     > +                                #peers neu holen<br>
> >     > +                                # sh /usr/sbin/fastdstart<br>
> >     //ben..tigen wir nicht mehr wir sind ja bereits im Script!<br>
> >     > +                                #erstmal die alte Config weg<br>
> >     > +                                CONF="/etc/config/tunneldigger"<br>
> >     > +                                >$CONF<br>
> >     > +                                count=1<br>
> >     > +                                PEERS=$(ls /etc/fastd/fff/peers)<br>
> >     > +                                for peer in $PEERS; do<br>
> >     > +                                                NAME=$(cat<br>
> >     /etc/fastd/fff/peers/$peer | grep name | cut -f2 -d "\"")<br>
> >     > +                                                IP=$(cat<br>
> >     /etc/fastd/fff/peers/$peer | grep ipv4 | cut -f2 -d "\"")<br>
> >     > +                                                PORT=$(cat<br>
> >     /etc/fastd/fff/peers/$peer | grep ipv4 | cut -f5 -d " " | tr -dc 0-9)<br>
> >     > +                                                PORT=$((PORT +<br>
> >     10000))<br>
> >     > +                                                UUID=_$(cat<br>
> >     /proc/sys/kernel/hostname)<br>
> >     > +                                                echo "add broker<br>
> >     $NAME adress: $IP:$PORT at dev l2tp$count"<br>
> >     > +                                                echo "config broker<br>
> >     > +                                list address '$IP:$PORT'<br>
> >     > +                                option uuid '$UUID'<br>
> >     > +                                option interface 'l2tp$count'<br>
> >     > +                                option enabled '0'<br>
> >     > +                                option hook_script<br>
> >     '/etc/tunneldigger.hook'<br>
> >     > +                                " >> $CONF<br>
> >     > +                                                count=$((count + 1))<br>
> >     > +                                done<br>
> >     > +<br>
> >     > +                                sed -i "s/enabled '0'/enabled<br>
> >     '1'/g" /etc/config/tunneldigger<br>
> >     > +                                /etc/init.d/tunneldigger start<br>
> >     > +                                ip link set dev fffVPN down<br>
> >     2>/dev/null<br>
> >     > +                                batctl if del fffVPN 2>/dev/null<br>
> >     > +                                killall fastd 2>/dev/null<br>
> >     > +<br>
> >     > +                                sleep 10<br>
> >     > +                                # pr..fen ob ein Interface<br>
> >     existiert, wenn keins existiert schalte l2tp wieder aus da kein GW<br>
> >     vorhanden<br>
> >     > +                                if ! ifconfig | grep l2tp<br>
> >     >/dev/null ; then<br>
> >     > +                                        echo "off" > /tmp/l2tp<br>
> >     > +                                fi<br>
> >     > +                        else<br>
> >     > +<br>
> >     > +                        #       fire up<br>
> >     > +                        /etc/init.d/tunneldigger stop<br>
> >     > +                        sed -i "s/enabled '1'/enabled '0'/g"<br>
> >     /etc/config/tunneldigger<br>
> >     > +                        if [ "$(/sbin/ifconfig -a | grep -i<br>
> >     ethernet | grep $project)" = "" ]; then<br>
> >     > +                                        /bin/rm<br>
> >     /var/run/fastd.$project.pid<br>
> >     > +                                        fastd -c<br>
> >     /etc/fastd/$project/$project.conf -d --pid-file<br>
> >     /var/run/fastd.$project.pid<br>
> >     > +                        fi<br>
> >     > +<br>
> >     > +                fi<br>
> >     > +<br>
> >     > +        #reload<br>
> >     > +        kill -HUP $(cat /var/run/fastd.$project.pid)<br>
> >     >  else<br>
> >     > -     echo "Der Router kann keine Verbindung zum Fastdserver aufbauen"<br>
> >     > -     echo "$0 macht nichts!"<br>
> >     > +        echo "Der Router kann keine Verbindung zum Fastdserver<br>
> >     aufbauen"<br>
> >     > +        echo "$0 macht nichts!"<br>
> >     >  fi<br>
> >     ><br>
> >     >  exit 0<br>
> >     >  # vim: noexpandtab<br>
> >     > +<br>
> >     > diff --git a/bsp/default/root_file_system/etc/tunneldigger.hook<br>
> >     b/bsp/default/root_file_system/etc/tunneldigger.hook<br>
> >     > new file mode 100644<br>
> >     > index 0000000..f70c240<br>
> >     > --- /dev/null<br>
> >     > +++ b/bsp/default/root_file_system/etc/tunneldigger.hook<br>
> >     > @@ -0,0 +1,9 @@<br>
> >     > +#!/bin/sh<br>
> >     > +if [ $1 = session.up ]<br>
> >     > +    then<br>
> >     > +       logger -t tunneldigger.hook "Received 'session.up' for<br>
> >     interface $2"<br>
> >     > +       ip l s dev $2 up<br>
> >     > +       batctl if add $2<br>
> >     > +     #Muss noch getestet werden<br>
> >     > +     #echo "enabled" ><br>
> >     /sys/devices/virtual/net/$INTERFACE/batman_adv/no_rebroadcast<br>
> >     > +fi<br>
> >     > diff --git a/buildscript b/buildscript<br>
> >     > index 13d773e..973edce 100755<br>
> >     > --- a/buildscript<br>
> >     > +++ b/buildscript<br>
> >     > @@ -39,10 +39,15 @@ ROUTING=(routing<br>
> >     >           e870c3373eea80df852d42fac3f40aaffd7a0f58)<br>
> >     >  ROUTING_PKGS="alfred"<br>
> >     ><br>
> >     > +WLANSLOVENIJA=(wlanslovenija<br>
> >     > +<br>
> >      <a href="https://github.com/wlanslovenija/firmware-packages-opkg">https://github.com/wlanslovenija/firmware-packages-opkg</a><br>
> >     > +               fec592e0540ef883bc8b27b77e7ff45d93ed3f24)<br>
> >     > +WLANSLOVENIJA_PKGS="tunneldigger"<br>
> >     > +<br>
> >     >  FFF=(fff)<br>
> >     >  FFF_PKGS="-a"<br>
> >     ><br>
> >     > -FEEDS=(OPENWRT ROUTING BATMAN_ADV FFF)<br>
> >     > +FEEDS=(OPENWRT ROUTING BATMAN_ADV WLANSLOVENIJA FFF)<br>
> >     ><br>
> >     >  checkout_git(){<br>
> >     >      local DIRECTORY=$1<br>
> >     > diff --git<br>
> >     a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html<br>
> >     b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html<br>
> >     > index af7841c..7441483 100755<br>
> >     > --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html<br>
> >     > +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html<br>
> >     > @@ -30,7 +30,11 @@ if [ -n "$(default_gw 4 $wanif)" -o  -n<br>
> >     "$(default_gw 6 $wanif)" ]; then<br>
> >     >  else<br>
> >     >       internet_active="Nein"<br>
> >     >  fi<br>
> >     > -<br>
> >     > +if ifconfig | grep l2tp >/dev/null ; then<br>
> >     > +       l2tp_active="Ja"<br>
> >     > +else<br>
> >     > +       l2tp_active="Nein"<br>
> >     > +fi<br>
> >     >  %><br>
> >     >  <table style="width: 100%;"><br>
> >     >  <tr><td><br>
> >     > @@ -43,6 +47,7 @@ fi<br>
> >     >               <tr><th>Bekannte Knoten:</th><td><%= $((`cat<br>
> >     /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]'<br>
> >     | cut -b 39-55 | sort | uniq | wc -l 2>/dev/null`+1)) %></td></tr><br>
> >     >               <tr><th>Nachbarknoten:</th><td><%= $(cat<br>
> >     /sys/kernel/debug/batman_adv/bat0/originators | grep '^[0-9a-f]' |<br>
> >     cut -b 37-53 | sort | uniq | wc -l 2>/dev/null) %></td></tr><br>
> >     >               <tr><th>VPN Aktiv:</th><td><%= ${vpn_active}<br>
> >     %></td></tr><br>
> >     > +             <tr><th>l2tp Aktiv:</th><td><%= ${l2tp_active}<br>
> >     %></td></tr><br>
> >     >               <tr><th>Laufzeit:</th><td><%= ${uptime} %></td></tr><br>
> >     >               <tr><th>Auslastung:</th><td><%= ${load} %></td></tr><br>
> >     >               <tr><th>Uhrzeit:</th><td><% date %></td></tr><br>
> >     > diff --git<br>
> >     a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html<br>
> >     b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html<br>
> >     > index 859cf94..f8701bc 100755<br>
> >     > --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html<br>
> >     > +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html<br>
> >     > @@ -32,6 +32,17 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then<br>
> >     >               uci set -q<br>
> >     "simple-tc.example.limit_egress=${POST_limit_egress}"<br>
> >     ><br>
> >     >               uci commit<br>
> >     > +<br>
> >     > +                if [ "$POST_l2tp" == "on" ] ; then<br>
> >     > +<br>
> >     > +                        echo "on" > /tmp/l2tp<br>
> >     > +<br>
> >     > +                else<br>
> >     > +<br>
> >     > +                        echo "off" > /tmp/l2tp<br>
> >     > +<br>
> >     > +                fi<br>
> >     > +<br>
> >     >               MSG='<span class="green">Daten gespeichert! - Bitte<br>
> >     Router neustarten.</span>'<br>
> >     >       fi<br>
> >     >  fi<br>
> >     > @@ -45,6 +56,11 @@ if [ "$(uci get -q<br>
> >     'simple-tc.example.enabled')" == "1" ] ; then<br>
> >     >  else<br>
> >     >       traffic_checked=""<br>
> >     >  fi<br>
> >     > +if cat /tmp/l2tp | grep on >/dev/null ; then<br>
> >     > +        l2tp_checked="checked"<br>
> >     > +else<br>
> >     > +        l2tp_checked=""<br>
> >     > +fi<br>
> >     >  %><br>
> >     >  <% show_msg %><br>
> >     >  <form method="POST"><br>
> >     > @@ -64,6 +80,7 @@ fi<br>
> >     >               <tr><th>GPS L&auml;ngengrad:</th><td><input<br>
> >     type="text" name="longitude" value="<%= $(uci get -q<br>
> >     'system.@system[0].longitude') %>" /></td></tr><br>
> >     >               <tr><th>Standortbeschreibung:</th><td><input<br>
> >     type="text" name="position_comment" value="<%= $(uci get -q<br>
> >     'system.@system[0].position_comment') %>" /></td></tr><br>
> >     >               <tr><th>E-Mail Adresse:</th><td><input type="email"<br>
> >     name="contact" value="<%= $(uci get -q 'system.@system[0].contact')<br>
> >     %>" /></td></tr><br>
> >     > +             <tr><th>l2tp verwenden<br>
> >     (experiementell):</th><td><input type="checkbox" name="l2tp" <%=<br>
> >     ${l2tp_checked} %>></td></tr><br>
> >     >       </table><br>
> >     >  </fieldset><br>
> >     >  </td><td><br>
> >     > diff --git a/src/packages/fff/fff/Makefile<br>
> >     b/src/packages/fff/fff/Makefile<br>
> >     > index f480031..2ca416a 100644<br>
> >     > --- a/src/packages/fff/fff/Makefile<br>
> >     > +++ b/src/packages/fff/fff/Makefile<br>
> >     > @@ -2,7 +2,7 @@ include $(TOPDIR)/<a href="http://rules.mk">rules.mk</a> <<a href="http://rules.mk">http://rules.mk</a>><br>
> >     ><br>
> >     >  PKG_NAME:=fff<br>
> >     >  PKG_VERSION:=0.0.1<br>
> >     > -PKG_RELEASE:=5<br>
> >     > +PKG_RELEASE:=6<br>
> >     ><br>
> >     >  PKG_BUILD_DIR:=$(BUILD_DIR)/fff<br>
> >     ><br>
> >     > @@ -14,7 +14,7 @@ define Package/fff-base<br>
> >     >      DEFAULT:=y<br>
> >     >      TITLE:= Freifunk-Franken Base<br>
> >     >      URL:=<a href="http://www.freifunk-franken.de">http://www.freifunk-franken.de</a><br>
> >     > -    DEPENDS:=+micrond +fff-nodewatcher +fff-web +fff-uradvd<br>
> >     > +    DEPENDS:=+micrond +fff-nodewatcher +fff-web +fff-uradvd<br>
> >     +fff-tunneldigger<br>
> >     >  endef<br>
> >     ><br>
> >     >  define Package/fff-base/description<br>
> >     ><br>
> ><br>
> ><br>
> ><br>
> >     --<br>
> >     franken-dev mailing list<br>
> >     <a href="mailto:franken-dev@freifunk.net">franken-dev@freifunk.net</a> <mailto:<a href="mailto:franken-dev@freifunk.net">franken-dev@freifunk.net</a>><br>
> >     <a href="http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net">http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net</a><br>
> ><br>
><br>
><br>
</p>