d2ce2ed5de1a7fade2628cd16ed032b08d845588 |
|
16-Mar-2018 |
Tao Bao <tbao@google.com> |
releasetools: Handle two edge cases in FinalizeMetadata(). In FinalizeMetadata and PropertyFiles, we need to reserve space between the calls to Compute() and Finalize(). We used to put a 10-byte placeholder, in the hope of covering the 'offset:length' space for the metadata entry, as well as the possible value changes in other entries. However, this could fail in two possible cases: (a) metadata entry itself has a large offset (e.g. staying near the end of a 1-GiB package, where the offset itself has 10-digit); or (b) the offsets for other entries change substantially due to entry reordering. Note that for case (b), it's space inefficient to always reserve 15-byte for _each_ token in the property-files. This CL handles both of these two cases. For (a), we bump up the 10-byte to 15-byte, which is large enough to cover a package size up to 10-digit number (i.e. ~9GiB) with a metadata entry size of 4-digit. All these 15-byte will be used for the metadata token alone. For (b), we add a fallback flow that would retry one more time, but based on the already signed package that has entries in desired order. Bug: 74210298 Test: python -m unittest test_ota_from_target_files Test: Generate aosp-bullhead full OTA with '--no_signing' flag. Change-Id: If20487602d2ad09b3797465c01972f2fa792a1f1 (cherry picked from commit 3bf8c650290b6fc1770128103ef9ff869ed8b5c7)
/build/make/tools/releasetools/test_utils.py
|
fc7e0e06b65dbe9d21c9a5edc19f4972c6341476 |
|
13-Feb-2018 |
Tao Bao <tbao@google.com> |
releasetools: Add unittest for common.GetSparseImage(). Add construct_sparse_image() to test_utils.py, which is a util function to create sparse images. The new tests also partially cover the recent changes that add 'incomplete' and 'uses_shard_blocks' tags. Test: python -m unittest test_common Change-Id: Ia15f5c4ad12423691216ebbad2c28f95c8427d7e
/build/make/tools/releasetools/test_utils.py
|
04e1f012ddcdb24b107c6955eac5d4218a54e78f |
|
04-Feb-2018 |
Tao Bao <tbao@google.com> |
releasetools: Fix an issue with pubkey extraction. When calling 'openssl x509 -pubkey' to extract the public key from a certificate, openssl 1.0 and 1.1 handle the '-out' parameter differently. openssl 1.0 doesn't write the output into the specified filename, which leads to the payload verification failure in check_ota_package_signature.VerifyAbOtaPayload(). This CL addresses the issue by always collecting the output from stdout instead. It also refactors the two copies into common.ExtractPublicKey(), and adds unittest. get_testdata_dir() is moved into test_utils.py that holds common utils for running the unittests. Bug: 72884343 Test: python -m unittest test_common Test: python -m unittest test_ota_from_target_files Test: Run sign_target_files_apks with '--replace_ota_keys' on marlin target_files zip. Check the payload pubkey replacement. Test: Trigger the tests with forrest, and tests no longer fail on machines with openssl 1.0.1. Change-Id: Ib0389b360f064053e9aa7cc0546d718e7b23003b
/build/make/tools/releasetools/test_utils.py
|