Commit Graph

3842 Commits

Author SHA1 Message Date
Tao Bao
7b9b77f445 Merge "Add tests for read_metadata_from_package()." am: e888d45950
am: c08c055ce0

Change-Id: I000e0cc00b510a7734e5cc41143f1d5939293b24
2017-04-19 18:57:22 +00:00
Tao Bao
c08c055ce0 Merge "Add tests for read_metadata_from_package()."
am: e888d45950

Change-Id: I182da1ac7d39120d8959b96dfbd70b344c27d600
2017-04-19 18:55:22 +00:00
Tao Bao
e888d45950 Merge "Add tests for read_metadata_from_package()." 2017-04-19 18:51:15 +00:00
Tao Bao
6650c0426f Merge "Minor clean up to install.cpp." am: 08146728c1
am: 668e84233d

Change-Id: I961822ff4c9263cef813c98877f1c3a3e9bf6441
2017-04-19 18:07:19 +00:00
Tao Bao
668e84233d Merge "Minor clean up to install.cpp."
am: 08146728c1

Change-Id: Ie1f04ce992d48f37fae1fc8c8f083b21634e1024
2017-04-19 18:05:18 +00:00
Tao Bao
08146728c1 Merge "Minor clean up to install.cpp." 2017-04-19 18:01:08 +00:00
Tao Bao
8a7afcc6ed Add tests for read_metadata_from_package().
Test: recovery_component_test
Change-Id: I672a6a4f101c72e82b9f25f165dccd1c9520627b
2017-04-18 22:07:44 -07:00
Tao Bao
f8119fbafb Minor clean up to install.cpp.
- Move some macros / constants into functions;
- Remove unneeded #include "minui/minui.h";
- Remove two dead constants (DEFAULT_{FILES,IMAGES}_PROGRESS_FRACTION).

Test: mmma bootable/recovery
Change-Id: Ib808f14b7569e06e23a8a7cc9b2d4e9aa5469de1
2017-04-18 22:07:00 -07:00
Tao Bao
d218dca8f9 Merge "Add tests for update_binary_command()." am: 44f61b4ce5
am: 1fc109bdc7

Change-Id: I831f0f5f058cc56af34f3f4b77a48b17050256ef
2017-04-19 01:50:23 +00:00
Tao Bao
1fc109bdc7 Merge "Add tests for update_binary_command()."
am: 44f61b4ce5

Change-Id: I12b49334130d68305753096f6a3376e246f947bc
2017-04-19 01:48:23 +00:00
Tao Bao
44f61b4ce5 Merge "Add tests for update_binary_command()." 2017-04-19 01:43:03 +00:00
Tianjie Xu
239d154869 Merge "Add 'system' to update_verifier's gid" am: ba3f078f6f
am: 4575986069

Change-Id: I08428546960c2f893ab2cd47c96850ae867044bd
2017-04-18 20:47:46 +00:00
Tianjie Xu
4575986069 Merge "Add 'system' to update_verifier's gid"
am: ba3f078f6f

Change-Id: Iff90d951f8a45df2bd6f11329ad2d33399d61ec6
2017-04-18 20:42:43 +00:00
Tianjie Xu
ba3f078f6f Merge "Add 'system' to update_verifier's gid" 2017-04-18 20:30:03 +00:00
Tianjie Xu
0ad2de5eab Add 'system' to update_verifier's gid
This addresses the denial to /dev/cpuset/tasks:
update_verifier: type=1400 audit(0.0:377): avc: denied { dac_override }
for capability=1 scontext=u:r:update_verifier:s0
tcontext=u:r:update_verifier:s0 tclass=capability permissive=1

update_verifier: type=1400 audit(0.0:378): avc: granted { write } for
name="tasks" dev="cgroup" ino=5 scontext=u:r:update_verifier:s0
tcontext=u:object_r:cgroup:s0 tclass=file

Bug: 37358323
Test: denial message gone after adding system group
Change-Id: I66b4925295a13fbc1c6f26a1bb9bd2f9cebcec3d
2017-04-18 11:34:30 -07:00
Tom Cherry
6e575ccd0f Merge "init.rc: Remove sys.powerctl action" am: 9848209088
am: 9fcc7c8253

Change-Id: I76a7548643752b7c8e3b0d959843969cddd14e7e
2017-04-18 18:27:38 +00:00
Tom Cherry
9fcc7c8253 Merge "init.rc: Remove sys.powerctl action"
am: 9848209088

