Reduce libs needed for decrypt and clean up old decypt files

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
39 files changed
tree: 56cf3b08cdf70d016a2411fba977f7cd143bc265
  1. applypatch/
  2. bmlutils/
  3. crypto/
  4. digest/
  5. dosfstools/
  6. edify/
  7. etc/
  8. exfat/
  9. fb2png/
  10. flashutils/
  11. fonts/
  12. fuse/
  13. gui/
  14. htcdumlock/
  15. injecttwrp/
  16. libblkid/
  17. libcrecovery/
  18. libmincrypt/
  19. libtar/
  20. minadbd/
  21. minui/
  22. minuitwrp/
  23. minzip/
  24. minzipold/
  25. mmcutils/
  26. mtdutils/
  27. mtp/
  28. openaes/
  29. orscmd/
  30. pigz/
  31. prebuilt/
  32. res/
  33. res-hdpi/
  34. res-mdpi/
  35. res-xhdpi/
  36. res-xxhdpi/
  37. res-xxxhdpi/
  38. testdata/
  39. tests/
  40. toolbox/
  41. tools/
  42. twrpTarMain/
  43. uncrypt/
  44. updater/
  45. .gitignore
  46. adb_install.cpp
  47. adb_install.h
  48. Android.mk
  49. asn1_decoder.cpp
  50. asn1_decoder.h
  51. bootloader.cpp
  52. bootloader.h
  53. CleanSpec.mk
  54. common.h
  55. data.cpp
  56. data.h
  57. data.hpp
  58. default_device.cpp
  59. device.h
  60. find_file.cpp
  61. find_file.hpp
  62. fixPermissions.cpp
  63. fixPermissions.hpp
  64. fuse.h
  65. fuse_sdcard_provider.c
  66. fuse_sdcard_provider.h
  67. fuse_sideload.c
  68. fuse_sideload.h
  69. infomanager.cpp
  70. infomanager.hpp
  71. install.cpp
  72. install.h
  73. interlace-frames.py
  74. legacy_properties.h
  75. legacy_property_service.c
  76. legacy_property_service.h
  77. mounts.c
  78. mounts.h
  79. NOTICE
  80. openrecoveryscript.cpp
  81. openrecoveryscript.hpp
  82. partition.cpp
  83. partitionmanager.cpp
  84. partitions.hpp
  85. README.md
  86. recovery.cpp
  87. recovery_ui.h
  88. roots.cpp
  89. roots.h
  90. screen_ui.cpp
  91. screen_ui.h
  92. tarWrite.c
  93. tarWrite.h
  94. twcommon.h
  95. twinstall.cpp
  96. twinstall.h
  97. twrp-functions.cpp
  98. twrp-functions.hpp
  99. twrp.cpp
  100. twrpDigest.cpp
  101. twrpDigest.hpp
  102. twrpDU.cpp
  103. twrpDU.hpp
  104. twrpTar.cpp
  105. twrpTar.h
  106. twrpTar.hpp
  107. ui.cpp
  108. ui.h
  109. variables.h
  110. verifier.cpp
  111. verifier.h
  112. verifier_test.cpp
  113. verifier_test.sh
  114. verifierold.cpp
  115. verifierold.h
README.md

Team Win Recovery Project (TWRP)

The goal of this branch is to rebase TWRP onto AOSP while maintaining as much of the original AOSP code as possible. This goal should allow us to apply updates to the AOSP code going forward with little to no extra work. With this goal in mind, we will carefully consider any changes needed to the AOSP code before allowing them. In most cases, instead of changing the AOSP code, we'll create our own functions instead. The only changes that should be made to AOSP code should be those affecting startup of the recovery and some of the make files.

If there are changes that need to be merged from AOSP, we will pull the change directly from AOSP instead of creating a new patch in order to prevent merge conflicts with AOSP.

This branch is under final testing and will be used shortly for public builds, but has not officially been released.

You can find a compiling guide here.

More information about the project.

If you have code changes to submit those should be pushed to our gerrit instance. A guide can be found here.