Switch to new FBE emulation property.

Also prepare CE/DE storage directories for owner user at boot.

Bug: 22358539
Change-Id: I76228952c990ebed83360c69ef36321b99114196
This commit is contained in:
Jeff Sharkey 2015-11-12 20:18:02 -08:00
parent c74ce36359
commit c79fb89a10
2 changed files with 8 additions and 2 deletions

View file

@ -52,6 +52,8 @@
using android::base::StringPrintf;
static const char* kPropEmulateFbe = "persist.vold.emulate_fbe";
namespace {
// Key length in bits
const int key_length = 128;
@ -683,7 +685,7 @@ int e4crypt_destroy_user_key(userid_t user_id) {
}
int e4crypt_unlock_user_key(userid_t user_id, const char* token) {
if (property_get_bool("vold.emulate_fbe", false)) {
if (property_get_bool(kPropEmulateFbe, false)) {
// When in emulation mode, we just use chmod
if (chmod(android::vold::BuildDataSystemCePath(user_id).c_str(), 0771) ||
chmod(android::vold::BuildDataUserPath(nullptr, user_id).c_str(), 0771)) {
@ -704,7 +706,7 @@ int e4crypt_unlock_user_key(userid_t user_id, const char* token) {
}
int e4crypt_lock_user_key(userid_t user_id) {
if (property_get_bool("vold.emulate_fbe", false)) {
if (property_get_bool(kPropEmulateFbe, false)) {
// When in emulation mode, we just use chmod
if (chmod(android::vold::BuildDataSystemCePath(user_id).c_str(), 0000) ||
chmod(android::vold::BuildDataUserPath(nullptr, user_id).c_str(), 0000)) {

View file

@ -18,6 +18,7 @@
#include "VolumeManager.h"
#include "CommandListener.h"
#include "CryptCommandListener.h"
#include "Ext4Crypt.h"
#include "NetlinkManager.h"
#include "cryptfs.h"
#include "sehandle.h"
@ -96,6 +97,9 @@ int main(int argc, char** argv) {
vm->setDebug(true);
}
// Prepare owner storage
e4crypt_prepare_user_storage(nullptr, 0);
cl = new CommandListener();
ccl = new CryptCommandListener();
vm->setBroadcaster((SocketListener *) cl);