summaryrefslogtreecommitdiffstats
path: root/error_code.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-08-23Add missing report of error code under recoveryTianjie Xu1-0/+3
Add report of kMapFileFailure, kForkUpdateBinaryFailure and kUpdateBinaryCommandFailure. Test: unit test pass; kMapFileFailure reports correctly. Change-Id: I858c81b6c750b5e300b1b12760b1f0fa8e23b47d
2017-07-27Add more specific error codes for uncrypt failuresTianjie Xu1-0/+2
Add the error codes when we fail to find the realpath, or fail to find the block_device. Bug: 63737759 Test: mma Change-Id: Icf15368ad3e7345c747d9083da2f049cc8acd571
2017-05-24Retry the update if ApplyBSDiffPatch | ApplyImagePatch failsTianjie Xu1-0/+1
We have seen one case when bspatch failed likely due to patch corruption. Since the package has passed verification before, we want to reboot and retry the patch command again since there's no alternative for users. We won't delete the stash before reboot, and the src has passed SHA1 check. If there's an error on the patch, it will fail the package verification during retry. Bug: 37855643 Test: angler reboots and retries the update when bspatch fails. Change-Id: I2ebac9621bd1f0649bb301b9a28a0dd079ed4e1d
2017-05-03Add a default error code when updater script abortsTianjie Xu1-0/+1
We didn't report error/cause codes unless there's an explict "Abort()" call inside the updater script. As a result, some cause codes set by ErrorAbort() didn't show up in last_install. To fix the issue, add a default error code when the script terminates abnormally (i.e. with non zero status). Bug: 37912405 Test: error/cause code shows up in last_install when argument parsing fails Change-Id: Ic6d3bd1855b853aeaa0760071e593a00cf6f0209
2017-04-13Verify the package compatibility with libvintf.Tao Bao1-1/+2
verify_package_compatibility() is added to parse the compatibility entry (compatibility.zip) in a given OTA package. If entry is present, the information is sent to libvintf to check the compatibility. This CL doesn't actually call libvintf, since the API there is not available yet. Bug: 36597505 Test: Doesn't break the install with existing packages (i.e. w/o the compatibility entry). Test: recovery_component_test Change-Id: I3903ffa5f6ba33a5c0d761602ade6290c6752596 (cherry picked from commit 62e0bc7586077b3bde82759fb34b51b982cea20f)
2017-04-12Verify the package compatibility with libvintf.Tao Bao1-1/+2
verify_package_compatibility() is added to parse the compatibility entry (compatibility.zip) in a given OTA package. If entry is present, the information is sent to libvintf to check the compatibility. This CL doesn't actually call libvintf, since the API there is not available yet. Bug: 36597505 Test: Doesn't break the install with existing packages (i.e. w/o the compatibility entry). Test: recovery_component_test Change-Id: I3903ffa5f6ba33a5c0d761602ade6290c6752596
2016-11-16updater: Fix the wrong return value for package_extract_file().Tao Bao1-41/+42
'bool success = ExtractEntryToFile()' gives opposite result. Fix the issue and add testcases. Change the one-argument version of package_extract_file() to explicitly abort for non-existent zip entry. Note that this is NOT changing the behavior. Prior to this CL, it aborts from Evaluate() function, by giving a general cause code. Now it returns kPackageExtractFileFailure. BUg: 32903624 Test: recovery_component_test works. Change-Id: I7a273e9c0d9aaaf8c472b2c778f7b8d90362c24f (cherry picked from commit ef0eb3b01b66fbbc97908667a3dd1e02d710cbb7)
2016-11-15updater: Fix the wrong return value for package_extract_file().Tao Bao1-41/+42
'bool success = ExtractEntryToFile()' gives opposite result. Fix the issue and add testcases. Change the one-argument version of package_extract_file() to explicitly abort for non-existent zip entry. Note that this is NOT changing the behavior. Prior to this CL, it aborts from Evaluate() function, by giving a general cause code. Now it returns kPackageExtractFileFailure. BUg: 32903624 Test: recovery_component_test works. Change-Id: I7a273e9c0d9aaaf8c472b2c778f7b8d90362c24f
2016-10-26Skip update-on-boot for bootreason in blacklistTianjie Xu1-1/+2
Skip the OTA installation when bootreason is 'kernel_panic', 'Panic' etc. Change-Id: Ic1202492bffefa1a9d8d0e691b5af979285e552c Test: On angler, ota installation skips for one bootreason in the blacklist. Bug: 29978689 (cherry picked from commit 27b9fc8a36757235ac3386d66db7d35820c2eb04)
2016-09-29Report uncrypt errors in detailsTianjie Xu1-1/+1
Add the error codes for uncrypt and report the failure details in uncrypt_status. Test: uncrypt_error logs correctly in last_install Bug: 31603820 Change-Id: I8e0de845ce1707b6f8f5ae84564c5e93fd5f5ef5 (cherry picked from commit 0c68675f5ae80cd669e0bf014a69689b6fe08eee)
2016-09-29DO NOT MERGE Report uncrypt errors in detailsTianjie Xu1-0/+22
Add the error codes for uncrypt and report the failure details in uncrypt_status. Test: uncrypt_error logs correctly in last_install Bug: 31603820 Change-Id: I8e0de845ce1707b6f8f5ae84564c5e93fd5f5ef5 (cherry picked from commit da44cf18f3ce4bbffa85ad0a50bb25e9cb54a86d)
2016-09-27Report uncrypt errors in detailsTianjie Xu1-0/+22
Add the error codes for uncrypt and report the failure details in uncrypt_status. Test: uncrypt_error logs correctly in last_install Bug: 31603820 Change-Id: I8e0de845ce1707b6f8f5ae84564c5e93fd5f5ef5
2016-07-12Skip update-on-boot for bootreason in blacklistTianjie Xu1-1/+2
Skip the OTA installation when bootreason is 'kernel_panic', 'Panic' etc. Change-Id: Ic1202492bffefa1a9d8d0e691b5af979285e552c Test: On angler, ota installation skips for one bootreason in the blacklist. Bug: 29978689
2016-05-20Allow recovery to return error codesTianjie Xu1-15/+26
Write error code, cause code, and retry count into last_install. So we can have more information about the reason of a failed OTA. Example of new last_install: @/cache/recovery/block.map package name 0 install result retry: 1 retry count (new) error: 30 error code (new) cause: 12 error cause (new) Details in: go/android-ota-errorcode Bug: 28471955 Change-Id: I00e7153c821e7355c1be81a86c7f228108f3dc37
2016-04-08uncrypt: split libbootloader_message_writer for reuse.Yabin Cui1-7/+16
init and vold also need to write bootloader message, so split this function from uncrypt into a separate library. Bug: 27176738 Change-Id: If9b0887b4f6ffab6162d9cb47a6ceb7eedd60b4d
2016-01-28applypatch: Compile libimgpatch for target and host.Sen Jiang1-9/+8
update_engine need it for the new IMGDIFF operation. Also removed __unused in ApplyImagePatch() as I got error building it for the host, and I think it's dangerous not checking the size of the input. Test: mma Bug: 26628339 Change-Id: I22d4cd55c2c3f87697d6afdf10e8106fef7d1a9c
2016-01-07updater: Add a function to check first blockTianjie Xu1-0/+3
Add and register a function to check if the device has been remounted since last update during incremental OTA. This function reads block 0 and executes before partition recovery for version >= 4. Bug: 21124327 Change-Id: I8b915b9f1d4736b3609daa9d16bd123225be357f (cherry picked from commit 30bf4765593e639966df9f460df22c3fe912e7bf)
2015-12-18updater: Add a function to check first blockTianjie Xu1-0/+3
Add and register a function to check if the device has been remounted since last update during incremental OTA. This function reads block 0 and executes before partition recovery for version >= 4. Bug: 21124327 Change-Id: I8b915b9f1d4736b3609daa9d16bd123225be357f
2014-07-22Auto create parent directories for rename supportMichael Runge1-0/+2
Sometimes renames will move a file into a directory that does not yet exist. This will create the parent directories, using the same symlink logic, to ensure that there is a valid destination. Bug: 16458395 Change-Id: Iaa005a12ce800c39f4db20f7c25a2a68cb40a52d
2014-07-22Auto create parent directories for rename supportMichael Runge1-0/+2
Sometimes renames will move a file into a directory that does not yet exist. This will create the parent directories, using the same symlink logic, to ensure that there is a valid destination. Change-Id: Iaa005a12ce800c39f4db20f7c25a2a68cb40a52d
2009-06-12edify extensions for OTA package installation, part 1Doug Zongker1-7/+5
Adds the following edify functions: mount unmount format show_progress delete delete_recursive package_extract symlink set_perm set_perm_recursive This set is enough to extract and install the system part of a (full) OTA package. Adds the updater binary that extracts an edify script from the OTA package and then executes it. Minor changes to the edify core (adds a sleep() builtin for debugging, adds "." to the set of characters that can appear in an unquoted string).
2009-03-04auto import from //depot/cupcake/@135843The Android Open Source Project1-0/+24
2009-03-04auto import from //depot/cupcake/@135843The Android Open Source Project1-24/+0