Commit graph

3605 commits

Author SHA1 Message Date
Tao Bao
d414ae465e Merge "Fixed scanf modifier"
am: 577c668861

Change-Id: I5d28d5c71996e260c5e901b66884285d6e8ba1e8
2017-03-23 19:59:23 +00:00
Tao Bao
577c668861 Merge "Fixed scanf modifier" 2017-03-23 19:55:25 +00:00
Tao Bao
923d41ccd5 Merge "updater: Fix the broken case for apply_patch_check()."
am: 9f2062657d

Change-Id: Ifb3e0dc56f014322ad7227e5f2f9a5bd9cf61b43
2017-03-23 17:10:12 +00:00
Tao Bao
9f2062657d Merge "updater: Fix the broken case for apply_patch_check()." 2017-03-23 17:03:43 +00:00
Tao Bao
ca9c1e0965 Merge "recovery: Replace the hard-coded 1000 with AID_SYSTEM."
am: 833442cf4e

Change-Id: Iaed8003a749dac83794db10632040179acc48869
2017-03-23 16:59:11 +00:00
Tao Bao
833442cf4e Merge "recovery: Replace the hard-coded 1000 with AID_SYSTEM." 2017-03-23 16:47:24 +00:00
Mikhail Lappo
17e6d3f3bc Fixed scanf modifier
Scanf expectation is to have same type
of pointer to store parsed value and
modifier in format string
2017-03-23 16:58:53 +01:00
Tao Bao
db56eb073e updater: Fix the broken case for apply_patch_check().
It's valid to provide only 1 argument to apply_patch_check(). We
shouldn't fail the argument parsing.

Bug: 36541737
Test: recovery_component_test passes.
Test: recovery_component_test captures the failure without the fix.
Test: The previously failed update applies successfully.
Change-Id: Iee4c54ed33b877fc4885945b085341ec5c64f663
2017-03-23 06:52:45 -07:00
Tianjie Xu
137d85333e Merge "Remove malloc in edify functions"
am: 1ea869b0c6

Change-Id: I1501b6a92e49a12f168a63b87a89a57eb13c262d
2017-03-23 00:40:50 +00:00
Tianjie Xu
1ea869b0c6 Merge "Remove malloc in edify functions" 2017-03-23 00:20:53 +00:00
Tao Bao
e1905adf66 recovery: Replace the hard-coded 1000 with AID_SYSTEM.
Test: mmma bootable/recovery
Change-Id: Icea5bd91a976957e8b6ab46e367345ff69a53ca4
2017-03-22 14:58:58 -07:00
Tianjie Xu
c444732540 Remove malloc in edify functions
And switch them to std::vector & std::unique_ptr

Bug: 32117870
Test: recovery tests passed on sailfish
Change-Id: I5a45951c4bdf895be311d6d760e52e7a1b0798c3
2017-03-22 14:20:57 -07:00
Tianjie Xu
deb2a29a42 Merge "Fix the permission of stashed blocks created by updater"
am: d882b8892a

Change-Id: I845ad9179755f98d3415cc148fd6e192acabcf2c
2017-03-22 18:36:14 +00:00
Tianjie Xu
d882b8892a Merge "Fix the permission of stashed blocks created by updater" 2017-03-22 18:32:57 +00:00
Tao Bao
d7846b7303 Merge "Refactor asn1_decoder functions into a class."
am: ea3d0b923d

Change-Id: I581e85f453fe1dc8b3a7cb6a7b660539f99ec55e
2017-03-22 17:07:14 +00:00
Tao Bao
ea3d0b923d Merge "Refactor asn1_decoder functions into a class." 2017-03-22 17:01:44 +00:00
Dan Willemsen
c1cb30f842 Merge "Fix updater include generation w/installclean"
am: 6d0262218a

Change-Id: I9ed72b119c9c416aa038f2bcf04c90dfcac2d81b
2017-03-22 01:31:47 +00:00
Treehugger Robot
6d0262218a Merge "Fix updater include generation w/installclean" 2017-03-22 01:28:04 +00:00
Tianjie Xu
a946b9e241 Fix the permission of stashed blocks created by updater
Our updater created the stashes with root permission. This causes an
access denial when the RecoverySystem service tries to clean up these
blocks after a failing update. As a result, the subsequent OTA updates
may fail due to insufficient cache space.

