From: Rafał Miłecki <[email protected]>

This provides TRX validation result, so final JSON may look like:
{
        "tests": {
                "fwtool_signature": true,
                "fwtool_device_match": true,
                "trx_valid": true
        },
        "valid": true,
        "forceable": true
}

It also prevents users from installing broken firmware files, e.g.:

$ sysupgrade -F /tmp/dhcp.leases
Image metadata not found
Invalid image type. Please use firmware specific for this device.
Image check failed. This firmware can't be installed.

Signed-off-by: Rafał Miłecki <[email protected]>
---
 .../brcm47xx/base-files/lib/upgrade/platform.sh      | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/target/linux/brcm47xx/base-files/lib/upgrade/platform.sh 
b/target/linux/brcm47xx/base-files/lib/upgrade/platform.sh
index dfd4e97ed2..cc3fabb7f4 100644
--- a/target/linux/brcm47xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/brcm47xx/base-files/lib/upgrade/platform.sh
@@ -98,7 +98,10 @@ platform_check_image() {
 
                        if ! otrx check "$1" -o "$header_len"; then
                                echo "No valid TRX firmware in the CHK image"
+                               notify_check_test_result "trx_valid" 0
                                error=1
+                       else
+                               notify_check_test_result "trx_valid" 1
                        fi
                ;;
                "cybertan")
@@ -113,17 +116,24 @@ platform_check_image() {
 
                        if ! otrx check "$1" -o 32; then
                                echo "No valid TRX firmware in the CyberTAN 
image"
+                               notify_check_test_result "trx_valid" 0
                                error=1
+                       else
+                               notify_check_test_result "trx_valid" 1
                        fi
                ;;
                "trx")
                        if ! otrx check "$1"; then
                                echo "Invalid (corrupted?) TRX firmware"
+                               notify_check_test_result "trx_valid" 0
                                error=1
+                       else
+                               notify_check_test_result "trx_valid" 1
                        fi
                ;;
                *)
-                       echo "Invalid image type. Please use only .trx files"
+                       echo "Invalid image type. Please use firmware specific 
for this device."
+                       notify_check_broken
                        error=1
                ;;
        esac
-- 
2.21.0


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to