[PATCH v2] Show Updatemessage in WebUI

Michael Fritscher michael at fritscher.net
Sa Mai 6 20:27:49 CEST 2017


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



Mehr Informationen über die Mailingliste franken-dev