Commit Graph

7626 Commits

Author SHA1 Message Date
Bill Yi
d0052c30ce Import translations. DO NOT MERGE
Auto-generated-cl: translation import

Bug: 64712476
Change-Id: Ie58e59d8d2731350f58bc9733e4599f75a3aca61
2019-04-16 19:59:20 -07:00
xunchang
cd780b456f DO NOT MERGE: Move load & restore logs to logging.cpp
We perform these steps to perserve the recovery logs when wiping
/cache partition. Move them to logging.cpp to keep the actually
EraseVolume function concise.

Bug: 130166585
Test: unit tests pass, mount cache and check last log after cache
Change-Id: Idc52833817a446f3a0148a3dd2112f911c9ef48d
(cherry picked from commit 2239b9e4dd)
2019-04-16 19:26:44 +00:00
xunchang
388d253b9c DO NOT MERGE: Move wipe cache|data to libinstall
Therefore, libinstall becomes the sole owner to handle the request
from minadbd service.

The change also includes
1. move logging.cpp out of librecovery
2. drop the dependency on common.h
3. now it's more sensible to move the wipe_cache as part of
install_package. move the wipe_cache to the end of the function.

Bug: 130166585
Test: wipe data and cache from menu
Change-Id: I6f356dccdb38015c50acf756bac246f87c30fc1f
(cherry picked from commit 316e971746)
2019-04-16 19:26:31 +00:00
xunchang
95d67323a4 DO NOT MERGE: Add socket communication between recovery and minadbd
This cl adds a socket pair to support the communication between recovery
and minadbd. Therefore, minadbd will be able to issue multiple commands
to recovery and get back the status of each command.

This cl also switches the adb sideload from the recovery menu to use
this protocol; and moves minadbd to a separate binary.

Bug: 130166585
Test: sideload a package
Change-Id: I80d36d5c4e6fe1ae3ea23640907bc50c0dc0d482
(cherry picked from commit 34690ced91)
2019-04-16 19:26:20 +00:00
Tao Bao
2f8afba707 DO NOT MERGE: Build libinstall as a static library.
It was once considered to be shared between recovery and minadbd, so
that the latter can start an install on its own. The plan has been
changed, since package install -- including device wipe operations --
could be device-specific, which should be done by recovery only.

This CL moves libinstall back to a static library, which also saves the
overall size (reducing from 140256 + 660576 to 555880 bytes on
aosp_taimen-userdebug).

Bug: 130166585
Test: Run recovery_component_test.
Test: `adb sideload` on taimen.
Change-Id: Ib1f5f79f235df4682c0bd104425c9c122f6091ba
2019-04-16 19:25:23 +00:00
Bill Rassieur
7df2da5948 Merge master@5428150 into git_qt-dev-plus-aosp.
am: 86de943dcc

Change-Id: I13691eb31834462d14b9a7ea07eebc75dfba7de0
2019-04-03 17:20:26 -07:00
Bill Rassieur
549321c723 Merge master@5406228 into git_qt-dev-plus-aosp.
am: 74253cca39

Change-Id: I8694e28304a111d7bc6675993a8219d4c328d3a6
2019-04-03 16:11:09 -07:00
David Anderson
53cbda8056 Merge "Append -verity when looking for verity device-mapper names." am: bc2eab4315 am: 9a53189ae5
am: 5fa37b77d1

Change-Id: I44383f3609730fc12aeac24061a7940010a60338
2019-04-02 15:09:14 -07:00
David Anderson
5fa37b77d1 Merge "Append -verity when looking for verity device-mapper names." am: bc2eab4315
am: 9a53189ae5

Change-Id: Ibc664119ec22f7dd1906f1afc44015829c6e3d2e
2019-04-02 14:08:44 -07:00
David Anderson
9a53189ae5 Merge "Append -verity when looking for verity device-mapper names."
am: bc2eab4315

Change-Id: I39b5e0f2f0baf8d459a535de470c99f8a5d4adf9
2019-04-02 14:04:49 -07:00
David Anderson
bc2eab4315 Merge "Append -verity when looking for verity device-mapper names." 2019-04-02 20:16:36 +00:00
Bill Rassieur
86de943dcc Merge master@5428150 into git_qt-dev-plus-aosp.
Change-Id: I1c69d7c91e68fd4baba7b6510acf2a69e1a6c5d7
BUG: 129345239
2019-04-02 18:26:46 +00:00
David Anderson
c52663c4ea Append -verity when looking for verity device-mapper names.
Bug: 123666267
Test: recovery_component_test passes
Change-Id: I9b608b3fbfa14cc45ad0b4de6cb5cecdef983acb
2019-04-01 17:13:11 -07:00
Tao Bao
1055819fa8 Merge changes Ibbe7084e,If584fc8a am: bb8f0fff17 am: effd4ca883
am: 64ec642955

Change-Id: I9294ea938a634e9d95cb2639eea150c2fb1ac30c
2019-03-30 08:41:12 -07:00
Tao Bao
64ec642955 Merge changes Ibbe7084e,If584fc8a am: bb8f0fff17
am: effd4ca883

