Message ID | 1509717604-3898-1-git-send-email-freifunk@adrianschmutzler.de |
---|---|
State | Accepted |
Headers | show |
diff --git a/src/packages/fff/fff-config/Makefile b/src/packages/fff/fff-config/Makefile new file mode 100644 index 0000000..fe4f5df --- /dev/null +++ b/src/packages/fff/fff-config/Makefile @@ -0,0 +1,40 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=fff-config +PKG_VERSION:=1 +PKG_RELEASE:=1 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=base + CATEGORY:=Freifunk + TITLE:=Freifunk-Franken Config + URL:=http://www.freifunk-franken.de + DEPENDS:=+fff-boardname +@BUSYBOX_CONFIG_WGET +endef + +define Package/$(PKG_NAME)/description + This is the Freifunk Franken Firmware Config package. + This packages provides utilities for a central FFF config file. +endef + +define Build/Prepare + echo "all: " > $(PKG_BUILD_DIR)/Makefile +endef + +define Build/Configure + # nothing +endef + +define Build/Compile + # nothing +endef + +define Package/$(PKG_NAME)/install + $(CP) ./files/* $(1)/ +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff new file mode 100644 index 0000000..677da15 --- /dev/null +++ b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff @@ -0,0 +1,25 @@ +#!/bin/sh +# Copyright 2017 Adrian Schmutzler +# License GPLv3 + +touch /etc/config/fff + +if ! uci -q get fff.system > /dev/null ; then + uci -q set fff.system=fff + uci -q set "fff.system.hostname=FFF" +fi + +FFF_hostname=$(uci -q get "fff.system.hostname") +test -n "${FFF_hostname}" && uci -q set "system.@system[0].hostname=${FFF_hostname}" +test -n "${FFF_hostname}" && echo "${FFF_hostname}" > /proc/sys/kernel/hostname + +traffic_enabled=$(uci -q get "fff.trafficcontrol.enabled") +traffic_in=$(uci -q get "fff.trafficcontrol.limit_in") +traffic_out=$(uci -q get "fff.trafficcontrol.limit_out") + +test -n "${traffic_enabled}" && uci -q set "simple-tc.example.enabled=${traffic_enabled}" +uci -q set "simple-tc.example.ifname=wan" +uci -q set "simple-tc.example.limit_ingress=${traffic_in}" +uci -q set "simple-tc.example.limit_egress=${traffic_out}" + +uci -q commit diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile index dd22df4..11ab6d1 100644 --- a/src/packages/fff/fff-hoods/Makefile +++ b/src/packages/fff/fff-hoods/Makefile @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) CATEGORY:=Freifunk TITLE:= Freifunk-Franken hoods URL:=http://www.freifunk-franken.de - DEPENDS:=+fff-network + DEPENDS:=+fff-network +fff-config endef define Package/$(PKG_NAME)/description diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood index f785b7d..aeec401 100755 --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood @@ -60,8 +60,8 @@ if [ -f "$hiddenapfile" ]; then rm "$hiddenapfile" fi -lat=$(uci -q get system.@system[0].latitude) -long=$(uci -q get system.@system[0].longitude) +lat=$(uci -q get fff.system.latitude) +long=$(uci -q get fff.system.longitude) # if we have Internet, we download the Hoodfile from the keyxchangev2 if hasInternet ; then diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile index 79cb917..7bfd08e 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:=41 +PKG_VERSION:=43 PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) CATEGORY:=Freifunk TITLE:= Freifunk-Franken Nodewatcher URL:=http://www.freifunk-franken.de - DEPENDS:=+alfred +micrond +fff-random +ip +ip-bridge + DEPENDS:=+alfred +micrond +fff-config +fff-random +ip +ip-bridge endef define Package/$(PKG_NAME)/description diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher index 35adf91..e4a9bc9 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="41" +SCRIPT_VERSION="43" test -f /tmp/started || exit @@ -58,20 +58,21 @@ crawl() { hostname="$(cat /proc/sys/kernel/hostname)" mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }' /sys/class/net/br-mesh/address 2>/dev/null) [ "$hostname" = "LEDE" ] && hostname="$mac" - description="$(uci get system.@system[0].description)" + [ "$hostname" = "FFF" ] && hostname="$mac" + description="$(uci -q get fff.system.description)" if [ -n "$description" ]; then description="<description><![CDATA[$description]]></description>" fi - latitude="$(uci get system.@system[0].latitude)" - longitude="$(uci get system.@system[0].longitude)" + latitude="$(uci -q get fff.system.latitude)" + longitude="$(uci -q get fff.system.longitude)" if [ -n "$longitude" -a -n "$latitude" ]; then geo="<geo><lat>$latitude</lat><lng>$longitude</lng></geo>"; fi - position_comment="$(uci get system.@system[0].position_comment)" + position_comment="$(uci -q get fff.system.position_comment)" if [ -n "$position_comment" ]; then position_comment="<position_comment><![CDATA[$position_comment]]></position_comment>" fi - contact="$(uci get system.@system[0].contact)" + contact="$(uci -q get fff.system.contact)" if [ -n "$contact" ]; then contact="<contact>$contact</contact>" fi @@ -137,10 +138,10 @@ crawl() { SYSTEM_DATA=$SYSTEM_DATA"${geo}" SYSTEM_DATA=$SYSTEM_DATA"${position_comment}" SYSTEM_DATA=$SYSTEM_DATA"${contact}" - if [ "$(uci -q get "system.@system[0].hood")" ] - then - SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>" - fi + if [ "$(uci -q get "system.@system[0].hood")" ] + then + SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>" + fi SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>" SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>" SYSTEM_DATA=$SYSTEM_DATA"$cpu" diff --git a/src/packages/fff/fff-support/files/usr/sbin/show_info b/src/packages/fff/fff-support/files/usr/sbin/show_info index 3914391..58c6853 100755 --- a/src/packages/fff/fff-support/files/usr/sbin/show_info +++ b/src/packages/fff/fff-support/files/usr/sbin/show_info @@ -4,7 +4,7 @@ board_name=$(uci -q get board.model.name) -HOSTNAME=$(uci -q get 'system.@system[0].hostname') +HOSTNAME=$(uci -q get 'fff.system.hostname') human_bytes() { while read B ; do @@ -140,11 +140,11 @@ echo "IPv6 Adressen: $(addr 6 $wanif)" echo "" echo "-> EINSTELLUNGEN" echo "Knotenname: ${HOSTNAME}" -echo "Knotenbeschreibung: $(uci -q get 'system.@system[0].description')" -echo "GPS Breitengrad: $(uci -q get 'system.@system[0].latitude')" -echo "GPS Laengengrad: $(uci -q get 'system.@system[0].longitude')" -echo "Standortbeschreibung: $(uci -q get 'system.@system[0].position_comment')" -echo "E-Mail Adresse: $(uci -q get 'system.@system[0].contact')" +echo "Knotenbeschreibung: $(uci -q get 'fff.system.description')" +echo "GPS Breitengrad: $(uci -q get 'fff.system.latitude')" +echo "GPS Laengengrad: $(uci -q get 'fff.system.longitude')" +echo "Standortbeschreibung: $(uci -q get 'fff.system.position_comment')" +echo "E-Mail Adresse: $(uci -q get 'fff.system.contact')" echo "" echo "-> BITRATEN-BEGRENZUNG" diff --git a/src/packages/fff/fff-sysupgrade/Makefile b/src/packages/fff/fff-sysupgrade/Makefile index ab809c9..b2e1ffa 100644 --- a/src/packages/fff/fff-sysupgrade/Makefile +++ b/src/packages/fff/fff-sysupgrade/Makefile @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) CATEGORY:=Freifunk TITLE:=Freifunk-Franken sysupgrade URL:=http://www.freifunk-franken.de - DEPENDS:=+fff-boardname +fff-hoods +@BUSYBOX_CONFIG_WGET + DEPENDS:=+fff-boardname +fff-config +fff-hoods +@BUSYBOX_CONFIG_WGET endef define Package/$(PKG_NAME)/description diff --git a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration index 0e36587..fe4ad97 100644 --- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration +++ b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration @@ -1,21 +1,27 @@ #!/bin/sh -UPGRADE_hostname=$(uci -q get "system.@system[0].hostname") -UPGRADE_description=$(uci -q get "system.@system[0].description") -UPGRADE_latitude=$(uci -q get "system.@system[0].latitude") -UPGRADE_longitude=$(uci -q get "system.@system[0].longitude") -UPGRADE_position_comment=$(uci -q get "system.@system[0].position_comment") -UPGRADE_contact=$(uci -q get "system.@system[0].contact") +if [ ! -s /etc/config/fff ] ; then -/bin/rm -rf /etc/config/system + UPGRADE_hostname=$(uci -q get "system.@system[0].hostname") + UPGRADE_description=$(uci -q get "system.@system[0].description") + UPGRADE_latitude=$(uci -q get "system.@system[0].latitude") + UPGRADE_longitude=$(uci -q get "system.@system[0].longitude") + UPGRADE_position_comment=$(uci -q get "system.@system[0].position_comment") + UPGRADE_contact=$(uci -q get "system.@system[0].contact") -/bin/config_generate + /bin/rm -rf /etc/config/system + + /bin/config_generate -test -n "${UPGRADE_hostname}" && uci -q set "system.@system[0].hostname=${UPGRADE_hostname}" -test -n "${UPGRADE_description}" && uci -q set "system.@system[0].description=${UPGRADE_description}" -test -n "${UPGRADE_latitude}" && uci -q set "system.@system[0].latitude=${UPGRADE_latitude}" -test -n "${UPGRADE_longitude}" && uci -q set "system.@system[0].longitude=${UPGRADE_longitude}" -test -n "${UPGRADE_position_comment}" && uci -q set "system.@system[0].position_comment=${UPGRADE_position_comment}" -test -n "${UPGRADE_contact}" && uci -q set "system.@system[0].contact=${UPGRADE_contact}" + touch /etc/config/fff -uci -q commit system + uci -q set fff.system=fff + test -n "${UPGRADE_hostname}" && uci -q set "fff.system.hostname=${UPGRADE_hostname}" + test -n "${UPGRADE_description}" && uci -q set "fff.system.description=${UPGRADE_description}" + test -n "${UPGRADE_latitude}" && uci -q set "fff.system.latitude=${UPGRADE_latitude}" + test -n "${UPGRADE_longitude}" && uci -q set "fff.system.longitude=${UPGRADE_longitude}" + test -n "${UPGRADE_position_comment}" && uci -q set "fff.system.position_comment=${UPGRADE_position_comment}" + test -n "${UPGRADE_contact}" && uci -q set "fff.system.contact=${UPGRADE_contact}" + + uci -q commit fff +fi diff --git a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade index ab6f2de..847ce1e 100644 --- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade +++ b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade @@ -8,5 +8,5 @@ cat > /etc/sysupgrade.conf <<-__EOF__ /etc/dropbear/dropbear_rsa_host_key /etc/dropbear/authorized_keys /etc/network.config -/etc/config/system +/etc/config/fff __EOF__ diff --git a/src/packages/fff/fff-web/Makefile b/src/packages/fff/fff-web/Makefile index 708dbb9..d7201e2 100644 --- a/src/packages/fff/fff-web/Makefile +++ b/src/packages/fff/fff-web/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-web -PKG_VERSION:=0.0.4 +PKG_VERSION:=5 PKG_RELEASE:=2 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) CATEGORY:=Freifunk TITLE:= Freifunk-Franken Webinterface URL:=http://www.freifunk-franken.de - DEPENDS:=+uhttpd +libustream-mbedtls +haserl +px5g +simple-tc +fff-boardname +fff-network + DEPENDS:=+uhttpd +libustream-mbedtls +haserl +px5g +simple-tc +fff-boardname +fff-config +fff-network endef define Package/$(PKG_NAME)/description diff --git a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html index f96846c..96d657b 100755 --- a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html +++ b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html @@ -2,13 +2,13 @@ <% echo -en "Content-Type: text/html\r\n\r\n" -HOSTNAME=$(uci -q get 'system.@system[0].hostname') +HOSTNAME="$(uci -q get "fff.system.hostname")" hood="$(uci -q get "system.@system[0].hood")" MAC="$(uci -q get network.mesh.macaddr)" -lat="$(uci -q get system.@system[0].latitude)" -lon="$(uci -q get system.@system[0].longitude)" -contact="$(uci -q get system.@system[0].contact)" +lat="$(uci -q get "fff.system.latitude")" +lon="$(uci -q get "fff.system.longitude")" +contact="$(uci -q get "fff.system.contact")" . /etc/firmware_release @@ -48,11 +48,11 @@ contact="$(uci -q get system.@system[0].contact)" <tr><th>MAC-Adresse:</th><td style="text-transform: uppercase;"><a href="https://monitoring.freifunk-franken.de/api/get_router_by_mac/<%= $MAC %>"><%= $MAC %></a></td></tr> <tr><th>Modell:</th><td><% cat /tmp/sysinfo/model 2>/dev/null %></td></tr> <tr><th>Firmware:</th><td><%= ${FIRMWARE_VERSION} %></td></tr> - <tr><th>Beschreibung:</th><td><% uci -q get 'system.@system[0].description' %></td></tr> + <tr><th>Beschreibung:</th><td><% uci -q get 'fff.system.description' %></td></tr> <tr><th>Position:</th><td><% if [ -n "$lat" -a -n "$lon" ]; then echo "<a href=\"https://monitoring.freifunk-franken.de/map?mapcenter=$lat,$lon,16\">${lat:0:8}N, ${lon:0:8}E</a>" fi %></td></tr> - <tr><th>Standort:</th><td><% uci -q get 'system.@system[0].position_comment' %></td></tr> + <tr><th>Standort:</th><td><% uci -q get 'fff.system.position_comment' %></td></tr> <tr><th>E-Mail Adresse:</th><td><a href="mailto:<%= $contact %>"><%= $contact %></a></td></tr> </table> </fieldset> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header index c327013..f98a3f3 100755 --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header @@ -12,7 +12,7 @@ nav_entry() { echo -ne "\t<li${class_active}><a href=\"${script_file}\">$2</a></li>\n\t\t" } -HOSTNAME=$(uci -q get 'system.@system[0].hostname') +HOSTNAME="$(uci -q get "fff.system.hostname")" hood="$(uci -q get "system.@system[0].hood")" NOW=$(date +%s) diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html index e7bc3e9..b785aed 100755 --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html @@ -13,25 +13,32 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then MSG='<span class="red">Knotenname enthält ungültige Zeichen!</span>' else # Allgemeine Einstellungen + uci -q set "fff.system.hostname=${POST_hostname}" + echo "$(uci -q get "fff.system.hostname")" > /proc/sys/kernel/hostname uci -q set "system.@system[0].hostname=${POST_hostname}" - echo "$(uci -q get "system.@system[0].hostname")" > /proc/sys/kernel/hostname - uci -q set "system.@system[0].description=${POST_description}" - uci -q set "system.@system[0].latitude=${POST_latitude}" - uci -q set "system.@system[0].longitude=${POST_longitude}" - uci -q set "system.@system[0].position_comment=${POST_position_comment}" - uci -q set "system.@system[0].contact=${POST_contact}" + uci -q set "fff.system.description=${POST_description}" + uci -q set "fff.system.latitude=${POST_latitude}" + uci -q set "fff.system.longitude=${POST_longitude}" + uci -q set "fff.system.position_comment=${POST_position_comment}" + uci -q set "fff.system.contact=${POST_contact}" # Bitratenbegrenzung + uci -q get "fff.trafficcontrol" > /dev/null || uci -q set fff.trafficcontrol=fff if [ "$POST_traffic_limit" == "on" ] ; then - uci -q set "simple-tc.example.ifname=wan" + uci -q set "fff.trafficcontrol.enabled=1" uci -q set "simple-tc.example.enabled=1" else + uci -q set "fff.trafficcontrol.enabled=0" uci -q set "simple-tc.example.enabled=0" fi + uci -q set "fff.trafficcontrol.limit_in=${POST_limit_ingress}" + uci -q set "fff.trafficcontrol.limit_out=${POST_limit_egress}" + + uci -q set "simple-tc.example.ifname=wan" uci -q set "simple-tc.example.limit_ingress=${POST_limit_ingress}" uci -q set "simple-tc.example.limit_egress=${POST_limit_egress}" - uci commit + uci -q commit MSG='<span class="green">Daten gespeichert! - Bitte Router neustarten.</span>' fi @@ -41,7 +48,7 @@ fi <%in /www/ssl/cgi-bin/helpers %> <% # read -if [ "$(uci -q get 'simple-tc.example.enabled')" == "1" ] ; then +if [ "$(uci -q get 'fff.trafficcontrol.enabled')" == "1" ] ; then traffic_checked='checked="checked" ' else traffic_checked="" @@ -55,16 +62,16 @@ fi <legend>Allgemeine Einstellungen</legend> <table> <tr><th>Knotenname:</th><td><input type="text" name="hostname" value="<%= ${HOSTNAME} %>" /></td></tr> - <tr><th>Knotenbeschreibung:</th><td><input type="text" name="description" value="<%= $(uci -q get 'system.@system[0].description') %>" /></td></tr> + <tr><th>Knotenbeschreibung:</th><td><input type="text" name="description" value="<%= $(uci -q get 'fff.system.description') %>" /></td></tr> <tr><th>GPS Breitengrad:</th> - <td><input type="text" name="latitude" value="<%= $(uci -q get 'system.@system[0].latitude') %>" /></td> + <td><input type="text" name="latitude" value="<%= $(uci -q get 'fff.system.latitude') %>" /></td> <td rowspan="2" style="vertical-align: middle;"> <button type="button" style="height: 100%; width: 126px; margin-left: 5px;" onclick="window.open('/map.html', '_blank', 'location=0,status=0,scrollbars=1,width=400,height=300');">Position auf Karte anzeigen / setzen</button> </td> </tr> - <tr><th>GPS Längengrad:</th><td><input type="text" name="longitude" value="<%= $(uci -q get 'system.@system[0].longitude') %>" /></td></tr> - <tr><th>Standortbeschreibung:</th><td><input type="text" name="position_comment" value="<%= $(uci -q get 'system.@system[0].position_comment') %>" /></td></tr> - <tr><th>E-Mail Adresse:</th><td><input type="email" name="contact" value="<%= $(uci -q get 'system.@system[0].contact') %>" /></td></tr> + <tr><th>GPS Längengrad:</th><td><input type="text" name="longitude" value="<%= $(uci -q get 'fff.system.longitude') %>" /></td></tr> + <tr><th>Standortbeschreibung:</th><td><input type="text" name="position_comment" value="<%= $(uci -q get 'fff.system.position_comment') %>" /></td></tr> + <tr><th>E-Mail Adresse:</th><td><input type="email" name="contact" value="<%= $(uci -q get 'fff.system.contact') %>" /></td></tr> </table> </fieldset> </td><td> @@ -74,8 +81,8 @@ fi <tr><th>Aktiviert:</th><td colspan="2"> <input type="checkbox" name="traffic_limit" <%= ${traffic_checked} %>/> </td></tr> - <tr><th>Freifunk Download:</th><td><input type="text" name="limit_ingress" value="<%= $(uci -q get 'simple-tc.example.limit_ingress') %>" /></td><td>kbit/s</td></tr> - <tr><th>Freifunk Upload:</th><td><input type="text" name="limit_egress" value="<%= $(uci -q get 'simple-tc.example.limit_egress') %>" /></td><td>kbit/s</td></tr> + <tr><th>Freifunk Download:</th><td><input type="text" name="limit_ingress" value="<%= $(uci -q get 'fff.trafficcontrol.limit_in') %>" /></td><td>kbit/s</td></tr> + <tr><th>Freifunk Upload:</th><td><input type="text" name="limit_egress" value="<%= $(uci -q get 'fff.trafficcontrol.limit_out') %>" /></td><td>kbit/s</td></tr> </table> </fieldset> </td></tr> diff --git a/src/packages/fff/fff/Makefile b/src/packages/fff/fff/Makefile index 305ab8d..dce33f9 100644 --- a/src/packages/fff/fff/Makefile +++ b/src/packages/fff/fff/Makefile @@ -18,6 +18,7 @@ define Package/fff-base +ip6tables \ +odhcp6c \ +micrond \ + +fff-config \ +fff-nodewatcher \ +fff-web \ +fff-uradvd \
Hi Reviewed-by: Tim Niemeyer <tim@tn-x.org> Tim Am Freitag, den 03.11.2017, 15:00 +0100 schrieb Adrian Schmutzler: > This moves the FFF configuration from > /etc/config/system to a new file /etc/config/fff. Thus, > this file can be copied as a whole during upgrade (with > compatibility provided) and then resulting values in > other files are re-set later. > > This also fixes the bandwidth settings not being persistent > during upgrade. Other settings may join ... > > I tried to go through all the code and update all occurrences > of the relevant system variables (looking for "system" both > in GitHub and my local src folder). > > Note that a downgrade will result in loss of configuration! > > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > --- > > Changes in v11: > - Redesign for keyexchange v2. > > Changes in v12: > - Removed downgrade script > - Changed default hostname to FFF > - Rename FFF to $mac in nodewatcher > - Also update variables in show_info > --- > src/packages/fff/fff-config/Makefile | 40 ++++++++++++++++++++++ > .../files/etc/uci-defaults/98-configure-fff | 25 ++++++++++++++ > src/packages/fff/fff-hoods/Makefile | 2 +- > .../fff/fff-hoods/files/usr/sbin/configurehood | 4 +-- > src/packages/fff/fff-nodewatcher/Makefile | 4 +-- > .../fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 21 ++++++------ > .../fff/fff-support/files/usr/sbin/show_info | 12 +++---- > src/packages/fff/fff-sysupgrade/Makefile | 2 +- > .../etc/uci-defaults/05-config-system-migration | 36 +++++++++++-------- > .../files/etc/uci-defaults/99-fff-sysupgrade | 2 +- > src/packages/fff/fff-web/Makefile | 4 +-- > .../fff-web/files/www/public/cgi-bin/status.html | 12 +++---- > .../fff/fff-web/files/www/ssl/cgi-bin/header | 2 +- > .../fff-web/files/www/ssl/cgi-bin/settings.html | 39 ++++++++++++--------- > src/packages/fff/fff/Makefile | 1 + > 15 files changed, 143 insertions(+), 63 deletions(-) > create mode 100644 src/packages/fff/fff-config/Makefile > create mode 100644 src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > > diff --git a/src/packages/fff/fff-config/Makefile b/src/packages/fff/fff-config/Makefile > new file mode 100644 > index 0000000..fe4f5df > --- /dev/null > +++ b/src/packages/fff/fff-config/Makefile > @@ -0,0 +1,40 @@ > +include $(TOPDIR)/rules.mk > + > +PKG_NAME:=fff-config > +PKG_VERSION:=1 > +PKG_RELEASE:=1 > + > +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) > + > +include $(INCLUDE_DIR)/package.mk > + > +define Package/$(PKG_NAME) > + SECTION:=base > + CATEGORY:=Freifunk > + TITLE:=Freifunk-Franken Config > + URL:=http://www.freifunk-franken.de > + DEPENDS:=+fff-boardname +@BUSYBOX_CONFIG_WGET > +endef > + > +define Package/$(PKG_NAME)/description > + This is the Freifunk Franken Firmware Config package. > + This packages provides utilities for a central FFF config file. > +endef > + > +define Build/Prepare > + echo "all: " > $(PKG_BUILD_DIR)/Makefile > +endef > + > +define Build/Configure > + # nothing > +endef > + > +define Build/Compile > + # nothing > +endef > + > +define Package/$(PKG_NAME)/install > + $(CP) ./files/* $(1)/ > +endef > + > +$(eval $(call BuildPackage,$(PKG_NAME))) > diff --git a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > new file mode 100644 > index 0000000..677da15 > --- /dev/null > +++ b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > @@ -0,0 +1,25 @@ > +#!/bin/sh > +# Copyright 2017 Adrian Schmutzler > +# License GPLv3 > + > +touch /etc/config/fff > + > +if ! uci -q get fff.system > /dev/null ; then > + uci -q set fff.system=fff > + uci -q set "fff.system.hostname=FFF" > +fi > + > +FFF_hostname=$(uci -q get "fff.system.hostname") > +test -n "${FFF_hostname}" && uci -q set "system.@system[0].hostname=${FFF_hostname}" > +test -n "${FFF_hostname}" && echo "${FFF_hostname}" > /proc/sys/kernel/hostname > + > +traffic_enabled=$(uci -q get "fff.trafficcontrol.enabled") > +traffic_in=$(uci -q get "fff.trafficcontrol.limit_in") > +traffic_out=$(uci -q get "fff.trafficcontrol.limit_out") > + > +test -n "${traffic_enabled}" && uci -q set "simple-tc.example.enabled=${traffic_enabled}" > +uci -q set "simple-tc.example.ifname=wan" > +uci -q set "simple-tc.example.limit_ingress=${traffic_in}" > +uci -q set "simple-tc.example.limit_egress=${traffic_out}" > + > +uci -q commit > diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile > index dd22df4..11ab6d1 100644 > --- a/src/packages/fff/fff-hoods/Makefile > +++ b/src/packages/fff/fff-hoods/Makefile > @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) > CATEGORY:=Freifunk > TITLE:= Freifunk-Franken hoods > URL:=http://www.freifunk-franken.de > - DEPENDS:=+fff-network > + DEPENDS:=+fff-network +fff-config > endef > > define Package/$(PKG_NAME)/description > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > index f785b7d..aeec401 100755 > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > @@ -60,8 +60,8 @@ if [ -f "$hiddenapfile" ]; then > rm "$hiddenapfile" > fi > > -lat=$(uci -q get system.@system[0].latitude) > -long=$(uci -q get system.@system[0].longitude) > +lat=$(uci -q get fff.system.latitude) > +long=$(uci -q get fff.system.longitude) > > # if we have Internet, we download the Hoodfile from the keyxchangev2 > if hasInternet ; then > diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile > index 79cb917..7bfd08e 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:=41 > +PKG_VERSION:=43 > PKG_RELEASE:=1 > > PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) > @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) > CATEGORY:=Freifunk > TITLE:= Freifunk-Franken Nodewatcher > URL:=http://www.freifunk-franken.de > - DEPENDS:=+alfred +micrond +fff-random +ip +ip-bridge > + DEPENDS:=+alfred +micrond +fff-config +fff-random +ip +ip-bridge > endef > > define Package/$(PKG_NAME)/description > diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > index 35adf91..e4a9bc9 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="41" > +SCRIPT_VERSION="43" > > test -f /tmp/started || exit > > @@ -58,20 +58,21 @@ crawl() { > hostname="$(cat /proc/sys/kernel/hostname)" > mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }' /sys/class/net/br-mesh/address 2>/dev/null) > [ "$hostname" = "LEDE" ] && hostname="$mac" > - description="$(uci get system.@system[0].description)" > + [ "$hostname" = "FFF" ] && hostname="$mac" > + description="$(uci -q get fff.system.description)" > if [ -n "$description" ]; then > description="<description><![CDATA[$description]]></description>" > fi > - latitude="$(uci get system.@system[0].latitude)" > - longitude="$(uci get system.@system[0].longitude)" > + latitude="$(uci -q get fff.system.latitude)" > + longitude="$(uci -q get fff.system.longitude)" > if [ -n "$longitude" -a -n "$latitude" ]; then > geo="<geo><lat>$latitude</lat><lng>$longitude</lng></geo>"; > fi > - position_comment="$(uci get system.@system[0].position_comment)" > + position_comment="$(uci -q get fff.system.position_comment)" > if [ -n "$position_comment" ]; then > position_comment="<position_comment><![CDATA[$position_comment]]></position_comment>" > fi > - contact="$(uci get system.@system[0].contact)" > + contact="$(uci -q get fff.system.contact)" > if [ -n "$contact" ]; then > contact="<contact>$contact</contact>" > fi > @@ -137,10 +138,10 @@ crawl() { > SYSTEM_DATA=$SYSTEM_DATA"${geo}" > SYSTEM_DATA=$SYSTEM_DATA"${position_comment}" > SYSTEM_DATA=$SYSTEM_DATA"${contact}" > - if [ "$(uci -q get "system.@system[0].hood")" ] > - then > - SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>" > - fi > + if [ "$(uci -q get "system.@system[0].hood")" ] > + then > + SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>" > + fi > SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>" > SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>" > SYSTEM_DATA=$SYSTEM_DATA"$cpu" > diff --git a/src/packages/fff/fff-support/files/usr/sbin/show_info b/src/packages/fff/fff-support/files/usr/sbin/show_info > index 3914391..58c6853 100755 > --- a/src/packages/fff/fff-support/files/usr/sbin/show_info > +++ b/src/packages/fff/fff-support/files/usr/sbin/show_info > @@ -4,7 +4,7 @@ > > board_name=$(uci -q get board.model.name) > > -HOSTNAME=$(uci -q get 'system.@system[0].hostname') > +HOSTNAME=$(uci -q get 'fff.system.hostname') > > human_bytes() { > while read B ; do > @@ -140,11 +140,11 @@ echo "IPv6 Adressen: $(addr 6 $wanif)" > echo "" > echo "-> EINSTELLUNGEN" > echo "Knotenname: ${HOSTNAME}" > -echo "Knotenbeschreibung: $(uci -q get 'system.@system[0].description')" > -echo "GPS Breitengrad: $(uci -q get 'system.@system[0].latitude')" > -echo "GPS Laengengrad: $(uci -q get 'system.@system[0].longitude')" > -echo "Standortbeschreibung: $(uci -q get 'system.@system[0].position_comment')" > -echo "E-Mail Adresse: $(uci -q get 'system.@system[0].contact')" > +echo "Knotenbeschreibung: $(uci -q get 'fff.system.description')" > +echo "GPS Breitengrad: $(uci -q get 'fff.system.latitude')" > +echo "GPS Laengengrad: $(uci -q get 'fff.system.longitude')" > +echo "Standortbeschreibung: $(uci -q get 'fff.system.position_comment')" > +echo "E-Mail Adresse: $(uci -q get 'fff.system.contact')" > > echo "" > echo "-> BITRATEN-BEGRENZUNG" > diff --git a/src/packages/fff/fff-sysupgrade/Makefile b/src/packages/fff/fff-sysupgrade/Makefile > index ab809c9..b2e1ffa 100644 > --- a/src/packages/fff/fff-sysupgrade/Makefile > +++ b/src/packages/fff/fff-sysupgrade/Makefile > @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) > CATEGORY:=Freifunk > TITLE:=Freifunk-Franken sysupgrade > URL:=http://www.freifunk-franken.de > - DEPENDS:=+fff-boardname +fff-hoods +@BUSYBOX_CONFIG_WGET > + DEPENDS:=+fff-boardname +fff-config +fff-hoods +@BUSYBOX_CONFIG_WGET > endef > > define Package/$(PKG_NAME)/description > diff --git a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration > index 0e36587..fe4ad97 100644 > --- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration > +++ b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration > @@ -1,21 +1,27 @@ > #!/bin/sh > > -UPGRADE_hostname=$(uci -q get "system.@system[0].hostname") > -UPGRADE_description=$(uci -q get "system.@system[0].description") > -UPGRADE_latitude=$(uci -q get "system.@system[0].latitude") > -UPGRADE_longitude=$(uci -q get "system.@system[0].longitude") > -UPGRADE_position_comment=$(uci -q get "system.@system[0].position_comment") > -UPGRADE_contact=$(uci -q get "system.@system[0].contact") > +if [ ! -s /etc/config/fff ] ; then > > -/bin/rm -rf /etc/config/system > + UPGRADE_hostname=$(uci -q get "system.@system[0].hostname") > + UPGRADE_description=$(uci -q get "system.@system[0].description") > + UPGRADE_latitude=$(uci -q get "system.@system[0].latitude") > + UPGRADE_longitude=$(uci -q get "system.@system[0].longitude") > + UPGRADE_position_comment=$(uci -q get "system.@system[0].position_comment") > + UPGRADE_contact=$(uci -q get "system.@system[0].contact") > > -/bin/config_generate > + /bin/rm -rf /etc/config/system > + > + /bin/config_generate > > -test -n "${UPGRADE_hostname}" && uci -q set "system.@system[0].hostname=${UPGRADE_hostname}" > -test -n "${UPGRADE_description}" && uci -q set "system.@system[0].description=${UPGRADE_description}" > -test -n "${UPGRADE_latitude}" && uci -q set "system.@system[0].latitude=${UPGRADE_latitude}" > -test -n "${UPGRADE_longitude}" && uci -q set "system.@system[0].longitude=${UPGRADE_longitude}" > -test -n "${UPGRADE_position_comment}" && uci -q set "system.@system[0].position_comment=${UPGRADE_position_comment}" > -test -n "${UPGRADE_contact}" && uci -q set "system.@system[0].contact=${UPGRADE_contact}" > + touch /etc/config/fff > > -uci -q commit system > + uci -q set fff.system=fff > + test -n "${UPGRADE_hostname}" && uci -q set "fff.system.hostname=${UPGRADE_hostname}" > + test -n "${UPGRADE_description}" && uci -q set "fff.system.description=${UPGRADE_description}" > + test -n "${UPGRADE_latitude}" && uci -q set "fff.system.latitude=${UPGRADE_latitude}" > + test -n "${UPGRADE_longitude}" && uci -q set "fff.system.longitude=${UPGRADE_longitude}" > + test -n "${UPGRADE_position_comment}" && uci -q set "fff.system.position_comment=${UPGRADE_position_comment}" > + test -n "${UPGRADE_contact}" && uci -q set "fff.system.contact=${UPGRADE_contact}" > + > + uci -q commit fff > +fi > diff --git a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade > index ab6f2de..847ce1e 100644 > --- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade > +++ b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade > @@ -8,5 +8,5 @@ cat > /etc/sysupgrade.conf <<-__EOF__ > /etc/dropbear/dropbear_rsa_host_key > /etc/dropbear/authorized_keys > /etc/network.config > -/etc/config/system > +/etc/config/fff > __EOF__ > diff --git a/src/packages/fff/fff-web/Makefile b/src/packages/fff/fff-web/Makefile > index 708dbb9..d7201e2 100644 > --- a/src/packages/fff/fff-web/Makefile > +++ b/src/packages/fff/fff-web/Makefile > @@ -1,7 +1,7 @@ > include $(TOPDIR)/rules.mk > > PKG_NAME:=fff-web > -PKG_VERSION:=0.0.4 > +PKG_VERSION:=5 > PKG_RELEASE:=2 > > PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) > @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) > CATEGORY:=Freifunk > TITLE:= Freifunk-Franken Webinterface > URL:=http://www.freifunk-franken.de > - DEPENDS:=+uhttpd +libustream-mbedtls +haserl +px5g +simple-tc +fff-boardname +fff-network > + DEPENDS:=+uhttpd +libustream-mbedtls +haserl +px5g +simple-tc +fff-boardname +fff-config +fff-network > endef > > define Package/$(PKG_NAME)/description > diff --git a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html > index f96846c..96d657b 100755 > --- a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html > +++ b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html > @@ -2,13 +2,13 @@ > > <% > echo -en "Content-Type: text/html\r\n\r\n" > -HOSTNAME=$(uci -q get 'system.@system[0].hostname') > +HOSTNAME="$(uci -q get "fff.system.hostname")" > hood="$(uci -q get "system.@system[0].hood")" > > MAC="$(uci -q get network.mesh.macaddr)" > -lat="$(uci -q get system.@system[0].latitude)" > -lon="$(uci -q get system.@system[0].longitude)" > -contact="$(uci -q get system.@system[0].contact)" > +lat="$(uci -q get "fff.system.latitude")" > +lon="$(uci -q get "fff.system.longitude")" > +contact="$(uci -q get "fff.system.contact")" > > . /etc/firmware_release > > @@ -48,11 +48,11 @@ contact="$(uci -q get system.@system[0].contact)" > <tr><th>MAC-Adresse:</th><td style="text-transform: uppercase;"><a href="https://monitoring.freifunk-franken.de/api/get_router_by_mac/<%= $MAC %>"><%= $MAC %></a></td></tr> > <tr><th>Modell:</th><td><% cat /tmp/sysinfo/model 2>/dev/null %></td></tr> > <tr><th>Firmware:</th><td><%= ${FIRMWARE_VERSION} %></td></tr> > - <tr><th>Beschreibung:</th><td><% uci -q get 'system.@system[0].description' %></td></tr> > + <tr><th>Beschreibung:</th><td><% uci -q get 'fff.system.description' %></td></tr> > <tr><th>Position:</th><td><% if [ -n "$lat" -a -n "$lon" ]; then > echo "<a href=\"https://monitoring.freifunk-franken.de/map?mapcenter=$lat,$lon,16\">${lat:0:8}N, ${lon:0:8}E</a>" > fi %></td></tr> > - <tr><th>Standort:</th><td><% uci -q get 'system.@system[0].position_comment' %></td></tr> > + <tr><th>Standort:</th><td><% uci -q get 'fff.system.position_comment' %></td></tr> > <tr><th>E-Mail Adresse:</th><td><a href="mailto:<%= $contact %>"><%= $contact %></a></td></tr> > </table> > </fieldset> > diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header > index c327013..f98a3f3 100755 > --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header > +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header > @@ -12,7 +12,7 @@ nav_entry() { > echo -ne "\t<li${class_active}><a href=\"${script_file}\">$2</a></li>\n\t\t" > } > > -HOSTNAME=$(uci -q get 'system.@system[0].hostname') > +HOSTNAME="$(uci -q get "fff.system.hostname")" > hood="$(uci -q get "system.@system[0].hood")" > > NOW=$(date +%s) > diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html > index e7bc3e9..b785aed 100755 > --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html > +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html > @@ -13,25 +13,32 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then > MSG='<span class="red">Knotenname enthält ungültige Zeichen!</span>' > else > # Allgemeine Einstellungen > + uci -q set "fff.system.hostname=${POST_hostname}" > + echo "$(uci -q get "fff.system.hostname")" > /proc/sys/kernel/hostname > uci -q set "system.@system[0].hostname=${POST_hostname}" > - echo "$(uci -q get "system.@system[0].hostname")" > /proc/sys/kernel/hostname > - uci -q set "system.@system[0].description=${POST_description}" > - uci -q set "system.@system[0].latitude=${POST_latitude}" > - uci -q set "system.@system[0].longitude=${POST_longitude}" > - uci -q set "system.@system[0].position_comment=${POST_position_comment}" > - uci -q set "system.@system[0].contact=${POST_contact}" > + uci -q set "fff.system.description=${POST_description}" > + uci -q set "fff.system.latitude=${POST_latitude}" > + uci -q set "fff.system.longitude=${POST_longitude}" > + uci -q set "fff.system.position_comment=${POST_position_comment}" > + uci -q set "fff.system.contact=${POST_contact}" > > # Bitratenbegrenzung > + uci -q get "fff.trafficcontrol" > /dev/null || uci -q set fff.trafficcontrol=fff > if [ "$POST_traffic_limit" == "on" ] ; then > - uci -q set "simple-tc.example.ifname=wan" > + uci -q set "fff.trafficcontrol.enabled=1" > uci -q set "simple-tc.example.enabled=1" > else > + uci -q set "fff.trafficcontrol.enabled=0" > uci -q set "simple-tc.example.enabled=0" > fi > + uci -q set "fff.trafficcontrol.limit_in=${POST_limit_ingress}" > + uci -q set "fff.trafficcontrol.limit_out=${POST_limit_egress}" > + > + uci -q set "simple-tc.example.ifname=wan" > uci -q set "simple-tc.example.limit_ingress=${POST_limit_ingress}" > uci -q set "simple-tc.example.limit_egress=${POST_limit_egress}" > > - uci commit > + uci -q commit > > MSG='<span class="green">Daten gespeichert! - Bitte Router neustarten.</span>' > fi > @@ -41,7 +48,7 @@ fi > <%in /www/ssl/cgi-bin/helpers %> > <% > # read > -if [ "$(uci -q get 'simple-tc.example.enabled')" == "1" ] ; then > +if [ "$(uci -q get 'fff.trafficcontrol.enabled')" == "1" ] ; then > traffic_checked='checked="checked" ' > else > traffic_checked="" > @@ -55,16 +62,16 @@ fi > <legend>Allgemeine Einstellungen</legend> > <table> > <tr><th>Knotenname:</th><td><input type="text" name="hostname" value="<%= ${HOSTNAME} %>" /></td></tr> > - <tr><th>Knotenbeschreibung:</th><td><input type="text" name="description" value="<%= $(uci -q get 'system.@system[0].description') %>" /></td></tr> > + <tr><th>Knotenbeschreibung:</th><td><input type="text" name="description" value="<%= $(uci -q get 'fff.system.description') %>" /></td></tr> > <tr><th>GPS Breitengrad:</th> > - <td><input type="text" name="latitude" value="<%= $(uci -q get 'system.@system[0].latitude') %>" /></td> > + <td><input type="text" name="latitude" value="<%= $(uci -q get 'fff.system.latitude') %>" /></td> > <td rowspan="2" style="vertical-align: middle;"> > <button type="button" style="height: 100%; width: 126px; margin-left: 5px;" onclick="window.open('/map.html', '_blank', 'location=0,status=0,scrollbars=1,width=400,height=300');">Position auf Karte anzeigen / setzen</button> > </td> > </tr> > - <tr><th>GPS Längengrad:</th><td><input type="text" name="longitude" value="<%= $(uci -q get 'system.@system[0].longitude') %>" /></td></tr> > - <tr><th>Standortbeschreibung:</th><td><input type="text" name="position_comment" value="<%= $(uci -q get 'system.@system[0].position_comment') %>" /></td></tr> > - <tr><th>E-Mail Adresse:</th><td><input type="email" name="contact" value="<%= $(uci -q get 'system.@system[0].contact') %>" /></td></tr> > + <tr><th>GPS Längengrad:</th><td><input type="text" name="longitude" value="<%= $(uci -q get 'fff.system.longitude') %>" /></td></tr> > + <tr><th>Standortbeschreibung:</th><td><input type="text" name="position_comment" value="<%= $(uci -q get 'fff.system.position_comment') %>" /></td></tr> > + <tr><th>E-Mail Adresse:</th><td><input type="email" name="contact" value="<%= $(uci -q get 'fff.system.contact') %>" /></td></tr> > </table> > </fieldset> > </td><td> > @@ -74,8 +81,8 @@ fi > <tr><th>Aktiviert:</th><td colspan="2"> > <input type="checkbox" name="traffic_limit" <%= ${traffic_checked} %>/> > </td></tr> > - <tr><th>Freifunk Download:</th><td><input type="text" name="limit_ingress" value="<%= $(uci -q get 'simple-tc.example.limit_ingress') %>" /></td><td>kbit/s</td></tr> > - <tr><th>Freifunk Upload:</th><td><input type="text" name="limit_egress" value="<%= $(uci -q get 'simple-tc.example.limit_egress') %>" /></td><td>kbit/s</td></tr> > + <tr><th>Freifunk Download:</th><td><input type="text" name="limit_ingress" value="<%= $(uci -q get 'fff.trafficcontrol.limit_in') %>" /></td><td>kbit/s</td></tr> > + <tr><th>Freifunk Upload:</th><td><input type="text" name="limit_egress" value="<%= $(uci -q get 'fff.trafficcontrol.limit_out') %>" /></td><td>kbit/s</td></tr> > </table> > </fieldset> > </td></tr> > diff --git a/src/packages/fff/fff/Makefile b/src/packages/fff/fff/Makefile > index 305ab8d..dce33f9 100644 > --- a/src/packages/fff/fff/Makefile > +++ b/src/packages/fff/fff/Makefile > @@ -18,6 +18,7 @@ define Package/fff-base > +ip6tables \ > +odhcp6c \ > +micrond \ > + +fff-config \ > +fff-nodewatcher \ > +fff-web \ > +fff-uradvd \ > -- > 2.7.4 >
Hi Patchset applied. Tim Am Freitag, den 03.11.2017, 15:00 +0100 schrieb Adrian Schmutzler: > This moves the FFF configuration from > /etc/config/system to a new file /etc/config/fff. Thus, > this file can be copied as a whole during upgrade (with > compatibility provided) and then resulting values in > other files are re-set later. > > This also fixes the bandwidth settings not being persistent > during upgrade. Other settings may join ... > > I tried to go through all the code and update all occurrences > of the relevant system variables (looking for "system" both > in GitHub and my local src folder). > > Note that a downgrade will result in loss of configuration! > > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > --- > > Changes in v11: > - Redesign for keyexchange v2. > > Changes in v12: > - Removed downgrade script > - Changed default hostname to FFF > - Rename FFF to $mac in nodewatcher > - Also update variables in show_info > --- > src/packages/fff/fff-config/Makefile | 40 ++++++++++++++++++++++ > .../files/etc/uci-defaults/98-configure-fff | 25 ++++++++++++++ > src/packages/fff/fff-hoods/Makefile | 2 +- > .../fff/fff-hoods/files/usr/sbin/configurehood | 4 +-- > src/packages/fff/fff-nodewatcher/Makefile | 4 +-- > .../fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 21 ++++++------ > .../fff/fff-support/files/usr/sbin/show_info | 12 +++---- > src/packages/fff/fff-sysupgrade/Makefile | 2 +- > .../etc/uci-defaults/05-config-system-migration | 36 +++++++++++-------- > .../files/etc/uci-defaults/99-fff-sysupgrade | 2 +- > src/packages/fff/fff-web/Makefile | 4 +-- > .../fff-web/files/www/public/cgi-bin/status.html | 12 +++---- > .../fff/fff-web/files/www/ssl/cgi-bin/header | 2 +- > .../fff-web/files/www/ssl/cgi-bin/settings.html | 39 ++++++++++++--------- > src/packages/fff/fff/Makefile | 1 + > 15 files changed, 143 insertions(+), 63 deletions(-) > create mode 100644 src/packages/fff/fff-config/Makefile > create mode 100644 src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > > diff --git a/src/packages/fff/fff-config/Makefile b/src/packages/fff/fff-config/Makefile > new file mode 100644 > index 0000000..fe4f5df > --- /dev/null > +++ b/src/packages/fff/fff-config/Makefile > @@ -0,0 +1,40 @@ > +include $(TOPDIR)/rules.mk > + > +PKG_NAME:=fff-config > +PKG_VERSION:=1 > +PKG_RELEASE:=1 > + > +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) > + > +include $(INCLUDE_DIR)/package.mk > + > +define Package/$(PKG_NAME) > + SECTION:=base > + CATEGORY:=Freifunk > + TITLE:=Freifunk-Franken Config > + URL:=http://www.freifunk-franken.de > + DEPENDS:=+fff-boardname +@BUSYBOX_CONFIG_WGET > +endef > + > +define Package/$(PKG_NAME)/description > + This is the Freifunk Franken Firmware Config package. > + This packages provides utilities for a central FFF config file. > +endef > + > +define Build/Prepare > + echo "all: " > $(PKG_BUILD_DIR)/Makefile > +endef > + > +define Build/Configure > + # nothing > +endef > + > +define Build/Compile > + # nothing > +endef > + > +define Package/$(PKG_NAME)/install > + $(CP) ./files/* $(1)/ > +endef > + > +$(eval $(call BuildPackage,$(PKG_NAME))) > diff --git a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > new file mode 100644 > index 0000000..677da15 > --- /dev/null > +++ b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > @@ -0,0 +1,25 @@ > +#!/bin/sh > +# Copyright 2017 Adrian Schmutzler > +# License GPLv3 > + > +touch /etc/config/fff > + > +if ! uci -q get fff.system > /dev/null ; then > + uci -q set fff.system=fff > + uci -q set "fff.system.hostname=FFF" > +fi > + > +FFF_hostname=$(uci -q get "fff.system.hostname") > +test -n "${FFF_hostname}" && uci -q set "system.@system[0].hostname=${FFF_hostname}" > +test -n "${FFF_hostname}" && echo "${FFF_hostname}" > /proc/sys/kernel/hostname > + > +traffic_enabled=$(uci -q get "fff.trafficcontrol.enabled") > +traffic_in=$(uci -q get "fff.trafficcontrol.limit_in") > +traffic_out=$(uci -q get "fff.trafficcontrol.limit_out") > + > +test -n "${traffic_enabled}" && uci -q set "simple-tc.example.enabled=${traffic_enabled}" > +uci -q set "simple-tc.example.ifname=wan" > +uci -q set "simple-tc.example.limit_ingress=${traffic_in}" > +uci -q set "simple-tc.example.limit_egress=${traffic_out}" > + > +uci -q commit > diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile > index dd22df4..11ab6d1 100644 > --- a/src/packages/fff/fff-hoods/Makefile > +++ b/src/packages/fff/fff-hoods/Makefile > @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) > CATEGORY:=Freifunk > TITLE:= Freifunk-Franken hoods > URL:=http://www.freifunk-franken.de > - DEPENDS:=+fff-network > + DEPENDS:=+fff-network +fff-config > endef > > define Package/$(PKG_NAME)/description > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > index f785b7d..aeec401 100755 > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > @@ -60,8 +60,8 @@ if [ -f "$hiddenapfile" ]; then > rm "$hiddenapfile" > fi > > -lat=$(uci -q get system.@system[0].latitude) > -long=$(uci -q get system.@system[0].longitude) > +lat=$(uci -q get fff.system.latitude) > +long=$(uci -q get fff.system.longitude) > > # if we have Internet, we download the Hoodfile from the keyxchangev2 > if hasInternet ; then > diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile > index 79cb917..7bfd08e 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:=41 > +PKG_VERSION:=43 > PKG_RELEASE:=1 > > PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) > @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) > CATEGORY:=Freifunk > TITLE:= Freifunk-Franken Nodewatcher > URL:=http://www.freifunk-franken.de > - DEPENDS:=+alfred +micrond +fff-random +ip +ip-bridge > + DEPENDS:=+alfred +micrond +fff-config +fff-random +ip +ip-bridge > endef > > define Package/$(PKG_NAME)/description > diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > index 35adf91..e4a9bc9 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="41" > +SCRIPT_VERSION="43" > > test -f /tmp/started || exit > > @@ -58,20 +58,21 @@ crawl() { > hostname="$(cat /proc/sys/kernel/hostname)" > mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }' /sys/class/net/br-mesh/address 2>/dev/null) > [ "$hostname" = "LEDE" ] && hostname="$mac" > - description="$(uci get system.@system[0].description)" > + [ "$hostname" = "FFF" ] && hostname="$mac" > + description="$(uci -q get fff.system.description)" > if [ -n "$description" ]; then > description="<description><![CDATA[$description]]></description>" > fi > - latitude="$(uci get system.@system[0].latitude)" > - longitude="$(uci get system.@system[0].longitude)" > + latitude="$(uci -q get fff.system.latitude)" > + longitude="$(uci -q get fff.system.longitude)" > if [ -n "$longitude" -a -n "$latitude" ]; then > geo="<geo><lat>$latitude</lat><lng>$longitude</lng></geo>"; > fi > - position_comment="$(uci get system.@system[0].position_comment)" > + position_comment="$(uci -q get fff.system.position_comment)" > if [ -n "$position_comment" ]; then > position_comment="<position_comment><![CDATA[$position_comment]]></position_comment>" > fi > - contact="$(uci get system.@system[0].contact)" > + contact="$(uci -q get fff.system.contact)" > if [ -n "$contact" ]; then > contact="<contact>$contact</contact>" > fi > @@ -137,10 +138,10 @@ crawl() { > SYSTEM_DATA=$SYSTEM_DATA"${geo}" > SYSTEM_DATA=$SYSTEM_DATA"${position_comment}" > SYSTEM_DATA=$SYSTEM_DATA"${contact}" > - if [ "$(uci -q get "system.@system[0].hood")" ] > - then > - SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>" > - fi > + if [ "$(uci -q get "system.@system[0].hood")" ] > + then > + SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>" > + fi > SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>" > SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>" > SYSTEM_DATA=$SYSTEM_DATA"$cpu" > diff --git a/src/packages/fff/fff-support/files/usr/sbin/show_info b/src/packages/fff/fff-support/files/usr/sbin/show_info > index 3914391..58c6853 100755 > --- a/src/packages/fff/fff-support/files/usr/sbin/show_info > +++ b/src/packages/fff/fff-support/files/usr/sbin/show_info > @@ -4,7 +4,7 @@ > > board_name=$(uci -q get board.model.name) > > -HOSTNAME=$(uci -q get 'system.@system[0].hostname') > +HOSTNAME=$(uci -q get 'fff.system.hostname') > > human_bytes() { > while read B ; do > @@ -140,11 +140,11 @@ echo "IPv6 Adressen: $(addr 6 $wanif)" > echo "" > echo "-> EINSTELLUNGEN" > echo "Knotenname: ${HOSTNAME}" > -echo "Knotenbeschreibung: $(uci -q get 'system.@system[0].description')" > -echo "GPS Breitengrad: $(uci -q get 'system.@system[0].latitude')" > -echo "GPS Laengengrad: $(uci -q get 'system.@system[0].longitude')" > -echo "Standortbeschreibung: $(uci -q get 'system.@system[0].position_comment')" > -echo "E-Mail Adresse: $(uci -q get 'system.@system[0].contact')" > +echo "Knotenbeschreibung: $(uci -q get 'fff.system.description')" > +echo "GPS Breitengrad: $(uci -q get 'fff.system.latitude')" > +echo "GPS Laengengrad: $(uci -q get 'fff.system.longitude')" > +echo "Standortbeschreibung: $(uci -q get 'fff.system.position_comment')" > +echo "E-Mail Adresse: $(uci -q get 'fff.system.contact')" > > echo "" > echo "-> BITRATEN-BEGRENZUNG" > diff --git a/src/packages/fff/fff-sysupgrade/Makefile b/src/packages/fff/fff-sysupgrade/Makefile > index ab809c9..b2e1ffa 100644 > --- a/src/packages/fff/fff-sysupgrade/Makefile > +++ b/src/packages/fff/fff-sysupgrade/Makefile > @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) > CATEGORY:=Freifunk > TITLE:=Freifunk-Franken sysupgrade > URL:=http://www.freifunk-franken.de > - DEPENDS:=+fff-boardname +fff-hoods +@BUSYBOX_CONFIG_WGET > + DEPENDS:=+fff-boardname +fff-config +fff-hoods +@BUSYBOX_CONFIG_WGET > endef > > define Package/$(PKG_NAME)/description > diff --git a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration > index 0e36587..fe4ad97 100644 > --- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration > +++ b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/05-config-system-migration > @@ -1,21 +1,27 @@ > #!/bin/sh > > -UPGRADE_hostname=$(uci -q get "system.@system[0].hostname") > -UPGRADE_description=$(uci -q get "system.@system[0].description") > -UPGRADE_latitude=$(uci -q get "system.@system[0].latitude") > -UPGRADE_longitude=$(uci -q get "system.@system[0].longitude") > -UPGRADE_position_comment=$(uci -q get "system.@system[0].position_comment") > -UPGRADE_contact=$(uci -q get "system.@system[0].contact") > +if [ ! -s /etc/config/fff ] ; then > > -/bin/rm -rf /etc/config/system > + UPGRADE_hostname=$(uci -q get "system.@system[0].hostname") > + UPGRADE_description=$(uci -q get "system.@system[0].description") > + UPGRADE_latitude=$(uci -q get "system.@system[0].latitude") > + UPGRADE_longitude=$(uci -q get "system.@system[0].longitude") > + UPGRADE_position_comment=$(uci -q get "system.@system[0].position_comment") > + UPGRADE_contact=$(uci -q get "system.@system[0].contact") > > -/bin/config_generate > + /bin/rm -rf /etc/config/system > + > + /bin/config_generate > > -test -n "${UPGRADE_hostname}" && uci -q set "system.@system[0].hostname=${UPGRADE_hostname}" > -test -n "${UPGRADE_description}" && uci -q set "system.@system[0].description=${UPGRADE_description}" > -test -n "${UPGRADE_latitude}" && uci -q set "system.@system[0].latitude=${UPGRADE_latitude}" > -test -n "${UPGRADE_longitude}" && uci -q set "system.@system[0].longitude=${UPGRADE_longitude}" > -test -n "${UPGRADE_position_comment}" && uci -q set "system.@system[0].position_comment=${UPGRADE_position_comment}" > -test -n "${UPGRADE_contact}" && uci -q set "system.@system[0].contact=${UPGRADE_contact}" > + touch /etc/config/fff > > -uci -q commit system > + uci -q set fff.system=fff > + test -n "${UPGRADE_hostname}" && uci -q set "fff.system.hostname=${UPGRADE_hostname}" > + test -n "${UPGRADE_description}" && uci -q set "fff.system.description=${UPGRADE_description}" > + test -n "${UPGRADE_latitude}" && uci -q set "fff.system.latitude=${UPGRADE_latitude}" > + test -n "${UPGRADE_longitude}" && uci -q set "fff.system.longitude=${UPGRADE_longitude}" > + test -n "${UPGRADE_position_comment}" && uci -q set "fff.system.position_comment=${UPGRADE_position_comment}" > + test -n "${UPGRADE_contact}" && uci -q set "fff.system.contact=${UPGRADE_contact}" > + > + uci -q commit fff > +fi > diff --git a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade > index ab6f2de..847ce1e 100644 > --- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade > +++ b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade > @@ -8,5 +8,5 @@ cat > /etc/sysupgrade.conf <<-__EOF__ > /etc/dropbear/dropbear_rsa_host_key > /etc/dropbear/authorized_keys > /etc/network.config > -/etc/config/system > +/etc/config/fff > __EOF__ > diff --git a/src/packages/fff/fff-web/Makefile b/src/packages/fff/fff-web/Makefile > index 708dbb9..d7201e2 100644 > --- a/src/packages/fff/fff-web/Makefile > +++ b/src/packages/fff/fff-web/Makefile > @@ -1,7 +1,7 @@ > include $(TOPDIR)/rules.mk > > PKG_NAME:=fff-web > -PKG_VERSION:=0.0.4 > +PKG_VERSION:=5 > PKG_RELEASE:=2 > > PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) > @@ -13,7 +13,7 @@ define Package/$(PKG_NAME) > CATEGORY:=Freifunk > TITLE:= Freifunk-Franken Webinterface > URL:=http://www.freifunk-franken.de > - DEPENDS:=+uhttpd +libustream-mbedtls +haserl +px5g +simple-tc +fff-boardname +fff-network > + DEPENDS:=+uhttpd +libustream-mbedtls +haserl +px5g +simple-tc +fff-boardname +fff-config +fff-network > endef > > define Package/$(PKG_NAME)/description > diff --git a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html > index f96846c..96d657b 100755 > --- a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html > +++ b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html > @@ -2,13 +2,13 @@ > > <% > echo -en "Content-Type: text/html\r\n\r\n" > -HOSTNAME=$(uci -q get 'system.@system[0].hostname') > +HOSTNAME="$(uci -q get "fff.system.hostname")" > hood="$(uci -q get "system.@system[0].hood")" > > MAC="$(uci -q get network.mesh.macaddr)" > -lat="$(uci -q get system.@system[0].latitude)" > -lon="$(uci -q get system.@system[0].longitude)" > -contact="$(uci -q get system.@system[0].contact)" > +lat="$(uci -q get "fff.system.latitude")" > +lon="$(uci -q get "fff.system.longitude")" > +contact="$(uci -q get "fff.system.contact")" > > . /etc/firmware_release > > @@ -48,11 +48,11 @@ contact="$(uci -q get system.@system[0].contact)" > <tr><th>MAC-Adresse:</th><td style="text-transform: uppercase;"><a href="https://monitoring.freifunk-franken.de/api/get_router_by_mac/<%= $MAC %>"><%= $MAC %></a></td></tr> > <tr><th>Modell:</th><td><% cat /tmp/sysinfo/model 2>/dev/null %></td></tr> > <tr><th>Firmware:</th><td><%= ${FIRMWARE_VERSION} %></td></tr> > - <tr><th>Beschreibung:</th><td><% uci -q get 'system.@system[0].description' %></td></tr> > + <tr><th>Beschreibung:</th><td><% uci -q get 'fff.system.description' %></td></tr> > <tr><th>Position:</th><td><% if [ -n "$lat" -a -n "$lon" ]; then > echo "<a href=\"https://monitoring.freifunk-franken.de/map?mapcenter=$lat,$lon,16\">${lat:0:8}N, ${lon:0:8}E</a>" > fi %></td></tr> > - <tr><th>Standort:</th><td><% uci -q get 'system.@system[0].position_comment' %></td></tr> > + <tr><th>Standort:</th><td><% uci -q get 'fff.system.position_comment' %></td></tr> > <tr><th>E-Mail Adresse:</th><td><a href="mailto:<%= $contact %>"><%= $contact %></a></td></tr> > </table> > </fieldset> > diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header > index c327013..f98a3f3 100755 > --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header > +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header > @@ -12,7 +12,7 @@ nav_entry() { > echo -ne "\t<li${class_active}><a href=\"${script_file}\">$2</a></li>\n\t\t" > } > > -HOSTNAME=$(uci -q get 'system.@system[0].hostname') > +HOSTNAME="$(uci -q get "fff.system.hostname")" > hood="$(uci -q get "system.@system[0].hood")" > > NOW=$(date +%s) > diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html > index e7bc3e9..b785aed 100755 > --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html > +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html > @@ -13,25 +13,32 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then > MSG='<span class="red">Knotenname enthält ungültige Zeichen!</span>' > else > # Allgemeine Einstellungen > + uci -q set "fff.system.hostname=${POST_hostname}" > + echo "$(uci -q get "fff.system.hostname")" > /proc/sys/kernel/hostname > uci -q set "system.@system[0].hostname=${POST_hostname}" > - echo "$(uci -q get "system.@system[0].hostname")" > /proc/sys/kernel/hostname > - uci -q set "system.@system[0].description=${POST_description}" > - uci -q set "system.@system[0].latitude=${POST_latitude}" > - uci -q set "system.@system[0].longitude=${POST_longitude}" > - uci -q set "system.@system[0].position_comment=${POST_position_comment}" > - uci -q set "system.@system[0].contact=${POST_contact}" > + uci -q set "fff.system.description=${POST_description}" > + uci -q set "fff.system.latitude=${POST_latitude}" > + uci -q set "fff.system.longitude=${POST_longitude}" > + uci -q set "fff.system.position_comment=${POST_position_comment}" > + uci -q set "fff.system.contact=${POST_contact}" > > # Bitratenbegrenzung > + uci -q get "fff.trafficcontrol" > /dev/null || uci -q set fff.trafficcontrol=fff > if [ "$POST_traffic_limit" == "on" ] ; then > - uci -q set "simple-tc.example.ifname=wan" > + uci -q set "fff.trafficcontrol.enabled=1" > uci -q set "simple-tc.example.enabled=1" > else > + uci -q set "fff.trafficcontrol.enabled=0" > uci -q set "simple-tc.example.enabled=0" > fi > + uci -q set "fff.trafficcontrol.limit_in=${POST_limit_ingress}" > + uci -q set "fff.trafficcontrol.limit_out=${POST_limit_egress}" > + > + uci -q set "simple-tc.example.ifname=wan" > uci -q set "simple-tc.example.limit_ingress=${POST_limit_ingress}" > uci -q set "simple-tc.example.limit_egress=${POST_limit_egress}" > > - uci commit > + uci -q commit > > MSG='<span class="green">Daten gespeichert! - Bitte Router neustarten.</span>' > fi > @@ -41,7 +48,7 @@ fi > <%in /www/ssl/cgi-bin/helpers %> > <% > # read > -if [ "$(uci -q get 'simple-tc.example.enabled')" == "1" ] ; then > +if [ "$(uci -q get 'fff.trafficcontrol.enabled')" == "1" ] ; then > traffic_checked='checked="checked" ' > else > traffic_checked="" > @@ -55,16 +62,16 @@ fi > <legend>Allgemeine Einstellungen</legend> > <table> > <tr><th>Knotenname:</th><td><input type="text" name="hostname" value="<%= ${HOSTNAME} %>" /></td></tr> > - <tr><th>Knotenbeschreibung:</th><td><input type="text" name="description" value="<%= $(uci -q get 'system.@system[0].description') %>" /></td></tr> > + <tr><th>Knotenbeschreibung:</th><td><input type="text" name="description" value="<%= $(uci -q get 'fff.system.description') %>" /></td></tr> > <tr><th>GPS Breitengrad:</th> > - <td><input type="text" name="latitude" value="<%= $(uci -q get 'system.@system[0].latitude') %>" /></td> > + <td><input type="text" name="latitude" value="<%= $(uci -q get 'fff.system.latitude') %>" /></td> > <td rowspan="2" style="vertical-align: middle;"> > <button type="button" style="height: 100%; width: 126px; margin-left: 5px;" onclick="window.open('/map.html', '_blank', 'location=0,status=0,scrollbars=1,width=400,height=300');">Position auf Karte anzeigen / setzen</button> > </td> > </tr> > - <tr><th>GPS Längengrad:</th><td><input type="text" name="longitude" value="<%= $(uci -q get 'system.@system[0].longitude') %>" /></td></tr> > - <tr><th>Standortbeschreibung:</th><td><input type="text" name="position_comment" value="<%= $(uci -q get 'system.@system[0].position_comment') %>" /></td></tr> > - <tr><th>E-Mail Adresse:</th><td><input type="email" name="contact" value="<%= $(uci -q get 'system.@system[0].contact') %>" /></td></tr> > + <tr><th>GPS Längengrad:</th><td><input type="text" name="longitude" value="<%= $(uci -q get 'fff.system.longitude') %>" /></td></tr> > + <tr><th>Standortbeschreibung:</th><td><input type="text" name="position_comment" value="<%= $(uci -q get 'fff.system.position_comment') %>" /></td></tr> > + <tr><th>E-Mail Adresse:</th><td><input type="email" name="contact" value="<%= $(uci -q get 'fff.system.contact') %>" /></td></tr> > </table> > </fieldset> > </td><td> > @@ -74,8 +81,8 @@ fi > <tr><th>Aktiviert:</th><td colspan="2"> > <input type="checkbox" name="traffic_limit" <%= ${traffic_checked} %>/> > </td></tr> > - <tr><th>Freifunk Download:</th><td><input type="text" name="limit_ingress" value="<%= $(uci -q get 'simple-tc.example.limit_ingress') %>" /></td><td>kbit/s</td></tr> > - <tr><th>Freifunk Upload:</th><td><input type="text" name="limit_egress" value="<%= $(uci -q get 'simple-tc.example.limit_egress') %>" /></td><td>kbit/s</td></tr> > + <tr><th>Freifunk Download:</th><td><input type="text" name="limit_ingress" value="<%= $(uci -q get 'fff.trafficcontrol.limit_in') %>" /></td><td>kbit/s</td></tr> > + <tr><th>Freifunk Upload:</th><td><input type="text" name="limit_egress" value="<%= $(uci -q get 'fff.trafficcontrol.limit_out') %>" /></td><td>kbit/s</td></tr> > </table> > </fieldset> > </td></tr> > diff --git a/src/packages/fff/fff/Makefile b/src/packages/fff/fff/Makefile > index 305ab8d..dce33f9 100644 > --- a/src/packages/fff/fff/Makefile > +++ b/src/packages/fff/fff/Makefile > @@ -18,6 +18,7 @@ define Package/fff-base > +ip6tables \ > +odhcp6c \ > +micrond \ > + +fff-config \ > +fff-nodewatcher \ > +fff-web \ > +fff-uradvd \ > -- > 2.7.4 >