[RFC,v3,5/8] Added VPN Connectivity to previous added Hood-Management

Submitted by Jan Kraus on June 12, 2016, 12:17 p.m.

Details

Message ID 1465733847-2307-6-git-send-email-mayosemmel@gmail.com
State Superseded, archived
Headers show

Commit Message

Jan Kraus June 12, 2016, 12:17 p.m.
Signed-off-by: Jan Kraus <mayosemmel@gmail.com>
---
 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(-)

Patch hide | download patch | download mbox

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 "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
+#   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
+            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:=http://www.freifunk-franken.de
-    DEPENDS:=+mdns +fff-network
+    DEPENDS:=+mdns +fff-network +fff-fastd
 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
 
+uci set system.@system[0].hood=$hood
 uci set wireless.radio0=wifi-device
 uci set wireless.radio0.type=mac80211
 uci set wireless.radio0.channel=$channel2

Comments

Tim Niemeyer June 12, 2016, 8:53 p.m.
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.

Unten noch paar Kleinigkeiten.

Am Sonntag, den 12.06.2016, 14:17 +0200 schrieb Jan Kraus:
> Signed-off-by: Jan Kraus <mayosemmel@gmail.com>
> ---
>  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 "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
Ahh.. Endlich.. :-)

> -	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
Das ist nicht immer ipv4. Das ist aktuell ein Problem beim zentralen
KeyXchange, sollten wir hier besser machen.

> +            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:=http://www.freifunk-franken.de
> -    DEPENDS:=+mdns +fff-network
> +    DEPENDS:=+mdns +fff-network +fff-fastd
Anders rum, oder? fff-fastd hängt dank diesem Patch von dem keyXchange
(also fff-hoods) ab.

>  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
Vermutlich ist das im nächsten Patch eh obsolete, also hier raus
nehmen..

>  
> +uci set system.@system[0].hood=$hood
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.

Tim

>  uci set wireless.radio0=wifi-device
>  uci set wireless.radio0.type=mac80211
>  uci set wireless.radio0.channel=$channel2
> -- 
> 2.1.4
>
Jan Kraus June 13, 2016, 6:26 p.m.
Hi
Am Sonntag, den 12.06.2016, 22:53 +0200 schrieb Tim Niemeyer:
> 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.
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.

Könnte ja grundsätzlich auch jetzt schon in den Master und kann auch
nach dem dezKeyExchange noch kommen.
> 
> Unten noch paar Kleinigkeiten.
> 
> Am Sonntag, den 12.06.2016, 14:17 +0200 schrieb Jan Kraus:
> > Signed-off-by: Jan Kraus <mayosemmel@gmail.com>
> > ---
> >  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 "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
> Ahh.. Endlich.. :-)
> 
> > -	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
> Das ist nicht immer ipv4. Das ist aktuell ein Problem beim zentralen
> KeyXchange, sollten wir hier besser machen.
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...
> 
> > +            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:=http://www.freifunk-franken.de
> > -    DEPENDS:=+mdns +fff-network
> > +    DEPENDS:=+mdns +fff-network +fff-fastd
> Anders rum, oder? fff-fastd hängt dank diesem Patch von dem keyXchange
> (also fff-hoods) ab.
Stimmt...
> 
> >  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
> Vermutlich ist das im nächsten Patch eh obsolete, also hier raus
> nehmen..
erledigt
> 
> >  
> > +uci set system.@system[0].hood=$hood
> 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.
Stimmt

Grüße Jan
> 
> Tim
> 
> >  uci set wireless.radio0=wifi-device
> >  uci set wireless.radio0.type=mac80211
> >  uci set wireless.radio0.channel=$channel2
> > -- 
> > 2.1.4
> > 
>
Robert Langhammer June 13, 2016, 6:52 p.m.
Hallo,

On 13.06.2016 20:26, mayosemmel wrote:
> Hi
> Am Sonntag, den 12.06.2016, 22:53 +0200 schrieb Tim Niemeyer:
>> 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.
> 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.
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?
Der Tunneldigger braucht nur IP und Port.

Grüße
Robert

>
> Könnte ja grundsätzlich auch jetzt schon in den Master und kann auch
> nach dem dezKeyExchange noch kommen.
>> Unten noch paar Kleinigkeiten.
>>
>> Am Sonntag, den 12.06.2016, 14:17 +0200 schrieb Jan Kraus:
>>> Signed-off-by: Jan Kraus <mayosemmel@gmail.com>
>>> ---
>>>  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 "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
>> Ahh.. Endlich.. :-)
>>
>>> -	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
>> Das ist nicht immer ipv4. Das ist aktuell ein Problem beim zentralen
>> KeyXchange, sollten wir hier besser machen.
> 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...
>>> +            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:=http://www.freifunk-franken.de
>>> -    DEPENDS:=+mdns +fff-network
>>> +    DEPENDS:=+mdns +fff-network +fff-fastd
>> Anders rum, oder? fff-fastd hängt dank diesem Patch von dem keyXchange
>> (also fff-hoods) ab.
> Stimmt...
>>>  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
>> Vermutlich ist das im nächsten Patch eh obsolete, also hier raus
>> nehmen..
> erledigt
>>>  
>>> +uci set system.@system[0].hood=$hood
>> 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.
> Stimmt
>
> Grüße Jan
>> Tim
>>
>>>  uci set wireless.radio0=wifi-device
>>>  uci set wireless.radio0.type=mac80211
>>>  uci set wireless.radio0.channel=$channel2
>>> -- 
>>> 2.1.4
>>>
>
>