Commit Graph

6724 Commits

Author SHA1 Message Date
Tianjie Xu 93cf8bb309 Merge "Load X509 keys from ziparchive" am: a39b2baf12
am: 81ef25aada

Change-Id: I556873f4ce2c68d6265070dc1dce2972760f9397
2018-10-18 17:59:17 -07:00
Tianjie Xu 81ef25aada Merge "Load X509 keys from ziparchive"
am: a39b2baf12

Change-Id: I59164b7da1db44e3d7e79e095334f16552d873a0
2018-10-18 17:55:38 -07:00
Tianjie Xu a39b2baf12 Merge "Load X509 keys from ziparchive" 2018-10-19 00:01:01 +00:00
Tianjie Xu 0dd9685311 Load X509 keys from ziparchive
Add a function to parse the zip archive and load the certificate from
all the zip entries with the suffix "x509.pem".

Bug: 116655889
Test: unittests pass
Change-Id: I93bf7aef7462c0623e89fc2d466d7af2d3a758bc
2018-10-18 11:42:01 -07:00
Tao Bao 6abcee3efe Merge "uncrypt: fix ioctl direction for F2FS_IOC_GET_PIN_FILE" am: b5564f37be
am: c9649eba5c

Change-Id: Ie6bc5830efa045b061f95f8bf537e9a12304cc72
2018-10-15 21:27:35 -07:00
Tao Bao c9649eba5c Merge "uncrypt: fix ioctl direction for F2FS_IOC_GET_PIN_FILE"
am: b5564f37be

Change-Id: Iaceefb7360147954b4dd3a2eef1a0c8095236c8b
2018-10-15 18:28:38 -07:00
Tao Bao b5564f37be Merge "uncrypt: fix ioctl direction for F2FS_IOC_GET_PIN_FILE" 2018-10-16 01:03:43 +00:00
Tianjie Xu d8009938a3 Merge "Implement the graphic menus" am: 06b1a89d72
am: 14177116ca

Change-Id: I12b1d7386f8dda5dba7605ee7a597c31ae4d883b
2018-10-13 19:03:17 -07:00
Tianjie Xu 14177116ca Merge "Implement the graphic menus"
am: 06b1a89d72

Change-Id: Ia4dfbaa5847dd717801080927fdd39e8596b812e
2018-10-13 18:56:15 -07:00
Tianjie Xu 06b1a89d72 Merge "Implement the graphic menus" 2018-10-14 01:47:49 +00:00
Tianjie Xu 962da673ff Merge "Use a host java program to generate the background text" am: e4e929ce53
am: a74581a635

Change-Id: I281541e88d0157935ee75eb8e7f1ffdbf3cca0f1
2018-10-12 22:37:00 -07:00
Tianjie Xu a74581a635 Merge "Use a host java program to generate the background text"
am: e4e929ce53

Change-Id: Ia2487ed1871da48781820ce5fa6a1ceced06b4e9
2018-10-12 22:30:07 -07:00
Tianjie Xu e4e929ce53 Merge "Use a host java program to generate the background text" 2018-10-13 05:17:58 +00:00
Tianjie Xu 66dbf63080 Implement the graphic menus
As we plan to show localized rescue party dialogs under recovery mode
with pre-generated images, it becomes necessary to show the menu headers
and items with images.

This cl converts the menu class to a interface and derived TextMenu &
GraphicMenu classes. And the GraphicMenu uses GRSurfaces* as the menu header
and a list of GRSurfaces* as menu items.

Moreover, factor out the Draw* functions in the ScreenUI into a separate
DrawInterface. Therefore, the Menu class can access these draw functions and
use them to implement the DrawHeaders & DrawItems neatly.

Bug: 74397117
Test: unittests pass, boot into recovery and check menu
Change-Id: I95cee30f3e5eb666eb6fbcdfc873a7260fc177c1
2018-10-12 17:18:50 -07:00
Tianjie Xu 721f6792b4 Use a host java program to generate the background text
This program uses java.awt.Graphics2D to generate the background text
files used under recovery mode. And thus we don't need to do the manual
work by running emulators with different dpi.

