Commit Graph

3870 Commits

Author SHA1 Message Date
Tao Bao 36683d0fc8 Merge "recovery: Remove the include of adb.h." am: dff2276012
am: 2dad1a9d28

Change-Id: I19dc6c2adf91b695412d79cfcd8cf759afcf6cf3
2017-04-25 15:55:17 +00:00
Tao Bao 2dad1a9d28 Merge "recovery: Remove the include of adb.h."
am: dff2276012

Change-Id: If6c4e195112f8442535ae9c698277b311e590dbd
2017-04-25 15:53:17 +00:00
Tao Bao dff2276012 Merge "recovery: Remove the include of adb.h." 2017-04-25 15:42:49 +00:00
Tao Bao d8039acce6 recovery: Remove the include of adb.h.
recovery.cpp doesn't have a direct dependency on adb.h (only minadbd
does). 'adb.h' was once needed for DEFAULT_ADB_PORT, until being killed
by commit acb2a2fa4c.

Test: mmma bootable/recovery
Change-Id: I84f87988d01c3f0c3d1383cc3cffde2e7d5e7aea
2017-04-24 12:22:44 -07:00
Tao Bao 54f8988cfe Merge "Add more tests for verify_package_compatibility()." am: a9dd77fa84
am: 5f85d07e87

Change-Id: Iea6d09d9b99512727ceff40611e193e2009a0ba7
2017-04-24 18:48:14 +00:00
Tao Bao f4a8d0bba6 Merge "tests: Remove obsolete classes in applypatch_test." am: f17aa960db
am: 8a3325dc8a

Change-Id: I77c8a213052fd667f573b40e8a87fed0bb87676f
2017-04-24 18:48:02 +00:00
Tao Bao c179ac9238 Merge "librecovery: Remove -Wno-unused-parameter and add -Wall." am: b6c9c41a3d
am: 0cf72f0f14

Change-Id: I79929b309cd9c465ef8f35f06df8469a77accec6
2017-04-24 18:47:50 +00:00
Tao Bao 5f85d07e87 Merge "Add more tests for verify_package_compatibility()."
am: a9dd77fa84

Change-Id: Ie0eeef3f0f188236b502d378140041931c2b7fb1
2017-04-24 18:39:35 +00:00
Tao Bao 8a3325dc8a Merge "tests: Remove obsolete classes in applypatch_test."
am: f17aa960db

Change-Id: I4e9f49255f8cdeb1bded80a578a82772c6ebb8c2
2017-04-24 18:39:17 +00:00
Tao Bao 0cf72f0f14 Merge "librecovery: Remove -Wno-unused-parameter and add -Wall."
am: b6c9c41a3d

Change-Id: I4ec01251132d6dc871cec19cf7c8577e33aac193
2017-04-24 18:39:02 +00:00
Tao Bao a9dd77fa84 Merge "Add more tests for verify_package_compatibility()." 2017-04-24 18:08:55 +00:00
Tao Bao f17aa960db Merge "tests: Remove obsolete classes in applypatch_test." 2017-04-24 18:01:02 +00:00
Tao Bao b6c9c41a3d Merge "librecovery: Remove -Wno-unused-parameter and add -Wall." 2017-04-24 18:00:26 +00:00
Tao Bao b24510cd60 librecovery: Remove -Wno-unused-parameter and add -Wall.
Test: mmma bootable/recovery
Change-Id: I5598d32bebb9dbda4a183a1502e0b7dc4918392e
2017-04-24 09:06:38 -07:00
Tianjie Xu 0cd8986bc2 Merge "Reboot the device on user build after the install fails" am: d6f436849d
am: 4849c87033

Change-Id: I7fd09a998e2a3d21ad9c772179890988b44809b5
2017-04-22 00:25:17 +00:00
Tianjie Xu 4849c87033 Merge "Reboot the device on user build after the install fails"
am: d6f436849d

Change-Id: I72eae6c525d6dd39c86a74b144d0970ad8793b42
2017-04-22 00:19:18 +00:00
Treehugger Robot d6f436849d Merge "Reboot the device on user build after the install fails" 2017-04-22 00:11:52 +00:00
Tianjie Xu d9d16297dd Reboot the device on user build after the install fails
Users can't do much after the install fails with the device showing
"error" under recovery. So our best choice is to reboot the device
since sometimes the system image is still bootable (i.e. on package
verification failure). At worst the device would stuck in a boot loop
where the users need the same professional knowledge to recover as
before.

