summaryrefslogtreecommitdiffstats
path: root/partition.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix png graphics load / display on AArch64Ethan Yonker2014-12-091-1/+1
| | | | | | | | | This is mostly kang from AOSP resources.c for loading png files into RAM, but for ease of compatibility we retained the older gr_surface data types throughout and ensured that we retain support for alpha blended png files. Change-Id: Ieea552173d3bfe885460407be73088bbad75663f
* add function to partition.cpp to return max file size to mtp responderbigbiff2014-12-041-0/+25
| | | | Change-Id: If8114b5eac741db6c512fb35cb48e3825c2ff098
* Reduce libs needed for decrypt and clean up old decypt filesEthan Yonker2014-12-041-77/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | Trim cryptfs.c to remove functions that TWRP does not use for decrypt and remove the need for libfs_mgr from cryptfs.c by passing some items to cryptfs.c from the partition manager. Add support for new fstab flags: encryptable and forceencrypt=/path/to/cryptokey For example: flags=forceencrypt=/dev/block/platform/sdhci-tegra.3/by-name/MD1 Note that "footer" is the default, so you do not need to set this flag on devices that use the footer for the crypto key. Also add mounttodecrypt if you need to mount a partition during the decrypt cycle for firmware of proprietary libs. Clean up decrypt and only support one version Android 5.0 lollipop decrypt should be backwards compatible with older versions so we will only support one version, 1.3 that came with 5.0 lollipop. Remove support for Samsung TouchWiz decrypt. It does not work with the latest versions of Samsung encryption anyway and it has not been updated to work with any AOSP decryption higher than 1.1 Change-Id: I2d9c6e31df50268c91ee642c2fa090f901d9d5c9
* Tweak 5.0 L decryptEthan Yonker2014-11-181-15/+0
| | | | | | | | | Mount the vendor partition if it exists so we can use any proprietary files we may need. Relocate auto decrypt when default_password is in use to after all partitions are added so that we can mount the vendor partition. Change-Id: I93455a35695779f53ef57a82d3d45c7216c13639
* Add lollipop decrypt supportEthan Yonker2014-11-121-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | Kang in cryptfs.c and cryptfs.h from vold. Use TW_INCLUDE_L_CRYPTO := true to enable. Ramdisk must contain the normal fstab file in the root in the usual format of: fstab.{ro.hardware} For examble for Nexus 5: fstab.hammerhead Or on many Qualcomm devices: fstab.qcom Tested against Android 5.0 lollipop on Nexus 7 2012 grouper. Not sure if or how this will work when we are dealing with a device with a hardware keystore. Long term we need to add a GUI element to allow entering a pattern. For now you can decrypt a pattern unlock by converting the dots to numbers in the following format: 123 456 789 So an upper-case L would translate to 14789 as a password entered on the keyboard. Change-Id: I02c29e1f1c2eb29bf002c9fe0fc118357300b5b3
* fix some compiler warningsthat2014-11-041-3/+3
| | | | Change-Id: I23c490e6228b0fcf656c76ac314c69508ba2329d
* Do not set contexts during a factory resetEthan Yonker2014-10-201-6/+2
| | | | | | | | We should not need to set or change the contexts of the media folder when doing a factory reset. We should only do this when we need to recreate the media folder. Change-Id: I9f9918743d687b0aa0eb1e50747677f883037047
* Fix wiping crash when block device is not presentEthan Yonker2014-10-141-0/+5
| | | | | | | | Especially with /sd-ext, trying to wipe when the device is not present causes a seg fault in the make_ext4fs function. Check to make sure that the block device is present before trying to wipe. Change-Id: I91973b5b832c9edbce81d61a271e84363c19e6c5
* mtp: cleanup, fixes and performance improvementsthat2014-10-081-13/+3
| | | | | | | | | | | - use std::map instead of linked list - read directories on demand - fix writing zip files to storage root - fix creating directories - lots of minor fixes - simplify generation of storage IDs and make them spec compliant Change-Id: I2137c27549ddbdc58466f2e3aeda464fac70a3c5
* Attempt to fix md5 issue with backupsCaptain Throwback2014-10-081-0/+2
| | | | | | thanks @bigbiff for the suggestion Change-Id: Ie9b55537b7fa300461b015d2b9523d4250e755a9
* Attempt to automatically identify data/media devicesEthan Yonker2014-09-201-27/+35
| | | | Change-Id: Ia3007fbced9ce3bc94efdb3dacc582a5e68a49a4
* add mtp responder to TWRP.bigbiff bigbiff2014-09-031-6/+28
| | | | | | Big thanks to Dees_Troy for helping with the implementation. Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
* Track backup and restore progressEthan Yonker2014-07-091-22/+82
| | | | | | | | Track backup and restore progress based on the sizes of the files as they are being added to the tar backup file. Update the progress bar based on the sizes of the files. Change-Id: Idf649efa1db3e91830b4b2add86203a3f30042ff
* Do not restore file system on data/media devicesEthan Yonker2014-06-131-3/+17
| | | | Change-Id: I600e7e9ce89621400531bceb472387aafc0d6ed8
* Whitespace and minor code cleanupMatt Mower2014-06-041-4/+4
| | | | | | This is by no means comprehensive, but is quite a bit better already. Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
* Add options to repair or change file systemEthan Yonker2014-06-041-1/+95
| | | | Change-Id: I9043e98e1e1ed4722f05c13a60b43d2d0bf739f6
* Support alternative .android_secure locationMatt Mower2014-04-161-0/+2
| | | | | | | | | | | | | | | | Some devices (jewel, m8) have .android_secure at a non-standard location. Allow a different partition to be specified as the home of .android_secure using the fstab flag 'andsec'. Using the /data/media variant of jewel as an example, recovery.fstab or twrp.fstab could be edited like follows: /external_sd vfat /dev/block/mmcblk1p1 flags=display="MicroSD";andsec Note, this is NOT a method to move .android_secure in your ROM. Your ROM must already write to this alternative location. Change-Id: I3a6e4e63aaddb35870b79e80938b0f9c2c902443
* Allow building of an OEM friendly TWRPEthan Yonker2014-04-041-0/+7
| | | | | | | | Disable theming Disable creating the TWRP folder for the settings file Change factory reset on data/media devices to a full wipe Change-Id: I3104282b5dd3f55dfff7c8cf39c72750af08563d
* Stop printing Unable to mount to console if storage is removable. We will still print tobigbiff bigbiff2014-04-031-1/+1
| | | | | | recovery.log Change-Id: I19e3df2e977e09e222733f13324051334982b05d
* Remove deprecated tar exclude functionalityMatt Mower2014-03-311-5/+1
| | | | | | | | | twrpDU::check_skip_dirs() handles skipped folders now. Everywhere twrpTar::setexcl() is being used to exclude files eventually calls createTarFork(), which in turn calls Generate_TarList(), which checks check_skip_dirs(). Change-Id: Ibbc4eb2eb89863ccb2a15f5a3b5092fb10fcbcc0
* Fix /data backup size if contains media subdirsMatt Mower2014-03-301-2/+0
| | | | | | | | /data/*/media directories are mistakenly being excluded from the size calculation. Change to absolute dir exclude so that only /data/media is excluded. Change-Id: I6e97604d44e6ea2bdf7dfd8c68a2f90ba6d44415
* Check to ensure that selinux_handle is populated before usingDees Troy2014-03-101-1/+1
| | | | Change-Id: I6de4c5db3e3183229d7029fc72b957c7ef61f23a
* Restore capabilities to run-as binaryDees Troy2014-02-281-2/+29
| | | | Change-Id: I9e2b8e9b69c94b94c57143c04b950530490ec33e
* Check crypto footer before offering to decryptEthan Yonker2014-02-261-8/+40
| | | | | | | | | Verify that we have a valid footer with proper magic before setting things up for decryption to help prevent user confusion when dealing with data partitions that fail to mount. Also check to make sure that the block device for /data is present. Change-Id: Ie87818fe4505a8bf71df7d3934c114e7328ef3ca
* Remove unneeded loggingEthan Yonker2014-02-251-1/+0
| | | | Change-Id: I5c7d104689ed2b578b463a6be55b3688dcc4c01a
* Merge "Move DataManager functions out of twrpTar.cpp" into android-4.4Ethan Yonker2014-02-121-31/+15
|\
| * Move DataManager functions out of twrpTar.cppEthan Yonker2014-02-101-31/+15
| | | | | | | | Change-Id: I943318afe787ff4ede724fa0bc77ebc6a3ba0c8b
* | Fix ext4 wiping when no SELinux contexts are definedEthan Yonker2014-02-091-3/+12
|/ | | | Change-Id: I900f42892d47f54b573cc1dbfb551ed2a8f9e8b9
* Merge "Additional mount function call without mount options" into android-4.4Dees Troy2014-02-071-1/+1
|\
| * Additional mount function call without mount optionsDees Troy2014-02-071-1/+1
| | | | | | | | | | | | | | | | Example: f2fs on Moto G needs fsflags="inline_xattr" in the stock ROM but the Google Edition uses ext4 which fails to mount with that option. Change-Id: I01bce214e7f15e43e66ac35729fd3521609ffad3
* | Restore contexts when doing mkdierhier in libtarbigbiff bigbiff2014-02-071-0/+15
|/ | | | | | Do a restore of loaded file contexts to /data/media directory. This will help denials to be prevented when internal storage is wiped. Change-Id: Ie49bbfa48d2f3ee4f08376d9c1877b92c051017c
* Merge "Improve android secure handling" into android-4.4Ethan Yonker2014-02-061-12/+1
|\
| * Improve android secure handlingEthan Yonker2014-02-031-12/+1
| | | | | | | | Change-Id: I9e1c7f4a8353b7be51e1a54bf5d506c9dce70da2
* | Fix error message on split backupsEthan Yonker2014-02-051-6/+0
|/ | | | Change-Id: I9effd57c2b4d28c3bd9ca1045a0bb0ac8c958245
* Refactor twrpTar to use TarListDees Troy2014-02-031-28/+11
| | | | | | | | Eliminate the use of tarDirs and Generate_MultipleArcives in favor of Generate_TarList so that we have one method for backup creation instead of three. Change-Id: I267937b6e40b32d43fbac8b4cca82f7468d4f94c
* Clear the relative directory before passing on to twrpTar with the static du object. Otherwise we will not backup /system/media etcbigbiff bigbiff2014-02-031-2/+4
| | | | Change-Id: Ib62af6ad8596aa18bf48cb750e2ecf442dadc627
* Add option to set flag for storage=0Ethan Yonker2014-02-031-2/+14
| | | | Change-Id: I46b94d55fc649a2abf27569ccf99aabb2822d663
* ifdef some file system options that are not available in older treesDees Troy2014-02-031-0/+8
| | | | Change-Id: I11a7e441f7fe4e556a5349822150493de90095f1
* Create a TWRP Disk Usage Class to retain state about a directory and whether we should skip it in other classes like twrpTar.bigbiff bigbiff2013-12-191-14/+14
| | | | | | Moved Get_Folder_Size to this new class. Change-Id: If0a0220f900eb109581f2eeaf7b76e3f7d6886f1
* add support for fsflags= option in twrp.fstab fileHashcode2013-12-191-2/+70
| | | | | | | | | example userdata line (as needed by MotoX): /data f2fs /dev/block/platform/msm_sdcc.1/by-name/userdata flags=fsflags="inline_xattr" Code for parsing flags/options originally based on AOSP fs_mgr sources. Change-Id: I5fb2b5d5cdd08137e6bf71f0085a3f8aebd889a8
* Update licenses to all matchDees Troy2013-10-221-21/+17
|
* Fix spelling errorDees Troy2013-10-181-2/+2
|
* fix getting and setting contexts in selinuxbigbiff bigbiff2013-10-171-0/+9
| | | | | | recreate lost+found with selinux contexts Change-Id: I19e8696d47319dfb641520956c8a27c2a796a0c3
* Add TWFunc::Exec_Cmd() with no 'result' agrumentVojtech Bocek2013-09-121-24/+22
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Id8acff1ac9b3c7e4b562c80562a8ff42a1d132b9
* Add more args to make_ext4fs commandDees_Troy2013-09-061-1/+4
|
* Initialize TWPartition::User_Rm_Rf to false in constructorVojtech Bocek2013-08-301-0/+1
| | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* implement "usermrf" fstab flag to force rm -rf * deletion on specific partitionsHashcode2013-08-301-1/+3
| | | | Change-Id: I58f4a8cedf31e6b6efd88f96a43ed525603ae311
* Better compatibility by fixing up ext4 & selinux flagsDees_Troy2013-08-301-5/+1
|
* Initial f2fs supportDees_Troy2013-08-291-0/+29
| | | | | | | Need to add this to your source tree: https://github.com/razrqcom-dev-team/android_external_f2fs-tools Change-Id: I3ee9ebbb617259655518f8ea356ce7b8c246cd4d
* skip checking size on linksbigbiff bigbiff2013-08-281-0/+2
| | | | | | skip google music cache Change-Id: I75d6fd0e17140d12cb2c6d335e8ff73a6f871aa2
* Unify indentation and little clean-up in TWRP filesVojtech Bocek2013-08-241-25/+25
| | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Add SELinux supportDees_Troy2013-08-241-1/+19
| | | | Change-Id: I11e1a3d018d921d96ba08915925b14bf633be6ed
* Fix AOSP decrypt when TouchWiz code is presentDees_Troy2013-08-231-1/+3
|
* Properly free blkid_probe in TWPartition::Check_FS_Type()Vojtech Bocek2013-07-011-1/+3
| | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Fix MTD MountingDees_Troy2013-07-011-15/+36
| | | | | | | Pulled part of change from kokotas in this patch set: http://review.teamw.in/#/c/586/ Change-Id: If1c5b1563df16f9c561c94f61010f6a99f36efa0
* Fix some issues with wipe partition listDees_Troy2013-07-011-1/+4
| | | | Change-Id: Ie7d5878faf86b8fa824b72211be7fd3596b471d7
* Support encrypted backup filesDees_Troy2013-06-221-18/+49
| | | | | | | | | | | | | | | Also includes features merged from: Update twrpTar by kokotas Revised function entryExists(). Added function to get archive's uncompressed size. Added option to exclude item(s) from the archive. Revised forks() http://review.teamw.in/#/c/590/ Change-Id: I01fa2c81643161984eff2625247af75990684bd9
* Improve backup list resultsDees_Troy2013-04-081-1/+0
|
* Improve automated handlidling of partitionsDees_Troy2013-04-081-3/+5
|
* Move all AOSP code out of recovery binaryDees_Troy2013-04-041-120/+120
| | | | | | Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
* Add partition list GUI elementDees_Troy2013-03-301-22/+101
| | | | | | | | | | | | Add partition list GUI element and update backup, restore, mount, storage selection, and wipe sections of GUI and partition manager code to reflect the new GUI element. Update ORS engine to handle new backup and restore setup. Fix a bug with decrypt. Add 1080x1920 layout. Change-Id: Iaa2f44cb707167e66f935452f076ba00e68a2aa4
* trying to fix md5bigbiff bigbiff2013-03-171-3/+19
| | | | Change-Id: I4ec037f76aa965bc818afe924942adbe9a080b36
* use md5.c for computation of md5sumsbigbiff bigbiff2013-03-071-3/+7
| | | | | | create a framework for computing digests and reading digests in TWRP add space for backwards compatibility with bb md5sum Change-Id: Ia18e3f430eed5eba22e5052d39b9b8d88ecd4536
* use libblkid to get filesystem typebigbiff bigbiff2013-02-251-58/+14
| | | | we can now use libblkid to detect exfat
* Add MTK6575/6577 EMMC partitions backup supportigoriok2013-02-191-3/+29
| | | | | | | | taken from https://github.com/mrjavum/Team-Win-Recovery-Project/commit/140ff0cde8ad2236caf7bcd480d257d74d8b85bc "sorocean.gor@gmail.com" Change-Id: I1a97160c73c7a0bab0535e938d6b35dc09585037
* change libtar to fork instead of pthreadbigbiff bigbiff2013-02-181-5/+5
| | | | | | Conflicts: twrpTar.cpp
* Add write buffer for tar writesDees_Troy2013-02-071-1/+1
| | | | | | | update fuse to 2.9.2 catch return from unlink so that we don't print error messages when things work Change-Id: I1115039a0fa5d9d73f78ef1abd79755d7ffd9d96
* Fix fail over to vfat from exfatDees_Troy2013-02-011-33/+60
| | | | | | | Fix issues with MD5 checking using chdir and leaving the working dir in a subfolder that prevented unmounting sometimes. Change-Id: I01a563d722f474297ed3f7a30064c3a61748ade3
* exFAT improvements, fixesDees_Troy2013-01-281-3/+11
| | | | | | | | | Move Exec_Cmd to libcrecovery __popen Provide opt out build flag for exFAT Default fstype to exfat on external storage if exfat support is present and fstype is vfat or auto Fix invalid unmount errors Improve handling of unencrypted sdcards on Samsung devices
* Fix subpartitionof flagDees_Troy2013-01-281-1/+1
|
* change tar create to pthreadbigbiff bigbiff2013-01-241-8/+18
| | | | Change-Id: I5a33d207ec6683de20da37e6f4f174c67785fc52
* Remove sockets and FIFOS when removing filesbigbiff bigbiff2013-01-201-1/+1
|
* Fix handling of blkid outputDees_Troy2013-01-181-15/+14
| | | | | Fixed handling of blkid output when the output spans multiple lines and the TYPE field ended up on next line.
* Save version to cacheDees_Troy2013-01-171-0/+3
|
* ORS engine fixesDees_Troy2013-01-171-1/+3
| | | | | | | | Fix backup to not error when a non-existant partition is given. Fix restore to run when no partition parameters are given. Ensure that ORS runs after decryption and that zips install. Fix a problem with the fake internal sdcard not mounting to /sdcard on data media devices.
* Add flag for retaining layout versionDees_Troy2013-01-151-38/+50
| | | | | | | Needed on Sony mint (Xperia T) as the /data/media folder is a separate partition and normal data media wiping is not appropriate for this device but the layout version file needs to be retained for Android 4.2 multi-user.
* Check to ensure that external is encryptedDees_Troy2013-01-141-1/+3
|
* More Samsung sdcard crypto fixesDees_Troy2013-01-101-1/+14
|
* Fix wiping problems and save ecrypt keyDees_Troy2013-01-091-2/+30
| | | | | | Fix problems with the wiping of data/media devices Save and restore the ecryptfs key for external sdcard on Samsung encrypted devices.
* Improve remounting sdcard with ecryptfsDees_Troy2013-01-091-2/+20
|
* Add libtar to TWRP instead of using busybox tarbigbiff bigbiff2013-01-091-131/+130
| | | | | | | Add proper mkdosfs tool Add fuse to TWRP Add experimental exfat-fuse to TWRP Convert all system() functions to use new Exec_Cmd function
* Improve handling of undecrypted encrypted /dataGary Peck2012-12-211-4/+15
| | | | | | | | | | - Until the encrypted partition is decrypted, treat it as a disk image instead of a filesystem so that it is properly backed up using dd. - Make Partition::Wipe() use the filesystem from fstab for disk images so that wiping an undecrypted /data makes it a plain unencrypted partition again. Change-Id: I78db977d6348cfa66b0cfbc492fb5776f84db48d
* Reset partition flags when the partition is wipedGary Peck2012-12-211-21/+34
| | | | Change-Id: I6c4cee5b038fd0c39c8723412dd8f421f7794a00
* check backup image size before restoringGary Peck2012-12-181-1/+14
| | | | Change-Id: I206d34936388c1b072eaaec50e0492710cb80f2e
* Fix handling of MTD partitions during mountDees_Troy2012-12-181-1/+19
|
* Add ignore blkid flag for TransformersDees_Troy2012-12-121-2/+6
| | | | Change-Id: I8f2b5b68a8c3ede74858d53002efab997174ee65
* Restore text display during restoreDees_Troy2012-12-121-0/+2
|
* restore based on backup type, not destination typeGary Peck2012-11-221-40/+49
| | | | Change-Id: Ie44958a148d00cadd2ba3c51255f7fd9d8a651e7
* Fixes for multi-user in 4.2Dees_Troy2012-11-151-9/+17
| | | | | | Also fixed inability to delete backups with a space in the name. Change-Id: I2f6639d33caa3c4542960f76adbd59b25ab64f5d
* add exfat to partitions.cppbigbiff bigbiff2012-11-141-0/+1
|
* Initial BML support (ext4 only)Dees_Troy2012-10-161-4/+11
|
* Handle storage devices that are slow to mountDees_Troy2012-10-141-0/+15
|
* Remove unneeded duplicate codeDees_Troy2012-10-131-41/+0
|
* Track whether a partition is mounted during refresh sizesDees_Troy2012-10-131-5/+18
| | | | and leave it mounted or unmount based on prior mounting status
* Change backup size check for ddDees_Troy2012-10-121-2/+2
|
* Fix restore of multiple archivesDees_Troy2012-10-121-1/+1
|
* Fix derp with alternate storageDees_Troy2012-10-081-1/+1
|
* Fix error message on encrypted devicesDees_Troy2012-10-011-1/+8
|
* Revert busybox for CM7 compatibility, add exclamation point to format dataDees_Troy2012-09-281-3/+5
|
* Update sdcard partitioning to C++Dees_Troy2012-09-271-9/+1
|
* Port reboot functions to C++Dees_Troy2012-09-271-1/+0
|
* Handle mountable boot partitionsDees_Troy2012-09-271-2/+10
|
* Backup size for special partitions that are imagesDees_Troy2012-09-261-0/+24
|
* Fix problems with MTD devicesDees_Troy2012-09-261-7/+2
| | | | Also improve handling of MTD names
* Add backup size checkingDees_Troy2012-09-261-7/+20
| | | | | Converted bootloader.cpp to TWRP and removed AOSP fstab parsing from startup
* Convert makelist to C++Dees_Troy2012-09-261-2/+3
|
* Unify portrait layouts againDees_Troy2012-09-261-1/+13
|
* Update tablet layouts with ADB sideloadDees_Troy2012-09-241-0/+1
|
* Fix special partition handlingDees_Troy2012-09-211-2/+2
|
* Add android_secure supportDees_Troy2012-09-211-17/+82
|
* Various fixesDees_Troy2012-09-201-0/+7
| | | | | | 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.
* Cleanup extra-functionsDees_Troy2012-09-181-4/+31
|
* Improve backup and restoreDees_Troy2012-09-181-13/+50
| | | | Add in archive splitting support
* Update backup and restore code, adb sideloadDees_Troy2012-09-171-88/+178
| | | | | | | Fixed a problem with using make_ext4fs by making its lib a dynamic lib. Added ADB sideload zip install feature - no way to cancel it yet. Improve backup and restore code.
* Add wipe functions, compiles in CM7, text shows in UI, zips installDees_Troy2012-09-141-98/+353
| | | | | | | | 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
* Zip install works againDees_Troy2012-09-111-6/+26
|
* More Partition Manager functionalityDees_Troy2012-09-101-9/+19
|
* Improve storage size code, mount, unmountDees_Troy2012-09-101-62/+197
| | | | Add flag parsing from recovery.fstab
* Add processing of fstab, mounting, and decryptDees_Troy2012-09-071-12/+510
|
* TWRP-ify AOSP codeDees_Troy2012-09-051-0/+193
Pull in most TWRP sources Stub out partition management code Make it compile -- probably will not boot Kind of a mess but have to start somewhere