Commit Graph

7212 Commits

Author SHA1 Message Date
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
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
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
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
Tianjie Xu
be1485faec Merge "Move librecovery_ui to a sub-directory" am: 6287253eb4
am: 45898d8bb4

Change-Id: I426c6b2bd4731d913772b188cb41e7b9323a7330
2019-03-22 08:23:03 -07:00
Tianjie Xu
45898d8bb4 Merge "Move librecovery_ui to a sub-directory"
am: 6287253eb4

Change-Id: Ib055c175eab1857713d5d5bed63fd91ed43e881b
2019-03-22 08:15:37 -07:00
Tianjie Xu
6287253eb4 Merge "Move librecovery_ui to a sub-directory" 2019-03-22 15:05:00 +00:00
Tianjie Xu
8f397309b4 Move librecovery_ui to a sub-directory
This helps to expose librecovery_ui for device specific RecoveryUi.

Bug: 76436783
Test: mma, unit tests pass
Change-Id: Ic6c3d301d5833e4a592e6ea9d9d059bc4e4919be
(cherry picked from commit b5108c372c)
2019-03-21 10:46:11 -07:00
Tianjie Xu
c1dfb51ae3 Merge "Move apply_from_sdcard to fuse_sdcard_install" am: 3c61cd02cf
am: 3c21700fcd

Change-Id: I11dd7813aa0d43688b4856ee9a1508fe1de9fdee
2019-03-20 11:17:10 -07:00
Tianjie Xu
3c21700fcd Merge "Move apply_from_sdcard to fuse_sdcard_install"
am: 3c61cd02cf

Change-Id: Idd0f65f979145b572e30bd9b8b38d477f2b7e185
2019-03-20 11:07:00 -07:00
Tianjie Xu
b3025d752d Merge "Remove the provider_vtab" am: 2037c60de4
am: d7eba6248b

Change-Id: Idf8762f7e39c165514710f0afd98bc485c5e9d9b
2019-03-20 11:05:51 -07:00
Tianjie Xu
d7eba6248b Merge "Remove the provider_vtab"
am: 2037c60de4

Change-Id: I691e88cc2b12ac142b694b83e5756df208677dc5
2019-03-20 11:01:35 -07:00
Tianjie Xu
3c61cd02cf Merge "Move apply_from_sdcard to fuse_sdcard_install" 2019-03-20 17:43:46 +00:00
Tianjie Xu
2037c60de4 Merge "Remove the provider_vtab" 2019-03-20 17:43:30 +00:00
xunchang
3cc23d5eac Move apply_from_sdcard to fuse_sdcard_install
Move the sdcard installation function and all helper functions to a
separate file, and drop the dependency on common.h.

In the future, we want to move these functions into the install class.

Bug: 127071893
Test: unit tests pass
Change-Id: I0b7f7cbf0b68918e638e13878ca28bfca367088a
2019-03-19 23:05:13 -07:00
Tianjie Xu
77a2ff12d7 Merge "Create a FuseDataProvider base class" am: eeea86f5fd
am: 4aa4bf5e19

Change-Id: I7fd63a6d23c2e17ffc4fe403c15df86b4e2c76da
2019-03-19 13:56:19 -07:00
Tianjie Xu
4aa4bf5e19 Merge "Create a FuseDataProvider base class"
am: eeea86f5fd

Change-Id: I9a7fc19e2897cb123a27a66f6a291a92b4653fe1
2019-03-19 13:52:17 -07:00
Tianjie Xu
eeea86f5fd Merge "Create a FuseDataProvider base class" 2019-03-19 20:34:58 +00:00
xunchang
5e6832a24d Remove the provider_vtab
It's no longer needed with the newly added FuseDataProvider class. Also
cleans up the parameters for run_fuse_sideload.

Bug: 127071893
Test: unit tests pass, run a sideload
Change-Id: I1ccd6798d187cfc6ac9f559ffb3f3edf08dad55c
2019-03-19 13:03:59 -07:00
xunchang
ea2912f187 Create a FuseDataProvider base class
The fuse data provider for adb/sdcard shares common code and structures.
This cl creates a FuseDataProvider base class and provides
implementations for adb and sdcard.

In the follow cls, we can kill the provider_vtab struct; and also add
another implementation to parse a block map file and provides data.

Test: unit tests pass, sideload a package, apply a package from sdcard
Change-Id: If8311666a52a2e3c0fbae0ee9688fa6d01e4ad09
2019-03-19 11:11:58 -07:00
Tao Bao
db9dabb826 Merge "Skip calling verify_package_compatibility when resuming." am: 98beb6414b
am: c4148b529a

Change-Id: I7f59a1eb51e83443b77f8ae61139af12149eaca8
2019-03-18 16:27:01 -07:00
Tao Bao
c4148b529a Merge "Skip calling verify_package_compatibility when resuming."
am: 98beb6414b