The program takes the following parameters:
1. imageWidth: The number of pixels per line; and the text strings will be
   wrapped accordingly.
2. textName: The description of the text string, e.g. "recovery_erasing",
   "recovery_installing_security"
3. fontDirectory: The directory that contains all the support .ttf | .ttc
   files, e.g. $OUT/system/fonts/
4. resourceDirectory: The resource directory that contains all the translated
   strings in xml format, e.g. bootable/recovery/tools/recovery_l10n/res/
5. outputFilename: Path to the generated image.

Bug: 74397117
Test: checks the generated png files
Change-Id: Ia5506a0a4f5da1ebfd7090345eb246f44b265075
2018-10-12 15:46:32 -07:00
Tianjie Xu 403356117f Merge "Add function to load the key from x509.pem file" am: ff89e0004f
am: 3e4e6b3d68

Change-Id: I561b492224b311a09054329697e60111be35308b
2018-10-12 13:46:55 -07:00
Tianjie Xu 3e4e6b3d68 Merge "Add function to load the key from x509.pem file"
am: ff89e0004f

Change-Id: I65c130a44de44406fc53e7480c186859ba6ce048
2018-10-12 13:40:17 -07:00
Tianjie Xu ff89e0004f Merge "Add function to load the key from x509.pem file" 2018-10-12 20:24:48 +00:00
Tianjie Xu 8256698023 Add function to load the key from x509.pem file
We used to convert a pem certificate file to some intermediate plain
text format; and parse that format under recovery mode. This is
uncessary since the x509.pem can be directly parsed with openssl
functions.

Add the function to load the public key from one x509.pem file and
corresponding unit tests. And we will add more cls to extract the pem
files from otacert.zip later.

Bug: 116655889
Test: verify package with 5 supported certficate versions
Change-Id: Ibc6c696c534567f005db75143cc4ef8d4bdea6a0
2018-10-12 11:12:08 -07:00
Mark Salyzyn 0d9e379cd6 Merge "recovery: deprecate check for ro.build.system_root_image" am: a67e9424c3
am: 9320e18f5d

Change-Id: Ie4ac93e57b0dad4e52fd9172375c3a158f33ca3f
2018-10-11 12:26:21 -07:00
Mark Salyzyn 9320e18f5d Merge "recovery: deprecate check for ro.build.system_root_image"
am: a67e9424c3

Change-Id: If63275e0112889b25668ad29b0429b4b3c27dfb2
2018-10-11 12:22:18 -07:00
Treehugger Robot a67e9424c3 Merge "recovery: deprecate check for ro.build.system_root_image" 2018-10-11 19:04:29 +00:00
Mark Salyzyn fdea242a91 recovery: deprecate check for ro.build.system_root_image
If there is a "/system" in the fstab, then can not be a
system as root image.

Test: compile
Bug: 109821005
Change-Id: I2c852dcbdcf6de437d39039937799feeef949516
2018-10-11 09:04:56 -07:00
Tom Cherry 5deab15122 Merge "Use only signed/unsigned numbers with ParseInt/ParseUint respectively" am: 1a4d234daa
am: 70f3689a70

Change-Id: I81b1e5607314be9ddfc4cf9c49648bb6f7fd2374
2018-10-07 10:50:55 -07:00
Tom Cherry 70f3689a70 Merge "Use only signed/unsigned numbers with ParseInt/ParseUint respectively"
am: 1a4d234daa

Change-Id: I35a0d3de7dfafe382fbe203c3e7d74c1ea09ef26
2018-10-07 10:43:47 -07:00
Tom Cherry 1a4d234daa Merge "Use only signed/unsigned numbers with ParseInt/ParseUint respectively" 2018-10-07 17:31:34 +00:00
Tianjie Xu edb3c69377 Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66-nyc-mr2-dev" into oc-dev am: 7f1b33e94c am: fc311bb706 am: 31e8b44c9e
am: ad81bd64c2

