1 2009-12-30 Milan Broz <mbroz@redhat.com>
2 * Fix key slot iteration count calculation (small -i value was the same as default).
3 * The slot and key digest iteration minimun is now 1000.
4 * The key digest iteration # is calculated from iteration time (approx 1/8 of that).
6 2009-12-11 Milan Broz <mbroz@redhat.com>
7 * Fix error handling during reading passhrase.
9 2009-12-01 Milan Broz <mbroz@redhat.com>
10 * Allow changes of default compiled-in cipher parameters through configure.
11 * Switch default key size for LUKS to 256bits.
12 * Switch default plain mode to aes-cbc-essiv:sha256 (default is backward incompatible!).
14 2009-11-14 Milan Broz <mbroz@redhat.com>
15 * Add CRYPT_ prefix to enum defined in libcryptsetup.h.
16 * Fix status call to fail when running as non-root user.
17 * Check in configure if selinux libraries are required in static version.
18 * Add temporary debug code to find processes locking internal device.
19 * Simplify build system, use autopoint and clean gettext processing.
20 * Use proper NLS macros and detection (so the message translation works again).
23 2009-09-30 Milan Broz <mbroz@redhat.com>
24 * Fix exported symbols and versions in libcryptsetup.
25 * Do not use internal lib functions in cryptsetup.
26 * Add crypt_log to library.
27 * Fix crypt_remove_device (remove, luksClose) implementation.
28 * Move dm backend initialisation to library calls.
29 * Move duplicate Command failed message to verbose level (error is printed always).
30 * Add some password and used algorithms notes to man page.
33 2009-09-28 Milan Broz <mbroz@redhat.com>
34 * Add luksHeaderBackup and luksHeaderRestore commands.
35 * Fail passphrase read if piped input no longer exists.
38 2009-09-15 Milan Broz <mbroz@redhat.com>
39 * Initialize crypto library before LUKS header load.
40 * Fix manpage to not require --size which expands to device size by default.
42 2009-09-10 Milan Broz <mbroz@redhat.com>
43 * Clean up Makefiles and configure script.
44 * Version 1.1.0-test0.
46 2009-09-08 Milan Broz <mbroz@redhat.com>
47 * Use dm-uuid for all crypt devices, contains device type and name now.
48 * Try to read first sector from device to properly check that device is ready.
50 2009-09-02 Milan Broz <mbroz@redhat.com>
51 * Add luksSuspend (freeze device and wipe key) and luksResume (with provided passphrase).
53 2009-08-30 Milan Broz <mbroz@redhat.com>
54 * Require device device-mapper to build and do not use backend wrapper for dm calls.
55 * Move memory locking and dm initialization to command layer.
56 * Increase priority of process if memory is locked.
57 * Add log macros and make logging modre consitent.
58 * Move command successful messages to verbose level.
59 * Introduce --debug parameter.
60 * Move device utils code and provide context parameter (for log).
61 * Keyfile now must be provided by path, only stdin file descriptor is used (api only).
62 * Do not call isatty() on closed keyfile descriptor.
63 * Run performance check for PBKDF2 from LUKS code, do not mix hash algoritms results.
64 * Add ability to provide pre-generated master key and UUID in LUKS header format.
65 * Add LUKS function to verify master key digest.
66 * Move key slot manuipulation function into LUKS specific code.
67 * Replace global options struct with separate parameters in helper functions.
68 * Add new libcryptsetup API (documented in libcryptsetup.h).
69 * Implement old API calls using new functions.
70 * Remove old API code helper functions.
71 * Add --master-key-file option for luksFormat and luksAddKey.
73 2009-08-17 Milan Broz <mbroz@redhat.com>
74 * Fix PBKDF2 speed calculation for large passhrases.
75 * Allow using passphrase provided in options struct for LuksOpen.
76 * Allow restrict keys size in LuksOpen.
78 2009-07-30 Milan Broz <mbroz@redhat.com>
79 * Fix errors when compiled with LUKS_DEBUG.
80 * Print error when getline fails.
81 * Remove po/cryptsetup-luks.pot, it's autogenerated.
82 * Return ENOENT for empty keyslots, EINVAL will be used later for other type of error.
83 * Switch PBKDF2 from internal SHA1 to libgcrypt, make hash algorithm not hardcoded to SHA1 here.
84 * Add required parameters for changing hash used in LUKS key setup scheme.
85 * Do not export simple XOR helper now used only inside AF functions.
86 * Completely remove internal SHA1 implementanion code, not needed anymore.
87 * Enable hash algorithm selection for LUKS through -h luksFormat option.
89 2009-07-28 Milan Broz <mbroz@redhat.com>
90 * Pad luks header to 512 sector size.
91 * Rework read/write blockwise to not split operation to many pieces.
92 * Use posix_memalign if available.
94 2009-07-22 Milan Broz <mbroz@redhat.com>
95 * Fix segfault if provided slot in luksKillslot is invalid.
96 * Remove unneeded timeout when remove of temporary device succeeded.
98 2009-07-22 Milan Broz <mbroz@redhat.com>
101 2009-07-16 Milan Broz <mbroz@redhat.com>
102 * Allow removal of last slot in luksRemoveKey and luksKillSlot.
104 2009-07-11 Milan Broz <mbroz@redhat.com>
106 * Add --disable-selinux option and fix static build if selinux is required.
107 * Reject unsupported --offset and --skip options for luksFormat and update man page.
109 2009-06-22 Milan Broz <mbroz@redhat.com>
111 * Summary of changes in subversion for 1.0.7-rc1:
112 * Various man page fixes.
113 * Set UUID in device-mapper for LUKS devices.
114 * Retain readahead of underlying device.
115 * Display device name when asking for password.
116 * Check device size when loading LUKS header. Remove misleading error message later.
117 * Add error hint if dm-crypt mapping failed.
118 * Use better error messages if device doesn't exist or is already used by other mapping.
119 * Fix make distcheck.
120 * Check if all slots are full during luksAddKey.
121 * Fix segfault in set_error.
122 * Code cleanups, remove precompiled pot files, remove unnecessary files from po directory
123 * Fix uninitialized return value variable in setup.c.
124 * Code cleanups. (thanks to Ivan Stankovic)
125 * Fix wrong output for remaining key at key deletion.
126 * Allow deletion of key slot while other keys have the same key information.
127 * Add missing AM_PROG_CC_C_O to configure.in
128 * Remove duplicate sentence in man page.
129 * Wipe start of device (possible fs signature) before LUKS-formatting.
130 * Do not process configure.in in hidden directories.
131 * Return more descriptive error in case of IO or header format error.
132 * Use remapping to error target instead of calling udevsettle for temporary crypt device.
133 * Check device mapper communication and warn user if device-mapper support missing in kernel.
134 * Fix signal handler to properly close device.
135 * write_lseek_blockwise: declare innerCount outside the if block.
136 * add -Wall to the default CFLAGS. fix some signedness issues.
137 * Error handling improvement.
138 * Add non-exclusive override to interface definition.
139 * Refactor key slot selection into keyslot_from_option.
141 2007-05-01 Clemens Fruhwirth <clemens@endorphin.org>
143 * lib/backends.c, man/cryptsetup.8: Apply patch from Ludwig Nussel
144 <ludwig.nussel@suse.de>, for old SuSE compat hashing.
146 2007-04-16 Clemens Fruhwirth <clemens@endorphin.org>
148 * Summary of changes in subversion:
149 Fix segfault for key size > 32 bytes.
150 Kick ancient header version conversion.
151 Fix http://bugs.debian.org/403075
152 No passwort retrying for I/O errors.
154 Fix parenthesization error that prevented --tries from working
157 2006-11-28 gettextize <bug-gnu-gettext@gnu.org>
159 * m4/gettext.m4: Upgrade to gettext-0.15.
160 * m4/glibc2.m4: New file, from gettext-0.15.
161 * m4/intmax.m4: New file, from gettext-0.15.
162 * m4/inttypes-h.m4: New file, from gettext-0.15.
163 * m4/inttypes-pri.m4: Upgrade to gettext-0.15.
164 * m4/lib-link.m4: Upgrade to gettext-0.15.
165 * m4/lib-prefix.m4: Upgrade to gettext-0.15.
166 * m4/lock.m4: New file, from gettext-0.15.
167 * m4/longdouble.m4: New file, from gettext-0.15.
168 * m4/longlong.m4: New file, from gettext-0.15.
169 * m4/nls.m4: Upgrade to gettext-0.15.
170 * m4/po.m4: Upgrade to gettext-0.15.
171 * m4/printf-posix.m4: New file, from gettext-0.15.
172 * m4/signed.m4: New file, from gettext-0.15.
173 * m4/size_max.m4: New file, from gettext-0.15.
174 * m4/visibility.m4: New file, from gettext-0.15.
175 * m4/wchar_t.m4: New file, from gettext-0.15.
176 * m4/wint_t.m4: New file, from gettext-0.15.
177 * m4/xsize.m4: New file, from gettext-0.15.
178 * m4/Makefile.am: New file.
179 * configure.in (AC_OUTPUT): Add m4/Makefile.
180 (AM_GNU_GETTEXT_VERSION): Bump to 0.15.
182 2006-10-22 David Härdeman <david@hardeman.nu>
184 * Allow hashing of keys passed through stdin.
186 2006-10-13 Clemens Fruhwirth <clemens@endorphin.org>
188 * configure.in: 1.0.4 release
190 2006-10-13 Clemens Fruhwirth <clemens@endorphin.org>
192 * man/cryptsetup.8: Document --tries switch; patch by Jonas
195 2006-10-13 Clemens Fruhwirth <clemens@endorphin.org>
197 * lib/setup.c: Added terminal timeout rewrite as forwarded by
200 2006-10-04 Clemens Fruhwirth <clemens@endorphin.org>
202 * Merged patch from Marc Merlin <marc@merlins.org> to allow user
203 selection of key slot.
205 2006-09-26 gettextize <bug-gnu-gettext@gnu.org>
207 * m4/codeset.m4: Upgrade to gettext-0.14.4.
208 * m4/gettext.m4: Upgrade to gettext-0.14.4.
209 * m4/glibc2.m4: New file, from gettext-0.14.4.
210 * m4/glibc21.m4: Upgrade to gettext-0.14.4.
211 * m4/iconv.m4: Upgrade to gettext-0.14.4.
212 * m4/intdiv0.m4: Upgrade to gettext-0.14.4.
213 * m4/intmax.m4: New file, from gettext-0.14.4.
214 * m4/inttypes.m4: Upgrade to gettext-0.14.4.
215 * m4/inttypes_h.m4: Upgrade to gettext-0.14.4.
216 * m4/inttypes-pri.m4: Upgrade to gettext-0.14.4.
217 * m4/isc-posix.m4: Upgrade to gettext-0.14.4.
218 * m4/lcmessage.m4: Upgrade to gettext-0.14.4.
219 * m4/lib-ld.m4: Upgrade to gettext-0.14.4.
220 * m4/lib-link.m4: Upgrade to gettext-0.14.4.
221 * m4/lib-prefix.m4: Upgrade to gettext-0.14.4.
222 * m4/longdouble.m4: New file, from gettext-0.14.4.
223 * m4/longlong.m4: New file, from gettext-0.14.4.
224 * m4/nls.m4: Upgrade to gettext-0.14.4.
225 * m4/po.m4: Upgrade to gettext-0.14.4.
226 * m4/printf-posix.m4: New file, from gettext-0.14.4.
227 * m4/progtest.m4: Upgrade to gettext-0.14.4.
228 * m4/signed.m4: New file, from gettext-0.14.4.
229 * m4/size_max.m4: New file, from gettext-0.14.4.
230 * m4/stdint_h.m4: Upgrade to gettext-0.14.4.
231 * m4/uintmax_t.m4: Upgrade to gettext-0.14.4.
232 * m4/ulonglong.m4: Upgrade to gettext-0.14.4.
233 * m4/wchar_t.m4: New file, from gettext-0.14.4.
234 * m4/wint_t.m4: New file, from gettext-0.14.4.
235 * m4/xsize.m4: New file, from gettext-0.14.4.
236 * Makefile.am (ACLOCAL_AMFLAGS): New variable.
237 * configure.in (AM_GNU_GETTEXT_VERSION): Bump to 0.14.4.
239 2006-08-04 Clemens Fruhwirth <clemens@endorphin.org>
241 * configure.in: 1.0.4-rc2
243 2006-08-04 Clemens Fruhwirth <clemens@endorphin.org>
245 * luks/Makefile.am: Add a few regression tests
247 2006-08-04 Clemens Fruhwirth <clemens@endorphin.org>
249 * lib/setup.c (get_key): Applied patch from David Härdeman
250 <david@2gen.com> for reading binary keys from stdin using
253 2006-08-04 Clemens Fruhwirth <clemens@endorphin.org>
255 * lib/setup.c (__crypt_luks_add_key): For checking options struct
256 (optionsCheck) filter out CRYPT_FLAG_VERIFY and
257 CRYPT_FLAG_VERIFY_IF_POSSIBLE, so that in no case password verification is done
258 for password retrieval.
260 2006-08-04 Clemens Fruhwirth <clemens@endorphin.org>
262 * configure.in: Merge Patch from http://bugs.gentoo.org/show_bug.cgi?id=132126 for sepol
264 2006-07-23 Clemens Fruhwirth <clemens@endorphin.org>
266 * Applied patches from David Härdeman <david@2gen.com> to fix 64
267 bit compiler warning issues.
269 2006-05-19 Clemens Fruhwirth <clemens@endorphin.org>
271 * Applied patches from Jonas Meurer
272 - fix terminal status after timeout
273 - add remark for --tries to manpage
274 - allow more than 32 chars from standard input.
275 - exit status fix for cryptsetup status.
277 2006-05-06 Clemens Fruhwirth <clemens@endorphin.org>
279 * src/cryptsetup.c (yesDialog): Fix getline problem for 64-bit archs.
281 2006-04-05 Clemens Fruhwirth <clemens@endorphin.org>
283 * configure.in: Release 1.0.3.
285 * Applied patch by Johannes Weißl for more meaningful exit codes
288 2006-03-30 Clemens Fruhwirth <clemens@endorphin.org>
290 * lib/setup.c (__crypt_create_device): (char *) -> (const char *)
292 2006-03-30 Clemens Fruhwirth <clemens@endorphin.org>
294 * Apply alignPayload patch from Peter Palfrader <weasel@debian.org>
296 2006-03-15 Clemens Fruhwirth <clemens@endorphin.org>
298 * configure.in: 1.0.3-rc3. Most unplease release ever.
299 * lib/setup.c (__crypt_create_device): More verbose error message.
301 2006-02-26 Clemens Fruhwirth <clemens@endorphin.org>
303 * lib/setup.c: Revert to 1.0.1 key reading.
305 2006-02-25 Clemens Fruhwirth <clemens@endorphin.org>
307 * man/cryptsetup.8: merge patch from Jonas Meurer
309 2006-02-25 Clemens Fruhwirth <clemens@endorphin.org>
311 * configure.in: 1.0.3-rc2
313 2006-02-25 Clemens Fruhwirth <clemens@endorphin.org>
315 * lib/libdevmapper.c (dm_create_device): Remove dup check here.
316 * lib/setup.c (__crypt_luks_open): Adopt same dup check as regular
319 2006-02-22 Clemens Fruhwirth <clemens@endorphin.org>
321 * configure.in: Spin 1.0.3-rc1
323 2006-02-22 Clemens Fruhwirth <clemens@endorphin.org>
325 * src/cryptsetup.c (action_create): Change defaulting.
326 (action_luksFormat): Change defaulting.
328 * lib/setup.c (parse_into_name_and_mode): Revert that default
329 change. This is FORBIDDEN here, as it will change cryptsetup
330 entire default. This is BAD in a non-LUKS world.
332 2006-02-21 Clemens Fruhwirth <clemens@endorphin.org>
334 * luks/keyencryption.c (setup_mapping): Add proper size restriction to mapping.
335 (LUKS_endec_template): Add more verbose error message.
337 2006-02-21 Clemens Fruhwirth <clemens@endorphin.org>
339 * lib/libdevmapper.c (dm_query_device): Incorporate patch from
341 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=344313
343 2006-02-21 Clemens Fruhwirth <clemens@endorphin.org>
345 * src/cryptsetup.c: Rename show_error -> show_status.
347 2006-02-20 Clemens Fruhwirth <clemens@endorphin.org>
349 * lib/libdevmapper.c (dm_create_device): Prevent existing mapping
350 from being removed when a mapping with the same name is added
352 * Add timeout patch from Jonas Meurer
354 * src/cryptsetup.c: Remove conditional error printing to enable
355 printing the no-error msg (Command successful). Verify passphrase
357 (main): Add no-verify-passphrase
359 * lib/setup.c (parse_into_name_and_mode): Change default mode complition to essiv:sha256.
361 2006-01-04 Clemens Fruhwirth <clemens@endorphin.org>
363 * src/cryptsetup.c (help): Merge patch from Gentoo: change gettext(..) to _(..).
365 2005-12-06 Clemens Fruhwirth <clemens@endorphin.org>
367 * man/cryptsetup.8: Correct "seconds" to "microseconds" in the explaination for -i.
369 2005-11-09 Clemens Fruhwirth <clemens@endorphin.org>
371 * src/cryptsetup.c (main): Add version string.
373 2005-11-08 Clemens Fruhwirth <clemens@endorphin.org>
375 * lib/backends.c: compile fix.
377 2005-09-11 Clemens Fruhwirth <clemens@endorphin.org>
379 * lib/setup.c (get_key): Fixed another incompatibility from my
380 get_key rewrite with original cryptsetup.
382 2005-09-11 Clemens Fruhwirth <clemens@endorphin.org>
384 * Merged changes from Florian Knauf's fk02 branch.
386 2005-09-08 Clemens Fruhwirth <clemens@endorphin.org>
388 * lib/setup.c (get_key): Fixed another incompatiblity with
391 2005-08-20 Clemens Fruhwirth <clemens@endorphin.org>
393 * Checked in a patch from Michael Gebetsroither <gebi@sbox.tugraz.at>
394 to silent all confirmation dialogs.
396 2005-06-23 Clemens Fruhwirth <clemens@endorphin.org>
398 * src/cryptsetup.c (help): print PACKAGE_STRING
400 2005-06-20 Clemens Fruhwirth <clemens@endorphin.org>
402 * luks/keymanage.c (LUKS_set_key): Security check against header manipulation
404 * src/cryptsetup.c (action_luksDelKey): Safety check in luksDelKey
406 * luks/keymanage.c: Changed disk layout generation to align key material to 4k boundaries.
407 (LUKS_is_last_keyslot): Added LUKS_is_last_keyslot function.
409 * Applied patch from Bill Nottingham fixing a lot of prototypes.
411 * src/cryptsetup.c (action_luksOpen): Add support for -r flag.
413 * configure.in: Version bump 1.0.1
415 2005-06-16 Clemens Fruhwirth <clemens@endorphin.org>
417 * lib/setup.c (__crypt_luks_open): Remove mem leaking of dmCipherSpec.
418 (get_key): Fix missing zero termination for read string.
420 2005-06-12 Clemens Fruhwirth <clemens@endorphin.org>
422 * luks/keyencryption.c (setup_mapping): Added CRYPT_FLAG_READONLY in case of O_RDONLY mode
424 2005-06-11 Clemens Fruhwirth <clemens@endorphin.org>
426 * configure.in: Version bump 1.0.1-pre
428 2005-06-09 Clemens Fruhwirth <clemens@endorphin.org>
430 * lib/utils.c: Added write_llseek_blocksize method to support sector wiping on sector_size != 512
433 2005-05-23 Clemens Fruhwirth <clemens@endorphin.org>
435 * lib/setup.c (crypt_luksDelKey): Added missing return statement
436 (setup_leave): Added missing return statement
438 * luks/keyencryption.c (clear_mapping): Added missing return statement
440 2005-05-19 Clemens Fruhwirth <clemens@endorphin.org>
442 * lib/utils.c (write_blockwise, read_blockwise): Changed to soft bsize instead of SECTOR_SIZE
444 * luks/keymanage.c (wipe): Changed open mode to O_DIRECT | O_SYNC, and changed write
445 to use the blockwise write helper
447 2005-04-21 Clemens Fruhwirth <clemens@endorphin.org>
449 * man/cryptsetup.8: Corrected an error, thanks to Dick Middleton.
451 2005-04-09 Clemens Fruhwirth <clemens@endorphin.org>
453 * luks/sha/hmac.c: Add 64 bit bug fix courtesy to
454 Oliver Paukstadt <pstadt@sourcentral.org>.
456 * luks/pbkdf.c, luks/keyencryption.c, luks/keymanage.c, luks/af.c: Added a license
457 disclaimer and remove option for "any future GPL versions".
459 2005-03-25 Clemens Fruhwirth <clemens@endorphin.org>
461 * configure.in: man page Makefile. Version bump 1.0.
463 * man/cryptsetup.8: finalize man page and move to section 8.
465 * src/cryptsetup.c (action_luksFormat): Add "are you sure" for interactive sessions.
467 * lib/setup.c (crypt_luksDump), src/cryptsetup.c: add LUKS dump command
469 2005-03-24 Clemens Fruhwirth <clemens@endorphin.org>
471 * src/cryptsetup.c, luks/Makefile.am (test), lib/setup.c (setup_enter):
472 rename luksInit to luksFormat
474 2005-03-12 Clemens Fruhwirth <clemens@endorphin.org>
476 * man/cryptsetup.1: Add man page.
478 * lib/setup.c: Remove unneccessary LUKS_write_phdr call, so the
479 phdr is written after passphrase reading, so the user can change
480 his mind, and not have a partial written LUKS header on it's disk.
482 2005-02-09 Clemens Fruhwirth <clemens@endorphin.org>
484 * luks/keymanage.c (LUKS_write_phdr): converted argument phdr to
485 pointer, and make a copy of phdr for conversion
487 * configure.in: Version dump.
489 * luks/keyencryption.c: Convert to read|write_blockwise.
491 * luks/keymanage.c: Convert to read|write_blockwise.
493 * lib/utils.c: Add read|write_blockwise functions, to use in
494 O_DIRECT file accesses.
496 2004-03-11 Thursday 15:52 Christophe Saout <christophe@saout.de>
498 * lib/blockdev.h: BLKGETSIZE64 really uses size_t as third
499 argument, the rest is wrong.
501 2004-03-10 Wednesday 17:50 Christophe Saout <christophe@saout.de>
503 * lib/: libcryptsetup.h, libdevmapper.c: Small fixes.
505 2004-03-09 Tuesday 21:41 Christophe Saout <christophe@saout.de>
507 * lib/internal.h, lib/libcryptsetup.h, lib/libdevmapper.c,
508 lib/setup.c, po/de.po, src/cryptsetup.c: Added internal flags to
509 keep track of malloc'ed return values in struct crypt_options and
510 add a function to free the memory. Also add a readonly flag to
513 2004-03-09 Tuesday 16:03 Christophe Saout <christophe@saout.de>
515 * ChangeLog, configure.in, setup-gettext, lib/Makefile.am,
516 lib/backends.c, lib/blockdev.h, lib/gcrypt.c, lib/internal.h,
517 lib/libcryptsetup.h, lib/libdevmapper.c, lib/setup.c,
518 lib/utils.c, po/de.po, src/Makefile.am, src/cryptsetup.c: More
521 2004-03-08 Monday 01:38 Christophe Saout <christophe@saout.de>
523 * ChangeLog, Makefile.am, acinclude.m4, configure.in,
524 lib/Makefile.am, lib/backends.c, lib/blockdev.h, lib/gcrypt.c,
525 lib/libdevmapper.c, lib/setup.c, lib/utils.c, po/de.po,
526 src/Makefile.am: BLKGETSIZE64 fixes and started modularity
529 2004-03-04 Thursday 21:06 Christophe Saout <christophe@saout.de>
531 * Makefile.am, po/de.po, src/cryptsetup.c, src/cryptsetup.h: First
532 backward compatible working version.
534 2004-03-04 Thursday 00:42 Christophe Saout <christophe@saout.de>
536 * NEWS, AUTHORS, ChangeLog, Makefile.am, README, autogen.sh,
537 configure.in, setup-gettext, po/ChangeLog, po/LINGUAS,
538 po/POTFILES.in, po/de.po, src/cryptsetup.c, src/cryptsetup.h,
539 src/Makefile.am (utags: initial): Initial checkin.
541 2004-03-04 Thursday 00:42 Christophe Saout <christophe@saout.de>
543 * NEWS, AUTHORS, ChangeLog, Makefile.am, README, autogen.sh,
544 configure.in, setup-gettext, po/ChangeLog, po/LINGUAS,
545 po/POTFILES.in, po/de.po, src/cryptsetup.c, src/cryptsetup.h,
546 src/Makefile.am: Initial revision