summaryrefslogtreecommitdiff
path: root/files/common/sbin/n2n_watchdog
diff options
context:
space:
mode:
Diffstat (limited to 'files/common/sbin/n2n_watchdog')
-rwxr-xr-xfiles/common/sbin/n2n_watchdog26
1 files changed, 26 insertions, 0 deletions
diff --git a/files/common/sbin/n2n_watchdog b/files/common/sbin/n2n_watchdog
new file mode 100755
index 0000000..247753b
--- /dev/null
+++ b/files/common/sbin/n2n_watchdog
@@ -0,0 +1,26 @@
+#!/bin/ash
+
+if [[ `uci get batman-adv.bat0.gw_mode` = "server" ]]; then
+
+ n2n_pwd=`wget http://www.freifunk-jena.de/n2n -O - -q`
+ n2n1_pwd_old=`uci get n2n.@edge[1].key`
+ n2n2_pwd_old=`uci get n2n.@edge[0].key`
+
+ if [[ $n2n_pwd != $n2n1_pwd_old && $n2n_pwd != "" -o $n2n_pwd != $n2n2_pwd_old && $n2n_pwd != "" ]]; then
+ uci set n2n.@edge[0].key=$n2n_pwd
+ uci set n2n.@edge[1].key=$n2n_pwd
+ uci commit n2n
+ /etc/init.d/n2n restart
+ logger "n2n password updated and restarted (new password)"
+ fi
+
+ sleep 5
+ n2n_neighbors=`batctl o | grep n2n | wc -l`
+
+ if [[ $n2n_neighbors -lt 1 ]]; then
+ /etc/init.d/n2n restart
+ logger "n2n restarted (no neighbors via n2n)"
+ fi
+else
+ exit 0
+fi
contact: Jan Huwald // Impressum