1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-12 03:18:26 -06:00

Reduce time for reporting wrong password by removing support for legacy hidden format because it was never functional and it was superseded by current hidden format.

This commit is contained in:
Mounir IDRASSI
2014-12-20 15:04:07 +01:00
parent 02cbecff64
commit 4b9f8b232b
8 changed files with 5 additions and 103 deletions

View File

@@ -129,13 +129,6 @@ namespace VeraCrypt
if (useBackupHeaders && !layout->HasBackupHeader())
continue;
if (typeid (*layout) == typeid (VolumeLayoutV1Hidden)
&& deviceHosted
&& hostDeviceSectorSize != TC_SECTOR_SIZE_LEGACY)
{
continue;
}
SecureBuffer headerBuffer (layout->GetHeaderSize());
if (layout->HasDriveHeader())
@@ -249,9 +242,6 @@ namespace VeraCrypt
ProtectedRangeStart = protectedVolume.VolumeDataOffset;
ProtectedRangeEnd = protectedVolume.VolumeDataOffset + protectedVolume.VolumeDataSize;
if (typeid (*protectedVolume.Layout) == typeid (VolumeLayoutV1Hidden))
ProtectedRangeEnd += protectedVolume.Layout->GetHeaderSize();
}
catch (PasswordException&)
{

View File

@@ -28,7 +28,6 @@ namespace VeraCrypt
layouts.push_back (shared_ptr <VolumeLayout> (new VolumeLayoutV2Normal ()));
layouts.push_back (shared_ptr <VolumeLayout> (new VolumeLayoutV1Normal ()));
layouts.push_back (shared_ptr <VolumeLayout> (new VolumeLayoutV2Hidden ()));
layouts.push_back (shared_ptr <VolumeLayout> (new VolumeLayoutV1Hidden ()));
layouts.push_back (shared_ptr <VolumeLayout> (new VolumeLayoutSystemEncryption ()));
if (type != VolumeType::Unknown)
@@ -85,35 +84,6 @@ namespace VeraCrypt
}
VolumeLayoutV1Hidden::VolumeLayoutV1Hidden ()
{
Type = VolumeType::Hidden;
HeaderOffset = -TC_HIDDEN_VOLUME_HEADER_OFFSET_LEGACY;
HeaderSize = TC_VOLUME_HEADER_SIZE_LEGACY;
SupportedEncryptionAlgorithms.push_back (shared_ptr <EncryptionAlgorithm> (new AES ()));
SupportedEncryptionAlgorithms.push_back (shared_ptr <EncryptionAlgorithm> (new Serpent ()));
SupportedEncryptionAlgorithms.push_back (shared_ptr <EncryptionAlgorithm> (new Twofish ()));
SupportedEncryptionAlgorithms.push_back (shared_ptr <EncryptionAlgorithm> (new AESTwofish ()));
SupportedEncryptionAlgorithms.push_back (shared_ptr <EncryptionAlgorithm> (new AESTwofishSerpent ()));
SupportedEncryptionAlgorithms.push_back (shared_ptr <EncryptionAlgorithm> (new SerpentAES ()));
SupportedEncryptionAlgorithms.push_back (shared_ptr <EncryptionAlgorithm> (new SerpentTwofishAES ()));
SupportedEncryptionAlgorithms.push_back (shared_ptr <EncryptionAlgorithm> (new TwofishSerpent ()));
SupportedEncryptionModes.push_back (shared_ptr <EncryptionMode> (new EncryptionModeXTS ()));
}
uint64 VolumeLayoutV1Hidden::GetDataOffset (uint64 volumeHostSize) const
{
return volumeHostSize - GetDataSize (volumeHostSize) + HeaderOffset;
}
uint64 VolumeLayoutV1Hidden::GetDataSize (uint64 volumeHostSize) const
{
return Header->GetHiddenVolumeDataSize ();
}
VolumeLayoutV2Normal::VolumeLayoutV2Normal ()
{
Type = VolumeType::Normal;

View File

@@ -78,24 +78,6 @@ namespace VeraCrypt
};
class VolumeLayoutV1Hidden : public VolumeLayout
{
public:
VolumeLayoutV1Hidden ();
virtual ~VolumeLayoutV1Hidden () { }
virtual int GetBackupHeaderOffset () const { throw NotApplicable (SRC_POS); }
virtual uint64 GetDataOffset (uint64 volumeHostSize) const;
virtual uint64 GetDataSize (uint64 volumeHostSize) const;
virtual uint64 GetMaxDataSize (uint64 volumeSize) const { throw NotApplicable (SRC_POS); }
virtual bool HasBackupHeader () const { return false; }
private:
VolumeLayoutV1Hidden (const VolumeLayoutV1Hidden &);
VolumeLayoutV1Hidden &operator= (const VolumeLayoutV1Hidden &);
};
class VolumeLayoutV2Normal : public VolumeLayout
{
public: