Commit Graph

4255 Commits

Author SHA1 Message Date
Elliott Hughes
38f9a845ca Merge \\"Remove --no_prereq flag from OTA script.\\" am: bc450fc9c8
am: bd30d5fa16

Change-Id: Ic083c9b038bd5a31f9b52ebd6fc498e0353239ca
2016-06-21 00:08:23 +00:00
Elliott Hughes
bd30d5fa16 Merge \"Remove --no_prereq flag from OTA script.\"
am: bc450fc9c8

Change-Id: I35a4400afc829bf2b269135fa99f00979affd3bd
2016-06-21 00:05:51 +00:00
Elliott Hughes
d8a52f9785 Remove --no_prereq flag from OTA script.
Bug: http://b/29393071
Test: aosp_flounder "make dist"
Change-Id: I9ec85210e118f7e525291e31ab4081a2bd10f998
2016-06-20 14:44:18 -07:00
Alex Klyubin
7f58c5d8f0 Merge \\"Let caller handle NoSuchAlgorithmException.\\" am: 8427083a26
am: a1daa9d537

Change-Id: I8d9677bdeb39d69fa1631a163229fa2b3a383d1d
2016-06-17 20:49:43 +00:00
Alex Klyubin
a1daa9d537 Merge \"Let caller handle NoSuchAlgorithmException.\"
am: 8427083a26

Change-Id: I447c194f8f83cdec00760889f8c8f9278daf0ead
2016-06-17 20:47:02 +00:00
Alex Klyubin
cbb41d2717 Merge \\"maxSdkVersion can be specified for APK verification.\\" am: 2ea2e205f4
am: d3ffd9241c

Change-Id: If4dea9509b303386ccb8ae181cd98215055e9fee
2016-06-17 19:24:41 +00:00
Alex Klyubin
d3ffd9241c Merge \"maxSdkVersion can be specified for APK verification.\"
am: 2ea2e205f4

Change-Id: I95cb3936c1b60a26ad4002fcb6dc551f58c0ccbd
2016-06-17 19:22:04 +00:00
Alex Klyubin
05f87de7a3 Let caller handle NoSuchAlgorithmException.
This surfaces relevant NoSuchAlgorithmExceptions to the caller instead
of rethrowing as other exception types. Some setups need to be able to
distringuish issues due to their own misconfiguration
(required crypto algorithm mising -- NoSuchAlgorithmException) from
issues with the APK being signed or verified.

Bug: 27461702
Change-Id: I993f73edb29b2cd4cc485734a89a924ec357ef19
2016-06-17 12:15:32 -07:00
Alex Klyubin
f31ced2e10 maxSdkVersion can be specified for APK verification.
This enables verification of APKs which are served to a specific
range of Android platform versions, or to replicate behavior of
particular platform versions.

Bug: 27461702
Change-Id: I44ab4c99419eb97d72c4ccd109137fe1efda577d
2016-06-17 10:02:47 -07:00
Alex Klyubin
23bd7d68f8 Merge \\"Reject PKCS#7 SignerInfo with unsupported parameters.\\" am: 21213cff9c
am: 88297dac19

Change-Id: I189a0d980ec51e48237e19670bcd863fdfbd909a
2016-06-17 16:09:19 +00:00
Alex Klyubin
88297dac19 Merge \"Reject PKCS#7 SignerInfo with unsupported parameters.\"
am: 21213cff9c

Change-Id: I9bec518914d7e2eff978dc7d189eb5641148f5ad
2016-06-17 16:06:31 +00:00
Alex Klyubin
21213cff9c Merge "Reject PKCS#7 SignerInfo with unsupported parameters." 2016-06-17 15:56:51 +00:00
Elliott Hughes
f66d3e61f8 Merge \\"Remove obsolete MTD support from the releasetools scripts.\\" am: 63fc2b6766
am: ece6ff869c

Change-Id: I4b5f5b6a622a2fbb996861e8832e1fc1d12e6bf4
2016-06-17 05:02:05 +00:00
Elliott Hughes
ece6ff869c Merge \"Remove obsolete MTD support from the releasetools scripts.\"
am: 63fc2b6766

Change-Id: I26ed21479ab52d535bcc99b13e55a1476a02f76c
2016-06-17 04:59:26 +00:00
Treehugger Robot
63fc2b6766 Merge "Remove obsolete MTD support from the releasetools scripts." 2016-06-17 04:47:47 +00:00
Elliott Hughes
305b088729 Remove obsolete MTD support from the releasetools scripts.
Bug: http://b/29250988
Change-Id: I653dc306485c6b35411840b53211d42eb6d19e34
2016-06-16 20:48:47 -07:00
Dan Willemsen
947c5715f8 Merge \\"Remove build/libs\\" am: fcb8a89c3b
am: 3c48705b9b

