summaryrefslogtreecommitdiffstats
path: root/twinstall.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Do not check digest on mapped installsEthan Yonker2019-04-091-3/+3
| | | | Change-Id: I2d57eba354e4ec88f418208183f53c12e8548fcb
* Extract arch-specific updater binary if presentEthan Yonker2019-04-041-1/+19
| | | | | | | | | | Check for and extract arch specific updater binary based on ro.product.cpu.abilist and use ro.product.cpu.abi as a fall back. If no arch specific updater binary is present then use the regular update-binary file. Note that a file named update-binary must be present in the zip still even if it is a 0 byte file. Change-Id: Iabb2156e68d40c5b99d55ea8e4a9a553eb26600a
* Zip install: this will allow TWRP to check md5 and sha256 checksumsbigbiff bigbiff2019-04-021-31/+2
| | | | | | for zip installs. Change-Id: I1fb6af777e08aea29bedaf2e6a9b385ae3b03fac
* twinstall: Force variable typeSimon Shi2019-03-221-1/+1
| | | | | | | | | | | | | Force the usage of variable type since it is different on the 32-bit devices. Use this commit to avoid the problem. bugs: bootable/recovery/twinstall.cpp:201:67: error: format specifies type 'size_t' (aka 'unsigned int') but the argument has type 'long long' [-Werror,-Wformat] LOGINFO("has_legacy_properties: mmap (size=%zu) failed: %s!\n", finfo.st_size, strerror(errno)); ~~~ ^~~~~~~~~~~~~ %lld Change-Id: Ie0c51a90490e0c069fff33884a9431a97361f5c6
* Fix build error on Pie with TW_NO_LEGACY_PROPS := truelambdadroid2018-09-261-0/+6
| | | | | | | | | | | | | | | | Fixes: bootable/recovery/twinstall.cpp:83:12: error: unused function 'switch_to_legacy_properties' [-Werror,-Wunused-function] static int switch_to_legacy_properties() ^ bootable/recovery/twinstall.cpp:110:12: error: unused function 'switch_to_new_properties' [-Werror,-Wunused-function] static int switch_to_new_properties() ^ bootable/recovery/twinstall.cpp:176:13: error: unused function 'update_binary_has_legacy_properties' [-Werror,-Wunused-function] static bool update_binary_has_legacy_properties(const char *binary) { ^ 3 errors generated. Change-Id: Ie30fd7ae74b00e791100572b49a17ff638212e5a
* Merge AOSP android-9.0.0_r3Ethan Yonker2018-08-241-1/+1
| | | | | | Fix conflicts and make it build in 5.1, 6.0, 7.1, 8.1, and 9.0 Change-Id: Ida0a64c29ff27d339b7f42a18d820930964ac6e4
* enable md5sum digest verificationsteadfasterX2018-07-271-1/+8
| | | | | | | | | | all (well I just checked LOS, aoscp and aicp) ROM scripts use "md5sum" as extension but TWRP checks only for the extension "md5". This change will also expects md5sum as the default digest extension and only if not found falling back to md5. Change-Id: Ia1dd072d77d53ed6c6ff13c6db730abdcdb56bb3
* Merge up to android-8.1.0_r1 and fix conflictsEthan Yonker2017-12-151-2/+17
| | | | Change-Id: I2dc060134d15ec9f015a606cb24ef8276f6af1fc
* ADB Backup: add ability for TWRP GUI to restorebigbiff bigbiff2017-11-271-1/+1
| | | | | | | | | Restore adb backup files that TWRP made to your PC. Put files in your backup directory to see them. e.g. /sdcard/TWRP/BACKUPS/<sn> Change-Id: I2c57970d77b64c39a302159041456e761c185259
* Auto detect possible use of legacy propsnkk712017-11-171-15/+51
| | | | | | | | | | | * Revert: Make legacy props an option disabled by default (reverted from commit 75aa615767457f2b62dda65b16ded41b0e6df11f) * Instead check for ANDROID_PROPERTY_WORKSPACE in the updater- binary to determine whether legacy property service can be used Change-Id: If68d5cca9a2b56edcb1c73db0474668cf46d8c91
* Make legacy props an option disabled by defaultEthan Yonker2017-09-081-12/+15
| | | | Change-Id: Id0bb17ebd11e120b4676c41d6553e6a830ac7ee9
* Update to AOSP 8.0 baseEthan Yonker2017-09-081-71/+52
| | | | Change-Id: I29fe722b4eb9718765327902779046840a01433e
* twrpDigest refactorbigbiff bigbiff2017-06-171-17/+33
| | | | | | | | | | | | | | | | | | | This patch is to refactor twrpDigest using polymorphism and inheritance to use the same call patterns for creating and reading a digest. Now a library. Use SHA2 from libcrypto. SHA2 is default if device has libcrypto. Change string MD5 everywhere to use digest or Digest instead. Updated string tags to digest. Translation will be required. Switch out digest code into a driver class from partitionmanager. SHA2 is better for digest creation due to decreased collision space compared to MD5 and SHA1. See https://en.wikipedia.org/wiki/SHA-2 Change-Id: I74b5546789990b12aa4ce2e389d25f80a3fe213f
* Support new AB OTA zipsEthan Yonker2016-12-051-27/+70
| | | | Change-Id: I1ff883375a0a769bf27a834c9bf04c6cdbb42117
* MD5 verification sanityJames Christopher Adduono2016-11-301-3/+12
| | | | | | | | | | | | | We can use switches and enums to make things more understandable and work with results in a more sensible manner. PS2: Move file MD5 verification and error handling into a separate function to reduce code. PS3: Default to false in Check_Restore_File_MD5 function Change-Id: Id3ee0bb444cf13be67bb5dec2c43f7c26a86b954 (cherry picked from commit 5c3950716e5c7c6279efd5f3f338d6d22e5215e2)
* Make naming scheme more meaningfulEthan Yonker2016-08-291-1/+1
| | | | Change-Id: Ifcaf00c760ff452b0e85a88b54e91ca0f2f4644a
* Support update binary log commandEthan Yonker2016-08-271-0/+8
| | | | | | Also track and log install time similar to AOSP recovery. Change-Id: I68b41a75cf0d1fa57b693c726cccd382a16f91b1
* Make it backwards compatible with 4.4Ethan Yonker2016-08-251-1/+5
| | | | Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
* Update to 7.0Ethan Yonker2016-08-241-2/+0
| | | | Change-Id: I621cc47352f7ac552d9602485825ae3a6f9ae516
* Detect and install custom themes as part of zip installsEthan Yonker2016-03-291-3/+38
| | | | Change-Id: I7ec7133e53fca92ebe49a9a41161754a9138141e
* Multiple Language SupportEthan Yonker2015-12-191-8/+10
| | | | | | | | | | | | | | | | | | | | | | | This is similar to https://gerrit.omnirom.org/#/c/14014 A lot of the features built in the older patch set have been split out into separate patches, most of which have already been merged. The remaining functionality here should all be directly related to language selection and loading. We always load English as a base before loading other languages over the top of the base. The idea is that if another language is missing a translation, then we will still display the English. Maybe still to do: read the /cache/recovery/last_locale file and load a language based on that. For me, this file contains just: en_US We probably won't bother with region specific translations so we would have to look at either trimming off the _US or using some other method like perhaps a symlink or a combination of the two. Thanks to _that for twmsg.cpp class Change-Id: I9647a22e47883a3ddd2de1da51f64aab7c328f74
* Free some memory allocationsMatt Mower2015-11-121-0/+3
| | | | Change-Id: Ifb6c186e43e1eb068e8075def16924ced04bb23d
* Improve error handling for zip installthat2015-10-151-18/+17
| | | | | | | | | | | - minzip: don't crash with corrupted zips (e.g. 4096 null bytes) - twinstall: output error when zip doesn't contain update-binary - twinstall: add strerror(errno) to system-level errors - twinstall: correct message if /file_contexts could not be extracted - twinstall: use TWFunc::Wait_For_Child for better waitpid errors - twinstall: minor code cleanup Change-Id: I53b156b0ec08755af2742bb71d1523ae38f4a82e
* Merge up to AOSP marshmallow-releaseEthan Yonker2015-10-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to maintain compatibility with older trees, we now have minadbd.old and minui.old. I had to use a TARGET_GLOBAL_CFLAG to handle ifdef issues in minui/minui.d because healthd includes minui/minui.h and there was no other alternative to make minui.h compatible with older trees without having to modify healthd rules which is outside of TWRP. Note that the new minui does not currently have support for qcom overlay graphics. Support for this graphics mode will likely be added in a later patch set. If you are building in a 6.0 tree and have a device that needs qcom overlay graphics, be warned, as off mode charging may not work properly. A dead battery in this case could potentially brick your device if it is unable to charge as healthd handles charging duties. Update rules for building toolbox and add rules for making toybox Use permissive.sh in init.rc which will follow symlinks so we do not have to worry about what binary is supplying the setenforce functionality (toolbox, toybox, or busybox). Fix a few warnings in the main recovery binary source code. Fix a few includes that were missing that prevented compiling in 6.0 Change-Id: Ia67aa2107d260883da5e365475a19bea538e8b97
* Use one mizip for allEthan Yonker2014-12-101-22/+2
| | | | | | | | | | | | The new minzip did not compile in older trees due to needing mmap64. For older trees we will just use mmap instead. Remove all files and code pertaining to minzipold. Updater should now build properly in older trees as well. Eliminate use of PLATFORM_VERSION in favor of PLATFORM_SDK_VERSION which should be more consistent and reliable. Change-Id: I38d2b604a73d1b17a2072c7d60e990b81ece0c10
* Make the android-5.0 branch compile in 4.4 to 4.1Ethan Yonker2014-12-021-4/+21
| | | | | | | | | | | | | Migrate previous minzip to minzipold replacing the existing minzipold. This will break compatibility with trees that do not support selinux (ICS and older). Migrate former verifier files to verifierold. Add fuse.h to recovery source because older trees do not have it. Add LOCAL_MODULE_TAGS where needed for 4.1 tree. Change-Id: Iade57cb2b0115af7fce9f56aa98636b1744a1ef4
* Release map after zip installEthan Yonker2014-11-081-1/+5
| | | | Change-Id: I4ae145669786ad0932297ae0ae095cbc6f3f696b
* Update adb sideload featureEthan Yonker2014-11-081-5/+13
| | | | Change-Id: Ib503d0e87434e1a28430779302d6565211c26592
* Fix up install functionsEthan Yonker2014-11-071-2/+9
| | | | Change-Id: I62110806f60cd923fb761f5e5f2544da3d5b68b1
* More MD5 verification error handlingMatt Mower2014-04-161-7/+3
| | | | | | | | | | Distinguish between skipped md5 verification cases: - .md5/.md5sum file not found - .md5/.md5sum file unreadable Move MD5 error messages to twrpDigest Change-Id: I912e3d9ebe64e78bed76eab8aa468d619b45972f
* Force zip verification in OEM buildsEthan Yonker2014-04-151-1/+3
| | | | Change-Id: Ie894b5f5cda64f83b1bb58bb977024230b0337f2
* Allow disabling legacy propertiesMatt Mower2014-03-271-0/+4
| | | | | | | Introduce TW_NO_LEGACY_PROPS flag for users that build TWRP in non-kitkat trees and don't need the legacy prop environment. Change-Id: Iacb2d9af7d7069acb3d0a96bb34f32ded6317a20
* Add basic error checking to legacy property initMatt Mower2014-03-271-14/+48
| | | | | | Let init and rename funcitons return success or failure values. Change-Id: Ieed86cac8a0dcfd770a89dacc57fd306e7a6ad8d
* Support pre-KitKat properties for update-binarythat2014-03-091-1/+31
| | | | | | | | | | | Google changed the in-memory format for storing properties in 4.4. Zips containing an older update-binary expect the old format, otherwise assertions on properties in the update script fail. This is just enough of the old property service to copy the properties to the legacy format before running the updater. Change-Id: I404680384bdc5e952609e295029ab0a0faf743a5
* Update licenses to all matchDees Troy2013-10-221-0/+17
|
* Kang in older minzip for building in CM9 & CM7Dees Troy2013-09-101-0/+5
| | | | CM7 and CM9 do not have libselinux needed in the newer minzip.
* Extract file_contexts from zips if it existsDees_Troy2013-09-051-1/+32
| | | | | | | | | | | | Update binary will now extract file_contexts if it exists in the root of the zip to /tmp Recovery will replace the existing /file_contexts in the ramdisk if file_contexts exists in the root of the zip. This ensure that the proper contexts are used during zip installs. Change-Id: If22c41101868643b67e6dba6177677c078fcd877
* Unify indentation and little clean-up in TWRP filesVojtech Bocek2013-08-241-26/+26
| | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Move all AOSP code out of recovery binaryDees_Troy2013-04-041-252/+97
| | | | | | Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
* use md5.c for computation of md5sumsbigbiff bigbiff2013-03-071-4/+7
| | | | | | create a framework for computing digests and reading digests in TWRP add space for backwards compatibility with bb md5sum Change-Id: Ia18e3f430eed5eba22e5052d39b9b8d88ecd4536
* Disable the forced MD5 checkDees_Troy2013-01-301-8/+2
|
* Update sdcard partitioning to C++Dees_Troy2012-09-271-5/+0
|
* Various fixesDees_Troy2012-09-201-1/+1
| | | | | | Modify AOSP mount and wipe functions to use Partition Manager. Update wipe code to reset the log file index when wiping cache. Add ADB sideload to 540x960 theme.
* Move to shared libmincryptDees_Troy2012-09-141-162/+3
| | | | | | | Remove mincrypt source from TWRP and add rule to make libmincrypt as a shared library. No more crashes during zip signature verification and less code to maintain in TWRP.
* Add wipe functions, compiles in CM7, text shows in UI, zips installDees_Troy2012-09-141-93/+2
| | | | | | | | Zip install works, had to move mincrypt code into TWRP to prevent a crash when checking the zip signature. Added wipe functions Made it compile in CM7 Made text show up in console and logging
* Make text appear in GUI console, Zip install works.Dees_Troy2012-09-121-0/+580
Move TW zip install code to C++ so that it can use the ui->functions. Bring in mincrypt code to fix a crash during signature checking.