[PATCH] nodewatcher: Fix bugs in gateway list creation

Adrian Schmutzler freifunk at adrianschmutzler.de
Sa Jan 13 15:28:54 CET 2018


Changes:
- Remove first line (headline) previously parsed as gateway
- Delete leading whitespaces for netif correctly (regex
  "\\[" changed to "\\[ *")
- Remove netif whitespaces first, so they are not changed to
  "false"
- Include trailing whitespace in regex for selection marker
- Remove useless replacement "  " to " "

This is designed to support BATMAN compatibility version 14 AND 15

Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>

Tested-by:  Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 src/packages/fff/fff-nodewatcher/Makefile                   |  2 +-
 src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile
index adfab26..8953a1e 100644
--- a/src/packages/fff/fff-nodewatcher/Makefile
+++ b/src/packages/fff/fff-nodewatcher/Makefile
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fff-nodewatcher
-PKG_VERSION:=44
+PKG_VERSION:=45
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
index 7a9dbe6..b3c0046 100755
--- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
+++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
@@ -2,7 +2,7 @@
 # Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg
 # License; GPL v3
 
-SCRIPT_VERSION="44"
+SCRIPT_VERSION="45"
 
 test -f /tmp/started || exit
 
@@ -243,15 +243,15 @@ crawl() {
 
         batman_adv_gateway_list=$(awk \
             'BEGIN { FS=" "; i=0 }
+            /B.A.T.M.A.N./ { next }
             /Gateway/ { next }
             /No gateways/ { next }
-            {   sub("=>", "true", $0)
-                sub("  ", "false", $0)
-                sub("\\(", "", $0)
+            {   sub("\\(", "", $0)
                 sub("\\)", "", $0)
-                sub("\\[", "", $0)
+                sub("\\[ *", "", $0)
                 sub("\\]:", "", $0)
-                sub("  ", " ", $0)
+                sub("=> ", "true ", $0)
+                sub("   ", "false ", $0)
                 printf "<gateway_"i"><selected>"$1"</selected><gateway>"$2"</gateway><link_quality>"$3"</link_quality><nexthop>"$4"</nexthop><outgoing_interface>"$5"</outgoing_interface><gw_class>"$6" "$7" "$8"</gw_class></gateway_"i">"
                 i++
             }' /sys/kernel/debug/batman_adv/bat0/gateways)
-- 
2.7.4



Mehr Informationen über die Mailingliste franken-dev