Change-Id: I208cf823efc29610c2978719eed5ca44a16c6454
2016-06-16 23:00:41 +00:00
Dan Willemsen
3c48705b9b Merge \"Remove build/libs\"
am: fcb8a89c3b

Change-Id: Ib52f800fe84b7c3c8d060196713bd5677a9f791c
2016-06-16 22:58:01 +00:00
Dan Willemsen
eb4431595c Remove build/libs
There's only a single library, libhost, and it's only used by acp and
atree in build/tools, move it there.

Bug: 28001743
Change-Id: Ie404d2793710de4e265a6fa95d462c32d4042623
2016-06-16 14:52:47 -07:00
Alex Klyubin
d7236da153 Reject PKCS#7 SignerInfo with unsupported parameters.
This addresses the TODO to mimic the behavior of Android when
verifying APK JAR signatures. Unfortunately, the behavior of Android
kept changing in interesting ways between different platform versions.
This is hard-coded as a big lookup.

Bug: 27461702
Change-Id: I49bc181ee05f774ef8ee041af870385b35212c23
2016-06-16 12:44:36 -07:00
Mohamad Ayyash
3336f9ae67 Merge \"squashfs: make disable-4k-align a parameter\" into nyc-dev
am: 8ebbc4e7e2

Change-Id: Ia5c59b7bfc7f2b25fa9b13c2ce52c1bd75ccecce
2016-06-16 16:39:39 +00:00
Mohamad Ayyash
8ebbc4e7e2 Merge "squashfs: make disable-4k-align a parameter" into nyc-dev 2016-06-16 16:24:34 +00:00
Tao Bao
7e5205f929 Merge \\"Support wiping userdata for A/B OTA packages.\\" am: b727d5bb32
am: 4f2b227fae

Change-Id: Icf157b44ecda14a2c289d4826e5a55af67e805d5
2016-06-16 15:53:20 +00:00
Tao Bao
4f2b227fae Merge \"Support wiping userdata for A/B OTA packages.\"
am: b727d5bb32

Change-Id: I9d6e67c5e71b025f7cb9119b45f05c51f2cfd340
2016-06-16 15:50:47 +00:00
Tao Bao
7c5dc578b3 Support wiping userdata for A/B OTA packages.
update_engine now accepts POWERWASH=1 to schedule a factory reset in
the post-install phase. Hook up with the --wipe_user_data flag in the
OTA script.

Bug: 28700985
Change-Id: Ie73876a61db90d124d2af588d674757376e9aabc
(cherry picked from commit 38ca0be399)
2016-06-15 23:19:52 -07:00
Mohamad Ayyash
1b6d3485fc squashfs: make disable-4k-align a parameter
BUG: 29388879
Change-Id: I121d2b76db5fb269e2f7152abb2e78098437a0d5
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2016-06-15 16:37:21 -07:00
Alex Klyubin
37a8cc5f51 Merge \\"Don\\'t depend on Bouncy Castle.\\" am: 1fb96c3ff5
am: 3b36c7960d

Change-Id: Ib33cb3a8aaa94df96731a16f20a7ef5415f42a3f
2016-06-15 20:48:11 +00:00
Alex Klyubin
3b36c7960d Merge \"Don\'t depend on Bouncy Castle.\"
am: 1fb96c3ff5

Change-Id: I04401121eb3ad2e026268f37ffe9d19d95478325
2016-06-15 20:43:46 +00:00
Alex Klyubin
1fb96c3ff5 Merge "Don't depend on Bouncy Castle." 2016-06-15 20:32:35 +00:00
Mohamad Ayyash
52cef0d4f0 Merge \"Pass block_list param to mksquashfs\" into nyc-dev
am: 3bddf74752

Change-Id: I1679c255b297a36bc10b50ff9d6214c92d763489
2016-06-15 16:12:55 +00:00
Tao Bao
46ff838582 Merge \"releasetools: Disable using imgdiff for squashfs.\" into nyc-dev
am: a8d3741f1a

Change-Id: If8392b72a865f53449a1d5ca7b52de7697c4b412
2016-06-15 16:12:52 +00:00
Mohamad Ayyash
3bddf74752 Merge "Pass block_list param to mksquashfs" into nyc-dev 2016-06-15 16:03:08 +00:00
Alex Klyubin
5e8b2c9207 Merge \"Faster and cleaner way to obtain UTF-8 encoded form.\"
am: 98b4f07dfc

Change-Id: Ic5e071d01ea0fd9a091097e3659f16c0b71f5ae6
2016-06-14 22:41:02 +00:00
Treehugger Robot
98b4f07dfc Merge "Faster and cleaner way to obtain UTF-8 encoded form." 2016-06-14 22:37:10 +00:00
Dan Willemsen
ffb643e487 Merge \"Use more prebuilt build-tools\"
am: 6c0c720389

