Message ID | 20180610120601.21151-5-tim@tn-x.org |
---|---|
State | Accepted |
Headers | show |
diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood index eaf2578..8b04256 100755 --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood @@ -9,7 +9,6 @@ sectorlocal=/etc/sectorfile sectortmp=/tmp/sectorfile sectorcopy=/www/hood/sectorfile -resetnetworkfile=/tmp/resetnetwork hoodlocal=/etc/hoodfile rm -f "$hoodfile" @@ -73,12 +72,6 @@ fi lat=$(uci -q get fff.system.latitude) long=$(uci -q get fff.system.longitude) -# reenable network interfaces in case we disabled them earlier -if [ -f "$resetnetworkfile" ]; then - /etc/init.d/network restart - rm "$resetnetworkfile" -fi - if [ -s "$hoodlocal" ]; then hoodfile="$hoodlocal" echo "Use local hood file" @@ -144,35 +137,7 @@ else fi else echo "We have a Gateway in Range, we load the keyxchangev2data from fe80::1" - # check eth first - oldhood="" - ethfile="${hoodfile}eth" - for eth in $(batctl if | grep "eth" | sed -nE 's/.*(eth[^:]+):.*/\1/p'); do - for mac in $(batctl n | grep "$eth" | sed -nE 's/.*eth[0-9.]+\s+([^\s]+)\s.*/\1/p'); do - EUI="$(echo "$mac" | awk -F: '{ printf("%02x%s:%sff:fe%s:%s%s\n", xor(("0x"$1),2), $2, $3, $4, $5, $6) }')" - wget -T2 -t3 "http://[fe80::${EUI}%${eth}]:2342/keyxchangev2data" -O "$ethfile" - if [ -s "$ethfile" ]; then - json_load "$(cat "$ethfile")" - json_select hood - json_get_var newhood name - if [ -n "$oldhood" ] && [ -n "$newhood" ] && ( ! [ "$newhood" = "$oldhood" ] ) ; then - # 2nd hood found, kill interface and go on (next try in 5 min.) - echo "Two hoods detected. Remove cables to stay in just one." - ifconfig "$eth" down - touch "$resetnetworkfile" - continue 2 # go to the next interface - fi - mv "$ethfile" "$hoodfile" # Only use hoodfile if sane - [ -n "$oldhood" ] || oldhood="$newhood" # only set oldhood once - fi - done - done - if [ ! -s "$hoodfile" ]; then - # Only load hoodfile from gateway if not already present from local network - # - This gives local network a precedence (take the hood from local network) - # - This prevents file insertion from a third person, as I will only connect via LAN to who I trust - wget -T15 -t5 "http://[fe80::1%br-mesh]:2342/keyxchangev2data" -O "$hoodfile" - fi + wget -T15 -t5 "http://[fe80::1%br-mesh]:2342/keyxchangev2data" -O "$hoodfile" #UPLINK: Do nothing fi fi
Hallo, habe gerade auch noch mal die Patches zwischen Commit und Revert durchgekuckt, dass wir nichts wieder kaputt machen. Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Grüße Adrian > -----Original Message----- > From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf > Of Tim Niemeyer > Sent: Sonntag, 10. Juni 2018 14:06 > To: franken-dev@freifunk.net > Subject: [PATCH v1 4/4] Revert "configurehood: Prevent connecting two > hoods" > > Fixes #95 > > This reverts commit 6cc6b4b786d24faf067a6b29118e997c28c4e70b. > > Signed-off-by: Tim Niemeyer <tim@tn-x.org> > Reviewed-by: Christian Dresel <fff@chrisi01.de> > > --- > > Changes in v1: None > > .../fff/fff-hoods/files/usr/sbin/configurehood | 37 +--------------------- > 1 file changed, 1 insertion(+), 36 deletions(-) > > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > index eaf2578..8b04256 100755 > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > @@ -9,7 +9,6 @@ > sectorlocal=/etc/sectorfile > sectortmp=/tmp/sectorfile > sectorcopy=/www/hood/sectorfile > -resetnetworkfile=/tmp/resetnetwork > hoodlocal=/etc/hoodfile > > rm -f "$hoodfile" > @@ -73,12 +72,6 @@ fi > lat=$(uci -q get fff.system.latitude) > long=$(uci -q get fff.system.longitude) > > -# reenable network interfaces in case we disabled them earlier -if [ -f > "$resetnetworkfile" ]; then > - /etc/init.d/network restart > - rm "$resetnetworkfile" > -fi > - > if [ -s "$hoodlocal" ]; then > hoodfile="$hoodlocal" > echo "Use local hood file" > @@ -144,35 +137,7 @@ else > fi > else > echo "We have a Gateway in Range, we load the > keyxchangev2data from fe80::1" > - # check eth first > - oldhood="" > - ethfile="${hoodfile}eth" > - for eth in $(batctl if | grep "eth" | sed -nE > 's/.*(eth[^:]+):.*/\1/p'); do > - for mac in $(batctl n | grep "$eth" | sed -nE > 's/.*eth[0-9.]+\s+([^\s]+)\s.*/\1/p'); do > - EUI="$(echo "$mac" | awk -F: '{ > printf("%02x%s:%sff:fe%s:%s%s\n", xor(("0x"$1),2), $2, $3, $4, $5, $6) }')" > - wget -T2 -t3 > "http://[fe80::${EUI}%${eth}]:2342/keyxchangev2data" -O "$ethfile" > - if [ -s "$ethfile" ]; then > - json_load "$(cat "$ethfile")" > - json_select hood > - json_get_var newhood name > - if [ -n "$oldhood" ] && [ -n > "$newhood" ] && ( ! [ "$newhood" = "$oldhood" ] ) ; then > - # 2nd hood found, kill > interface and go on (next try in 5 min.) > - echo "Two hoods > detected. Remove cables to stay in just one." > - ifconfig "$eth" down > - touch > "$resetnetworkfile" > - continue 2 # go to the > next interface > - fi > - mv "$ethfile" "$hoodfile" # > Only use hoodfile if sane > - [ -n "$oldhood" ] || > oldhood="$newhood" # only set oldhood once > - fi > - done > - done > - if [ ! -s "$hoodfile" ]; then > - # Only load hoodfile from gateway if not > already present from local network > - # - This gives local network a precedence > (take the hood from local network) > - # - This prevents file insertion from a third > person, as I will only connect via LAN to who I trust > - wget -T15 -t5 "http://[fe80::1%br- > mesh]:2342/keyxchangev2data" -O "$hoodfile" > - fi > + wget -T15 -t5 "http://[fe80::1%br- > mesh]:2342/keyxchangev2data" -O "$hoodfile" > #UPLINK: Do nothing > fi > fi > -- > 2.11.0
Reviewed-by: Robert Langhammer <rlanghammer@web.de> Am 10.06.2018 um 14:06 schrieb Tim Niemeyer: > Fixes #95 > > This reverts commit 6cc6b4b786d24faf067a6b29118e997c28c4e70b. > > Signed-off-by: Tim Niemeyer <tim@tn-x.org> > Reviewed-by: Christian Dresel <fff@chrisi01.de> > > --- > > Changes in v1: None > > .../fff/fff-hoods/files/usr/sbin/configurehood | 37 +--------------------- > 1 file changed, 1 insertion(+), 36 deletions(-) > > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > index eaf2578..8b04256 100755 > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > @@ -9,7 +9,6 @@ > sectorlocal=/etc/sectorfile > sectortmp=/tmp/sectorfile > sectorcopy=/www/hood/sectorfile > -resetnetworkfile=/tmp/resetnetwork > hoodlocal=/etc/hoodfile > > rm -f "$hoodfile" > @@ -73,12 +72,6 @@ fi > lat=$(uci -q get fff.system.latitude) > long=$(uci -q get fff.system.longitude) > > -# reenable network interfaces in case we disabled them earlier > -if [ -f "$resetnetworkfile" ]; then > - /etc/init.d/network restart > - rm "$resetnetworkfile" > -fi > - > if [ -s "$hoodlocal" ]; then > hoodfile="$hoodlocal" > echo "Use local hood file" > @@ -144,35 +137,7 @@ else > fi > else > echo "We have a Gateway in Range, we load the keyxchangev2data from fe80::1" > - # check eth first > - oldhood="" > - ethfile="${hoodfile}eth" > - for eth in $(batctl if | grep "eth" | sed -nE 's/.*(eth[^:]+):.*/\1/p'); do > - for mac in $(batctl n | grep "$eth" | sed -nE 's/.*eth[0-9.]+\s+([^\s]+)\s.*/\1/p'); do > - EUI="$(echo "$mac" | awk -F: '{ printf("%02x%s:%sff:fe%s:%s%s\n", xor(("0x"$1),2), $2, $3, $4, $5, $6) }')" > - wget -T2 -t3 "http://[fe80::${EUI}%${eth}]:2342/keyxchangev2data" -O "$ethfile" > - if [ -s "$ethfile" ]; then > - json_load "$(cat "$ethfile")" > - json_select hood > - json_get_var newhood name > - if [ -n "$oldhood" ] && [ -n "$newhood" ] && ( ! [ "$newhood" = "$oldhood" ] ) ; then > - # 2nd hood found, kill interface and go on (next try in 5 min.) > - echo "Two hoods detected. Remove cables to stay in just one." > - ifconfig "$eth" down > - touch "$resetnetworkfile" > - continue 2 # go to the next interface > - fi > - mv "$ethfile" "$hoodfile" # Only use hoodfile if sane > - [ -n "$oldhood" ] || oldhood="$newhood" # only set oldhood once > - fi > - done > - done > - if [ ! -s "$hoodfile" ]; then > - # Only load hoodfile from gateway if not already present from local network > - # - This gives local network a precedence (take the hood from local network) > - # - This prevents file insertion from a third person, as I will only connect via LAN to who I trust > - wget -T15 -t5 "http://[fe80::1%br-mesh]:2342/keyxchangev2data" -O "$hoodfile" > - fi > + wget -T15 -t5 "http://[fe80::1%br-mesh]:2342/keyxchangev2data" -O "$hoodfile" > #UPLINK: Do nothing > fi > fi