luci-mod-admin-full: show also sha256 checksum for sysupgrade images

Show also the sha256 checksum in addition to MD5 checksum to enable
image verification also for builds with only sha256 checksums.

If the 'sha256sum' command is not present in the system, the value
remains empty.

Note: The easiest way to get the 'sha256sum' command is to compile it
into busybox.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This commit is contained in:
Hannu Nyman 2016-08-19 10:59:52 +03:00
parent 19981732fc
commit c0af3601fb
2 changed files with 7 additions and 1 deletions

View file

@ -185,6 +185,10 @@ local function image_checksum(image)
return (luci.sys.exec("md5sum %q" % image):match("^([^%s]+)"))
end
local function image_sha256_checksum(image)
return (luci.sys.exec("sha256sum %q" % image):match("^([^%s]+)"))
end
local function supports_sysupgrade()
return nixio.fs.access("/lib/upgrade/platform.sh")
end
@ -268,6 +272,7 @@ function action_sysupgrade()
if image_supported(image_tmp) then
luci.template.render("admin_system/upgrade", {
checksum = image_checksum(image_tmp),
sha256ch = image_sha256_checksum(image_tmp),
storage = storage_size(),
size = (fs.stat(image_tmp, "size") or 0),
keep = (not not http.formvalue("keep"))

View file

@ -24,7 +24,8 @@
<fieldset class="cbi-section">
<ul>
<li><%:Checksum%>: <code><%=checksum%></code></li>
<li><%:Checksum MD5%>: <code><%=checksum%></code></li>
<li><%:Checksum SHA256%>: <code><%=sha256ch%></code></li>
<li><%:Size%>: <%
local w = require "luci.tools.webadmin"
write(w.byte_format(size))