From: Hannu Nyman Date: Fri, 19 Aug 2016 07:59:52 +0000 (+0300) Subject: luci-mod-admin-full: show also sha256 checksum for sysupgrade images X-Git-Url: http://git.openwrt.org/project/luci.git?p=project%2Fluci.git;a=commitdiff_plain;h=c0af3601fb87e6c695d07f0af1fbec8dcfdb2f71 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 --- diff --git a/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua b/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua index fd6dda1c80..cf8cfb5d2d 100644 --- a/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua +++ b/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua @@ -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")) diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/upgrade.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/upgrade.htm index 5ca0398e13..279af575c1 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_system/upgrade.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/upgrade.htm @@ -24,7 +24,8 @@
    -
  • <%:Checksum%>: <%=checksum%>
  • +
  • <%:Checksum MD5%>: <%=checksum%>
  • +
  • <%:Checksum SHA256%>: <%=sha256ch%>
  • <%:Size%>: <% local w = require "luci.tools.webadmin" write(w.byte_format(size))