Change-Id: Icb25c9b6be3e08b346f9e44f0c4f3d358f548204
2019-03-30 08:37:12 -07:00
Tao Bao
effd4ca883 Merge changes Ibbe7084e,If584fc8a
am: bb8f0fff17

Change-Id: I1df188d9a668dffc2f81000c30ae1d6fd2f4bb1c
2019-03-30 08:33:15 -07:00
Tao Bao
bb8f0fff17 Merge changes Ibbe7084e,If584fc8a
* changes:
  recovery: Remove SetUsbConfig() out of common.h.
  Remove ui_print().
2019-03-30 15:18:18 +00:00
Tao Bao
e0cfab3de9 recovery: Remove SetUsbConfig() out of common.h.
libinstall now has its own copy.

Test: mmma -j bootable/recovery
Change-Id: Ibbe7084e15baeb7e744f2175d5944477092acc9e
2019-03-29 15:54:02 -07:00
Tao Bao
bc982a4f88 Remove ui_print().
This used to be a helper function that allows printing message to UI.
We no longer have any active user in bootable/recovery. Device-specific
code can achieve the same functionality by calling GetUI()->Print()
instead.

Test: mmma -j bootable/recovery
Change-Id: If584fc8a51d1af466f1d94d8ea5faa262603a784
2019-03-29 15:50:02 -07:00
Tianjie Xu
8e39f3d54e Merge "Move install to separate module" am: a232d9dccb am: 3f25d6bb07
am: 719c7edd2a

Change-Id: I06348c5bafedd3a3b610dea2bcac4e2622aec24c
2019-03-29 15:04:04 -07:00
Tianjie Xu
719c7edd2a Merge "Move install to separate module" am: a232d9dccb
am: 3f25d6bb07

Change-Id: I1b37d0263bbd383ba71c6025b7fb26b3651d7b8a
2019-03-29 14:54:00 -07:00
Tianjie Xu
3f25d6bb07 Merge "Move install to separate module"
am: a232d9dccb

Change-Id: I6de83aec6ab98ae5280bad07e3359c4bb38abd5e
2019-03-29 14:43:56 -07:00
Tianjie Xu
a232d9dccb Merge "Move install to separate module" 2019-03-29 21:23:49 +00:00
xunchang
2478885f3c Move install to separate module
Build libinstall as a shared library. Also drop the dependency on the
global variables in common.h.

Test: unit tests pass, sideload an OTA
Change-Id: I30a20047768ce00689fc0e7851c1c5d712a365a0
2019-03-29 10:27:51 -07:00
Bill Peckham
575fc7ec07 Merge "Use flags = 0 to avoid fd closing for child updater process" am: 50bda24f1e am: 111663d893
am: 2796a9d00f

Change-Id: Ib6473290e13400c791b8e31ffeab0e1507d270bb
2019-03-29 06:57:42 -07:00
Bill Peckham
2796a9d00f Merge "Use flags = 0 to avoid fd closing for child updater process" am: 50bda24f1e
am: 111663d893

Change-Id: Ie92945a3223a6bc773886fafd16f1d0679cd462a
2019-03-29 06:53:41 -07:00
Bill Peckham
111663d893 Merge "Use flags = 0 to avoid fd closing for child updater process"
am: 50bda24f1e

Change-Id: I0ddb3f3cb29d63922f0c3972e5800f03bd5a85ac
2019-03-29 06:49:40 -07:00
Bill Peckham
50bda24f1e Merge "Use flags = 0 to avoid fd closing for child updater process" 2019-03-29 13:41:40 +00:00
Bernie Innocenti
2cc882c2f8 Merge "Fix bogus error checking on unique_fd" am: a0fe1227b8 am: 7367caad0f
am: 5e028e80cf

Change-Id: Ie850812c7050305c9ca987c63f088f655e250054
2019-03-28 21:30:50 -07:00
Bernie Innocenti
5e028e80cf Merge "Fix bogus error checking on unique_fd" am: a0fe1227b8
am: 7367caad0f

Change-Id: I46a97ce8c85b186f8d7d5c4e7507b4063cc5c710
2019-03-28 21:14:37 -07:00
Bill Rassieur
74253cca39 Merge master@5406228 into git_qt-dev-plus-aosp.
Change-Id: I1091bf4ecb36441bec7651e20222b4d34c69a443
BUG: 129345239
2019-03-29 04:13:21 +00:00
Bernie Innocenti
7367caad0f Merge "Fix bogus error checking on unique_fd"
am: a0fe1227b8

Change-Id: I90f7429cf22cd2a400054a9b3eed4fc4d79436a6
2019-03-28 21:08:33 -07:00
Treehugger Robot
a0fe1227b8 Merge "Fix bogus error checking on unique_fd" 2019-03-29 03:52:46 +00:00
Bill Peckham
08ba1ad9b1 Use flags = 0 to avoid fd closing for child updater process
If we use the default parameter we'll get O_CLOEXEC, which will close the fd
that we pass to the child process, which will cause it to fail. Passing zero
avoids the problem.