Bug: 36457133
Test: stashed blocks cleaned successfully after reboot
Change-Id: If0ca99638cdfa1033646f29d9cc92b5ff1bacac1
2017-03-21 17:40:01 -07:00
Dan Willemsen
edec27a5bd Fix updater include generation w/installclean
Since this was putting the intermediate file in obj/PACKAGING, every
installclean was removing it and triggering updater to rebuild. Instead,
use the standard generated-sources-dir. The dep file can also be removed
now that ninja will re-run the generator if the command line changes.

Test: m -j updater; m installclean; m -j updater
Test: Only change to aosp_fugu updater before/after is the debug info
Change-Id: I20928bd2049d4a3d4e21f83fd64d16cfdc541958
2017-03-21 16:46:24 -07:00
Tao Bao
861c53c6c5 Refactor asn1_decoder functions into a class.
Test: mmma bootable/recovery
Test: recovery_unit_test passes.
Test: recovery_component_test passes.
Change-Id: If0bf25993158eaebeedff55ba4f4dd0f6e5f937d
2017-03-21 15:17:43 -07:00
Tao Bao
43bd2c8414 Merge "verify_file: Add constness to a few addresses."
am: 5b2bf90e13

Change-Id: I6e04bf2bc3dc8c978edafafcbb41401189865233
2017-03-21 19:09:37 +00:00
Tao Bao
5b2bf90e13 Merge "verify_file: Add constness to a few addresses." 2017-03-21 19:01:23 +00:00
Tao Bao
76fdb2419b verify_file: Add constness to a few addresses.
We should not touch any data while verifying packages (or parsing the
in-memory ASN.1 structures).

Test: mmma bootable/recovery
Test: recovery_component_test passes.
Test: recovery_unit_test passes.
Change-Id: Ie990662c6451ec066a1807b3081c9296afbdb0bf
2017-03-20 22:13:56 -07:00
Tao Bao
43f5ad6e90 Merge "Add testcases for load_keys()."
am: 110102f37e

Change-Id: I67989c074351f4a9d2a39ee894fd744f4b35c901
2017-03-20 19:28:05 +00:00
Tao Bao
110102f37e Merge "Add testcases for load_keys()." 2017-03-20 19:24:23 +00:00
Tao Bao
b2617e882e Merge "Remove the dead #include's in verifier.cpp."
am: 64d25024b9

Change-Id: I36aed07781b1b9bff0ffe6cabeb5d1f3b8546072
2017-03-20 16:24:23 +00:00
Tao Bao
64d25024b9 Merge "Remove the dead #include's in verifier.cpp." 2017-03-20 16:20:46 +00:00
Tao Bao
3116ce4651 Add testcases for load_keys().
Test: recovery_component_test passes.
Change-Id: I6276b59981c87c50736d69d4af7647c8ed892965
2017-03-18 14:16:21 -07:00
Tao Bao
d7bf82eb53 Remove the dead #include's in verifier.cpp.
A follow-up to commit 5e535014dd.
Also clean up Android.mk, since libverifier no longer needs anything
from libminui.

Test: mmma bootable/recovery
Test: recovery_component_test passes.
Change-Id: I1c11e4bbeef67ca34a2054debf1f5b280d509217
2017-03-18 09:28:42 -07:00
Tao Bao
553c7bd307 resolve merge conflicts of 90d3f20c to stage-aosp-master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I9c1806eceb56712c4b3d1c67d54f4b21bd3fe50a
2017-03-18 07:33:26 -07:00
Tao Bao
90d3f20c99 Merge "Drop the dependency on 'ui' in verify_file()." 2017-03-18 14:16:16 +00:00
Tao Bao
5e535014dd Drop the dependency on 'ui' in verify_file().
verify_file() has a dependency on the global variable of 'ui' for
posting the verification progress, which requires the users of
libverifier to provide a UI instance.

This CL adds an optional argument to verify_file() so that it can
post the progress through the provided callback function. As a result,
we can drop the MockUI class in verifier_test.cpp.

Test: recovery_component_test passes.
Test: verify_file() posts progress update when installing an OTA.
Change-Id: I8b87d0f0d99777ea755d33d6dbbe2b6d44243bf1
2017-03-17 14:07:12 -07:00
Tianjie Xu
9accc96dd1 Merge "Revert "Revert "Print SHA-1 in hex for corrupted blocks"""
am: 73cb75b46c

