From 3ed7c02174f17a86d36b711090c5500bac33b76c Mon Sep 17 00:00:00 2001
From: FFS-Roland <roland.volkmann@t-online.de>
Date: Fri, 23 Dec 2016 21:56:35 +0100
Subject: [PATCH] optimized and modified for use with extended DNS-Name
 (node-id + fastd-key)

---
 ffs-set-segment/files/usr/sbin/ffs-set-segment | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/ffs-set-segment/files/usr/sbin/ffs-set-segment b/ffs-set-segment/files/usr/sbin/ffs-set-segment
index 80ed4ab..7ace458 100755
--- a/ffs-set-segment/files/usr/sbin/ffs-set-segment
+++ b/ffs-set-segment/files/usr/sbin/ffs-set-segment
@@ -1,24 +1,24 @@
 #!/bin/sh
 if [  $(ps | grep -c "{$(basename $0)}") -gt 4 ]; then
+    echo started twice
     exit 1
 fi
 
 if [  $(ps | grep -c "fastd") -lt 2 ]; then
+    echo fastd not running
     exit 0
 fi
 
 if [ "$(uci get fastd.mesh_vpn_backbone.auto_segment)" = "0" ]; then
+    echo auto_segment disabled
     exit 0
 fi 
 
-NODEID=`uci get network.bat0.macaddr`
-for i in `seq 1 5`;
-do
-    NODEID=${NODEID/\:/}
-done
-NODEID=ffs-$NODEID
-SEGMENT=`nslookup $NODEID.segassign.freifunk-stuttgart.de  [::1]:54 |tail -n1 `
+NODEID=`uci get network.bat0.macaddr | sed 's/://g'`
+PUBKEY=`/etc/init.d/fastd show_key mesh_vpn | cut -c1-12`
+SEGMENT=`nslookup ffs-$NODEID-$PUBKEY.segassign.freifunk-stuttgart.de  [::1]:54 | tail -n1`
 if [[ -z "${SEGMENT// }" ]]; then
+    echo Node not known
     exit 1
 fi
 SEGMENT=${SEGMENT/Address 1: 2001:2:0:711::/}
@@ -40,4 +40,5 @@ done
 
 if [ "$CHANGED" = "1" ]; then
     /etc/init.d/fastd restart
+    echo Segment set to $SEGNUM
 fi
-- 
GitLab