<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hallo,<br>
    <br>
    <div class="moz-cite-prefix">On 13.06.2016 20:26, mayosemmel wrote:<br>
    </div>
    <blockquote cite="mid:1465842406.3161.36.camel@googlemail.com"
      type="cite">
      <pre wrap="">Hi
Am Sonntag, den 12.06.2016, 22:53 +0200 schrieb Tim Niemeyer:
</pre>
      <blockquote type="cite">
        <pre wrap="">Hi

Von der Struktur her gefällt es mir noch nicht so. Ich fänd es besser,
wenn es irgendwie geht, dass ein vpn-select package die Daten vom
keyXchnage auswertet und dann entsprechen fastd oder tunneldigger via
Openwrt Methoden konfiguriert und startet (oder stoppt).

Damit wir aber hier vorwärst kommen: Lass halt erstmal so. Spätestens
wenn wir dann endlich tunneldigger rein bringen kann man das
überarbeiten. Aktuell muss das Grundlegende Zeugs erstmal laufen.
</pre>
      </blockquote>
      <pre wrap="">Darüber hatten wir im Lab ja damals schonmal kurz geredet und waren uns
einig, das es schöner wäre.
Ich hab hier ehrlich gesagt ein bisschen auf die Hassberger gehofft, mit
dem Tunneldigger ist das ja quasi schon fertig.</pre>
    </blockquote>
    Ja, die l2Tunnel laufen hier schon eine ganze Weile. Es gibt nur
    noch die Frage, wie kommen die Router an IP und Port der
    Tunnelbroker. Ist es schwierig jetzt erst mal den KexEx. zu
    erweitern? Eventuell neben dem /fff/geo.php ein /fff/broker.php?<br>
    Der Tunneldigger braucht nur IP und Port.<br>
    <br>
    Grüße<br>
    Robert<br>
    <br>
    <blockquote cite="mid:1465842406.3161.36.camel@googlemail.com"
      type="cite">
      <pre wrap="">

Könnte ja grundsätzlich auch jetzt schon in den Master und kann auch
nach dem dezKeyExchange noch kommen.
</pre>
      <blockquote type="cite">
        <pre wrap="">
Unten noch paar Kleinigkeiten.

Am Sonntag, den 12.06.2016, 14:17 +0200 schrieb Jan Kraus:
</pre>
        <blockquote type="cite">
          <pre wrap="">Signed-off-by: Jan Kraus <a class="moz-txt-link-rfc2396E" href="mailto:mayosemmel@gmail.com"><mayosemmel@gmail.com></a>
---
 bsp/default/root_file_system/etc/rc.local          |  1 +
 .../fff/fff-fastd/files/usr/sbin/fastdstart        | 36 +++++++++++++++++-----
 src/packages/fff/fff-hoods/Makefile                |  2 +-
 .../fff/fff-hoods/files/usr/sbin/configurehood     |  5 +--
 4 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/bsp/default/root_file_system/etc/rc.local b/bsp/default/root_file_system/etc/rc.local
index c980d8e..171883d 100755
--- a/bsp/default/root_file_system/etc/rc.local
+++ b/bsp/default/root_file_system/etc/rc.local
@@ -4,6 +4,7 @@
 
 /usr/sbin/configurehood
 /usr/sbin/configurenetwork
+/usr/sbin/fastdstart
 
 touch /tmp/started
 
diff --git a/src/packages/fff/fff-fastd/files/usr/sbin/fastdstart b/src/packages/fff/fff-fastd/files/usr/sbin/fastdstart
index 611a3f8..8e494ff 100755
--- a/src/packages/fff/fff-fastd/files/usr/sbin/fastdstart
+++ b/src/packages/fff/fff-fastd/files/usr/sbin/fastdstart
@@ -4,6 +4,7 @@ SERVER="no"
 #SERVERNAME="--servername--"
 
 . /etc/community.cfg
+. /usr/share/libubox/jshn.sh
 
 project="$VPN_PROJECT"
 
@@ -77,14 +78,33 @@ if ping -w5 -c3 "$test_ipv4_host1" &>/dev/null ||
                fastd -c /etc/fastd/$project/$project.conf -d --pid-file /var/run/fastd.$project.pid
        fi
 
-#      register
-       wget -T15 <a class="moz-txt-link-rfc2396E" 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> -O /tmp/fastd_${project}_output
</pre>
        </blockquote>
        <pre wrap="">Ahh.. Endlich.. :-)

