Commit Graph

19 Commits

Author SHA1 Message Date
Milan Broz
1a10c59b97 Remove internal SHA1 implementation, not needed now.
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@82 36d66b0a-2a48-0410-832c-cd162a569da5
2009-07-30 15:01:22 +00:00
Milan Broz
88bdb609a8 Move XOR function to af.c, nobody outside of it use it now.
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@81 36d66b0a-2a48-0410-832c-cd162a569da5
2009-07-30 14:59:10 +00:00
Milan Broz
ed9e146cb6 Add required parameters for changing hash used in LUKS key setup scheme.
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@80 36d66b0a-2a48-0410-832c-cd162a569da5
2009-07-30 14:57:52 +00:00
Milan Broz
7e7c9c176c Switch PBKDF2 from internal SHA1 to libgcrypt.
Also make hash algorithm not fixed here.



git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@79 36d66b0a-2a48-0410-832c-cd162a569da5
2009-07-30 14:56:59 +00:00
Milan Broz
aab7fecd2e Return ENOENT for empty keyslots, EINVAL will be used later for other type of errors.
(also clean some spaces)



git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@78 36d66b0a-2a48-0410-832c-cd162a569da5
2009-07-30 14:55:24 +00:00
Milan Broz
e3e3027e12 Optimize o_direct read/writes.
* Pad luks header to 512 sector size. We need read/write in whole
sector anyway and space is unused (wiped in luksFormat) so there is
no need for read/seek/write exercise.

* Rework read/write blockwise to not split operation to many pieces.
thanks to Sebastian Andrzej Siewior:

  The buffer has to be aligned due to the O_DIRECT in open(). Currently a small
  blocksize buffer is allocated and everything is read in multiple reads and
  copied back to the original buffer. In my case AFEKSize gets computed to 64000
  which results in 125 reads with 512 bytes each.
  This patch changes this behavior to a single operation where the majority is
  read()/write() plus an optional fixup in case the request is not modulo block
  size.

* Use posix_memalign and check for alignment if available.
Othewise use old align functions. Add autoconf to detect posix_memalign.



git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@74 36d66b0a-2a48-0410-832c-cd162a569da5
2009-07-28 09:29:13 +00:00
Milan Broz
fc2cfe7a32 Allow removal of last slot in luksRemoveKey and luksKillSlot.
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@65 36d66b0a-2a48-0410-832c-cd162a569da5
2009-07-16 12:59:00 +00:00
Milan Broz
dca5a38513 Set UUID in device-mapper for LUKS devices.
Device mapper device should use UUID string if possible.
UDEV can then easily distinguish the device type etc.

cryptsetup now uses CRYPT prefix for uuid.



git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@55 36d66b0a-2a48-0410-832c-cd162a569da5
2009-06-20 20:24:56 +00:00
Milan Broz
db96ccef46 Check device size when loading LUKS header.
(And remove misleading error message later.)

Because kernel and libdevmapper does not provide
better error message then "invalid parameters"
add some error hint if dm-crypt mapping failed.
(Key size and kernel version check for XTS and LRW mode
for now.)



git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@52 36d66b0a-2a48-0410-832c-cd162a569da5
2009-06-20 09:24:33 +00:00
Milan Broz
91f1e7b59a Use better error messages if device doesn't exist
or is already used by other mapping.



git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@51 36d66b0a-2a48-0410-832c-cd162a569da5
2009-06-19 17:03:22 +00:00
Milan Broz
d6f68c099e Fix make distcheck (Mike Kelly)
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@50 36d66b0a-2a48-0410-832c-cd162a569da5
2009-06-19 15:53:45 +00:00
Clemens Fruhwirth
12974a1dd3 * Fix wrong output for remaining key at key deletion.
* Allow deletion of key slot while other keys have the same key
  information (that implied rewritting verification logic).



git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@41 36d66b0a-2a48-0410-832c-cd162a569da5
2008-12-19 19:39:42 +00:00
Milan Broz
c0aeac6a34 Use remapping to error target instead of calling udevsettle for temporary crypt device.
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@32 36d66b0a-2a48-0410-832c-cd162a569da5
2008-09-16 15:35:50 +00:00
Clemens Fruhwirth
8003974484 Thanks to Milan Broz <mbroz@redhat.com> for this patch:
Fix signal handler to proper close device, otherwise if the descriptor
is 0, it keeps device open and temporary-cryptsetup-$PID mapping
is not removed (leaving device open and unusable).



git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@30 36d66b0a-2a48-0410-832c-cd162a569da5
2008-09-10 10:55:28 +00:00
Clemens Fruhwirth
98cf0aedf8 Thanks to Ivan Stankovic
* write_lseek_blockwise: declare innerCount outside the if block
* add -Wall to the default CFLAGS
* fix some signedness issues



git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@29 36d66b0a-2a48-0410-832c-cd162a569da5
2008-09-01 08:54:05 +00:00
Clemens Fruhwirth
4884064723 Error handling improvement thanks to Erik Edin.
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@28 36d66b0a-2a48-0410-832c-cd162a569da5
2008-08-20 10:40:45 +00:00
Clemens Fruhwirth
643aed1891 Add non-exclusive override to interface definition, add regression test
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@26 36d66b0a-2a48-0410-832c-cd162a569da5
2008-06-30 12:21:06 +00:00
Clemens Fruhwirth
50aba1c26e Purge leftovers from patching (.orig)
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@4 36d66b0a-2a48-0410-832c-cd162a569da5
2008-03-22 08:29:12 +00:00
Clemens Fruhwirth
7dc7b90a9b Initial checking of what was revision 56 on http://luks.endorphin.org/svn/cryptsetup
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@3 36d66b0a-2a48-0410-832c-cd162a569da5
2008-03-22 08:23:35 +00:00