[RFC PATCH v3 5/8] Added VPN Connectivity to previous added Hood-Management
Jan Kraus
mayosemmel at googlemail.com
So Jun 12 14:17:24 CEST 2016
Signed-off-by: Jan Kraus <mayosemmel at 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
-
- 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. at 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. at system[0].hood=$hood
uci set wireless.radio0=wifi-device
uci set wireless.radio0.type=mac80211
uci set wireless.radio0.channel=$channel2
--
2.1.4
Mehr Informationen über die Mailingliste franken-dev