mirror of https://github.com/hak5/openwrt.git
brcm47xx: extend firmware validation
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.:
root@OpenWrt:/# sysupgrade -F -n /tmp/TZ
Image metadata not found
Invalid image type. Please use firmware specific for this device.
Image check failed but --force given - will update anyway!
Commencing upgrade. Closing all shell sessions.
Firmware image is broken and cannot be installed
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit e68c1cebd1
)
openwrt-19.07
parent
a717428828
commit
87fe1a560a
|
@ -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_firmware_test_result "trx_valid" 0
|
||||
error=1
|
||||
else
|
||||
notify_firmware_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_firmware_test_result "trx_valid" 0
|
||||
error=1
|
||||
else
|
||||
notify_firmware_test_result "trx_valid" 1
|
||||
fi
|
||||
;;
|
||||
"trx")
|
||||
if ! otrx check "$1"; then
|
||||
echo "Invalid (corrupted?) TRX firmware"
|
||||
notify_firmware_test_result "trx_valid" 0
|
||||
error=1
|
||||
else
|
||||
notify_firmware_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_firmware_broken
|
||||
error=1
|
||||
;;
|
||||
esac
|
||||
|
|
Loading…
Reference in New Issue