[v2] Show Updatemessage in WebUI

Submitted by Christian Dresel on Feb. 19, 2017, 10:27 a.m.

Details

Message ID 1487500060-4864-1-git-send-email-fff@chrisi01.de
State Superseded
Headers show

Commit Message

Christian Dresel Feb. 19, 2017, 10:27 a.m.
Dieses Patch zeigt im Loginbereich des WebUI eine Meldung an, wenn es eine
neue Firmwareversion gibt

Signed-off-by: Christian Dresel <fff@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(-)

Patch hide | download patch | download mbox

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.@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.@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 %>

Comments

Tim Niemeyer Feb. 19, 2017, 10:47 a.m.
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@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.@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.@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
>
Michael Fritscher May 6, 2017, 6:27 p.m.
Hi,

irgendwie ging das bei mir unter :-(
Ich persönlich finds gut. Eine Meldung ist ja noch lange kein
vollautomatischer Autoupdater.

Wenn man keinen festen Server hinterlegen will könnte man entweder die
GWs für hernehmen (Für die Erkennung von l2tp-Funktionalität wird eh
schon ein http-Request auf die GWs gemacht) - oder es wird halt vonnem
FW-Server alle paar Stunden ins Netz gebrüllt. Vom FW-Server könnte es
sogar mehrere geben, die "ihre" Variante darbieten, und die FW hört nur
auf "ihre" derzeitige Version. Wenn man letzteres weiterspinnt könnte
man sogar einen Wechsel der FW-Variante implementieren - aber das ist
noch weite Zukunftsmusik^^

Viele Grüße,
Michael

On 19.02.2017 11:27, Christian Dresel wrote:
> Dieses Patch zeigt im Loginbereich des WebUI eine Meldung an, wenn es eine
> neue Firmwareversion gibt
> 
> Signed-off-by: Christian Dresel <fff@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.@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.@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 %>
>
Michael Fritscher May 25, 2017, 5:25 p.m.
Hi,

Reviewed-by: Michael Fritscher <fff@mifritscher.de>

(wenn ihrn Problem mit der Mailadresse habt dann nehmt von mir aus die
Absenderadresse)

Viele Grüße,
Michael Fritscher

> Dieses Patch zeigt im Loginbereich des WebUI eine Meldung an, wenn es eine
> neue Firmwareversion gibt
>
> Signed-off-by: Christian Dresel <fff@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.@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.@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 %>
Adrian Schmutzler June 1, 2017, 11:31 a.m.
Hallo,

Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

Firmware mit Patch installiert auf WR841N v10 (nur Mesh), CPE210 (nur Mesh)
und AR150 (Mesh und WAN).
Kann natürlich nur testen, dass die Firmware sich aufspielen lässt und
stabil läuft, aber nicht die eigentliche Funktion, da kein Update verfügbar.
WebUI selbst funktioniert auch normal.

Grüße

Adrian

-----Original Message-----
From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of
Michael Fritscher
Sent: Donnerstag, 25. Mai 2017 19:26
To: franken-dev@freifunk.net
Subject: Re: [PATCH v2] Show Updatemessage in WebUI

Hi,

Reviewed-by: Michael Fritscher <fff@mifritscher.de>

(wenn ihrn Problem mit der Mailadresse habt dann nehmt von mir aus die
Absenderadresse)

Viele Grüße,
Michael Fritscher

> Dieses Patch zeigt im Loginbereich des WebUI eine Meldung an, wenn es 
> eine neue Firmwareversion gibt
>
> Signed-off-by: Christian Dresel <fff@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.@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.@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 %>


--
franken-dev mailing list
franken-dev@freifunk.net
http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Christian Dresel June 1, 2017, 2:39 p.m.
Hallo

das ganze lässt sich relativ simpel testen, wenn du irgendeine Firmware
drauf hast die sich (aktuell) nicht mit exakt 20170110 meldet, wird
(sollte) dir immer ein Update vorgeschlagen werden. Es wird einfach nur
geprüft ob die Firmware auf den Router != Firmware in [1] ist.

mfg

Christian

[1] https://dev.freifunk-franken.de/firmware/current/release.nfo

On 01.06.2017 13:31, Adrian Schmutzler wrote:
> Hallo,
> 
> Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> Firmware mit Patch installiert auf WR841N v10 (nur Mesh), CPE210 (nur Mesh)
> und AR150 (Mesh und WAN).
> Kann natürlich nur testen, dass die Firmware sich aufspielen lässt und
> stabil läuft, aber nicht die eigentliche Funktion, da kein Update verfügbar.
> WebUI selbst funktioniert auch normal.
> 
> Grüße
> 
> Adrian
> 
> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of
> Michael Fritscher
> Sent: Donnerstag, 25. Mai 2017 19:26
> To: franken-dev@freifunk.net
> Subject: Re: [PATCH v2] Show Updatemessage in WebUI
> 
> Hi,
> 
> Reviewed-by: Michael Fritscher <fff@mifritscher.de>
> 
> (wenn ihrn Problem mit der Mailadresse habt dann nehmt von mir aus die
> Absenderadresse)
> 
> Viele Grüße,
> Michael Fritscher
> 
>> Dieses Patch zeigt im Loginbereich des WebUI eine Meldung an, wenn es 
>> eine neue Firmwareversion gibt
>>
>> Signed-off-by: Christian Dresel <fff@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.@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.@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 %>
> 
> 
> --
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>
Adrian Schmutzler June 1, 2017, 8:44 p.m.
Hallo Christian,

okay, dann funktionierts wohl doch nicht. Hatte mir den Code nicht so genau
angesehen und dachte, die Version muss neuer sein.

Hab dann auch mal ein bisschen mit der Zeile 
	if [ "$(cat /tmp/fwcheck)" -lt "$NOW" || ! -e /tmp/fwcheck ] ; then
rumprobiert, und wenn man den ersten Teil direkt in bash eingibt, beschwert
er sich logischerweise, dass es die Datei gar nicht gibt. Wenn ich die Datei
von Hand erstelle und fülle, bekomme ich
	-ash: 1496435853: not found
wobei die Nummer jetzt mein eingetragener timestamp war. Bin mir aber nicht
sicher, ob bash und dieses haserl da gleich arbeiten.

Ich hoffe, du kannst damit was anfangen.

Grüße

Adrian

-----Original Message-----
From: Christian Dresel [mailto:fff@chrisi01.de] 
Sent: Donnerstag, 1. Juni 2017 16:40
To: Adrian Schmutzler <mail@adrianschmutzler.de>; franken-dev@freifunk.net
Subject: Re: [PATCH v2] Show Updatemessage in WebUI

Hallo

das ganze lässt sich relativ simpel testen, wenn du irgendeine Firmware
drauf hast die sich (aktuell) nicht mit exakt 20170110 meldet, wird
(sollte) dir immer ein Update vorgeschlagen werden. Es wird einfach nur
geprüft ob die Firmware auf den Router != Firmware in [1] ist.

mfg

Christian

[1] https://dev.freifunk-franken.de/firmware/current/release.nfo

On 01.06.2017 13:31, Adrian Schmutzler wrote:
> Hallo,
> 
> Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> Firmware mit Patch installiert auf WR841N v10 (nur Mesh), CPE210 (nur 
> Mesh) und AR150 (Mesh und WAN).
> Kann natürlich nur testen, dass die Firmware sich aufspielen lässt und 
> stabil läuft, aber nicht die eigentliche Funktion, da kein Update
verfügbar.
> WebUI selbst funktioniert auch normal.
> 
> Grüße
> 
> Adrian
> 
> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf 
> Of Michael Fritscher
> Sent: Donnerstag, 25. Mai 2017 19:26
> To: franken-dev@freifunk.net
> Subject: Re: [PATCH v2] Show Updatemessage in WebUI
> 
> Hi,
> 
> Reviewed-by: Michael Fritscher <fff@mifritscher.de>
> 
> (wenn ihrn Problem mit der Mailadresse habt dann nehmt von mir aus die
> Absenderadresse)
> 
> Viele Grüße,
> Michael Fritscher
> 
>> Dieses Patch zeigt im Loginbereich des WebUI eine Meldung an, wenn es 
>> eine neue Firmwareversion gibt
>>
>> Signed-off-by: Christian Dresel <fff@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.@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.@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 %>
> 
> 
> --
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>
Adrian Schmutzler June 2, 2017, 11:09 p.m.
Hab gerade nochmal ein bisschen mit dem Code rumgespielt und ein paar
Kleinigkeiten angepasst, scheinbar stellt aber die Zeile mit wget ein
Problem dar. Wenn ich das in bash eingebe (und die Variablen vorher lade),
funktioniert es, aber im web-script funktioniert es scheinbar nicht. Die
release.nfo wird nicht erstellt, auch wenn ich die Zeile zum Löschen
auskommentiere. Erstelle ich die release.nfo von Hand (und setze fwcheck
zurück), kriege ich den Rest zum Laufen. Irgendwelche Ideen dazu?

Grüße

Adrian

-----Original Message-----
From: Christian Dresel [mailto:fff@chrisi01.de] 
Sent: Donnerstag, 1. Juni 2017 16:40
To: Adrian Schmutzler <mail@adrianschmutzler.de>; franken-dev@freifunk.net
Subject: Re: [PATCH v2] Show Updatemessage in WebUI

Hallo

das ganze lässt sich relativ simpel testen, wenn du irgendeine Firmware
drauf hast die sich (aktuell) nicht mit exakt 20170110 meldet, wird
(sollte) dir immer ein Update vorgeschlagen werden. Es wird einfach nur
geprüft ob die Firmware auf den Router != Firmware in [1] ist.

mfg

Christian

[1] https://dev.freifunk-franken.de/firmware/current/release.nfo

On 01.06.2017 13:31, Adrian Schmutzler wrote:
> Hallo,
> 
> Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> Firmware mit Patch installiert auf WR841N v10 (nur Mesh), CPE210 (nur 
> Mesh) und AR150 (Mesh und WAN).
> Kann natürlich nur testen, dass die Firmware sich aufspielen lässt und 
> stabil läuft, aber nicht die eigentliche Funktion, da kein Update
verfügbar.
> WebUI selbst funktioniert auch normal.
> 
> Grüße
> 
> Adrian
> 
> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf 
> Of Michael Fritscher
> Sent: Donnerstag, 25. Mai 2017 19:26
> To: franken-dev@freifunk.net
> Subject: Re: [PATCH v2] Show Updatemessage in WebUI
> 
> Hi,
> 
> Reviewed-by: Michael Fritscher <fff@mifritscher.de>
> 
> (wenn ihrn Problem mit der Mailadresse habt dann nehmt von mir aus die
> Absenderadresse)
> 
> Viele Grüße,
> Michael Fritscher
> 
>> Dieses Patch zeigt im Loginbereich des WebUI eine Meldung an, wenn es 
>> eine neue Firmwareversion gibt
>>
>> Signed-off-by: Christian Dresel <fff@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.@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.@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 %>
> 
> 
> --
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>