</pre>
        <blockquote type="cite">
          <pre wrap="">-        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
+#   configure
+    rm -f /etc/fastd/$project/peers/*
+    hood="$(uci get system.@system[0].hood)"
+    json_load "$(cat /etc/hoods/$hood.hood)"
+    json_select vpn
+    local Index="1"
+    while json_select $Index > /dev/null
+    do
+        json_get_var protocol protocol
+        if [ "$protocol" == "fastd" ]
+        then
+            json_get_var servername name
+            echo "#name \"$servername\";" > /etc/fastd/$project/peers/$servername
+            json_get_var key key
+            echo "key \"$key\";" >> /etc/fastd/$project/peers/$servername
+            json_get_var address address
+            json_get_var port port
+            echo "remote ipv4 \"$address\" port $port;" >> /etc/fastd/$project/peers/$servername
</pre>
        </blockquote>
        <pre wrap="">Das ist nicht immer ipv4. Das ist aktuell ein Problem beim zentralen
KeyXchange, sollten wir hier besser machen.
</pre>
      </blockquote>
      <pre wrap="">Werd ich mir mal anschauen. Eigentlich müsste man ja nur prüfen ob es
eine valide v4 bzw. v6 ist und dann passend eintragen...
</pre>
      <blockquote type="cite">
        <pre wrap="">
</pre>
        <blockquote type="cite">
          <pre wrap="">+            echo "float yes;" >> /etc/fastd/$project/peers/$servername
+        else
+            echo "protocol $protocol is not supported by this script"
+            json_select ".."
+            continue
+        fi
+        json_select ".."
+        Index=$((Index+1))
+    done
 
        #reload
        kill -HUP $(cat /var/run/fastd.$project.pid)
diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile
index ac48760..b182485 100644
--- a/src/packages/fff/fff-hoods/Makefile
+++ b/src/packages/fff/fff-hoods/Makefile
@@ -13,7 +13,7 @@ define Package/fff-hoods
     CATEGORY:=Freifunk
     TITLE:= Freifunk-Franken hoods
     URL:=<a class="moz-txt-link-freetext" href="http://www.freifunk-franken.de">http://www.freifunk-franken.de</a>
-    DEPENDS:=+mdns +fff-network
+    DEPENDS:=+mdns +fff-network +fff-fastd
</pre>
        </blockquote>
        <pre wrap="">Anders rum, oder? fff-fastd hängt dank diesem Patch von dem keyXchange
(also fff-hoods) ab.
</pre>
      </blockquote>
      <pre wrap="">Stimmt...
</pre>
      <blockquote type="cite">
        <pre wrap="">
</pre>
        <blockquote type="cite">
          <pre wrap=""> endef
 
 define Package/fff-hoods/description
diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
index f401a94..ae69a3b 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -86,9 +86,10 @@ echo "Setting channel 2.4 Ghz: $channel2"
 echo "Setting mode 2.4 GHz: $mode2"
 echo "Setting mesh 2.4 GHz type: $type2"
 
-echo "Shutting down wifi"
-wifi down
+#echo "Shutting down wifi"
+#wifi down
</pre>
        </blockquote>
        <pre wrap="">Vermutlich ist das im nächsten Patch eh obsolete, also hier raus
nehmen..
</pre>
      </blockquote>
      <pre wrap="">erledigt
</pre>
      <blockquote type="cite">
        <pre wrap="">
</pre>
        <blockquote type="cite">
          <pre wrap=""> 
+uci set system.@system[0].hood=$hood
</pre>
        </blockquote>
        <pre wrap="">Das sollte gleich am Anfang bereits mit in die configurehood Datei, also
schon in Patch 1.
Dabei fällt mir auf. Nach dem Flashen wird die Hood also bekannt sein.
Die Trusted Hoods sind aber vermutlich gelöscht.. Ungut.. Vorschlag:
Trusted Hoods mit ins Update-Überleben-Script.
</pre>
      </blockquote>
      <pre wrap="">Stimmt

Grüße Jan
</pre>
      <blockquote type="cite">
        <pre wrap="">
Tim

</pre>
        <blockquote type="cite">
          <pre wrap=""> uci set wireless.radio0=wifi-device
 uci set wireless.radio0.type=mac80211
 uci set wireless.radio0.channel=$channel2
-- 
2.1.4

</pre>
        </blockquote>
        <pre wrap="">
</pre>
      </blockquote>
      <pre wrap="">
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    <br>
  </body>
</html>