Tweak 5.0 L decrypt
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
This commit is contained in:
@@ -139,6 +139,24 @@ int TWPartitionManager::Process_Fstab(string Fstab_Filename, bool Display_Error)
|
||||
if (settings_partition) {
|
||||
Setup_Settings_Storage_Partition(settings_partition);
|
||||
}
|
||||
#ifdef TW_INCLUDE_L_CRYPTO
|
||||
TWPartition* Decrypt_Data = Find_Partition_By_Path("/data");
|
||||
if (Decrypt_Data && Decrypt_Data->Is_Encrypted && !Decrypt_Data->Is_Decrypted) {
|
||||
int password_type = cryptfs_get_password_type();
|
||||
if (password_type == CRYPT_TYPE_DEFAULT) {
|
||||
LOGINFO("Device is encrypted with the default password, attempting to decrypt.\n");
|
||||
if (Decrypt_Device("default_password") == 0) {
|
||||
gui_print("Successfully decrypted with default password.\n");
|
||||
DataManager::SetValue(TW_IS_ENCRYPTED, 0);
|
||||
} else {
|
||||
LOGERR("Unable to decrypt with default password.");
|
||||
LOGERR("You may need to perform a Format Data.\n");
|
||||
}
|
||||
} else {
|
||||
DataManager::SetValue("TW_CRYPTO_TYPE", password_type);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Update_System_Details();
|
||||
UnMount_Main_Partitions();
|
||||
return true;
|
||||
@@ -1375,6 +1393,9 @@ int TWPartitionManager::Decrypt_Device(string Password) {
|
||||
#endif
|
||||
|
||||
strcpy(cPassword, Password.c_str());
|
||||
#ifdef TW_INCLUDE_L_CRYPTO
|
||||
Mount_By_Path("/vendor", false); // if exists, mount vendor partition as we may need some proprietary files
|
||||
#endif
|
||||
int pwret = cryptfs_check_passwd(cPassword);
|
||||
|
||||
if (pwret != 0) {
|
||||
|
||||
Reference in New Issue
Block a user