diff --git a/lib/bitlk/bitlk.c b/lib/bitlk/bitlk.c index eec9ae46..d47c1a24 100644 --- a/lib/bitlk/bitlk.c +++ b/lib/bitlk/bitlk.c @@ -512,6 +512,7 @@ int BITLK_read_sb(struct crypt_device *cd, struct bitlk_metadata *params) le16_to_cpu(fve.curr_state), le16_to_cpu(fve.next_state)); } + params->volume_size = le64_to_cpu(fve.volume_size); params->metadata_version = le16_to_cpu(fve.fve_version); fve_metadata_size = le32_to_cpu(fve.metadata_size); @@ -703,6 +704,7 @@ int BITLK_dump(struct crypt_device *cd, struct device *device, struct bitlk_meta log_std(cd, "Version: \t%u\n", params->metadata_version); log_std(cd, "GUID: \t%s\n", params->guid); log_std(cd, "Sector size: \t%u [bytes]\n", params->sector_size); + log_std(cd, "Volume size: \t%" PRIu64 " [bytes]\n", params->volume_size); log_std(cd, "Created: \t%s", ctime((time_t *)&(params->creation_time))); log_std(cd, "Description: \t%s\n", params->description); log_std(cd, "Cipher name: \t%s\n", params->cipher); diff --git a/lib/bitlk/bitlk.h b/lib/bitlk/bitlk.h index 237320da..5b542712 100644 --- a/lib/bitlk/bitlk.h +++ b/lib/bitlk/bitlk.h @@ -99,6 +99,7 @@ struct bitlk_fvek { struct bitlk_metadata { uint16_t sector_size; + uint64_t volume_size; bool togo; bool state; BITLKEncryptionType type; diff --git a/tests/bitlk-compat-test b/tests/bitlk-compat-test index b4e0c090..ff4d8902 100755 --- a/tests/bitlk-compat-test +++ b/tests/bitlk-compat-test @@ -51,6 +51,10 @@ function check_dump() # load variables for this image from config file load_vars $file + # volume size + dump_size=$(echo "$dump" | grep "Volume size:" | cut -d: -f2 | tr -d "\t\n ") + [ "$dump_size" = "104857600[bytes]" -o "$dump_size" = "134217728[bytes]" ] || fail " volume size check from dump failed." + # description dump_desc=$(echo "$dump" | grep Description: | cut -d: -f2 | tr -d "\t\n ") [ "${dump_desc:0:7}" = "DESKTOP" -o "${dump_desc:0:3}" = "WIN" ] || fail " Description check from dump failed."