Change-Id: I81b1dc17eb5947f361d7b31b5bc8d07c34fe24b0
2017-03-17 19:13:35 +00:00
Tianjie Xu
73cb75b46c Merge "Revert "Revert "Print SHA-1 in hex for corrupted blocks""" 2017-03-17 19:06:38 +00:00
Tianjie Xu
5c06706d51 Merge "Add a test to perform block_image_update"
am: 881b08ecd2

Change-Id: Id80b5d9376bbf65dbbeb82aa1c3d7cdd8921c9ff
2017-03-17 18:28:30 +00:00
Tianjie Xu
881b08ecd2 Merge "Add a test to perform block_image_update" 2017-03-17 18:22:11 +00:00
Tao Bao
965021ab8d Merge "Add the missing #include of <functional>."
am: dd553d280f

Change-Id: I9592ef7ff84d12acc027ba4f9f5014abbb45b805
2017-03-17 15:43:17 +00:00
Tao Bao
dd553d280f Merge "Add the missing #include of <functional>." 2017-03-17 15:35:54 +00:00
Tao Bao
9468fc0429 Add the missing #include of <functional>.
For the use of std::function and std::bind. They were relying on the
transitive inclusion from <minui/minui.h>.

Test: mmma bootable/recovery
Change-Id: Ia138e1cbdd035b11d6cdca9e16c5591303b6ee13
2017-03-17 01:00:25 -07:00
Tianjie Xu
2cd36ba522 Revert "Revert "Print SHA-1 in hex for corrupted blocks""
This reverts commit 90eff6a340.
Also fix the bug where stashed blocks are not freed.

Bug: 21124445
Test: Previous failed update succeeded on bullhead
Change-Id: I23d232331a2beb51b6dcc82c957c87bc247d0268
2017-03-16 23:33:01 -07:00
Tianjie Xu
56ebe620a2 Add a test to perform block_image_update
Add the following tests:
stash src
bspatch stashed_src tgt
free stashed_src
(expected a successful update)

stash src
free stashed_src
fail_the_update
(expected stashed_src freed)

Bug: 36242722
Test: Test identified unfreed stashes correctly.
Change-Id: I5a136e8dc31774367972fbfe8c63cbc1ddb3a113
2017-03-16 23:06:37 -07:00
Tianjie Xu
91f8574061 Merge "More cleanup to imgdiff & imgpatch"
am: 3541934ff5

Change-Id: Icd54cbc1ca04fbe959a16fa6ac59ac4c20aeddcf
2017-03-17 01:00:20 +00:00
Treehugger Robot
3541934ff5 Merge "More cleanup to imgdiff & imgpatch" 2017-03-17 00:52:50 +00:00
Tao Bao
8209daeff1 Merge "updater: Minor clean up to EnumerateStash()."
am: 4fc7659612

Change-Id: I2e51c81a9742dd71e487784eb51d472ee8a9fd04
2017-03-16 23:24:12 +00:00
Tao Bao
4fc7659612 Merge "updater: Minor clean up to EnumerateStash()." 2017-03-16 23:15:06 +00:00
Tianjie Xu
12b90553d7 More cleanup to imgdiff & imgpatch
Also remove the utils in applypatch and replace them with the
corresponding libbase functions.

Test: recovery tests pass.
Change-Id: I77254c141bd3e7d3d6894c23b60e866009516f81
2017-03-16 12:09:49 -07:00
Tao Bao
ec8272f6e3 updater: Minor clean up to EnumerateStash().
Test: Apply an incremental BBOTA package with the new updater.
Test: Resume an interrupted BBOTA (so it cleans up the partial stash).
Change-Id: I620cc57ee6366845bcffbc19210f7a01e2196052
2017-03-16 00:00:46 -07:00
Tao Bao
8acce85be8 Merge "Revert "Print SHA-1 in hex for corrupted blocks""
am: 06f6227f1d

Change-Id: I8a7a1653cdadf4748508d38b69da51fa5d5be877
2017-03-15 18:35:51 +00:00
Tao Bao
06f6227f1d Merge "Revert "Print SHA-1 in hex for corrupted blocks"" 2017-03-15 18:31:21 +00:00