Behaviors after installation failure (including data wipe):
If recovery text is visible:
No change.

If recovery text is not visible:
Old behavior: Wait under "error" screen. Reboot after UI timeout (120s)
              if not connected to usb charger.
New behavior: Wait for 5s (shortens from the 120s timeout) under "error"
              screen and reboot (w or w/o charger).

sideload-auto-reboot (only available for userdebug):
Old behavior: Reboot immediately after installation failure.
New behavior: Wait for 5s under "error" screen and reboot.

Bug: 35386985
Test: On angler user, device auto reboots 5s after a failing OTA.

Change-Id: I3ff0ead86e2ccec9445d6a2865bc2c463855f23c
2017-04-21 22:49:30 +00:00
Tao Bao 0a3e4dca58 tests: Remove obsolete classes in applypatch_test.
ApplyPatchFullTest and ApplyPatchDoubleCacheTest were used for defining
testcases for file-based OTA. The testcases have already been removed by
commit 40e144dae8. This CL removes the
obsolete class defnitions.

Bug: 37559618
Test: recovery_component_test on angler and marlin respectively.
Change-Id: I3f4f1dfc8580cf010365e671de256f68bbc0d99a
2017-04-21 09:52:27 -07:00
Tianjie Xu 33a8900d2b Merge "Minor clean up to minadbd_services.cpp" am: fa7d55a7e3
am: 235a2cc1c7

Change-Id: I71fd3d604a8adadb29f9e4f1916a1e1bdb5eebed
2017-04-20 01:41:50 +00:00
Tianjie Xu 235a2cc1c7 Merge "Minor clean up to minadbd_services.cpp"
am: fa7d55a7e3

Change-Id: I741417224e3ee22916e5b0ae6adc237887bd3ecb
2017-04-20 01:39:20 +00:00
Tianjie Xu fa7d55a7e3 Merge "Minor clean up to minadbd_services.cpp" 2017-04-20 01:34:30 +00:00
Tao Bao d7a065eb1c Merge "Call libvintf to verify package compatibility." am: b0945e1a23
am: 8e7884abcc

Change-Id: I229350afea463c596d7155794fca300bf9547229
2017-04-20 00:19:15 +00:00
Tao Bao 8e7884abcc Merge "Call libvintf to verify package compatibility."
am: b0945e1a23

Change-Id: I1c54dafa606aa4ba0955983f3a5023d7b65ded1b
2017-04-20 00:17:15 +00:00
Tao Bao f2784b6a43 Add more tests for verify_package_compatibility().
This now covers the actual calls to libvintf, and asserts we're getting
identical results through verify_package_compatibility() and by calling
libvintf directly.

We were missing the coverage and introduced the double free bug (fixed
by commit f978278995).

Bug: 37413730
Test: recovery_component_test passes.
Test: recovery_component_test fails w/o commit
      f978278995.
Change-Id: If5195ea1c583fd7c440a1de289da82145e80e23c
2017-04-19 17:10:34 -07:00
Tao Bao b0945e1a23 Merge "Call libvintf to verify package compatibility." 2017-04-20 00:10:09 +00:00
Tao Bao 919d2c9a53 Call libvintf to verify package compatibility.
The libvintf API has landed. Hook up to do the actual verification.

Bug: 36597505
Test: recovery_component_test
Test: m recoveryimage; adb sideload on angler and sailfish, with
      packages that contain dummy compatibility entries.
Test: m recoveryimage; adb sideload on angler and sailfish, with
      packages that don't contain any compatibility entries.
Change-Id: Idbd6f5aaef605ca51b20e667505d686de5ac781f
(cherry picked from commit da320ac6ab)
2017-04-19 15:17:16 -07:00
Tianjie Xu 6af51a0eef Minor clean up to minadbd_services.cpp
Switch some function signatures to std::string to avoid memory leak.

Bug: 30039381
Test: sideload a package on angler
Change-Id: Iae1e75871a782d6e5d6dde5dcf3f18469eb63f7d
2017-04-19 14:54:04 -07:00
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