Commit Graph

2608 Commits

Author SHA1 Message Date
Tao Bao 6e02ea92ec applypatch: Use unique_fd to avoid leaking FDs.
Add unique_fd that calls ota_close() instead of the default closer.

Test: recovery_component_test passes.
Test: Apply a package that calls apply_patch().

Change-Id: I0c19921731757934f76cf7d5215916673a8f2777
2016-11-17 12:01:44 -08:00
Tao Bao 8fce75a069 applypatch: Clean up LoadPartitionContents().
We don't need three vectors to sort the (size, SHA-1) pairs.

Test: recovery_component_test passes.
Test: Apply a package that calls apply_patch_check() to patch EMMC
      partitions.
Change-Id: I4a6620630a6711f490822cf30f1e7fe5cea6ce49
2016-11-17 00:02:52 -08:00
Treehugger Robot c470dc8681 Merge "Remove unnecessary uses of reinterpret_cast." 2016-11-16 21:27:32 +00:00
Tao Bao 0bedc8e14c Merge "Use static_cast to cast pointers returned by malloc/calloc/realloc/mmap." 2016-11-16 18:10:54 +00:00
Rahul Chaudhry 1cf93f5f74 Remove unnecessary uses of reinterpret_cast.
Discovered while looking at compiler warnings (b/26936282).

Test: WITH_TIDY=1 WITH_STATIC_ANALYZER=1 mma
Change-Id: I66f8f6026ed732a504504ade93ff196dc8b727ca
2016-11-15 23:25:57 -08:00
Rahul Chaudhry b29f23f7e7 Use static_cast to cast pointers returned by malloc/calloc/realloc/mmap.
static_cast is preferable to reinterpret_cast when casting from void*
pointers returned by malloc/calloc/realloc/mmap calls.

Discovered while looking at compiler warnings (b/26936282).

Test: WITH_TIDY=1 WITH_STATIC_ANALYZER=1 mma
Change-Id: Iaffd537784aa857108f6981fdfd82d0496eb5592
Merged-In: I151642d5a60c94f312d0611576ad0143c249ba3d
2016-11-15 23:24:54 -08:00
Tao Bao 4f86f26a3d Merge "updater: Fix the wrong return value for package_extract_file()." 2016-11-16 06:54:08 +00:00
Tao Bao d6137a2ae0 Merge changes from topic 'minui-cherrypick'
* changes:
  Have gr_init_font alloc memory for the font
  Support use of custom fonts in miniui
2016-11-16 05:52:18 +00:00
Damien Bargiacchi 97eda9db70 Have gr_init_font alloc memory for the font
Change-Id: I8ccf369d52011bc5d07d8e041fe558ce734a78fc
(cherry picked from commit d00f5eb63a)
2016-11-15 16:40:32 -08:00
Damien Bargiacchi d5d34d70a5 Support use of custom fonts in miniui
Bug: 29547343
Change-Id: I398160c85daac90ffab2fa9bb2e96795b9e9885a
(cherry picked from commit 35fff61b1c)
2016-11-15 14:24:06 -08:00
Tao Bao ef0eb3b01b updater: Fix the wrong return value for package_extract_file().
'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-11-15 13:17:52 -08:00
Tao Bao b76960c984 Merge "Add .clang-format style file." 2016-11-14 18:20:14 +00:00
Tao Bao a844bc9649 Merge "Fix "ordered comparison between pointer and zero"." 2016-11-14 18:18:39 +00:00
Tianjie Xu 4c1f3eda98 Merge "Allow uncrypt to work without socket communication" 2016-11-12 00:49:16 +00:00
Tianjie Xu 7ceff3e003 Allow uncrypt to work without socket communication
It was inconvenient to uncrypt a update package under adb shell
because the uncrypt executable required a socket to start its job.
Add a workaround to allow uncrypt executes without socket
communication.

Test: run uncrypt under adb shell, and the block map generates successfully
Bug: 29906218

Change-Id: Ibc328b31636d925dc429ede8dcec7392a721dd53
(cherry picked from commit 28c1e5d3aa)
2016-11-11 13:51:15 -08:00
MinSeong Kim 126cf8cda8 Fix "ordered comparison between pointer and zero".
From Clang 4.x releases, DR583 and DR1512 will be addressed.
This patch, in advance, fixes the error(s).

Test: `mmma bootable/recovery`
Change-Id: I29dc85ae681307c322ab3a698c3f3bbad1c784ee
Signed-off-by: MinSeong Kim <minseong.kim@linaro.org>
2016-11-11 07:00:57 +00:00
Treehugger Robot a5538b87e8 Merge "Add 'reboot bootloader' to bootloader_message." 2016-11-10 02:43:08 +00:00
Vineela Tummalapalli cba7fa88d8 Add 'reboot bootloader' to bootloader_message.
Add 'reboot bootloader' capability to the bootloader_message.

