From 253368a0726120efa57664cdd1d088af099a3d81 Mon Sep 17 00:00:00 2001 From: Ethan Yonker Date: Tue, 25 Nov 2014 15:00:52 -0600 Subject: 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 --- Android.mk | 57 ++++++--------------------------------------------------- 1 file changed, 6 insertions(+), 51 deletions(-) (limited to 'Android.mk') diff --git a/Android.mk b/Android.mk index f4f4f2e07..3433d093a 100644 --- a/Android.mk +++ b/Android.mk @@ -252,38 +252,14 @@ endif ifeq ($(TW_NO_EXFAT_FUSE), true) LOCAL_CFLAGS += -DTW_NO_EXFAT_FUSE endif -ifeq ($(TW_INCLUDE_CRYPTO), true) - LOCAL_CFLAGS += -DTW_INCLUDE_CRYPTO - LOCAL_CFLAGS += -DCRYPTO_FS_TYPE=\"$(TW_CRYPTO_FS_TYPE)\" - LOCAL_CFLAGS += -DCRYPTO_REAL_BLKDEV=\"$(TW_CRYPTO_REAL_BLKDEV)\" - LOCAL_CFLAGS += -DCRYPTO_MNT_POINT=\"$(TW_CRYPTO_MNT_POINT)\" - LOCAL_CFLAGS += -DCRYPTO_FS_OPTIONS=\"$(TW_CRYPTO_FS_OPTIONS)\" - LOCAL_CFLAGS += -DCRYPTO_FS_FLAGS=\"$(TW_CRYPTO_FS_FLAGS)\" - LOCAL_CFLAGS += -DCRYPTO_KEY_LOC=\"$(TW_CRYPTO_KEY_LOC)\" -ifeq ($(TW_INCLUDE_CRYPTO_SAMSUNG), true) - LOCAL_CFLAGS += -DTW_INCLUDE_CRYPTO_SAMSUNG=\"$(TW_INCLUDE_CRYPTO_SAMSUNG)\" - ifdef TW_CRYPTO_SD_REAL_BLKDEV - LOCAL_CFLAGS += -DCRYPTO_SD_REAL_BLKDEV=\"$(TW_CRYPTO_SD_REAL_BLKDEV)\" - LOCAL_CFLAGS += -DCRYPTO_SD_FS_TYPE=\"$(TW_CRYPTO_SD_FS_TYPE)\" - endif - #LOCAL_LDFLAGS += -L$(TARGET_OUT_SHARED_LIBRARIES) -lsec_km - LOCAL_LDFLAGS += -ldl - LOCAL_STATIC_LIBRARIES += libcrypt_samsung -endif - LOCAL_SHARED_LIBRARIES += libcryptfsics - #LOCAL_SRC_FILES += crypto/ics/cryptfs.c - #LOCAL_C_INCLUDES += system/extras/ext4_utils external/openssl/include -endif ifeq ($(TW_INCLUDE_JB_CRYPTO), true) - LOCAL_CFLAGS += -DTW_INCLUDE_CRYPTO - LOCAL_CFLAGS += -DTW_INCLUDE_JB_CRYPTO - LOCAL_SHARED_LIBRARIES += libcryptfsjb - #LOCAL_SRC_FILES += crypto/jb/cryptfs.c - #LOCAL_C_INCLUDES += system/extras/ext4_utils external/openssl/include + TW_INCLUDE_CRYPTO := true endif ifeq ($(TW_INCLUDE_L_CRYPTO), true) + TW_INCLUDE_CRYPTO := true +endif +ifeq ($(TW_INCLUDE_CRYPTO), true) LOCAL_CFLAGS += -DTW_INCLUDE_CRYPTO - LOCAL_CFLAGS += -DTW_INCLUDE_L_CRYPTO LOCAL_SHARED_LIBRARIES += libcryptfslollipop endif ifeq ($(TW_USE_MODEL_HARDWARE_ID_FOR_DEVICE_ID), true) @@ -374,12 +350,6 @@ endif ifneq ($(TW_NO_EXFAT_FUSE), true) LOCAL_ADDITIONAL_DEPENDENCIES += exfat-fuse endif -ifeq ($(TW_INCLUDE_CRYPTO), true) - LOCAL_ADDITIONAL_DEPENDENCIES += cryptfs cryptsettings -endif -ifeq ($(TW_INCLUDE_JB_CRYPTO), true) - LOCAL_ADDITIONAL_DEPENDENCIES += getfooter -endif ifeq ($(TW_INCLUDE_FB2PNG), true) LOCAL_ADDITIONAL_DEPENDENCIES += fb2png endif @@ -513,8 +483,6 @@ include $(commands_recovery_local_path)/injecttwrp/Android.mk \ $(commands_recovery_local_path)/flashutils/Android.mk \ $(commands_recovery_local_path)/pigz/Android.mk \ $(commands_recovery_local_path)/libtar/Android.mk \ - $(commands_recovery_local_path)/crypto/cryptsettings/Android.mk \ - $(commands_recovery_local_path)/crypto/cryptfs/Android.mk \ $(commands_recovery_local_path)/libcrecovery/Android.mk \ $(commands_recovery_local_path)/libblkid/Android.mk \ $(commands_recovery_local_path)/minuitwrp/Android.mk \ @@ -528,19 +496,9 @@ ifneq ($(TARGET_ARCH), arm64) include $(commands_recovery_local_path)/dosfstools/Android.mk endif -ifeq ($(TW_INCLUDE_CRYPTO_SAMSUNG), true) - include $(commands_recovery_local_path)/crypto/libcrypt_samsung/Android.mk -endif - -ifeq ($(TW_INCLUDE_JB_CRYPTO), true) - include $(commands_recovery_local_path)/crypto/jb/Android.mk - include $(commands_recovery_local_path)/crypto/fs_mgr/Android.mk - include $(commands_recovery_local_path)/crypto/logwrapper/Android.mk - include $(commands_recovery_local_path)/crypto/scrypt/Android.mk - include $(commands_recovery_local_path)/crypto/crypttools/Android.mk -endif -ifeq ($(TW_INCLUDE_L_CRYPTO), true) +ifeq ($(TW_INCLUDE_CRYPTO), true) include $(commands_recovery_local_path)/crypto/lollipop/Android.mk + include $(commands_recovery_local_path)/crypto/scrypt/Android.mk endif ifeq ($(PLATFORM_VERSION), 5.0.1) include $(commands_recovery_local_path)/minzip/Android.mk @@ -558,9 +516,6 @@ endif ifneq ($(TW_NO_EXFAT_FUSE), true) include $(commands_recovery_local_path)/exfat/exfat-fuse/Android.mk endif -ifeq ($(TW_INCLUDE_CRYPTO), true) - include $(commands_recovery_local_path)/crypto/ics/Android.mk -endif ifneq ($(TW_OEM_BUILD),true) include $(commands_recovery_local_path)/orscmd/Android.mk endif -- cgit v1.2.3