Change-Id: I32bc699f4f009bee490ff509bd8503d81766bf30
2019-03-18 16:21:59 -07:00
Treehugger Robot
98beb6414b Merge "Skip calling verify_package_compatibility when resuming." 2019-03-18 23:10:10 +00:00
Tao Bao
032403fb75 Skip calling verify_package_compatibility when resuming.
android::vintf::VintfObjectRecovery::CheckCompatibility() may try to
mount partitions in order to read the needed files, which may not be
feasible when resuming an interrupted update. This CL changes the logic
to enforce compatibility check on fresh install only.

Fix: 122864541
Test: Sideloading on taimen keeps working.
Test: Sideload a package by setting the retry bit. Check that
      compatibility check is skipped.
Change-Id: I018a0c802c85a0e84a6f2aac50630a677d64382a
2019-03-18 13:32:04 -07:00
Tianjie Xu
8a9a4a1e05 Merge "Implement FilePackage class" am: 698dc08561
am: cd73207f50

Change-Id: I622cf88e2c2f5a431e20499bb03537c0ad2f84e1
2019-03-15 11:03:07 -07:00
Tianjie Xu
cd73207f50 Merge "Implement FilePackage class"
am: 698dc08561

Change-Id: Ie64018611e6e36ca0e9ed1539152d425c65307b3
2019-03-15 10:55:04 -07:00
Tianjie Xu
698dc08561 Merge "Implement FilePackage class" 2019-03-15 17:40:52 +00:00
xunchang
37304f3cc9 Implement FilePackage class
This is another implementation of the Package class. And we will later
need it when reading the package from FUSE.

Bug: 127071893
Test: unit tests pass, sideload a file package on sailfish
Change-Id: I3de5d5ef60b29c8b73517d6de3498459d7d95975
2019-03-14 15:35:09 -07:00
Tao Bao
e6136dca31 Merge "Start charger at /system/bin/charger." am: d5bbec7750
am: 37b1520682

Change-Id: Ib6b2469720c0fda7c7a322b5c1d7e2a859da30c0
2019-03-14 10:10:12 -07:00
Tao Bao
37b1520682 Merge "Start charger at /system/bin/charger."
am: d5bbec7750

Change-Id: I01e153c07c33aefda9e94cde8aaed819cc52b31d
2019-03-14 10:05:17 -07:00
Tao Bao
d5bbec7750 Merge "Start charger at /system/bin/charger." 2019-03-14 16:56:29 +00:00
xunchang
d17b03a893 Merge "Update_verifier: Remove the support for legacy text format CareMap" am: 2e6fbfc31e
am: b2d56cb5ff

Change-Id: Iba669502179af12900093f855b4091bb8d528171
2019-03-14 04:15:07 -07:00
xunchang
b2d56cb5ff Merge "Update_verifier: Remove the support for legacy text format CareMap"
am: 2e6fbfc31e

Change-Id: If9cd6ba2cf97395d05575eeb842176bc6ab1e5bf
2019-03-14 04:10:07 -07:00
Treehugger Robot
2e6fbfc31e Merge "Update_verifier: Remove the support for legacy text format CareMap" 2019-03-14 11:00:30 +00:00
Tao Bao
9d35593f89 Merge "update_verifier: Add some missing #include's." am: 05f9a8e100
am: 6105a6fb6e

Change-Id: Ic511d7e2b7043905e3025493e7ad0cdb3fb05d62
2019-03-13 19:29:38 -07:00
Tao Bao
6105a6fb6e Merge "update_verifier: Add some missing #include's."
am: 05f9a8e100

Change-Id: Icd531dd8a88a4c49c288edf5449e93e81ddde203
2019-03-13 19:25:35 -07:00
Treehugger Robot
05f9a8e100 Merge "update_verifier: Add some missing #include's." 2019-03-14 02:10:18 +00:00
Tao Bao
c89c394b46 update_verifier: Add some missing #include's.
<stdint.h> for uint8_t; <stdlib.h> for free(3); <thread> for
std::thread.

Test: mmma -j bootable/recovery
Test: Run unit tests on crosshatch.
Change-Id: Id99b29b3d514f4e453983599c8b1aa6b0fab4ef8
2019-03-13 15:45:39 -07:00
xunchang
aaa6103ae7 Update_verifier: Remove the support for legacy text format CareMap
We have already switched to the protobuf format for new builds, and
the downgrade packages will require a data wipe. So it should be safe
to drop the support for text format.

This also helps to save the issue when users sideload a package with a
pending OTA, because the new CareMap contains the fingerprint of the
intended build.

Bug: 128536706
Test: unit tests pass, run update_verifier with legacy CareMap
Change-Id: I1c4d0e54ec591f16cc0a65dac76767725ff9e7c4
2019-03-13 15:24:13 -07:00
Tianjie Xu
aac4903a64 Merge "Use the package class for wipe packages" am: 2a33682ef5
am: 682cd4fbc4

Change-Id: I2f85ee25631805263032e67ec35511b28c06640d
2019-03-12 22:43:55 -07:00
Tianjie Xu
682cd4fbc4 Merge "Use the package class for wipe packages"
am: 2a33682ef5

Change-Id: I443b7120d47083bdc31412bc2d49dd61be4ba848
2019-03-12 21:54:03 -07:00
Tianjie Xu
2a33682ef5 Merge "Use the package class for wipe packages" 2019-03-13 02:11:47 +00:00