diff options
author | Ethan Yonker <dees_troy@teamw.in> | 2014-02-26 20:36:08 +0100 |
---|---|---|
committer | Ethan Yonker <dees_troy@teamw.in> | 2014-02-26 20:37:35 +0100 |
commit | 71413f4ee9a2d345da059793e795d798924b2209 (patch) | |
tree | 37b356f793585a15dad444d5f811f2a1520f4200 /crypto/ics | |
parent | Remove unneeded logging (diff) | |
download | android_bootable_recovery-71413f4ee9a2d345da059793e795d798924b2209.tar android_bootable_recovery-71413f4ee9a2d345da059793e795d798924b2209.tar.gz android_bootable_recovery-71413f4ee9a2d345da059793e795d798924b2209.tar.bz2 android_bootable_recovery-71413f4ee9a2d345da059793e795d798924b2209.tar.lz android_bootable_recovery-71413f4ee9a2d345da059793e795d798924b2209.tar.xz android_bootable_recovery-71413f4ee9a2d345da059793e795d798924b2209.tar.zst android_bootable_recovery-71413f4ee9a2d345da059793e795d798924b2209.zip |
Diffstat (limited to 'crypto/ics')
-rw-r--r-- | crypto/ics/cryptfs.c | 22 | ||||
-rw-r--r-- | crypto/ics/cryptfs.h | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/crypto/ics/cryptfs.c b/crypto/ics/cryptfs.c index 193339ec9..4f3d5d01a 100644 --- a/crypto/ics/cryptfs.c +++ b/crypto/ics/cryptfs.c @@ -653,6 +653,28 @@ int cryptfs_crypto_complete(void) return -1; } +int cryptfs_check_footer(void) +{ + int rc = -1; + char fs_type[PROPERTY_VALUE_MAX]; + char real_blkdev[MAXPATHLEN]; + char fs_options[PROPERTY_VALUE_MAX]; + unsigned long mnt_flags; + struct crypt_mnt_ftr crypt_ftr; + /* Allocate enough space for a 256 bit key, but we may use less */ + unsigned char encrypted_master_key[256]; + unsigned char salt[SALT_LEN]; + + if (get_orig_mount_parms(DATA_MNT_POINT, fs_type, real_blkdev, &mnt_flags, fs_options)) { + printf("Error reading original mount parms for mount point %s\n", DATA_MNT_POINT); + return rc; + } + + rc = get_crypt_ftr_and_key(real_blkdev, &crypt_ftr, encrypted_master_key, salt); + + return rc; +} + int cryptfs_check_passwd(const char *passwd) { char pwbuf[256]; diff --git a/crypto/ics/cryptfs.h b/crypto/ics/cryptfs.h index eee43b3bc..8c8037659 100644 --- a/crypto/ics/cryptfs.h +++ b/crypto/ics/cryptfs.h @@ -76,6 +76,7 @@ struct crypt_mnt_ftr { #ifdef __cplusplus extern "C" { #endif + int cryptfs_check_footer(void); int cryptfs_check_passwd(const char *pw); #ifdef __cplusplus } |