Change-Id: Ib688e3650ec98e7ac8732b4b98ef732dda19ff9c
2018-10-05 15:24:28 -07:00
Tianjie Xu 26d79bd03c Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66" into oc-dev am: 2c28ae3933 am: d142b28c2b am: a5860449c1
am: 3c46516f9e

Change-Id: I814a8a8b52084dcbcfefa5960a827a3d43fb7f54
2018-10-05 15:24:08 -07:00
Tianjie Xu 70d41c5181 [automerger skipped] DO NOT MERGE: Initialize the ZipArchive to zero before parsing skipped: e830a51351 skipped: 244aba4412 skipped: 9216bccd16 skipped: 98acdb9fce skipped: bc42a6b0eb am: 35332d7c62 am: 6b13f89f15 am: 274945cb5b -s ours
am: 71b2447163

Change-Id: I4c58e2c29d3d791f91bfd1aee91b5571d8fe9de9
2018-10-05 15:23:45 -07:00
Tianjie Xu ad81bd64c2 Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66-nyc-mr2-dev" into oc-dev am: 7f1b33e94c am: fc311bb706
am: 31e8b44c9e

Change-Id: Ic5ced424323e58fe3f76651062f31ec158ae6805
2018-10-05 15:19:10 -07:00
Tianjie Xu 3c46516f9e Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66" into oc-dev am: 2c28ae3933 am: d142b28c2b
am: a5860449c1

Change-Id: Ic2735740442410b5246eef6de3481b933f725416
2018-10-05 15:18:52 -07:00
Tianjie Xu 71b2447163 [automerger skipped] DO NOT MERGE: Initialize the ZipArchive to zero before parsing skipped: e830a51351 skipped: 244aba4412 skipped: 9216bccd16 skipped: 98acdb9fce skipped: bc42a6b0eb am: 35332d7c62 am: 6b13f89f15
am: 274945cb5b  -s ours

Change-Id: Ic5569d0abf7674ca5bee1b3df01170e69b6a0c1d
2018-10-05 15:18:31 -07:00
Tianjie Xu 31e8b44c9e Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66-nyc-mr2-dev" into oc-dev am: 7f1b33e94c
am: fc311bb706

Change-Id: I224a6d281299afecbd3503270771d6fe3bfa4fe5
2018-10-05 15:14:12 -07:00
Tianjie Xu 0f635dd33f Merge "Compare the fingerprint before reading the partition" am: 81da8b12d2
am: 1cfe8098ba

Change-Id: Ic85d382111f5d2d5c80f55d71b477a2083a394d4
2018-10-05 15:13:57 -07:00
Tianjie Xu a5860449c1 Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66" into oc-dev am: 2c28ae3933
am: d142b28c2b

Change-Id: If12b37fbe0ee9934b46eedc5332981b63e5774cc
2018-10-05 15:13:56 -07:00
Tianjie Xu 274945cb5b [automerger skipped] DO NOT MERGE: Initialize the ZipArchive to zero before parsing skipped: e830a51351 skipped: 244aba4412 skipped: 9216bccd16 skipped: 98acdb9fce skipped: bc42a6b0eb am: 35332d7c62
am: 6b13f89f15

Change-Id: Iecb9ede3a76664e15fc2b533b20571c8052ed4ba
2018-10-05 15:13:37 -07:00
Tianjie Xu fc311bb706 Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66-nyc-mr2-dev" into oc-dev
am: 7f1b33e94c

Change-Id: I81299bf856a9738fdfc915cc929abdf05952dfd2
2018-10-05 15:09:18 -07:00
Tianjie Xu d142b28c2b Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66" into oc-dev
am: 2c28ae3933

Change-Id: I265f4af4039125793e90fc034c3dfc87eb6ad227
2018-10-05 15:08:58 -07:00
Tianjie Xu 1cfe8098ba Merge "Compare the fingerprint before reading the partition"
am: 81da8b12d2