Change-Id: Icb67388bf084f2de872e9df8747b70cbde42b5f9
2016-06-14 22:28:02 +00:00
Treehugger Robot
6c0c720389 Merge "Use more prebuilt build-tools" 2016-06-14 22:14:07 +00:00
Alex Klyubin
d4761a19b8 Faster and cleaner way to obtain UTF-8 encoded form.
Instead of specifying character encoding by name, the faster, cleaner,
and safer way is to use StandardCharsets.UTF_8.

Bug: 27461702
Change-Id: I897284d3ceeb44a21cc74de09a9b25f6aec8c205
2016-06-14 14:18:21 -07:00
Alex Klyubin
d1af20e103 Merge \"APK JAR signature verifier.\"
am: cf89865b95

Change-Id: If54865fdf6d290ab38a3f6a0f3eec2142c55e8d0
2016-06-14 21:03:04 +00:00
Alex Klyubin
cf89865b95 Merge "APK JAR signature verifier." 2016-06-14 20:56:28 +00:00
Dan Willemsen
7c2d228701 Use more prebuilt build-tools
For acp, we've been using an old prebuilt in prebuilts/sdk, but it's not
part of the SDK. Instead, we'll use a prebuilt in the build-tools
repository.

For ijar, we've been using the host libstdc++ to workaround the lack of
libc++ on some unbundled branches. Instead, use a prebuilt that can use
libc++.

For ziptime, we've been disabling it on unbundled branches, due to the
lack of libc++. Instead, use a prebuilt version of ziptime that can use
the prebuilt libc++.

Change-Id: If80f845ea06f76e3fe6765964e77c864eaf303d0
2016-06-14 13:50:38 -07:00
Dan Willemsen
38ff3ae039 Merge \"Add a libc++ version of ijar for prebuilt use\"
am: 06f3e8349f

Change-Id: I284c7c85de71551e608e4210ab71b17e36229e09
2016-06-14 20:04:21 +00:00
Alex Klyubin
7f770c0963 Don't depend on Bouncy Castle.
This switches PKCS#7 SignedData generation code from Bouncy Castle to
OpenJDK's proprietary internal API. This is to avoid depending on a
huge library that's not really needed. In the longer term, it's best
to add our own implementation of PKCS#7 SignedData building, parsing,
and verification. This will give the code more power to mimic what the
Android platform does.

Bug: 27461702
Change-Id: I29f1ceea1293e35424fde69c0f2969d551345100
2016-06-14 11:20:49 -07:00
Dan Willemsen
e19d451f49 Add a libc++ version of ijar for prebuilt use
I'll remove the old version once we've moved over to the prebuilts.

Change-Id: Ifd8d396f8b653abbe958cd34e69831a6ca378649
2016-06-14 10:30:06 -07:00
Alex Klyubin
8b47001e9b APK JAR signature verifier.
This adds JAR signature verification to ApkVerifier.

Bug: 27461702
Change-Id: Id2b72bea7869be66268f6bc1387e1559ee02ff9d
2016-06-14 10:28:36 -07:00
Alex Klyubin
346a716b87 Merge \\"More general OutputStreamDataSink.\\" am: dca955a9bd
am: 58c8559979

Change-Id: I1caf9f4ae2650dfadcb003315c12a30a3288fd4f
2016-06-13 20:06:33 +00:00
Alex Klyubin
dca955a9bd Merge "More general OutputStreamDataSink." 2016-06-13 19:49:01 +00:00
Alex Klyubin
876080b437 Merge \\"Fix inefficiency in APK entry data alignment.\\" am: a85e0aa883
am: 7fe6ba2197

Change-Id: I97934b2a4cdfabb463f5012149ef28a15768c321
2016-06-13 18:26:05 +00:00
Alex Klyubin
a85e0aa883 Merge "Fix inefficiency in APK entry data alignment." 2016-06-13 18:14:18 +00:00
Alex Klyubin
e54b2753e4 More general OutputStreamDataSink.
This replaces the less general DataSink which outputs into a
ByteArrayOutputStream with a more general DataSink which outputs into
an OutputStream.

Bug: 27461702
Change-Id: I9467f38c41f586b71f35edb3602fd6e57153184f
2016-06-13 10:19:26 -07:00
Tao Bao
293fd135c7 releasetools: Disable using imgdiff for squashfs.
We use imgdiff to handle files in zip format (e.g. jar/zip/apk) for
higher compression ratio.

For system/vendor in squashfs, a) all files are compressed in LZ4
format; b) we use 4096-byte block size in their sparse images, but the
files in squashfs may not be laid out as 4K-aligned. So the blocks for
a given file as listed in block map may not form a valid zip file, which
may fail the patch generation with imgdiff.

Disable using imgdiff for squashfs images, and use bsdiff instead.

Bug: 22322817
Change-Id: Ie76aa4cece5c9d38cb1d1a34c505a4a8f37512d3
2016-06-13 10:04:23 -07:00