summaryrefslogtreecommitdiff
path: root/uncrypt
AgeCommit message (Collapse)Author
2021-02-14[LSC] Add LOCAL_LICENSE_KINDS to bootable/recoveryBob Badour
Added SPDX-license-identifier-Apache-2.0 to: applypatch/Android.bp bootloader_message/Android.bp edify/Android.bp fuse_sideload/Android.bp install/Android.bp minadbd/Android.bp minui/Android.bp otautil/Android.bp recovery_ui/Android.bp recovery_utils/Android.bp tests/Android.bp tools/image_generator/Android.bp tools/recovery_l10n/Android.bp uncrypt/Android.bp update_verifier/Android.bp updater/Android.bp updater/Android.mk updater_sample/Android.bp updater_sample/tests/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT SPDX-license-identifier-OFL to: Android.bp Android.mk Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I3da761b525452838977297f773974000d4de7bd6
2020-04-23Fix clang-analyzer-core.uninitialized.Branch warningsChih-Hung Hsieh
Bug: 154760495 Test: make with WITH_TIDY=1 and DEFAULT_GLOBAL_TIDY_CHECKS=clang-analyzer-core.uninitialized.Branch Change-Id: I03af58f9491f4abcface9abb12c80a35e0f97a40
2019-01-31Add android::fs_mgr namespace for new Fstab codeTom Cherry
Also add libfstab dependencies where needed. Previously the `typedef struct FstabEntry Volume;` line served to both define a `struct FstabEntry` as well as alias Volume to it. With the new namespace for android::fs_mgr::FstabEntry, `struct FstabEntry` isn't compatible anymore, so we need to alias Volume to the real android::fs_mgr::FstabEntry. In doing so, we need to include <fstab/fstab.h> and this requires libfstab as a library, which a few modules did not have before. Test: treehugger Change-Id: I655209a0efb304b3e0568db0748bd5cf7cecbdb7
2018-12-05uncrypt: Fix the comparison in FindBlockDevice().Tao Bao
Previously it considered a match if the given path (i.e. path to an update package) fully equals to a mount_point. For example, `uncrypt /data block.map` or `uncrypt /vendor block.map` would exit successfully, without producing a block map. Test: `uncrypt /path/to/package.zip block.map` Test: `uncrypt /vendor block.map` fails. Change-Id: Id946ab1c0b158b623013f89463cbb1960141d8b5
2018-12-05uncrypt: Replace a few C-strings with std::string.Tao Bao
Also use android::base::{Dirname,Realpath,StartsWith}. Test: Run uncrypt on device (`uncrypt package block.map`). Change-Id: Ifacd01d6b35d85ea4afcb93a0dbc0235bb765a75
2018-12-04Move some small users of fstab to new C++ FstabTom Cherry
Bug: 62292478 Test: tree-hugger Change-Id: Ie2cc10e5168ef3b9dcc42f88e67a1ccd1175fcc5
2018-11-21uncrypt: write permission for f2fs_pin_fileJaegeuk Kim
We need a write permission to set a flag in the file. Change-Id: I4896ecbe0fc04374e01d006b1c8acdb932e5d16d Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2018-09-12uncrypt: fix ioctl direction for F2FS_IOC_GET_PIN_FILEDevin Kim
The direction should be set as READ, not WRITE Change-Id: Id695276f25c1d75bca3a02d87e4a59623e95cb00
2018-08-22uncrypt: Depend on commonly used shared libs.Tao Bao
We already have these shared libraries on device. And `uncrypt` doesn't need to be statically linked (it wasn't, even prior to this change). With this change, the size of uncrypt goes down from 139KiB to 33KiB (aosp_marlin-userdebug). Test: Build and flash on marlin. Trigger a factory reset (which calls `uncrypt` to set up the BCB). Change-Id: I77e3c82e8ce3734019da75c48928d881cb7ef0f0
2018-08-01uncrypt: fix f2fs ioctl argument for pin_fileJaegeuk Kim
This patch fixes missing f2fs ioctl call. Change-Id: Id840b76b9d5c580041aaee4501ac8e69fc3fb818 Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2018-03-22f2fs: support f2fs by setting unmovable bit for package fileJaegeuk Kim
This enables to use uncrypt for f2fs update-on-reboot. It requires kernel patch named: "f2fs: add an ioctl to disable GC for specific file" If any operation fails during uncrypt, please delete package file as soon as possible, and create the file again to move forward. IOWs, don't leave the package file for a long time. Bug: 70309376 Bug: 30170612 Change-Id: I3b4233e7da756f107be35364521699deaf2e7139 Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2017-11-09uncrypt: Move to Soong.Tao Bao
Test: mmma -j bootable/recovery Change-Id: I405f2a70f51904c02c49a287c23cbc115a4c5132
2017-10-09Revert "Revert "Move error_code.h into otautil.""Tao Bao
This reverts commit 26436d6d6010d5323349af7e119ff8f34f85c40c to re-land "Move error_code.h into otautil.". This way it stops requiring relative path ".." in LOCAL_C_INCLUDES (uncrypt and edify). Soong doesn't accept non-local ".." in "local_include_dirs". This CL needs to land with device-specific module changes (e.g. adding the dependency on libotautil). Test: lunch aosp_{angler,bullhead,dragon,fugu,sailfish}-userdebug; mmma bootable/recovery Change-Id: If193241801af2dae73eccd31ce57cd2b81c9fd96
2017-10-05Revert "Move error_code.h into otautil."Tao Bao
This reverts commit 623fe7e701d5d0fb17082d1ced14498af1b44e5b. Reason for revert: Need to address device-specific modules. Change-Id: Ib7a4191e7f193dfff49b02d3de76dda856800251
2017-10-04Move error_code.h into otautil.Tao Bao
This way it stops requiring relative path ".." in LOCAL_C_INCLUDES (uncrypt and edify). Soong doesn't accept non-local ".." in "local_include_dirs". Test: mmma bootable/recovery Change-Id: Ia4649789cef2aaeb2785483660e9ea5a8b389c62
2017-08-28Turn on -Wall for recovery modulesTianjie Xu
Turn on -Wall for all modules. Also remove the obsolete file_cmp() in apply_patch test and now() in wear_ui. The only exception is lib_edify due to the unused functions in the intermediate cpp files generated from the lex files. It will be handled in a seperate CL. Bug: 64939312 Test: mma, unit tests pass Change-Id: Ic53f76b60b6401ab20db3d98130d674c08e3702f
2017-07-27Merge "Add more specific error codes for uncrypt failures"Tianjie Xu
am: 3ff8a5e2a4 Change-Id: Iee5b01f59b2e0532232393c0133f0bd3b11d9ccd
2017-07-27Add more specific error codes for uncrypt failuresTianjie Xu
Add the error codes when we fail to find the realpath, or fail to find the block_device. Bug: 63737759 Test: mma Change-Id: Icf15368ad3e7345c747d9083da2f049cc8acd571
2017-07-25Merge "Remove LOCAL_CLANG"Tao Bao
am: 231c627a55 Change-Id: Idfd30503b9ebd8e3d59af7ab703911a500ad6c09
2017-07-25Remove LOCAL_CLANGLennart Wieboldt
clang is the default compiler since Android nougat Change-Id: I930bba431dc49970cb4491ed5fcf44b5e00e97df Signed-off-by: Lennart Wieboldt <lennart.1997@gmx.de>
2017-03-10Merge "recovery: replacing fs_mgr_read_fstab() with new fs_mgr APIs" am: ↵Bowgo Tsai
7a0dfec771 am: 1a23257214 am: 1a76f4a3bc Change-Id: I8869ddf69589c2a1bb0e8dd493df67f9126db585
2017-03-10recovery: replacing fs_mgr_read_fstab() with new fs_mgr APIsBowgo Tsai
The fstab settings of early-mounted partitions (e.g., /vendor) will be in kernel device tree. Switch to the new API to get the whole settings with those in device tree: fs_mgr_read_fstab_with_dt("/etc/recovery.fstab") The original default /fstab.{ro.hardware} might be moved to /vendor/etc/. or /odm/etc/. Use another new API to get the default fstab instead of using the hard-coded /fstab.{ro.hardware}. This API also includes the settings from device tree: fs_mgr_read_fstab_default() Bug: 35811655 Test: boot sailfish recovery Change-Id: Iaa56ac7f7b4c4dfc7180c65f03e9a37b94f1de09
2017-01-07Merge "Retry ioctl in uncrypt if it returns block# 0" am: ceafe69fb8 am: ↵Tianjie Xu
06b4254a70 am: 5ec75851a7 am: 4536c470f8 Change-Id: I399f35a1bc1575f9e1fcfa5d2bb537390360505e
2017-01-07Merge "Retry ioctl in uncrypt if it returns block# 0"Tianjie Xu
2016-12-14Merge "Add tests for setup-bcb and clear-bcb via uncrypt." am: 4e48a6c1a1 ↵Tao Bao
am: af62097c08 am: b1e8150c44 am: 51ccca4b8c Change-Id: Ifa6579a34df60e48ff53689397bb53464a5d15ee
2016-12-13Add tests for setup-bcb and clear-bcb via uncrypt.Tao Bao
Bug: http://b/33534933 Test: recovery_component_test passes (and fails on buggy build due to the CL in [1]). [1]: commit 7e31f421a514da09b90e46dbd642a5e9b16e0003 Change-Id: I120498048ec1db8f9fcbb3cf135c05d3a48cfcdf
2016-12-05Retry ioctl in uncrypt if it returns block# 0Tianjie Xu
In some conditions, ioctl(fd, FIBMAP, &block) returns block number 0.This is a failure to locate the actual block number of the update package and will result in an invalid block.map. This CL retries ioctl a few times if it returns block number as 0. Bug: 31632090 Test: On N9, uncrypt retries ioctl and produces the correct blockmap. Change-Id: I913f98cf5c112915c2e803d0683db273c89053b6
2016-11-12Merge "Allow uncrypt to work without socket communication"Tianjie Xu
am: 4c1f3eda98 Change-Id: I8e86d4201d2fac0293e70df54e0816c96e85a9b7
2016-11-11Allow uncrypt to work without socket communicationTianjie Xu
It was inconvenient to uncrypt a update package under adb shell because the uncrypt executable required a socket to start its job. Add a workaround to allow uncrypt executes without socket communication. Test: run uncrypt under adb shell, and the block map generates successfully Bug: 29906218 Change-Id: Ibc328b31636d925dc429ede8dcec7392a721dd53 (cherry picked from commit 28c1e5d3aa9610db6e141380b1435937fc7f07db)
2016-10-19Verify wipe package when wiping A/B device in recovery.Yabin Cui
To increase the security of wiping A/B devices, let uncrypt write wipe package in misc partition. Then recovery verifies the wipe package before wiping the device. Based on the original cherrypick, this CL also has additional changes to address the LOG statements and libziparchive changes. Bug: 29159185 Test: Build and boot into recovery. Change-Id: I186691bab1928d3dc036bc5542abd64a81bc2168 (cherry picked from commit 6faf0265c9b58db2c15b53f6d29025629d52f882)
2016-10-18resolve merge conflicts of e89bf25 to stage-aosp-master am: 69c117c2ffTao Bao
am: 2a576e2097 Change-Id: Iee6000f594a04a0862b3687f1d87daa809fb3804
2016-10-18resolve merge conflicts of e89bf25 to stage-aosp-masterTao Bao
Change-Id: I3b0ddb23daf264d407370cd8ace31eceb230a11a
2016-10-18Create bootloader_message static library.Yabin Cui
bootloader_messages merges bootloader_message_writer and bootloader.cpp, so we can use the same library to manage bootloader_message in normal boot and recovery mode. Bug: 29582118 Change-Id: I9efdf776ef8f02b53911ff43a518e035e0c29618 (cherry picked from commit 2f272c0551f984e83bc5abaf240e0dddb38a3326)
2016-09-30Turn on -Werror for recoveryTianjie Xu
am: 17e316cce0 Change-Id: Ia0e1948491edf7cca8b64d7e7f0cac91314c2025
2016-09-30Turn on -Werror for recoveryTianjie Xu
Also remove the 0xff comparison when validating the bootloader message fields. As the fields won't be erased to 0xff after we remove the MTD support. Bug: 28202046 Test: The recovery folder compiles for aosp_x86-eng Change-Id: Ibb30ea1b2b28676fb08c7e92a1e5f7b6ef3247ab (cherry picked from commit 7aa88748f6ec4e53333d1a15747bc44826ccc410)
2016-09-29Turn on -Werror for recoveryTianjie Xu
Also remove the 0xff comparison when validating the bootloader message fields. As the fields won't be erased to 0xff after we remove the MTD support. Bug: 28202046 Test: The recovery folder compiles for aosp_x86-eng Change-Id: Ibb30ea1b2b28676fb08c7e92a1e5f7b6ef3247ab
2016-09-29Report uncrypt errors in detailsTianjie Xu
am: 68fc81e860 Change-Id: I57eff7b0aaa388c32dc8e99318e68ca25ff5c02d
2016-09-29Report uncrypt errors in detailsTianjie Xu
Add the error codes for uncrypt and report the failure details in uncrypt_status. Test: uncrypt_error logs correctly in last_install Bug: 31603820 Change-Id: I8e0de845ce1707b6f8f5ae84564c5e93fd5f5ef5 (cherry picked from commit 0c68675f5ae80cd669e0bf014a69689b6fe08eee)
2016-09-27Merge "Report uncrypt errors in details" am: af8b9363c6 am: 7582609d61 am: ↵Tianjie Xu
fc887a8fba am: b0d0ee3c7d Change-Id: Ie44169accea9196457d7cae696836c3a6fe14c8e
2016-09-27Merge "Report uncrypt errors in details" am: af8b9363c6 am: 7582609d61Tianjie Xu
am: fc887a8fba Change-Id: I5e83be10f4443c8b107821975b3506381fcbdf0c
2016-09-26Report uncrypt errors in detailsTianjie Xu
Add the error codes for uncrypt and report the failure details in uncrypt_status. Test: uncrypt_error logs correctly in last_install Bug: 31603820 Change-Id: I8e0de845ce1707b6f8f5ae84564c5e93fd5f5ef5
2016-09-26resolve merge conflicts of d5c7d6b to nyc-mr1-dev-plus-aospElliott Hughes
Change-Id: Ia041044547351a3e65b647bb9913aa18c7d2c97c
2016-09-26Switch to <android-base/properties.h>.Elliott Hughes
Bug: http://b/23102347 Test: boot into recovery. Change-Id: Ib2ca560f1312961c21fbaa294bb068de19cb883e Merged-In: Ib2ca560f1312961c21fbaa294bb068de19cb883e
2016-09-23Switch to <android-base/properties.h>.Elliott Hughes
Bug: http://b/23102347 Test: boot into recovery. Change-Id: Ib2ca560f1312961c21fbaa294bb068de19cb883e
2016-09-13save uncrypt status to last_install am: e16e799dfd am: 4769f209dcTianjie Xu
am: 707583a4ab Change-Id: I22b520ceaea408cad4e267d5a87c21ec80cd5e1d
2016-09-13save uncrypt status to last_install am: e16e799dfdTianjie Xu
am: 4769f209dc Change-Id: Ic9056d4af518df3747743ec6b2886fa437029395
2016-09-12save uncrypt status to last_installTianjie Xu
Save the uncrypt time cost to /cache/recovery/uncrypt_status. Recovery reads the file and saves its contents to last_install. Bug: 31383361 Test: Tested on angler and uncrypt_time reports correctly. (cherry picked from commit fe16b5ccaf80f6e04d5b722c37c1abd70457ad28) Change-Id: Id69681a35c7eb2f0eb21b48e3616dcda82ce41b8
2016-09-12save uncrypt status to last_installTianjie Xu
Save the uncrypt time cost to /cache/recovery/uncrypt_status. Recovery reads the file and saves its contents to last_install. Bug: 31383361 Test: Tested on angler and uncrypt_time reports correctly. Change-Id: I5cd3f7b6ca069d69086d09acfea8fc4f1215c833 Merged-In: I5cd3f7b6ca069d69086d09acfea8fc4f1215c833
2016-09-01Switch recovery to libbase loggingTianjie Xu
Clean up the recovery image and switch to libbase logging. Bug: 28191554 Change-Id: Icd999c3cc832f0639f204b5c36cea8afe303ad35 (cherry picked from commit 747781433fb01f745529c7e9dd97c5599070ad0d)
2016-09-01Switch recovery to libbase loggingTianjie Xu
Clean up the recovery image and switch to libbase logging. Bug: 28191554 Change-Id: Icd999c3cc832f0639f204b5c36cea8afe303ad35 Merged-In: Icd999c3cc832f0639f204b5c36cea8afe303ad35