diff options
author | Doug Zongker <dougz@google.com> | 2014-09-05 19:24:50 +0200 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-05 19:24:50 +0200 |
commit | 3de5e7cc0bc1632feddbb57481cf26c99d9c96e8 (patch) | |
tree | 02693ba08f06ce5d1420c206abb6e7ce85ef1d84 | |
parent | am 40482ea2: Merge "fix comment in blockimg updater code" into lmp-dev (diff) | |
parent | create block map for all update packages on /data (diff) | |
download | android_bootable_recovery-3de5e7cc0bc1632feddbb57481cf26c99d9c96e8.tar android_bootable_recovery-3de5e7cc0bc1632feddbb57481cf26c99d9c96e8.tar.gz android_bootable_recovery-3de5e7cc0bc1632feddbb57481cf26c99d9c96e8.tar.bz2 android_bootable_recovery-3de5e7cc0bc1632feddbb57481cf26c99d9c96e8.tar.lz android_bootable_recovery-3de5e7cc0bc1632feddbb57481cf26c99d9c96e8.tar.xz android_bootable_recovery-3de5e7cc0bc1632feddbb57481cf26c99d9c96e8.tar.zst android_bootable_recovery-3de5e7cc0bc1632feddbb57481cf26c99d9c96e8.zip |
-rw-r--r-- | uncrypt/uncrypt.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/uncrypt/uncrypt.c b/uncrypt/uncrypt.c index 07e5ae665..189fa57e1 100644 --- a/uncrypt/uncrypt.c +++ b/uncrypt/uncrypt.c @@ -160,8 +160,6 @@ char* parse_recovery_command_file() int count = 0; char temp[1024]; - - FILE* f = fopen(RECOVERY_COMMAND_FILE, "r"); if (f == NULL) { return NULL; @@ -405,16 +403,15 @@ int main(int argc, char** argv) ALOGI("encryptable: %s\n", encryptable ? "yes" : "no"); ALOGI(" encrypted: %s\n", encrypted ? "yes" : "no"); - if (!encryptable) { - // If the file is on a filesystem that doesn't support - // encryption (eg, /cache), then leave it alone. - // - // TODO: change this to be !encrypted -- if the file is on - // /data but /data isn't encrypted, we don't need to use the - // block map mechanism. We do for now so as to get more - // testing of it (since most dogfood devices aren't - // encrypted). - + // Recovery supports installing packages from 3 paths: /cache, + // /data, and /sdcard. (On a particular device, other locations + // may work, but those are three we actually expect.) + // + // On /data we want to convert the file to a block map so that we + // can read the package without mounting the partition. On /cache + // and /sdcard we leave the file alone. + if (strncmp(path, "/data/", 6) != 0) { + // path does not start with "/data/"; leave it alone. unlink(RECOVERY_COMMAND_FILE_TMP); } else { ALOGI("writing block map %s", map_file); |