Fix PBKDF2 speed calculation for large passhrases.
[platform/upstream/cryptsetup.git] / ChangeLog
1 2009-08-17  Milan Broz  <mbroz@redhat.com>
2         * Fix PBKDF2 speed calculation for large passhrases
3
4 2009-07-30  Milan Broz  <mbroz@redhat.com>
5         * Fix errors when compiled with LUKS_DEBUG.
6         * Print error when getline fails.
7         * Remove po/cryptsetup-luks.pot, it's autogenerated.
8         * Return ENOENT for empty keyslots, EINVAL will be used later for other type of error.
9         * Switch PBKDF2 from internal SHA1 to libgcrypt, make hash algorithm not hardcoded to SHA1 here.
10         * Add required parameters for changing hash used in LUKS key setup scheme.
11         * Do not export simple XOR helper now used only inside AF functions.
12         * Completely remove internal SHA1 implementanion code, not needed anymore.
13         * Enable hash algorithm selection for LUKS through -h luksFormat option.
14
15 2009-07-28  Milan Broz  <mbroz@redhat.com>
16         * Pad luks header to 512 sector size.
17         * Rework read/write blockwise to not split operation to many pieces.
18         * Use posix_memalign if available.
19
20 2009-07-22  Milan Broz  <mbroz@redhat.com>
21         * Fix segfault if provided slot in luksKillslot is invalid.
22         * Remove unneeded timeout when remove of temporary device succeeded.
23
24 2009-07-22  Milan Broz  <mbroz@redhat.com>
25         * version 1.0.7
26
27 2009-07-16  Milan Broz  <mbroz@redhat.com>
28         * Allow removal of last slot in luksRemoveKey and luksKillSlot.
29
30 2009-07-11  Milan Broz  <mbroz@redhat.com>
31
32         * Add --disable-selinux option and fix static build if selinux is required.
33         * Reject unsupported --offset and --skip options for luksFormat and update man page.
34
35 2009-06-22  Milan Broz  <mbroz@redhat.com>
36
37         * Summary of changes in subversion for 1.0.7-rc1:
38         * Various man page fixes.
39         * Set UUID in device-mapper for LUKS devices.
40         * Retain readahead of underlying device.
41         * Display device name when asking for password.
42         * Check device size when loading LUKS header. Remove misleading error message later.
43         * Add error hint if dm-crypt mapping failed.
44         * Use better error messages if device doesn't exist or is already used by other mapping.
45         * Fix make distcheck.
46         * Check if all slots are full during luksAddKey.
47         * Fix segfault in set_error.
48         * Code cleanups, remove precompiled pot files, remove unnecessary files from po directory
49         * Fix uninitialized return value variable in setup.c.
50         * Code cleanups. (thanks to Ivan Stankovic)
51         * Fix wrong output for remaining key at key deletion.
52         * Allow deletion of key slot while other keys have the same key information.
53         * Add missing AM_PROG_CC_C_O to configure.in
54         * Remove duplicate sentence in man page.
55         * Wipe start of device (possible fs signature) before LUKS-formatting.
56         * Do not process configure.in in hidden directories.
57         * Return more descriptive error in case of IO or header format error.
58         * Use remapping to error target instead of calling udevsettle for temporary crypt device.
59         * Check device mapper communication and warn user if device-mapper support missing in kernel.
60         * Fix signal handler to properly close device.
61         * write_lseek_blockwise: declare innerCount outside the if block.
62         * add -Wall to the default CFLAGS. fix some signedness issues.
63         * Error handling improvement.
64         * Add non-exclusive override to interface definition.
65         * Refactor key slot selection into keyslot_from_option.
66
67 2007-05-01  Clemens Fruhwirth  <clemens@endorphin.org>
68
69         * lib/backends.c, man/cryptsetup.8: Apply patch from Ludwig Nussel
70         <ludwig.nussel@suse.de>, for old SuSE compat hashing.
71
72 2007-04-16  Clemens Fruhwirth  <clemens@endorphin.org>
73
74         * Summary of changes in subversion:
75         Fix segfault for key size > 32 bytes.
76         Kick ancient header version conversion. 
77         Fix http://bugs.debian.org/403075
78         No passwort retrying for I/O errors.
79         Fix hang on "-i 0".
80         Fix parenthesization error that prevented --tries from working
81         correctly.
82
83 2006-11-28  gettextize  <bug-gnu-gettext@gnu.org>
84
85         * m4/gettext.m4: Upgrade to gettext-0.15.
86         * m4/glibc2.m4: New file, from gettext-0.15.
87         * m4/intmax.m4: New file, from gettext-0.15.
88         * m4/inttypes-h.m4: New file, from gettext-0.15.
89         * m4/inttypes-pri.m4: Upgrade to gettext-0.15.
90         * m4/lib-link.m4: Upgrade to gettext-0.15.
91         * m4/lib-prefix.m4: Upgrade to gettext-0.15.
92         * m4/lock.m4: New file, from gettext-0.15.
93         * m4/longdouble.m4: New file, from gettext-0.15.
94         * m4/longlong.m4: New file, from gettext-0.15.
95         * m4/nls.m4: Upgrade to gettext-0.15.
96         * m4/po.m4: Upgrade to gettext-0.15.
97         * m4/printf-posix.m4: New file, from gettext-0.15.
98         * m4/signed.m4: New file, from gettext-0.15.
99         * m4/size_max.m4: New file, from gettext-0.15.
100         * m4/visibility.m4: New file, from gettext-0.15.
101         * m4/wchar_t.m4: New file, from gettext-0.15.
102         * m4/wint_t.m4: New file, from gettext-0.15.
103         * m4/xsize.m4: New file, from gettext-0.15.
104         * m4/Makefile.am: New file.
105         * configure.in (AC_OUTPUT): Add m4/Makefile.
106         (AM_GNU_GETTEXT_VERSION): Bump to 0.15.
107
108 2006-10-22  David Härdeman  <david@hardeman.nu>
109
110         * Allow hashing of keys passed through stdin.
111
112 2006-10-13  Clemens Fruhwirth  <clemens@endorphin.org>
113
114         * configure.in: 1.0.4 release
115
116 2006-10-13  Clemens Fruhwirth  <clemens@endorphin.org>
117
118         * man/cryptsetup.8: Document --tries switch; patch by Jonas
119         Meurer.
120
121 2006-10-13  Clemens Fruhwirth  <clemens@endorphin.org>
122
123         * lib/setup.c: Added terminal timeout rewrite as forwarded by
124         Jonas Meurer
125
126 2006-10-04  Clemens Fruhwirth  <clemens@endorphin.org>
127
128         * Merged patch from Marc Merlin <marc@merlins.org> to allow user
129         selection of key slot.
130
131 2006-09-26  gettextize  <bug-gnu-gettext@gnu.org>
132
133         * m4/codeset.m4: Upgrade to gettext-0.14.4.
134         * m4/gettext.m4: Upgrade to gettext-0.14.4.
135         * m4/glibc2.m4: New file, from gettext-0.14.4.
136         * m4/glibc21.m4: Upgrade to gettext-0.14.4.
137         * m4/iconv.m4: Upgrade to gettext-0.14.4.
138         * m4/intdiv0.m4: Upgrade to gettext-0.14.4.
139         * m4/intmax.m4: New file, from gettext-0.14.4.
140         * m4/inttypes.m4: Upgrade to gettext-0.14.4.
141         * m4/inttypes_h.m4: Upgrade to gettext-0.14.4.
142         * m4/inttypes-pri.m4: Upgrade to gettext-0.14.4.
143         * m4/isc-posix.m4: Upgrade to gettext-0.14.4.
144         * m4/lcmessage.m4: Upgrade to gettext-0.14.4.
145         * m4/lib-ld.m4: Upgrade to gettext-0.14.4.
146         * m4/lib-link.m4: Upgrade to gettext-0.14.4.
147         * m4/lib-prefix.m4: Upgrade to gettext-0.14.4.
148         * m4/longdouble.m4: New file, from gettext-0.14.4.
149         * m4/longlong.m4: New file, from gettext-0.14.4.
150         * m4/nls.m4: Upgrade to gettext-0.14.4.
151         * m4/po.m4: Upgrade to gettext-0.14.4.
152         * m4/printf-posix.m4: New file, from gettext-0.14.4.
153         * m4/progtest.m4: Upgrade to gettext-0.14.4.
154         * m4/signed.m4: New file, from gettext-0.14.4.
155         * m4/size_max.m4: New file, from gettext-0.14.4.
156         * m4/stdint_h.m4: Upgrade to gettext-0.14.4.
157         * m4/uintmax_t.m4: Upgrade to gettext-0.14.4.
158         * m4/ulonglong.m4: Upgrade to gettext-0.14.4.
159         * m4/wchar_t.m4: New file, from gettext-0.14.4.
160         * m4/wint_t.m4: New file, from gettext-0.14.4.
161         * m4/xsize.m4: New file, from gettext-0.14.4.
162         * Makefile.am (ACLOCAL_AMFLAGS): New variable.
163         * configure.in (AM_GNU_GETTEXT_VERSION): Bump to 0.14.4.
164
165 2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>
166
167         * configure.in: 1.0.4-rc2
168
169 2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>
170
171         * luks/Makefile.am: Add a few regression tests 
172
173 2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>
174
175         * lib/setup.c (get_key): Applied patch from David Härdeman
176         <david@2gen.com> for reading binary keys from stdin using
177         the "-" as key file.
178
179 2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>
180
181         * lib/setup.c (__crypt_luks_add_key): For checking options struct
182         (optionsCheck) filter out CRYPT_FLAG_VERIFY and
183         CRYPT_FLAG_VERIFY_IF_POSSIBLE, so that in no case password verification is done
184         for password retrieval.
185
186 2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>
187
188         * configure.in: Merge Patch from http://bugs.gentoo.org/show_bug.cgi?id=132126 for sepol
189
190 2006-07-23  Clemens Fruhwirth  <clemens@endorphin.org>
191
192         * Applied patches from David Härdeman <david@2gen.com> to fix 64
193         bit compiler warning issues.
194
195 2006-05-19  Clemens Fruhwirth  <clemens@endorphin.org>
196
197         * Applied patches from Jonas Meurer
198           - fix terminal status after timeout
199           - add remark for --tries to manpage
200           - allow more than 32 chars from standard input.
201           - exit status fix for cryptsetup status.
202
203 2006-05-06  Clemens Fruhwirth  <clemens@endorphin.org>
204
205         * src/cryptsetup.c (yesDialog): Fix getline problem for 64-bit archs. 
206
207 2006-04-05  Clemens Fruhwirth  <clemens@endorphin.org>
208
209         * configure.in: Release 1.0.3.
210
211         * Applied patch by Johannes Weißl for more meaningful exit codes
212         and password retries
213
214 2006-03-30  Clemens Fruhwirth  <clemens@endorphin.org>
215
216         * lib/setup.c (__crypt_create_device): (char *) -> (const char *)
217
218 2006-03-30  Clemens Fruhwirth  <clemens@endorphin.org>
219
220         * Apply alignPayload patch from Peter Palfrader <weasel@debian.org>
221
222 2006-03-15  Clemens Fruhwirth  <clemens@endorphin.org>
223
224         * configure.in: 1.0.3-rc3. Most unplease release ever. 
225         * lib/setup.c (__crypt_create_device): More verbose error message.
226
227 2006-02-26  Clemens Fruhwirth  <clemens@endorphin.org>
228
229         * lib/setup.c: Revert to 1.0.1 key reading.
230
231 2006-02-25  Clemens Fruhwirth  <clemens@endorphin.org>
232
233         * man/cryptsetup.8: merge patch from Jonas Meurer
234
235 2006-02-25  Clemens Fruhwirth  <clemens@endorphin.org>
236
237         * configure.in: 1.0.3-rc2
238
239 2006-02-25  Clemens Fruhwirth  <clemens@endorphin.org>
240
241         * lib/libdevmapper.c (dm_create_device): Remove dup check here.
242         * lib/setup.c (__crypt_luks_open): Adopt same dup check as regular
243         create command.
244
245 2006-02-22  Clemens Fruhwirth  <clemens@endorphin.org>
246
247         * configure.in: Spin 1.0.3-rc1
248
249 2006-02-22  Clemens Fruhwirth  <clemens@endorphin.org>
250
251         * src/cryptsetup.c (action_create): Change defaulting.
252         (action_luksFormat): Change defaulting.
253
254         * lib/setup.c (parse_into_name_and_mode): Revert that default
255         change. This is FORBIDDEN here, as it will change cryptsetup
256         entire default. This is BAD in a non-LUKS world.
257
258 2006-02-21  Clemens Fruhwirth  <clemens@endorphin.org>
259
260         * luks/keyencryption.c (setup_mapping): Add proper size restriction to mapping. 
261         (LUKS_endec_template): Add more verbose error message.
262
263 2006-02-21  Clemens Fruhwirth  <clemens@endorphin.org>
264
265         * lib/libdevmapper.c (dm_query_device): Incorporate patch from
266         Bastian Blank
267         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=344313
268
269 2006-02-21  Clemens Fruhwirth  <clemens@endorphin.org>
270
271         * src/cryptsetup.c: Rename show_error -> show_status.
272
273 2006-02-20  Clemens Fruhwirth  <clemens@endorphin.org>
274
275         * lib/libdevmapper.c (dm_create_device): Prevent existing mapping
276         from being removed when a mapping with the same name is added
277
278         * Add timeout patch from Jonas Meurer 
279
280         * src/cryptsetup.c: Remove conditional error printing to enable
281         printing the no-error msg (Command successful). Verify passphrase
282         for LUKS volumes.
283         (main): Add no-verify-passphrase
284
285         * lib/setup.c (parse_into_name_and_mode): Change default mode complition to essiv:sha256.
286
287 2006-01-04  Clemens Fruhwirth  <clemens@endorphin.org>
288
289         * src/cryptsetup.c (help): Merge patch from Gentoo: change gettext(..) to _(..).
290
291 2005-12-06  Clemens Fruhwirth  <clemens@endorphin.org>
292
293         * man/cryptsetup.8: Correct "seconds" to "microseconds" in the explaination for -i.
294
295 2005-11-09  Clemens Fruhwirth  <clemens@endorphin.org>
296
297         * src/cryptsetup.c (main): Add version string.
298
299 2005-11-08  Clemens Fruhwirth  <clemens@endorphin.org>
300
301         * lib/backends.c: compile fix. 
302
303 2005-09-11  Clemens Fruhwirth  <clemens@endorphin.org>
304
305         * lib/setup.c (get_key): Fixed another incompatibility from my
306         get_key rewrite with original cryptsetup.
307
308 2005-09-11  Clemens Fruhwirth  <clemens@endorphin.org>
309
310         * Merged changes from Florian Knauf's fk02 branch.
311
312 2005-09-08  Clemens Fruhwirth  <clemens@endorphin.org>
313
314         * lib/setup.c (get_key): Fixed another incompatiblity with
315         original cryptsetup.
316
317 2005-08-20  Clemens Fruhwirth  <clemens@endorphin.org>
318
319         * Checked in a patch from Michael Gebetsroither <gebi@sbox.tugraz.at>
320           to silent all confirmation dialogs.
321
322 2005-06-23  Clemens Fruhwirth  <clemens@endorphin.org>
323
324         * src/cryptsetup.c (help): print PACKAGE_STRING
325
326 2005-06-20  Clemens Fruhwirth  <clemens@endorphin.org>
327
328         * luks/keymanage.c (LUKS_set_key): Security check against header manipulation
329
330         * src/cryptsetup.c (action_luksDelKey): Safety check in luksDelKey
331
332         * luks/keymanage.c: Changed disk layout generation to align key material to 4k boundaries.
333         (LUKS_is_last_keyslot): Added LUKS_is_last_keyslot function.
334
335         * Applied patch from Bill Nottingham fixing a lot of prototypes.
336
337         * src/cryptsetup.c (action_luksOpen): Add support for -r flag.
338
339         * configure.in: Version bump 1.0.1
340
341 2005-06-16  Clemens Fruhwirth  <clemens@endorphin.org>
342
343         * lib/setup.c (__crypt_luks_open): Remove mem leaking of dmCipherSpec.
344         (get_key): Fix missing zero termination for read string. 
345
346 2005-06-12  Clemens Fruhwirth  <clemens@endorphin.org>
347
348         * luks/keyencryption.c (setup_mapping): Added CRYPT_FLAG_READONLY in case of O_RDONLY mode
349
350 2005-06-11  Clemens Fruhwirth  <clemens@endorphin.org>
351
352         * configure.in: Version bump 1.0.1-pre
353
354 2005-06-09  Clemens Fruhwirth  <clemens@endorphin.org>
355
356         * lib/utils.c: Added write_llseek_blocksize method to support sector wiping on sector_size != 512 
357         media
358
359 2005-05-23  Clemens Fruhwirth  <clemens@endorphin.org>
360
361         * lib/setup.c (crypt_luksDelKey): Added missing return statement
362         (setup_leave): Added missing return statement
363
364         * luks/keyencryption.c (clear_mapping): Added missing return statement
365
366 2005-05-19  Clemens Fruhwirth  <clemens@endorphin.org>
367
368         * lib/utils.c (write_blockwise, read_blockwise): Changed to soft bsize instead of SECTOR_SIZE
369
370         * luks/keymanage.c (wipe): Changed open mode to O_DIRECT | O_SYNC, and changed write 
371         to use the blockwise write helper
372
373 2005-04-21  Clemens Fruhwirth  <clemens@endorphin.org>
374
375         * man/cryptsetup.8: Corrected an error, thanks to Dick Middleton.
376
377 2005-04-09  Clemens Fruhwirth  <clemens@endorphin.org>
378
379         * luks/sha/hmac.c: Add 64 bit bug fix courtesy to 
380         Oliver Paukstadt <pstadt@sourcentral.org>.
381
382         * luks/pbkdf.c, luks/keyencryption.c, luks/keymanage.c, luks/af.c: Added a license 
383         disclaimer and remove option for "any future GPL versions".
384
385 2005-03-25  Clemens Fruhwirth  <clemens@endorphin.org>
386
387         * configure.in: man page Makefile. Version bump 1.0.
388
389         * man/cryptsetup.8: finalize man page and move to section 8.
390
391         * src/cryptsetup.c (action_luksFormat): Add "are you sure" for interactive sessions.
392
393         * lib/setup.c (crypt_luksDump), src/cryptsetup.c: add LUKS dump command
394
395 2005-03-24  Clemens Fruhwirth  <clemens@endorphin.org>
396
397         * src/cryptsetup.c, luks/Makefile.am (test), lib/setup.c (setup_enter): 
398         rename luksInit to luksFormat
399
400 2005-03-12  Clemens Fruhwirth  <clemens@endorphin.org>
401
402         * man/cryptsetup.1: Add man page.
403
404         * lib/setup.c: Remove unneccessary LUKS_write_phdr call, so the
405         phdr is written after passphrase reading, so the user can change
406         his mind, and not have a partial written LUKS header on it's disk.
407
408 2005-02-09  Clemens Fruhwirth  <clemens@endorphin.org>
409
410         * luks/keymanage.c (LUKS_write_phdr): converted argument phdr to
411         pointer, and make a copy of phdr for conversion
412
413         * configure.in: Version dump.
414
415         * luks/keyencryption.c: Convert to read|write_blockwise.
416
417         * luks/keymanage.c: Convert to read|write_blockwise.
418
419         * lib/utils.c: Add read|write_blockwise functions, to use in
420         O_DIRECT file accesses. 
421
422 2004-03-11 Thursday 15:52   Christophe Saout <christophe@saout.de>
423
424         * lib/blockdev.h: BLKGETSIZE64 really uses size_t as third
425           argument, the rest is wrong.
426
427 2004-03-10 Wednesday 17:50   Christophe Saout <christophe@saout.de>
428
429         * lib/: libcryptsetup.h, libdevmapper.c: Small fixes.
430
431 2004-03-09 Tuesday 21:41   Christophe Saout <christophe@saout.de>
432
433         * lib/internal.h, lib/libcryptsetup.h, lib/libdevmapper.c,
434           lib/setup.c, po/de.po, src/cryptsetup.c: Added internal flags to
435           keep track of malloc'ed return values in struct crypt_options and
436           add a function to free the memory. Also add a readonly flag to
437           libcryptsetup.
438
439 2004-03-09 Tuesday 16:03   Christophe Saout <christophe@saout.de>
440
441         * ChangeLog, configure.in, setup-gettext, lib/Makefile.am,
442           lib/backends.c, lib/blockdev.h, lib/gcrypt.c, lib/internal.h,
443           lib/libcryptsetup.h, lib/libdevmapper.c, lib/setup.c,
444           lib/utils.c, po/de.po, src/Makefile.am, src/cryptsetup.c: More
445           reorganization work.
446
447 2004-03-08 Monday 01:38   Christophe Saout <christophe@saout.de>
448
449         * ChangeLog, Makefile.am, acinclude.m4, configure.in,
450           lib/Makefile.am, lib/backends.c, lib/blockdev.h, lib/gcrypt.c,
451           lib/libdevmapper.c, lib/setup.c, lib/utils.c, po/de.po,
452           src/Makefile.am: BLKGETSIZE64 fixes and started modularity
453           enhancements
454
455 2004-03-04 Thursday 21:06   Christophe Saout <christophe@saout.de>
456
457         * Makefile.am, po/de.po, src/cryptsetup.c, src/cryptsetup.h: First
458           backward compatible working version.
459
460 2004-03-04 Thursday 00:42   Christophe Saout <christophe@saout.de>
461
462         * NEWS, AUTHORS, ChangeLog, Makefile.am, README, autogen.sh,
463           configure.in, setup-gettext, po/ChangeLog, po/LINGUAS,
464           po/POTFILES.in, po/de.po, src/cryptsetup.c, src/cryptsetup.h,
465           src/Makefile.am (utags: initial): Initial checkin.
466
467 2004-03-04 Thursday 00:42   Christophe Saout <christophe@saout.de>
468
469         * NEWS, AUTHORS, ChangeLog, Makefile.am, README, autogen.sh,
470           configure.in, setup-gettext, po/ChangeLog, po/LINGUAS,
471           po/POTFILES.in, po/de.po, src/cryptsetup.c, src/cryptsetup.h,
472           src/Makefile.am: Initial revision