Change-Id: I8a62d55b974ecfb0a3715459ed10e2c9fd6a2c75
2018-10-05 15:08:54 -07:00
Tianjie Xu 6b13f89f15 [automerger skipped] DO NOT MERGE: Initialize the ZipArchive to zero before parsing skipped: e830a51351 skipped: 244aba4412 skipped: 9216bccd16 skipped: 98acdb9fce skipped: bc42a6b0eb
am: 35332d7c62

Change-Id: I54660a0731148f1ebbe74d4412d333a9f956dcb1
2018-10-05 15:08:31 -07:00
Tianjie Xu 7f1b33e94c Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66-nyc-mr2-dev" into oc-dev
* changes:
  [automerger skipped] DO NOT MERGE: Initialize the ZipArchive to zero before parsing skipped: 2050579b79
  DO NOT MERGE: Initialize the ZipArchive to zero before parsing
2018-10-05 21:58:04 +00:00
Tianjie Xu 2c28ae3933 Merge changes from topic "am-88276146-0d74-467c-8b81-8d471d84ce66" into oc-dev
* changes:
  [automerger skipped] DO NOT MERGE: Initialize the ZipArchive to zero before parsing skipped: f39f139103 skipped: cce521e439 skipped: 4a53559e98
  [automerger skipped] DO NOT MERGE: Initialize the ZipArchive to zero before parsing skipped: f39f139103 skipped: cce521e439
  [automerger skipped] DO NOT MERGE: Initialize the ZipArchive to zero before parsing skipped: f39f139103
  DO NOT MERGE: Initialize the ZipArchive to zero before parsing
2018-10-05 21:57:50 +00:00
Tianjie Xu 81da8b12d2 Merge "Compare the fingerprint before reading the partition" 2018-10-05 21:56:49 +00:00
Tom Cherry 04e4afb9cf Use only signed/unsigned numbers with ParseInt/ParseUint respectively
Test: build
Change-Id: If56b33c9c420237ff441779ba1dbebffd9dae8e3
2018-10-05 14:37:13 -07:00
Tianjie Xu 9eed65e1db Compare the fingerprint before reading the partition
The update_verifier now compares the fingerprint of a partition before
performing the blocks read. If the fingerprint of the current system property
mismatches the one embedded in the care_map, verification of this partition
will be skipped. This is useful for the possible system only updates in the
future.

Bug: 114778109
Test: unit tests pass
Change-Id: Iea309148a05109b5810dfb533d94260d77ab8540
2018-10-04 16:42:57 -07:00
Android Build Merger (Role) 7969be6037 [automerger skipped] DO NOT MERGE: Initialize the ZipArchive to zero before parsing skipped: 2050579b79
Change-Id: Ie86cf384b4c16fdee4e26e23016ed2ebe99f8a64
2018-10-04 21:11:13 +00:00
Tianjie Xu 2050579b79 DO NOT MERGE: Initialize the ZipArchive to zero before parsing
The fields of the ZipArchive on the stack are not initialized before we
call libminzip to parse the zip file. As a result, some random memory
location is freed unintentionally when we close the ZipArchive upon
parsing failures.

Bug: 35385357
Test: recompile and run the poc with asan.
Change-Id: I7e7f8ab4816c84a158af7389e1a889f8fc65f079
2018-10-04 21:11:11 +00:00
Jayant Chowdhary 5fd33d7414 Merge "Reland: "recovery_test_component: Add libbinderthreadstate as static dependency."" am: f89067ab97
am: 6ab02efb27

Change-Id: I0c5c1539b98441c0d5d987d88670b686b146571b
2018-10-02 14:35:29 -07:00
Jayant Chowdhary 6ab02efb27 Merge "Reland: "recovery_test_component: Add libbinderthreadstate as static dependency.""
am: f89067ab97

Change-Id: I893141a2b491fb398ab1e2a6fd966401ab06cfd9
2018-10-02 13:56:35 -07:00
Jayant Chowdhary f89067ab97 Merge "Reland: "recovery_test_component: Add libbinderthreadstate as static dependency."" 2018-10-02 20:14:37 +00:00