Change-Id: I8ca8866c43e6c8edf1a4aa39ad0934b2f92eae0a
2017-04-18 18:22:07 +00:00
Tom Cherry
9848209088 Merge "init.rc: Remove sys.powerctl action" 2017-04-18 18:14:18 +00:00
Tao Bao
bc4b1fe4c4 Add tests for update_binary_command().
Expose update_binary_command() through private/install.h for testing
purpose.

Also make minor clean-ups to install.cpp: a) adding more verbose logging
on ExtractToMemory failures; b) update_binary_command() taking
std::string instead of const char*; c) moving a few macro and global
constants into update_binary_command().

Bug: 37300957
Test: recovery_component_test on marlin
Test: Build new recovery and adb sideload on angler and sailfish.
Change-Id: Ib2d9068af3fee038f01c90940ccaeb0a7da374fc
2017-04-17 20:44:37 -07:00
Tao Bao
d87bccd567 Merge "Fix the double free in verify_package_compatibility()." am: ce91df8293
am: dc388aab8b

Change-Id: I954027631743765ff3155a622a6618ac85056090
2017-04-18 03:31:49 +00:00
Tao Bao
35849591a0 Merge changes from topic 'libvintf' am: c1ca21a32d
am: beb1cb1df5

Change-Id: I293d9e3b2820fe8c41e91032d7be525a7a9e4c38
2017-04-18 03:31:40 +00:00
Tao Bao
dc388aab8b Merge "Fix the double free in verify_package_compatibility()."
am: ce91df8293

Change-Id: I44f27412ad803b560a0ea317e7e0e2837e6fad39
2017-04-18 03:27:23 +00:00
Tao Bao
beb1cb1df5 Merge changes from topic 'libvintf'
am: c1ca21a32d

Change-Id: I8ba8fc5a7f403a554cf5c1f01b0ccd0b19848277
2017-04-18 03:27:10 +00:00
Tao Bao
ce91df8293 Merge "Fix the double free in verify_package_compatibility()." 2017-04-18 03:21:07 +00:00
Tao Bao
c1ca21a32d Merge changes from topic 'libvintf'
* changes:
  Add the missing LOCAL_CFLAGS for librecovery.
  Verify the package compatibility with libvintf.
2017-04-18 03:20:49 +00:00
Tom Cherry
4608daf0fe init.rc: Remove sys.powerctl action
Init now handles this property change directly.

Bug: 37209359
Bug: 37415192

Test: Init reboots normally.
Change-Id: I9a4925897fb83bed180d12c871d9a71126fa4aa8
2017-04-17 16:55:54 -07:00
Tao Bao
fdc5ac8051 Merge "libmounts: Remove two dead functions." am: 4854e77fd2
am: 7e031fdfe6

Change-Id: Ie4336244e7d1343cd28ab0ea7a0b116138e9cf77
2017-04-17 23:23:54 +00:00
Tao Bao
7e031fdfe6 Merge "libmounts: Remove two dead functions."
am: 4854e77fd2

Change-Id: Iac3ba66cea9a551141ba7c2c97b8eae14b9ec881
2017-04-17 23:18:54 +00:00
Tao Bao
4854e77fd2 Merge "libmounts: Remove two dead functions." 2017-04-17 23:10:28 +00:00
Tao Bao
99c549db74 Fix the double free in verify_package_compatibility().
"""
void* cookie;
std::unique_ptr<void, decltype(&EndIteration)> guard(cookie, EndIteration);
  ...
EndIteration(cookie);
"""

The above pattern is buggy that frees 'cookie' twice.

Bug: 37413730
Test: Build new recovery and adb sideload a previously crashed package
      that contains 'compatibility.zip'.
Change-Id: I183c33827fb28a438ebaedda446e84cabe7cb92d
(cherry picked from commit f978278995)
2017-04-17 15:59:10 -07:00
Tao Bao
7fdcb19e10 Add the missing LOCAL_CFLAGS for librecovery.
The -DAB_OTA_UDPATER part was missing when separating the librecovery
module (commit 62e0bc7586).

Bug: 37300957
Test: Build sailfish recovery image and sideload full OTA.
Change-Id: Idd25662f6bc812c1aca95b096802f59b051f8d63
(cherry picked from commit 25dbe1717e)
2017-04-17 15:58:56 -07:00
Tao Bao
e95902280c libmounts: Remove two dead functions.
find_mounted_volume_by_device() and remount_read_only() have no active
users. And we don't have a code logic that requires these two functions.

Test: mmma bootable/recovery
Test: Code search shows no user.
Change-Id: Ib11c2ba93ee087ea020c1337eb06686a6165f894
2017-04-16 15:53:47 -07:00
Josh Gao
572b7ba1bc Merge "minadbd: switch adb_thread_create to std::thread." am: d3d91e5595
am: 0836159ce1

