[RFC PATCH 13/15] fff-web: Add downgrade interface to upgrade.html

mail at adrianschmutzler.de mail at adrianschmutzler.de
So Aug 20 23:00:10 CEST 2017


Siehe Patch 4/11 und 8/11, dies baut auf der fff-config-Datei auf (die einen
Downgrade eben erschwert, wenn wieder Werte in die config/system geschrieben
werden müssen).

-----Original Message-----
From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of
Christian Dresel
Sent: Sonntag, 20. August 2017 12:25
To: franken-dev at freifunk.net
Subject: Re: [RFC PATCH 13/15] fff-web: Add downgrade interface to
upgrade.html

Hallo

hier bräuchte ich mal eine Erklärung was du damit eigentlich genau
bezweckst? Das Firmware Upgradefeld kann meines wissens auch problemlos
ältere Firmwareversionen mit aufnehmen. Woher kommt die von dir aufgerufene
/usr/sbin/prepare_firmware_downgrade.sh file? Die ist mir nicht bekannt und
ich seh sie auch gerade auf anhieb in keinen Patch?

mfg

Christianj

On 26.07.2017 21:49, Adrian Schmutzler wrote:
> This includes some XHTML conformity fixes
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> 
> Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> ---
>  .../fff/fff-web/files/www/ssl/cgi-bin/upgrade.html | 35 
> ++++++++++++++++++----
>  1 file changed, 29 insertions(+), 6 deletions(-)
> 
> diff --git 
> a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html 
> b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html
> index a0dc5b3..7314047 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html
> @@ -18,6 +18,9 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
>  		elif ! error=$(sysupgrade -T "$HASERL_firmware_path") ; then
>  			MSG="<span class=\"red\">Firmware Datei
ungültig: <tt>${error}</tt></span>"
>  		else
> +			if [ "$POST_pre_downgrade" == "on" ] ; then
> +				/usr/sbin/prepare_firmware_downgrade.sh
> +			fi
>  			if [ "$POST_keep_config" == "on" ] ; then
>  				args=""
>  			else
> @@ -26,23 +29,43 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
>  			do_sysupgrade=1
>  			MSG='<span class="green">Firmware Upgrade wird
gestartet...</span>'
>  		fi
> +	elif [ "$POST_downgrade" != "" ] ; then
> +		# downgrade preparation script
> +		/usr/sbin/prepare_firmware_downgrade.sh
> +		MSG='<span class="green">Firmware-Downgrade-Vorbereitung
durchgeführt.</span>'
>  	fi
>  fi
> +if grep -q '/etc/config/system' /etc/sysupgrade.conf 2> /dev/null ; then
> +	downgrade_text='<p>> <span style="color:green">Downgrade wurde
bereits vorbereitet.</span></p>'
> +else
> +	downgrade_text='<p>> <span style="color:red">Downgrade muss durch
Klicken auf "Skript ausführen" vorbereitet werden.</span></p>'
> +fi
> +
>  %>
>  <%in /www/ssl/cgi-bin/header %>
>  <%in /www/ssl/cgi-bin/helpers %>
>  <% show_msg %>
> -<form method="POST" enctype="multipart/form-data">
> +<form method="post" enctype="multipart/form-data">
>  <table style="width: 100%;">
>  <tr><td>
>  <fieldset style="min-height: 9em;">
>  	<legend>Manuelles Upgrade</legend>
>  	<table>
> -		<tr><th style="width:
1em;">Firmware Image:</th><td><input type="file" name="firmware"
/></td></tr>
> -		<tr><th>Konfiguration erhalten:</th><td><input
type="checkbox" name="keep_config" checked /></td></tr>
> -		<tr><td colspan="2"><input type="submit" name="upgrade"
value="Upgrade" /></td></tr>
> +		<tr><td colspan="2" style="font-style:italic">Hier kann ein
Freifunk- oder OpenWrt-Image verwendet werden (*-sysupgrade.bin).</td></tr>
> +		<tr><td colspan="2"></td></tr>
> +		<tr><th style="width:
18em;">Firmware Image:</th><td><input type="file" name="firmware"
style="width:40em" /></td></tr>
> +		<tr><th>Konfiguration erhalten:</th><td><input
type="checkbox" name="keep_config" checked="checked" /></td></tr>
> +		<tr><th>Downgrade-Skript ausführen:</th><td><input
type="checkbox" 
> +name="pre_downgrade" /></td></tr>
>  		<tr><td colspan="2"></td></tr>
> -		<tr><td colspan="2">Hier kann ein Freifunk- oder
OpenWrt-Image verwendet werden (*-sysupgrade.bin).</td></tr>
> +		<tr><td colspan="2"><input type="submit" name="upgrade"
value="Upgrade" /></td></tr>
> +	</table>
> +</fieldset>
> +<fieldset style="min-height: 7em;">
> +	<legend>Firmware-Downgrade vorbereiten</legend>
> +	<table>
> +		<tr><td colspan="2" style="font-style:italic">Bei einem
Downgrade auf ältere Firmware-Versionen bis inklusive 20170218-alpha
muss zuvor die Konfiguration angepasst werden.</td></tr>
> +		<tr><td colspan="2"><%= "$downgrade_text" %></td></tr>
> +		<tr><td colspan="2"><input type="submit" name="downgrade" 
> +value="Skript ausführen" /></td></tr>
>  	</table>
>  </fieldset>
>  </td><td>
> @@ -50,7 +73,7 @@ fi
>  	<legend>Router zurücksetzen</legend>
>  	<table>
>  		<tr><th style="width:
1em;">Wirklich zurücksetzen:</th><td>
> -			<input type="checkbox" name="really_reset">
> +			<input type="checkbox" name="really_reset" />
>  		</td></tr>
>  		<tr><td colspan="2"><input type="submit" name="reset"
value="Zurücksetzen" /></td></tr>
>  		<tr><td colspan="2"></td></tr>
> 




Mehr Informationen über die Mailingliste franken-dev