summaryrefslogtreecommitdiffstats
path: root/twinstall.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-04-09Do not check digest on mapped installsEthan Yonker1-3/+3
Change-Id: I2d57eba354e4ec88f418208183f53c12e8548fcb
2019-04-04Extract arch-specific updater binary if presentEthan Yonker1-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
2019-04-02Zip install: this will allow TWRP to check md5 and sha256 checksumsbigbiff bigbiff1-31/+2
for zip installs. Change-Id: I1fb6af777e08aea29bedaf2e6a9b385ae3b03fac
2019-03-22twinstall: Force variable typeSimon Shi1-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
2018-09-26Fix build error on Pie with TW_NO_LEGACY_PROPS := truelambdadroid1-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
2018-07-27enable md5sum digest verificationsteadfasterX1-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
2017-11-27ADB Backup: add ability for TWRP GUI to restorebigbiff bigbiff1-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
2017-11-17Auto detect possible use of legacy propsnkk711-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
2017-09-08Make legacy props an option disabled by defaultEthan Yonker1-12/+15
Change-Id: Id0bb17ebd11e120b4676c41d6553e6a830ac7ee9
2017-06-17twrpDigest refactorbigbiff bigbiff1-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
2016-12-05Support new AB OTA zipsEthan Yonker1-27/+70
Change-Id: I1ff883375a0a769bf27a834c9bf04c6cdbb42117
2016-11-30MD5 verification sanityJames Christopher Adduono1-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)
2016-08-29Make naming scheme more meaningfulEthan Yonker1-1/+1
Change-Id: Ifcaf00c760ff452b0e85a88b54e91ca0f2f4644a
2016-08-27Support update binary log commandEthan Yonker1-0/+8
Also track and log install time similar to AOSP recovery. Change-Id: I68b41a75cf0d1fa57b693c726cccd382a16f91b1
2016-08-25Make it backwards compatible with 4.4Ethan Yonker1-1/+5
Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
2016-03-29Detect and install custom themes as part of zip installsEthan Yonker1-3/+38
Change-Id: I7ec7133e53fca92ebe49a9a41161754a9138141e
2015-12-19Multiple Language SupportEthan Yonker1-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
2015-11-12Free some memory allocationsMatt Mower1-0/+3
Change-Id: Ifb6c186e43e1eb068e8075def16924ced04bb23d
2015-10-15Improve error handling for zip installthat1-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
2014-12-10Use one mizip for allEthan Yonker1-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
2014-12-02 Make the android-5.0 branch compile in 4.4 to 4.1Ethan Yonker1-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
2014-11-08Release map after zip installEthan Yonker1-1/+5
Change-Id: I4ae145669786ad0932297ae0ae095cbc6f3f696b
2014-11-08Update adb sideload featureEthan Yonker1-5/+13
Change-Id: Ib503d0e87434e1a28430779302d6565211c26592
2014-11-07Fix up install functionsEthan Yonker1-2/+9
Change-Id: I62110806f60cd923fb761f5e5f2544da3d5b68b1
2014-04-16More MD5 verification error handlingMatt Mower1-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
2014-04-15Force zip verification in OEM buildsEthan Yonker1-1/+3
Change-Id: Ie894b5f5cda64f83b1bb58bb977024230b0337f2
2014-03-27Allow disabling legacy propertiesMatt Mower1-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
2014-03-27Add basic error checking to legacy property initMatt Mower1-14/+48
Let init and rename funcitons return success or failure values. Change-Id: Ieed86cac8a0dcfd770a89dacc57fd306e7a6ad8d
2014-03-09Support pre-KitKat properties for update-binarythat1-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
2013-10-24Update licenses to all matchDees Troy1-0/+17
Change-Id: I3be70a897e563658736b2dec3a9ea2697b69b225
2013-10-22Update licenses to all matchDees Troy1-0/+17
2013-09-10Kang in older minzip for building in CM9 & CM7Dees Troy1-0/+5
CM7 and CM9 do not have libselinux needed in the newer minzip.
2013-09-05Extract file_contexts from zips if it existsDees_Troy1-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
2013-08-24Unify indentation and little clean-up in TWRP filesVojtech Bocek1-26/+26
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2013-04-04Move all AOSP code out of recovery binaryDees_Troy1-252/+97
Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
2013-03-07use md5.c for computation of md5sumsbigbiff bigbiff1-4/+7
create a framework for computing digests and reading digests in TWRP add space for backwards compatibility with bb md5sum Change-Id: Ia18e3f430eed5eba22e5052d39b9b8d88ecd4536
2013-01-30Disable the forced MD5 checkDees_Troy1-8/+2
2012-09-27Update sdcard partitioning to C++Dees_Troy1-5/+0
2012-09-20Various fixesDees_Troy1-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.
2012-09-14Move to shared libmincryptDees_Troy1-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.
2012-09-14Add wipe functions, compiles in CM7, text shows in UI, zips installDees_Troy1-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
2012-09-12Make text appear in GUI console, Zip install works.Dees_Troy1-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.