Change-Id: Ic6f031298f1f5bf189baf030d225baa67f5c46ca
2017-04-14 20:09:45 +00:00
Josh Gao
0836159ce1 Merge "minadbd: switch adb_thread_create to std::thread."
am: d3d91e5595

Change-Id: If7c9c8cf8d2d8c93c521d3426c55be9068c817cc
2017-04-14 20:07:46 +00:00
Josh Gao
d3d91e5595 Merge "minadbd: switch adb_thread_create to std::thread." 2017-04-14 20:04:04 +00:00
Josh Gao
2aa0d3abb4 minadbd: switch adb_thread_create to std::thread.
Test: treehugger
Change-Id: I7edcb13eb1fc6d4f36f5a764a1b647fbf9cd063e
2017-04-13 14:28:00 -07:00
Tao Bao
1d866050eb Verify the package compatibility with libvintf.
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 62e0bc7586)
2017-04-12 22:46:09 -07:00
Tianjie Xu
41bdd91780 Merge "Protect filename_cache with lock in ota fault" am: 1b28a27c33
am: 461188865b

Change-Id: I07ff3c134ebca9738a7f7d725ec1c39941047944
2017-04-11 05:19:05 +00:00
Tianjie Xu
461188865b Merge "Protect filename_cache with lock in ota fault"
am: 1b28a27c33

Change-Id: Ie5ed472ddb83f4101b54e74d74a550a0cc5237da
2017-04-11 05:14:04 +00:00
Tianjie Xu
1b28a27c33 Merge "Protect filename_cache with lock in ota fault" 2017-04-11 05:08:05 +00:00
Tianjie Xu
4bb11c745b Protect filename_cache with lock in ota fault
Bug: 33173924
Test: Apply a successfully update on bullhead
Change-Id: I28cc356e216a3e957b5533c338ee6bc3c0920222
2017-04-10 16:21:09 -07:00
Tianjie Xu
955c5ebece Merge "Abort the update if there's not enough new data" am: b4b0c49c48
am: bc66528cb9

Change-Id: If62e8d2ea8740efb81adfa609ec1544b7563ba4c
2017-04-10 18:29:31 +00:00
Tianjie Xu
bc66528cb9 Merge "Abort the update if there's not enough new data"
am: b4b0c49c48

Change-Id: Id2eece5eabd369e0de5b06fc3d5a953a78ef563f
2017-04-10 18:24:24 +00:00
Tianjie Xu
b4b0c49c48 Merge "Abort the update if there's not enough new data" 2017-04-10 18:12:09 +00:00
Tianjie Xu
3a8d98dd90 Abort the update if there's not enough new data
Right now the update stuck in a deadlock if there's less new data than
expection. Add some checkers and abort the update if such case happens.
Also add a corresponding test.

Bug: 36787146
Test: update aborts correctly on bullhead && recovery_component_test passes
Change-Id: I914e4a2a4cf157b99ef2fc65bd21c6981e38ca47
2017-04-07 17:19:46 -07:00
Tao Bao
f25cd871cc Merge "tests: Use get_bootloader_message_blk_device() to find /misc." am: 3cd630a5a8
am: cc630bdde1

Change-Id: Ib6a8a360e1854096c4d77bcbc99ea7e2dc18d5de
2017-04-05 15:48:35 +00:00
Tao Bao
cc630bdde1 Merge "tests: Use get_bootloader_message_blk_device() to find /misc."
am: 3cd630a5a8

Change-Id: Ia5b13eef57e82407e0043579267f1c809fee692a
2017-04-05 15:46:05 +00:00
Tao Bao
3cd630a5a8 Merge "tests: Use get_bootloader_message_blk_device() to find /misc." 2017-04-05 15:40:59 +00:00
Tao Bao
ad87d9dc78 tests: Use get_bootloader_message_blk_device() to find /misc.
Since commit fb00d82f32 has added
get_bootloader_message_blk_device() as an API, switch the tests-local
implementation to it.

Test: recovery_component_test on angler.
Test: recovery_component_test on a local build that doesn't have /misc.
Change-Id: I4f5f542cb9ef58292c587a677da73d8822db7262
2017-04-04 20:35:10 -07:00
Alex Deymo
c14d0728a7 Merge "Boot control HAL based on the A/B headers." am: b5fca37976
am: df141b9381

Change-Id: I5e16931621728122fc265d8e6c1c904227de2385
2017-04-04 23:24:02 +00:00