Lines Matching defs:crypt_ftr

143 static int put_crypt_ftr_and_key(char *real_blk_name, struct crypt_mnt_ftr *crypt_ftr,
189 if ((cnt = write(fd, crypt_ftr, sizeof(struct crypt_mnt_ftr))) != sizeof(struct crypt_mnt_ftr)) {
195 if (crypt_ftr->keysize != KEY_LEN_BYTES) {
197 crypt_ftr->keysize*8, fname);
201 if ( (cnt = write(fd, key, crypt_ftr->keysize)) != crypt_ftr->keysize) {
211 off += crypt_ftr->keysize;
242 static int get_crypt_ftr_and_key(char *real_blk_name, struct crypt_mnt_ftr *crypt_ftr,
295 if ( (cnt = read(fd, crypt_ftr, sizeof(struct crypt_mnt_ftr))) != sizeof(struct crypt_mnt_ftr)) {
300 if (crypt_ftr->magic != CRYPT_MNT_MAGIC) {
305 if (crypt_ftr->major_version != 1) {
307 crypt_ftr->major_version);
311 if (crypt_ftr->minor_version != 0) {
313 crypt_ftr->minor_version);
316 if (crypt_ftr->ftr_size > sizeof(struct crypt_mnt_ftr)) {
320 if (lseek(fd, crypt_ftr->ftr_size - sizeof(struct crypt_mnt_ftr), SEEK_CUR) == -1) {
326 if (crypt_ftr->keysize != KEY_LEN_BYTES) {
328 crypt_ftr->keysize * 8, fname);
332 if ( (cnt = read(fd, key, crypt_ftr->keysize)) != crypt_ftr->keysize) {
378 static int create_crypto_blk_dev(struct crypt_mnt_ftr *crypt_ftr, unsigned char *master_key,
419 tgt->length = crypt_ftr->fs_size;
423 convert_key_to_hex_ascii(master_key, crypt_ftr->keysize, master_key_ascii);
424 sprintf(crypt_params, "%s %s 0 %s 0", crypt_ftr->crypto_type_name,
716 struct crypt_mnt_ftr crypt_ftr;
731 if (get_crypt_ftr_and_key(real_blkdev, &crypt_ftr, encrypted_master_key, salt)) {
750 if (crypt_ftr.flags & CRYPT_ENCRYPTION_IN_PROGRESS) {
762 struct crypt_mnt_ftr crypt_ftr;
781 if (get_crypt_ftr_and_key(real_blkdev, &crypt_ftr, encrypted_master_key, salt)) {
786 SLOGD("crypt_ftr->fs_size = %lld\n", crypt_ftr.fs_size);
787 orig_failed_decrypt_count = crypt_ftr.failed_decrypt_count;
789 if (! (crypt_ftr.flags & CRYPT_MNT_KEY_UNENCRYPTED) ) {
793 if (create_crypto_blk_dev(&crypt_ftr, decrypted_master_key,
811 crypt_ftr.failed_decrypt_count++;
817 crypt_ftr.failed_decrypt_count = 0;
820 if (orig_failed_decrypt_count != crypt_ftr.failed_decrypt_count) {
821 put_crypt_ftr_and_key(real_blkdev, &crypt_ftr, 0, 0);
824 if (crypt_ftr.failed_decrypt_count) {
826 rc = crypt_ftr.failed_decrypt_count;
915 struct crypt_mnt_ftr crypt_ftr;
941 if (get_crypt_ftr_and_key(real_blkdev, &crypt_ftr, encrypted_master_key, salt)) {
946 if (crypt_ftr.flags & CRYPT_MNT_KEY_UNENCRYPTED) {
951 if (!memcmp(decrypted_master_key, saved_master_key, crypt_ftr.keysize)) {
1123 struct crypt_mnt_ftr crypt_ftr, sd_crypt_ftr;;
1273 cryptfs_init_crypt_mnt_ftr(&crypt_ftr);
1275 crypt_ftr.fs_size = nr_sec - (CRYPT_FOOTER_OFFSET / 512);
1277 crypt_ftr.fs_size = nr_sec;
1279 crypt_ftr.flags |= CRYPT_ENCRYPTION_IN_PROGRESS;
1280 strcpy((char *)crypt_ftr.crypto_type_name, "aes-cbc-essiv:sha256");
1289 put_crypt_ftr_and_key(real_blkdev, &crypt_ftr, master_key, salt);
1292 create_crypto_blk_dev(&crypt_ftr, decrypted_master_key, real_blkdev, crypto_blkdev,
1296 tot_encryption_size = crypt_ftr.fs_size;
1301 vol_list[i].crypt_ftr = crypt_ftr; /* gotta love struct assign */
1302 vol_list[i].crypt_ftr.fs_size = vol_list[i].size;
1303 create_crypto_blk_dev(&vol_list[i].crypt_ftr, decrypted_master_key,
1311 rc = cryptfs_enable_wipe(crypto_blkdev, crypt_ftr.fs_size, EXT4_FS);
1317 vol_list[i].crypt_ftr.fs_size, FAT_FS);
1322 rc = cryptfs_enable_inplace(crypto_blkdev, real_blkdev, crypt_ftr.fs_size,
1330 vol_list[i].crypt_ftr.fs_size,
1360 crypt_ftr.flags &= ~CRYPT_ENCRYPTION_IN_PROGRESS;
1361 put_crypt_ftr_and_key(real_blkdev, &crypt_ftr, 0, 0);
1424 struct crypt_mnt_ftr crypt_ftr;
1442 if (get_crypt_ftr_and_key(real_blkdev, &crypt_ftr, encrypted_master_key, salt)) {
1450 put_crypt_ftr_and_key(real_blkdev, &crypt_ftr, encrypted_master_key, salt);