BUG: https://issuetracker.google.com/issues/32474515

Change-Id: I01e8b2fad978bf7c8fc96ff6b08ad3e52533f504
Author: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Reviewed-on: https://android.intel.com/548519
2016-11-09 17:24:57 -08:00
Tianjie Xu 3605a072bc Merge "Touch blocks in care_map in update_verifier" 2016-11-09 23:52:52 +00:00
Tianjie Xu d007cf2da2 Touch blocks in care_map in update_verifier
Read all blocks in system and vendor partition during boot time
so that dm-verity could verify this partition is properly flashed.

Bug: 27175949
Change-Id: I38ff7b18ee4f2733e639b89633d36f5ed551c989
Test: mma
(cherry picked from commit 03ca853a1c)
(cherry picked from commit 4bbe0c93c8)
(Fix a typo when comparing the verity mode)
(cherry picked from commit da654af606)
(Skip update verification if care_map is not found)
2016-11-09 20:10:27 +00:00
Tao Bao 1b74e8cea8 Merge "updater: Add more testcase for symlink()." 2016-11-09 19:05:01 +00:00
Tao Bao b80d136dca Merge "otautil: Clean up obsolete includes." 2016-11-09 05:32:06 +00:00
Tao Bao 8992902aab updater: Add more testcase for symlink().
Clean up SymlinkFn() a bit. Also clean up the temp files created when
running the tests; otherwise non-empty TemporaryDir won't be removed.

Test: recovery_component_test passes.
Change-Id: Id3844abebd168c40125c4dcec54e6ef680a83c3a
2016-11-08 21:29:16 -08:00
Tao Bao 14b61e7b96 otautil: Clean up obsolete includes.
external/zlib and external/safe-iop/include were used by Zip.c, which
became obsolete after [1].

Removing
 - <assert.h>: we no longer call assert(3);
 - <limits.h>: we no longer use PATH_MAX;
 - <stdio.h>: we don't need FILE anymore;
 - <stdlib.h>: no more malloc(3)/calloc(3);
 - <unistd.h>: was once needed for lseek(2);
 - <string.h>: no more memset(3).

Adding
 - <stdint.h> for SIZE_MAX.

[1] commit 8cf5c8f60f: "Replace minzip
with libziparchive".

Test: `mmma bootable/recovery`
Change-Id: I349e909ba83d0f6ade5f92856ce3934f29fdca6c
2016-11-08 13:39:12 -08:00
Treehugger Robot 52e2a97aa7 Merge "Make make_parent() to take const argument" 2016-11-08 20:53:59 +00:00
Treehugger Robot 8bfd96c0f8 Merge "Move recovery_test.cpp out of unit test" 2016-11-08 20:48:20 +00:00
Tianjie Xu 5d8b53b248 Move recovery_test.cpp out of unit test
Move recovery-refresh/persist tests out because these tests need special
steps to run. Also switch the constants to std::string.

Test: recovery_manual_test passed on an A/B device
Change-Id: I60b3ec6f094044945c3aafc1fae540896a6ddea6
2016-11-08 10:42:51 -08:00
Tao Bao 70172d76ef Merge "otautil: Clean up SysUtil.cpp." 2016-11-08 18:29:37 +00:00
Tianjie Xu d75003d24c Make make_parent() to take const argument
Switch to use const std::string; and add corresponding tests.

Bug: 32649858
Test: Component tests pass
Change-Id: I640f3ec81f1481fa91aa310f8d4d96dac9649cb9
2016-11-08 10:11:03 -08:00
Tao Bao c3292f3fcb otautil: Clean up SysUtil.cpp.
Add unit testcases for sysMapFile().

Test: recovery_unit_test passes.
Test: Build and use the new recovery image to sideload a package.
Test: Build and use the new recovery image to install an update.

Change-Id: I77d8f1ea151ab513865d992c256ba93a1fcb51a4
2016-11-07 13:00:38 -08:00
Tao Bao ba41fba9e4 Merge "tests: Fix unit/zip_test.cpp." 2016-11-07 19:07:44 +00:00
Tao Bao 74bda5f65b Add .clang-format style file.
The file is forked from bionic project. It's mostly in Google style, with
some tweaks (e.g. 100 column limit). New CLs can be formatted with `git
clang-format --style=file`.

Test: N/A
Change-Id: I6fbd0ab851c03aa6de9987777c7da8cdca8964ed
2016-11-07 10:02:33 -08:00
Tao Bao 0dfb7536bb tests: Fix unit/zip_test.cpp.
It's accidentally broken when refactoring the testdata path. Also clean
up the testcase a bit by simplying the file reading.

Test: recovery_unit_test passes.

