Explorar el Código

Start the mesh if necessary

Bob Mottram hace 9 años
padre
commit
bf8aeb54b2
Se han modificado 2 ficheros con 27 adiciones y 0 borrados
  1. 11
    0
      src/freedombone-client
  2. 16
    0
      src/freedombone-mesh

+ 11
- 0
src/freedombone-client Ver fichero

@@ -114,6 +114,10 @@ function mesh_babel {
114 114
   echo 'fi' >> $babel_script
115 115
   echo '' >> $babel_script
116 116
   echo 'if [[ $1 == "start" ]]; then' >> $babel_script
117
+  echo '    if [ -f /tmp/meshtype ] ; then' >> $babel_script
118
+  echo '        echo "Mesh already running"' >> $babel_script
119
+  echo '        return' >> $babel_script
120
+  echo '    fi' >> $batman_script
117 121
   echo '    # install avahi' >> $babel_script
118 122
   echo '    apt-get -y install avahi-utils avahi-autoipd avahi-daemon avahi-dnsconfd' >> $babel_script
119 123
   echo '    sed -i "s|#host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $babel_script
@@ -129,6 +133,7 @@ function mesh_babel {
129 133
   echo '        systemctl restart avahi-daemon' >> $babel_script
130 134
   echo '    else' >> $babel_script
131 135
   echo '        service avahi-daemon restart' >> $babel_script
136
+  echo '    echo "babel" > /tmp/meshtype' >> $babel_script
132 137
   echo '    fi' >> $babel_script
133 138
   echo 'fi' >> $babel_script
134 139
   echo '' >> $babel_script
@@ -242,6 +247,10 @@ function mesh_batman {
242 247
   echo 'fi' >> $batman_script
243 248
   echo '' >> $batman_script
244 249
   echo 'start() {' >> $batman_script
250
+  echo '    if [ -f /tmp/meshtype ] ; then' >> $batman_script
251
+  echo '        echo "Mesh already running"' >> $batman_script
252
+  echo '        return' >> $batman_script
253
+  echo '    fi' >> $batman_script
245 254
   echo '    if [ -z "$IFACE" ] ; then' >> $batman_script
246 255
   echo '        echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $batman_script
247 256
   echo '        return' >> $batman_script
@@ -309,6 +318,7 @@ function mesh_batman {
309 318
   echo '    else' >> $batman_script
310 319
   echo '        service avahi-daemon restart' >> $batman_script
311 320
   echo '    fi' >> $batman_script
321
+  echo '    echo "batman" > /tmp/meshtype' >> $batman_script
312 322
   echo '}' >> $batman_script
313 323
   echo '' >> $batman_script
314 324
   echo 'stop() {' >> $batman_script
@@ -346,6 +356,7 @@ function mesh_batman {
346 356
   echo '    else' >> $batman_script
347 357
   echo '        service network-manager restart' >> $batman_script
348 358
   echo '    fi' >> $batman_script
359
+  echo '    rm -f /tmp/meshtype' >> $batman_script
349 360
   echo '}' >> $batman_script
350 361
   echo '' >> $batman_script
351 362
   echo 'if ! grep -q "$IFACE" /proc/net/dev; then' >> $batman_script

+ 16
- 0
src/freedombone-mesh Ver fichero

@@ -30,6 +30,18 @@
30 30
 
31 31
 IRC_PORT=6697
32 32
 PEERS_FILE=/tmp/meshpeers.txt
33
+
34
+if [ ! -f /usr/bin/batman ]; then
35
+    echo 'Mesh networking is not configured on your system'
36
+    echo 'Run freedombone-client to install the necessary packages'
37
+    exit 1
38
+fi
39
+
40
+if [ ! -f /tmp/meshtype ]; then
41
+    sudo batman start
42
+    clear
43
+fi
44
+
33 45
 avahi-browse -at | awk -F ' ' '{print $4}' > $PEERS_FILE
34 46
 
35 47
 if [ ! -f $PEERS_FILE ]; then
@@ -76,9 +88,13 @@ fi
76 88
 if [ ! -f /usr/bin/irssi ]; then
77 89
     if [ ! -f /usr/local/bin/irssi ]; then
78 90
         echo 'You need irssi installed on your system'
91
+        sudo batman stop
79 92
         exit 3
80 93
     fi
81 94
 fi
95
+
96
+MESH_RUNNING=$(pgrep ngircd > /dev/null && echo Running)' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
97
+
82 98
 irssi -c $AVAHI_DOMAIN -p $IRC_PORT -n $USER
83 99
 
84 100
 exit 0