VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Volume/Volume.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Volume/Volume.h')
-rw-r--r--src/Volume/Volume.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/Volume/Volume.h b/src/Volume/Volume.h
index c816da58..4b91e435 100644
--- a/src/Volume/Volume.h
+++ b/src/Volume/Volume.h
@@ -87,60 +87,61 @@ namespace VeraCrypt
void Close ();
shared_ptr <EncryptionAlgorithm> GetEncryptionAlgorithm () const;
shared_ptr <EncryptionMode> GetEncryptionMode () const;
shared_ptr <File> GetFile () const { return VolumeFile; }
shared_ptr <VolumeHeader> GetHeader () const { return Header; }
uint64 GetHeaderCreationTime () const { return Header->GetHeaderCreationTime(); }
uint64 GetHostSize () const { return VolumeHostSize; }
shared_ptr <VolumeLayout> GetLayout () const { return Layout; }
VolumePath GetPath () const { return VolumeFile->GetPath(); }
VolumeProtection::Enum GetProtectionType () const { return Protection; }
shared_ptr <Pkcs5Kdf> GetPkcs5Kdf () const { return Header->GetPkcs5Kdf(); }
uint32 GetSaltSize () const { return Header->GetSaltSize(); }
size_t GetSectorSize () const { return SectorSize; }
uint64 GetSize () const { return VolumeDataSize; }
uint64 GetEncryptedSize () const { return EncryptedDataSize; }
uint64 GetTopWriteOffset () const { return TopWriteOffset; }
uint64 GetTotalDataRead () const { return TotalDataRead; }
uint64 GetTotalDataWritten () const { return TotalDataWritten; }
VolumeType::Enum GetType () const { return Type; }
int GetPim() const { return Pim;}
uint64 GetVolumeCreationTime () const { return Header->GetVolumeCreationTime(); }
bool IsHiddenVolumeProtectionTriggered () const { return HiddenVolumeProtectionTriggered; }
bool IsInSystemEncryptionScope () const { return SystemEncryption; }
void Open (const VolumePath &volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, int pim, shared_ptr <Pkcs5Kdf> kdf, shared_ptr <KeyfileList> keyfiles, bool emvSupportEnabled, VolumeProtection::Enum protection = VolumeProtection::None, shared_ptr <VolumePassword> protectionPassword = shared_ptr <VolumePassword> (), int protectionPim = 0, shared_ptr <Pkcs5Kdf> protectionKdf = shared_ptr <Pkcs5Kdf> (),shared_ptr <KeyfileList> protectionKeyfiles = shared_ptr <KeyfileList> (), bool sharedAccessAllowed = false, VolumeType::Enum volumeType = VolumeType::Unknown, bool useBackupHeaders = false, bool partitionInSystemEncryptionScope = false);
void Open (shared_ptr <File> volumeFile, shared_ptr <VolumePassword> password, int pim, shared_ptr <Pkcs5Kdf> kdf, shared_ptr <KeyfileList> keyfiles, bool emvSupportEnabled, VolumeProtection::Enum protection = VolumeProtection::None, shared_ptr <VolumePassword> protectionPassword = shared_ptr <VolumePassword> (), int protectionPim = 0, shared_ptr <Pkcs5Kdf> protectionKdf = shared_ptr <Pkcs5Kdf> (), shared_ptr <KeyfileList> protectionKeyfiles = shared_ptr <KeyfileList> (), VolumeType::Enum volumeType = VolumeType::Unknown, bool useBackupHeaders = false, bool partitionInSystemEncryptionScope = false);
void ReadSectors (const BufferPtr &buffer, uint64 byteOffset);
void ReEncryptHeader (bool backupHeader, const ConstBufferPtr &newSalt, const ConstBufferPtr &newHeaderKey, shared_ptr <Pkcs5Kdf> newPkcs5Kdf);
void WriteSectors (const ConstBufferPtr &buffer, uint64 byteOffset);
bool IsEncryptionNotCompleted () const { return EncryptionNotCompleted; }
+ bool IsMasterKeyVulnerable() const { return Header && Header->IsMasterKeyVulnerable(); }
protected:
void CheckProtectedRange (uint64 writeHostOffset, uint64 writeLength);
void ValidateState () const;
shared_ptr <EncryptionAlgorithm> EA;
shared_ptr <VolumeHeader> Header;
bool HiddenVolumeProtectionTriggered;
shared_ptr <VolumeLayout> Layout;
uint64 ProtectedRangeStart;
uint64 ProtectedRangeEnd;
VolumeProtection::Enum Protection;
size_t SectorSize;
bool SystemEncryption;
VolumeType::Enum Type;
shared_ptr <File> VolumeFile;
uint64 VolumeHostSize;
uint64 VolumeDataOffset;
uint64 VolumeDataSize;
uint64 EncryptedDataSize;
uint64 TopWriteOffset;
uint64 TotalDataRead;
uint64 TotalDataWritten;
int Pim;
bool EncryptionNotCompleted;
private:
Volume (const Volume &);
Volume &operator= (const Volume &);
};