Change-Id: I592a1cf5a4eb9a7a5f4eecbc6426baeedeb02781
2016-11-04 15:20:52 -07:00
Tao Bao d0daf7f7df Merge "updater: Add a testcase for RenameFn()." 2016-11-04 21:01:11 +00:00
Tianjie Xu e2d05c5658 Merge "Cleanup the duplicates of logs rotation functions" 2016-11-04 18:07:08 +00:00
Tao Bao 529032f4a0 Merge "updater: Fix a bug in DeleteFn()." 2016-11-04 16:04:58 +00:00
Tao Bao a7a8262944 Merge "Revert "Revert "Some cleanups to recovery.""" 2016-11-04 16:04:20 +00:00
Tao Bao a659d79b92 updater: Add a testcase for RenameFn().
Test: recovery_component_test passes.

Change-Id: Iba5a0fdf6c79e2bed6b30b8fc19a306c1ab29d8a
2016-11-03 23:35:42 -07:00
Tao Bao 0831d0b592 updater: Fix a bug in DeleteFn().
Also add a testcase for delete() function.

Test: recovery_component_test passes.
Change-Id: I064d1ad4693c3ed339d0a69eabadd08a61a2ea86
2016-11-03 23:28:36 -07:00
Tao Bao da2b34b5d0 Merge "updater: Fix an off-by-1 bug in file_getprop()." 2016-11-04 04:30:24 +00:00
Tianjie Xu e113e4d67f Cleanup the duplicates of logs rotation functions
Bug: 32067516
Test: Logs rotated successfully on angler, recovery-refresh/persist tests
passed on an a/b device.

Change-Id: Ie80adf0fa958ad3d7869d2d17f49489666b86c29
2016-11-03 18:16:33 -07:00
Tao Bao 51d516e913 updater: Fix an off-by-1 bug in file_getprop().
Also add a testcase for file_getprop().

Test: recovery_component_test passes.

Change-Id: I8eb2f9a5702b43997ac9f4b29665eea087b1c146
2016-11-03 14:58:54 -07:00
Tao Bao ac9d94d19c Revert "Revert "Some cleanups to recovery.""
This reverts commit 8584fcf677.

This CL re-lands commit c0319b60f5.
The "stage" and "reason" variables are now declared as global by
dropping the static qualifier, because they may be used by vendor
recovery libraries.

Test: lunch aosp_angler-userdebug; mmma bootable/recovery
Test: lunch aosp_dragon-userdebug; mmma bootable/recovery

Change-Id: I252c346f450079478cff22bbff01590b8ab2e2b3
2016-11-03 11:57:46 -07:00
Tao Bao 4011bb161a Merge "tests: Set up testdata path for continuous native tests." 2016-11-03 18:15:07 +00:00
Tao Bao 4102b28132 tests: Set up testdata path for continuous native tests.
continuous_native_tests expects the testdata under DATA/ in
continuous_native_tests.zip. This CL packs a copy of the testdata into
continuous_native_tests.zip as DATA/nativetest/recovery/testdata (via
LOCAL_PICKUP_FILES).

This CL also removes the extra copy for nativetest64. Testdata will
always stay at /data/nativetest/recovery/testdata, even for 64-bit
version. Otherwise we will unnecessarily get four copies (two for data/
and another two for DATA/).

Bug: 32123241
Test: mmma bootable/recovery && adb sync data. On bullhead,
    /data/nativetest/recovery_component_test/recovery_component_test works;
    /data/nativetest64/recovery_component_test/recovery_component_test works.
Test: m continuous_native_test; DATA/nativetest/recovery/testdata exists.

Change-Id: Ifefa0309de7af23c77654e8e450848ca2da218c2
2016-11-02 23:18:01 -07:00
Treehugger Robot 5696526ba4 Merge "applypatch: Add testcases for applypatch executable." 2016-11-02 17:19:45 +00:00
Tianjie Xu a9b252887c Merge "Cleanup ReadArgs & ReadValueArgs usage" 2016-11-01 23:53:02 +00:00
Tianjie Xu 5fe280ac96 Cleanup ReadArgs & ReadValueArgs usage
ReadArgs will switch to using std::string and std::unique_ptr. Also
cleanup the callers.

Test: mma & component test passed.
Change-Id: I4724406ae6c0c134a27bbd1cdd24ad5d343b2a3b
2016-11-01 15:03:06 -07:00
Tao Bao 36c3511952 applypatch: Add testcases for applypatch executable.
Refactor applypatch/main.cpp into libapplypatch_modes so that we can add
testcases.

Some changes to applypatch/main.cpp:
 - Replace char** argv with const char**;
 - Use android::base::Split() to split ":";
 - Use android::base::ParseUInt().

Bug: 32383590
Test: Unit tests pass, install-recovery.sh works.

Change-Id: I44e7bfa5ab717d439ea1d0ee9ddb7b2c40bb95a4
2016-11-01 14:40:14 -07:00
Tao Bao 3f4030e0ef Merge "applypatch: Switch the parameter of Value** to std::vector." 2016-11-01 21:25:12 +00:00