forked from freifunk-franken/firmware
fff-hoods: create hoodfile AP earlier
The hidden AP creation is moved to the end of configurehood, so it is executed right after hoodfile changes are processed. When keeping the long sleep before trying to gather hoodfiles via wireless or ethernet, this should decrease the delay after hood changes to a minimum, as mesh nodes don't have to wait until configurehood on VPN nodes is executed a second time. Because hoodfiles gathered via wireless or ethernet are not copied to hoodfilewww (which is used to deliver the active hoodfile via ethernet or wireless), only authoritative hoodfiles (keyxchange and gateway) trigger the creation of a hidden AP. Signed-off-by: Fabian Bläse <fabian@blaese.de> Reviewed-by: Robert Langhammer <rlanghammer@web.de> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [bump PKG_RELEASE] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
parent
0264cc48b3
commit
c23c98b2cb
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-hoods
|
PKG_NAME:=fff-hoods
|
||||||
PKG_RELEASE:=12
|
PKG_RELEASE:=13
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
|
|
@ -38,30 +38,6 @@ hasInternet() {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Hidden AP check
|
|
||||||
|
|
||||||
if [ -s "$hoodfilewww" ] && isGatewayAvailable ; then
|
|
||||||
needwifi="0"
|
|
||||||
for radio in $(wifiListRadio); do
|
|
||||||
freq="$(wifiGetFreq $radio)"
|
|
||||||
|
|
||||||
# Break: wXconfig is up
|
|
||||||
[ "$(uci get "wireless.w${freq}configap.disabled")" = "0" ] && continue
|
|
||||||
# Break: No mesh interface
|
|
||||||
[ "$(uci get "wireless.w${freq}mesh.disabled")" = "0" ] || continue
|
|
||||||
|
|
||||||
# Enable configap
|
|
||||||
uci set wireless.w${freq}configap.disabled='0'
|
|
||||||
uci commit wireless
|
|
||||||
needwifi="1"
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$needwifi" = "1" ]; then
|
|
||||||
reload_config
|
|
||||||
sleep 10
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -s "$hoodfilelocal" ]; then
|
if [ -s "$hoodfilelocal" ]; then
|
||||||
# remove webroot hoodfile to prevent offering local hoodfiles to neighbours
|
# remove webroot hoodfile to prevent offering local hoodfiles to neighbours
|
||||||
rm -f "$hoodfilewww"
|
rm -f "$hoodfilewww"
|
||||||
|
@ -247,3 +223,26 @@ else
|
||||||
echo "We haven't got a file. We do nothing. We try it again in 5 minutes...";
|
echo "We haven't got a file. We do nothing. We try it again in 5 minutes...";
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Hidden AP check
|
||||||
|
if [ -s "$hoodfilewww" ] && isGatewayAvailable; then
|
||||||
|
needwifi="0"
|
||||||
|
for radio in $(wifiListRadio); do
|
||||||
|
freq="$(wifiGetFreq $radio)"
|
||||||
|
|
||||||
|
# Break: wXconfig is up
|
||||||
|
[ "$(uci get "wireless.w${freq}configap.disabled")" = "0" ] && continue
|
||||||
|
# Break: No mesh interface
|
||||||
|
[ "$(uci get "wireless.w${freq}mesh.disabled")" = "0" ] || continue
|
||||||
|
|
||||||
|
# Enable configap
|
||||||
|
uci set wireless.w${freq}configap.disabled='0'
|
||||||
|
uci commit wireless
|
||||||
|
needwifi="1"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$needwifi" = "1" ]; then
|
||||||
|
reload_config
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in New Issue