Bug: 122813742
Test: Verify that non-A/B OTA update is successful.
Change-Id: Ia61bc7260f17d9209715583e6ded69e1196ed3f6
2019-03-28 18:42:13 -07:00
Tao Bao
8c9e2206b8 Merge "Remove the extern declaration of sehandle from roots.cpp." am: 047582b506 am: 9e23616e2e
am: a799e66faa

Change-Id: I212e5a5ba2ddf4770ff3a31158c37541f192ed52
2019-03-28 09:27:30 -07:00
Tao Bao
a799e66faa Merge "Remove the extern declaration of sehandle from roots.cpp." am: 047582b506
am: 9e23616e2e

Change-Id: I7428247a802c20ea28832e281ecc1c658f6dd995
2019-03-28 09:18:55 -07:00
Tao Bao
9e23616e2e Merge "Remove the extern declaration of sehandle from roots.cpp."
am: 047582b506

Change-Id: I19b4158f57b6fb6e562872b2c2cf9d5de4fef820
2019-03-28 09:14:50 -07:00
Treehugger Robot
047582b506 Merge "Remove the extern declaration of sehandle from roots.cpp." 2019-03-28 15:49:44 +00:00
Bernie Innocenti
8bd6f455d2 Fix bogus error checking on unique_fd
The expression "!fd" calls the implicit conversion to int, but comparing
the raw fd against 0 does not work, since open() and other POSIX calls
returning a file descriptor use -1 to signal an error.

Test: m recovery
Change-Id: I0847c276f39cb9dd09c7ffb96951276113418fc8
2019-03-28 17:28:13 +09:00
Tao Bao
fd7d835fd9 Remove the extern declaration of sehandle from roots.cpp.
It has become obsolete since we replaced the call to make_ext4 with
e2fsprogs (commit ded2dac082, which landed
into P).

Test: mmma -j bootable/recovery
Change-Id: I09141322874213dcb0f1280bba239376e71a4d17
2019-03-27 23:29:38 -07:00
Tianjie Xu
e7dd308591 Merge "Allow RSA 4096 key in package verification" am: 3168ddf79d am: 3de9ee62b8
am: 66afbbd536

Change-Id: I9cd59c456a5bf903e2779a274b75b38ba3b76028
2019-03-27 11:32:26 -07:00
Tianjie Xu
66afbbd536 Merge "Allow RSA 4096 key in package verification" am: 3168ddf79d
am: 3de9ee62b8

Change-Id: Iee0a4a2d61a086234bdcb925a4fedee6c43e49b9
2019-03-27 11:24:07 -07:00
Tianjie Xu
3de9ee62b8 Merge "Allow RSA 4096 key in package verification"
am: 3168ddf79d

Change-Id: Ie22fb0caddbf3185d5ee52ae883fc933c35e8cc4
2019-03-27 11:21:01 -07:00
Tianjie Xu
3168ddf79d Merge "Allow RSA 4096 key in package verification" 2019-03-27 17:57:38 +00:00
Tianjie Xu
4c3d68f7c8 Merge "Move out the code to parse block map in MemMap" am: f1cbd2f7f2 am: 67a3ffc22f
am: 0a6518b79b

Change-Id: Ic0c1b0224c1c68343c0a607a1abe34c79c819165
2019-03-26 17:37:16 -07:00
Tianjie Xu
0a6518b79b Merge "Move out the code to parse block map in MemMap" am: f1cbd2f7f2
am: 67a3ffc22f

Change-Id: I7b67c62c39e202fed0f1a999ecccaa96fa84e10a
2019-03-26 17:05:40 -07:00
Tianjie Xu
67a3ffc22f Merge "Move out the code to parse block map in MemMap"
am: f1cbd2f7f2

Change-Id: I630bae5c6be83a4e3f300542b45a10c4b31967a6
2019-03-26 16:09:33 -07:00
Tianjie Xu
f1cbd2f7f2 Merge "Move out the code to parse block map in MemMap" 2019-03-26 21:52:40 +00:00
xunchang
908ad77af8 Allow RSA 4096 key in package verification
The RSA_verify sitll works for 4096 bits keys. And we just
need to loose the check on modulus.

Sample commands to generate the key & package:
1. openssl genrsa -out keypair.pem 4096
2. openssl pkcs8 -topk8 -inform PEM -outform DER -nocrypt \
   -in keypair.pem -out private.pk8
3. openssl req -new -x509 -key keypair.pem -out public.x509.pem \
   -days 365
4. java -Djava.library.path=prebuilts/sdk/tools/linux/lib64 -jar \
   prebuilts/sdk/tools/lib/signapk.jar -w public.x509.pem private.pk8 \
   unsigned.zip signed.zip

Bug: 129163830
Test: unit tests pass
Change-Id: I5a5ff539c9ff1955c02ec2ce4b17563cb92808a4
2019-03-26 12:28:23 -07:00
xunchang
625c588c0f Move out the code to parse block map in MemMap
We will reuse them to implement the fuse provider from block maps.

Test: unit tests pass, sideload an OTA
Change-Id: Iaa409d19569c4ccc0bb24e12518044fcddb45c69
2019-03-26 11:47:27 -07:00