Initial commit of DriveEncryption (internal r48).


git-svn-id: http://svn.osdrawer.net/driveencryption@1 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Fixed addattr usage with 'MIMS' - it obviously didn't work everywhere.


git-svn-id: http://svn.osdrawer.net/driveencryption@3 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Fixed build under Haiku.


git-svn-id: http://svn.osdrawer.net/driveencryption@4 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Now test for driver before doing anything else.
* Fixed usage output in encrypted_drive_control.
* Improved error output.
* Minor cleanup.


git-svn-id: http://svn.osdrawer.net/driveencryption@6 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Fixed driver when being used in Haiku (there is no cache disable ioctl, so
  this must fail).
* Minor cleanup.


git-svn-id: http://svn.osdrawer.net/driveencryption@7 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Now publishes devices named "raw", so that they are picked up by the Haiku
  disk device manager.
* Work-in-progress to support XTS encryption mode (used by more recent
  TrueCrypt versions).


git-svn-id: http://svn.osdrawer.net/driveencryption@8 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Moved the crypt part into a static library.


git-svn-id: http://svn.osdrawer.net/driveencryption@9 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Work in progress of XTS mode support introduced in Truecrypt 5.
* Added test application to be able to easily test the libcrypt stuff outside
  of a kernel driver.


git-svn-id: http://svn.osdrawer.net/driveencryption@10 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* LRW mode was setup incorrectly.
* Minor cleanup, added missing licenses.


git-svn-id: http://svn.osdrawer.net/driveencryption@11 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Decrypting the header now works in XTS and LRW mode.


git-svn-id: http://svn.osdrawer.net/driveencryption@12 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* crypt_context is now a class CryptContext. Moved the volume specific stuff
  into its child class VolumeCryptContext.
* Added SetCompleteKey() methods to Encryption{Mode|Algorithm} that know which
  part of the key is actually used.


git-svn-id: http://svn.osdrawer.net/driveencryption@13 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Minor cleanup.


git-svn-id: http://svn.osdrawer.net/driveencryption@14 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Ported driver to changed libcrypt.a.


git-svn-id: http://svn.osdrawer.net/driveencryption@15 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* XTS mode now works.


git-svn-id: http://svn.osdrawer.net/driveencryption@16 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Fixed asking for the password twice in registration mode.


git-svn-id: http://svn.osdrawer.net/driveencryption@17 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* The block index computation has changed as well, obviously. Now XTS and LRW
  modes are both working again, encrypted volumes can be mounted (XTS read-only
  so far).


git-svn-id: http://svn.osdrawer.net/driveencryption@18 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* If opening the device read-write fails, try read-only again.


git-svn-id: http://svn.osdrawer.net/driveencryption@19 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* When mounting something on Haiku, we don't need to know the file system.


git-svn-id: http://svn.osdrawer.net/driveencryption@20 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Implemented XTSMode::EncryptBlock().


git-svn-id: http://svn.osdrawer.net/driveencryption@21 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6
* Added support for the new volume format in TrueCrypt 6.


git-svn-id: http://svn.osdrawer.net/driveencryption@22 5c7ddd3e-dd3f-0410-a8ba-ced23cac77a6