From 437d86f6a0d516a7039aaa22c1c125d6228a9dc7 Mon Sep 17 00:00:00 2001 From: bigbiff Date: Sun, 26 Sep 2021 16:57:14 -0400 Subject: [PATCH] wrappedkey: don't use twrp for processing anymore Now in android-11 we can now process legacy and newer wrappedkey support in our libfscrypt library. TWRP doesn't need to set a property to check for wrapped key. libfscrypt will just process wrappedkey fs_mgr flag for legacy wrapped key or wrappedkey_v0 for the newer wrapped key supported in android-11. Change-Id: Ia94c7ebe34a05c9b25bbb7a5b2e899902c93d203 --- partition.cpp | 24 ++---------------------- partitionmanager.cpp | 13 +------------ 2 files changed, 3 insertions(+), 34 deletions(-) diff --git a/partition.cpp b/partition.cpp index 6ef9ff9e..d49e33dd 100755 --- a/partition.cpp +++ b/partition.cpp @@ -699,18 +699,7 @@ void TWPartition::Setup_Data_Partition(bool Display_Error) { int is_device_fbe; DataManager::GetValue(TW_IS_FBE, is_device_fbe); if (!Decrypt_FBE_DE() && is_device_fbe == 1) { - char wrappedvalue[PROPERTY_VALUE_MAX]; - property_get("fbe.data.wrappedkey", wrappedvalue, ""); - std::string wrappedkeyvalue(wrappedvalue); - if (wrappedkeyvalue == "true") { - LOGERR("Unable to decrypt FBE device\n"); - } else { - LOGINFO("Trying wrapped key.\n"); - property_set("fbe.data.wrappedkey", "true"); - if (!Decrypt_FBE_DE()) { - LOGERR("Unable to decrypt FBE device\n"); - } - } + LOGERR("Unable to decrypt FBE device\n"); } DataManager::SetValue(TW_IS_ENCRYPTED, 0); } @@ -939,16 +928,7 @@ void TWPartition::Apply_TW_Flag(const unsigned flag, const char* str, const bool } break; case TWFLAG_WRAPPEDKEY: - // Set wrappedkey props to true for data and/or metadata - { - size_t slash_loc = Mount_Point.find('/'); - std::string partition = Mount_Point.substr(slash_loc + 1); - if (Mount_Point == "/data" || Mount_Point == "/metadata") { - std::string wrapped_prop = "fbe." + partition + ".wrappedkey"; - property_set(wrapped_prop.c_str(), "true"); - LOGINFO("FBE wrapped key enabled for %s\n", Mount_Point.c_str()); - } - } + // no more processing needed. leaving it here in case we want to do something in the future break; case TWFLAG_FLASHIMG: Can_Flash_Img = val; diff --git a/partitionmanager.cpp b/partitionmanager.cpp index 5e98b062..2b8a3fd7 100755 --- a/partitionmanager.cpp +++ b/partitionmanager.cpp @@ -419,18 +419,7 @@ void TWPartitionManager::Decrypt_Data() { usleep(500); if (Decrypt_Data->Mount(false)) { if (!Decrypt_Data->Decrypt_FBE_DE()) { - char wrappedvalue[PROPERTY_VALUE_MAX]; - property_get("fbe.data.wrappedkey", wrappedvalue, ""); - std::string wrappedkeyvalue(wrappedvalue); - if (wrappedkeyvalue == "true") { - LOGERR("Unable to decrypt FBE device\n"); - } else { - LOGINFO("Trying wrapped key.\n"); - property_set("fbe.data.wrappedkey", "true"); - if (!Decrypt_Data->Decrypt_FBE_DE()) { - LOGERR("Unable to decrypt FBE device\n"); - } - } + LOGERR("Unable to decrypt FBE device\n"); } } else {