[PATCH v2] Show Updatemessage in WebUI

Tim Niemeyer tim at tn-x.org
So Feb 19 11:47:02 CET 2017


Moin

Am Sonntag, den 19.02.2017, 11:27 +0100 schrieb Christian Dresel:
> Dieses Patch zeigt im Loginbereich des WebUI eine Meldung an, wenn es eine
> neue Firmwareversion gibt
Ich finde es nicht gut, dass das WebUi "nach Hause telefoniert". Wenn
wir so eine Meldung haben wollen, dann sollte der Knoten regelmäßig
(z.B. einmal am Tag) den Status über ein neues Update erfragen und das
Ergebnis lokal zwischen speichern.

Ich schweife jetzt mal ein bisschen ab, aber ich denke man muss sich da
zumindest Gedanken gemacht haben:

Letztlich müssen wir uns aber auch darüber im klaren sein, dass so ein
Feature das Firmware-Binary politisch noch mehr in den Mittelpunkt
rückt. Wir nähern uns einem Auto-Update an, wobei wir die technischen
Nachteile zwar nicht oder nur begrenzt haben, aber die politischen
Nachteile nahezu voll zuschlagen werden.

Der Vorteil, dass die Leute bequem "informiert" werden liegt natürlich
auf der Hand, dieser hat aber mMn auch Nachteile. Eigentlich wollen wir
ja, dass die Knoten Betreiber auch am sonstigen Geschehen vom Freifunk
partizipieren und sich daher abseits ihres Knotens über die verwendete
Software informieren. Je weiter wir das automatisieren, desto mehr
werden die Firmware Entwickler hier zu eine Art
"Cloud-Service-Anbieter".

Alleine das zentrale Ablegen der Firmware-Binaries ist mir irgendwie ein
Dorn im Auge. Viel besser wäre ein einheitlicher Interface-Standard und
viele verschiedene Implementierungen, welche sich nur noch an dem
Standard orientieren. Natürlich sind wir viel zu wenige und eine viel zu
kleine Gruppe um so einen Standard zu schaffen, aber das wäre mMn der
Königsweg.

Tim

> Signed-off-by: Christian Dresel <fff at chrisi01.de>
> ---
>  src/packages/fff/fff-web/Makefile                  |  2 +-
>  .../fff/fff-web/files/www/ssl/cgi-bin/header       | 25 ++++++++++++++++++++++
>  2 files changed, 26 insertions(+), 1 deletion(-)
> 
> diff --git a/src/packages/fff/fff-web/Makefile b/src/packages/fff/fff-web/Makefile
> index 5772f87..723d9a9 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.3
> +PKG_VERSION:=0.0.4
>  PKG_RELEASE:=2
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/fff-web
> 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 92bdbc6..a77b655 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
> @@ -1,6 +1,8 @@
>  #!/usr/bin/haserl
>  
>  <%
> +. /etc/community.cfg
> +. /etc/firmware_release
>  echo -en "Content-Type: text/html\r\n\r\n"
>  nav_entry() {
>  	script_file="/cgi-bin/$1"
> @@ -12,6 +14,20 @@ nav_entry() {
>  
>  HOSTNAME=$(uci -q get 'system. at system[0].hostname')
>  
> +NOW=$(date +%s)
> +#Check if new Firmware check older then 1 day
> +if [ "$(cat /tmp/fwcheck)" -lt "$NOW" || ! -e /tmp/fwcheck ] ; then
> +        rm -f /tmp/isupdate
> +        NEXTUPDATE=$(($(date +%s)+86400))
> +        echo $NEXTUPDATE > /tmp/fwcheck
> +        wget "${UPGRADE_PATH}/release.nfo" -P /tmp -T 2 
> +        VERSION=$(cat /tmp/release.nfo|awk -F: '/VERSION:/ { print $2 }')
> +        rm -f /tmp/release.nfo
> +        if [ "$VERSION" != "$FIRMWARE_VERSION" -a -n "$VERSION" ]; then
> +                echo 1 > /tmp/isupdate
> +        fi
> +fi
> +
>  %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
>  <html xmlns="http://www.w3.org/1999/xhtml">
>  <head>
> @@ -47,3 +63,12 @@ HOSTNAME=$(uci -q get 'system. at system[0].hostname')
>  	<div id="container">
>  		<div id="primarycontainer">
>  			<div id="primarycontent">
> +			<%       
> +			if [ "$(cat /tmp/isupdate)" -eq 1 ] ; then
> +			%>                
> +				<table style="width: 100%;">             
> +					<tr>
> +						<td><span style="font-size: 18pt; color:#FF0000">Es ist eine neue Firmware für deinen Freifunkrouter verfügbar. Alte Version: <%= ${FIRMWARE_VERSION} %> Neue Version: <%= ${VERSION} %> <a href="upgrade.html">Firmware jetzt updaten</a></td>
> +					</tr>
> +				</table>
> +			<% fi %>
> -- 
> 2.1.4
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 473 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20170219/1087d4f9/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev