2012-12-21  Milan Broz  <gmazyland@gmail.com>
	* Since version 1.6 This file is no longer maintained.
	* See version control log http://code.google.com/p/cryptsetup/source/list

2012-10-11  Milan Broz  <gmazyland@gmail.com>
	* Added keyslot checker (by Arno Wagner).
	* Version 1.5.1.

2012-09-11  Milan Broz  <gmazyland@gmail.com>
	* Add crypt_keyslot_area() API call.

2012-08-27  Milan Broz  <gmazyland@gmail.com>
	* Optimize seek to keyfile-offset (Issue #135, thx to dreisner).
	* Fix luksHeaderBackup for very old v1.0 unaligned LUKS headers.

2012-08-12  Milan Broz  <gmazyland@gmail.com>
	* Allocate loop device late (only when real block device needed).
	* Rework underlying device/file access functions.
	* Create hash image if doesn't exist in veritysetup format.
	* Provide better error message if running as non-root user (device-mapper, loop).

2012-07-10  Milan Broz  <gmazyland@gmail.com>
	* Version 1.5.0.

2012-06-25  Milan Broz  <gmazyland@gmail.com>
	* Add --device-size option for reencryption tool.
	* Switch to use unit suffix for --reduce-device-size option.
	* Remove open device debugging feature (no longer needed).
	* Fix library name for FIPS check.

2012-06-20  Milan Broz  <gmazyland@gmail.com>
	* Version 1.5.0-rc2.

2012-06-18  Milan Broz  <gmazyland@gmail.com>
	* Introduce cryptsetup-reencrypt - experimental offline LUKS reencryption tool.
	* Fix luks-header-from-active script (do not use LUKS header on-disk, add UUID).
	* Add --test-passphrase option for luksOpen (check passphrase only).

2012-06-11  Milan Broz  <gmazyland@gmail.com>
	* Introduce veritysetup for dm-verity target management.
	* Version 1.5.0-rc1.

2012-06-10  Milan Broz  <gmazyland@gmail.com>
	* Both data and header device can now be a file.
	* Loop is automatically allocated in crypt_set_data_device().
	* Require only up to last keyslot area for header device (ignore data offset).
	* Fix header backup and restore to work on files with large data offset.

2012-05-27  Milan Broz  <gmazyland@gmail.com>
	* Fix readonly activation if underlying device is readonly (1.4.0).
	* Include stddef.h in libdevmapper.h (size_t definition).
	* Version 1.4.3.

2012-05-21  Milan Broz  <gmazyland@gmail.com>
	* Add --enable-fips for linking with fipscheck library.
	* Initialize binary and library selfcheck if running in FIPS mode.
	* Use FIPS RNG in FIPS mode for KEY and SALT (only gcrypt backend supported).

2012-05-09  Milan Broz  <gmazyland@gmail.com>
	* Fix keyslot removal (wipe keyslot) for device with 4k hw block (1.4.0).
	* Allow empty cipher (cipher_null) for testing.

2012-05-02  Milan Broz  <gmazyland@gmail.com>
	* Fix loop mapping on readonly file.
	* Relax --shared test, allow mapping even for overlapping segments.
	* Support shared flag for LUKS devices (dangerous).
	* Switch on retry on device remove for libdevmapper.
	* Allow "private" activation (skip some udev global rules) flag.

2012-04-09  Milan Broz  <gmazyland@gmail.com>
	* Fix header check to support old (cryptsetup 1.0.0) header alignment. (1.4.0)
	* Version 1.4.2.

2012-03-16  Milan Broz  <gmazyland@gmail.com>
	* Add --keyfile-offset and --new-keyfile-offset parameters to API and CLI.
	* Add repair command and crypt_repair() for known LUKS metadata problems repair.
	* Allow to specify --align-payload only for luksFormat.

2012-03-16  Milan Broz  <mbroz@redhat.com>
	* Unify password verification option.
	* Support password verification with quiet flag if possible. (1.2.0)
	* Fix retry if entered passphrases (with verify option) do not match.
	* Support UUID=<LUKS_UUID> format for device specification.

2012-02-11  Milan Broz  <mbroz@redhat.com>
	* Add --master-key-file option to luksOpen (open using volume key).

2012-01-12  Milan Broz  <mbroz@redhat.com>
	* Fix use of empty keyfile.

2011-11-13  Milan Broz  <mbroz@redhat.com>
	* Fix error message for luksClose and detached LUKS header.
	* Allow --header for status command to get full info with detached header.

2011-11-09  Milan Broz  <mbroz@redhat.com>
	* Version 1.4.1.

2011-11-05  Milan Broz  <mbroz@redhat.com>
	* Merge pycryptsetup (Python libcryptsetup bindings).
	* Fix stupid typo in set_iteration_time API call.
	* Fix cryptsetup status output if parameter is device path.

2011-10-27  Milan Broz  <mbroz@redhat.com>
	* Fix crypt_get_volume_key_size() for plain device.
	* Fix FSF address in license text.

2011-10-25  Milan Broz  <mbroz@redhat.com>
	* Print informative message in isLuks only in verbose mode.
	* Version 1.4.0.

2011-10-10  Milan Broz  <mbroz@redhat.com>
	* Version 1.4.0-rc1.

2011-10-05  Milan Broz  <mbroz@redhat.com>
	* Support Nettle 2.4 crypto backend (for ripemd160).
	* If device is not rotational, do not use Gutmann wipe method.
	* Add crypt_last_error() API call.
	* Fix luksKillSLot exit code if slot is inactive or invalid.
	* Fix exit code if passphrases do not match in luksAddKey.
	* Add LUKS on-disk format description into package.

2011-09-22  Milan Broz  <mbroz@redhat.com>
	* Support key-slot option for luksOpen (use only explicit keyslot).

2011-08-22  Milan Broz  <mbroz@redhat.com>
	* Add more paranoid checks for LUKS header and keyslot attributes.
	* Fix crypt_load to properly check device size.
	* Use new /dev/loop-control (kernel 3.1) if possible.
	* Enhance check of device size before writing LUKS header.
	* Do not allow context format of already formatted device.

2011-07-25  Milan Broz  <mbroz@redhat.com>
	* Remove hash/hmac restart from crypto backend and make it part of hash/hmac final.
	* Improve check for invalid offset and size values.

2011-07-19  Milan Broz  <mbroz@redhat.com>
	* Revert default initialisation of volume key in crypt_init_by_name().
	* Do not allow key retrieval while suspended (key could be wiped).
	* Do not allow suspend for non-LUKS devices.
	* Support retries and timeout parameters for luksSuspend.
	* Add --header option for detached metadata (on-disk LUKS header) device.
	* Add crypt_init_by_name_and_header() and crypt_set_data_device() to API.
	* Allow different data offset setting for detached header.

2011-07-07  Milan Broz  <mbroz@redhat.com>
	* Remove old API functions (all functions using crypt_options).
	* Add --enable-discards option to allow discards/TRIM requests.
	* Add crypt_get_iv_offset() function to API.

2011-07-01  Milan Broz  <mbroz@redhat.com>
	* Add --shared option for creating non-overlapping crypt segments.
	* Add shared flag to libcryptsetup api.
	* Fix plain crypt format parameters to include size option (API change).

2011-06-08  Milan Broz  <mbroz@redhat.com>
	* Fix return code for status command when device doesn't exists.

2011-05-24  Milan Broz  <mbroz@redhat.com>
	* Version 1.3.1.

2011-05-17  Milan Broz  <mbroz@redhat.com>
	* Fix keyfile=- processing in create command (1.3.0).
	* Simplify device path status check.

2011-05-03  Milan Broz  <mbroz@redhat.com>
	* Do not ignore size argument for create command (1.2.0).

2011-04-18  Milan Broz  <mbroz@redhat.com>
	* Fix error paths in blockwise code and lseek_write call.
	* Add Nettle crypto backend support.

2011-04-05  Milan Broz  <mbroz@redhat.com>
	* Version 1.3.0.

2011-03-22  Milan Broz  <mbroz@redhat.com>
	* Also support --skip and --hash option for loopaesOpen.
	* Fix return code when passphrase is read from pipe.
	* Document cryptsetup exit codes.

2011-03-18  Milan Broz  <mbroz@redhat.com>
	* Respect maximum keyfile size paramater.
	* Introduce maximum default keyfile size, add configure option.
	* Require the whole key read from keyfile in create command (broken in 1.2.0).
	* Fix offset option for loopaesOpen.
	* Lock memory also in luksDump command.
	* Version 1.3.0-rc2.

2011-03-14  Milan Broz  <mbroz@redhat.com>
	* Version 1.3.0-rc1.

2011-03-11  Milan Broz  <mbroz@redhat.com>
	* Add loop manipulation code and support mapping of images in file.
	* Add backing device loop info into status message.
	* Add luksChangeKey command.

2011-03-05  Milan Broz  <mbroz@redhat.com>
	* Add exception to COPYING for binary distribution linked with OpenSSL library.
	* Set secure data flag (wipe all ioclt buffers) if devmapper library supports it.

2011-01-29  Milan Broz  <mbroz@redhat.com>
	* Fix mapping removal if device disappeared but node still exists.
	* Fix luksAddKey return code if master key is used.

2011-01-25  Milan Broz  <mbroz@redhat.com>
	* Add loop-AES handling (loopaesOpen and loopaesClose commands).
	 (requires kernel 2.6.38 and above)

2011-01-05  Milan Broz  <mbroz@redhat.com>
	* Fix static build (--disable-static-cryptsetup now works properly).

2010-12-30  Milan Broz  <mbroz@redhat.com>
	* Add compile time crypto backends implementation
	  (gcrypt, OpenSSL, NSS and userspace Linux kernel crypto api).
	* Currently NSS is lacking ripemd160, cannot provide full plain compatibility.
	* Use --with-crypto_backend=[gcrypt|openssl|nss|kernel] to configure.

2010-12-20  Milan Broz  <mbroz@redhat.com>
	* Version 1.2.0.

2010-11-25  Milan Broz  <mbroz@redhat.com>
	* Fix crypt_activate_by_keyfile() to work with PLAIN devices.
	* Fix create command to properly handle keyfile size.

2010-11-16  Milan Broz  <mbroz@redhat.com>
	* Version 1.2.0-rc1.

2010-11-13  Milan Broz  <mbroz@redhat.com>
	* Fix password callback call.
	* Fix default plain password entry from terminal in activate_by_passphrase.
	* Add --dump-master-key option for luksDump to allow volume key dump.
	* Allow to activate by internally cached volume key
	  (format/activate without keyslots active - used for temporary devices).
	* Initialize volume key from active device in crypt_init_by_name()
	* Fix cryptsetup binary exitcodes.
	* Increase library version (still binary compatible with 1.1.x release).

2010-11-01  Milan Broz  <mbroz@redhat.com>
	* No longer support luksDelKey, reload and --non-exclusive.
	* Remove some obsolete info from man page.
	* Add crypt_get_type(), crypt_resize(), crypt_keyslot_max()
	and crypt_get_active_device() to API.
	* Rewrite all implementations in cryptsetup to new API.
	* Fix luksRemoveKey to behave as documented (do not ask
	for remaining keyslot passphrase).
	* Add more regression tests for commands.
	* Disallow mapping of device which is already in use (mapped or mounted).
	* Disallow luksFormat on device in use.

2010-10-27  Milan Broz  <mbroz@redhat.com>
	* Rewrite cryptsetup luksFormat, luksOpen, luksAddKey to use new API
	  to allow adding new features.
	* Implement --use-random and --use-urandom for luksFormat to allow
	  setting of RNG for volume key generator.
	* Add crypt_set_rng_type() and crypt_get_rng_type() to API.
	* Add crypt_set_uuid() to API.
	* Allow UUID setting in luksFormat and luksUUID (--uuid parameter).
	* Add --keyfile-size and --new-keyfile-size (in bytes) size and disallow overloading
	  of --key-size for limiting keyfile reads.
	* Fix luksFormat to properly use key file with --master-key-file switch.
	* Fix possible double free when handling master key file.

2010-10-17  Milan Broz  <mbroz@redhat.com>
	* Add crypt_get_device_name() to API (get underlying device name).
	* Change detection for static libraries.
	* Fix pkg-config use in automake scripts.
	* Remove --disable-shared-library switch and handle static library build
	  by common libtool logic (using --enable-static).
	* Add --enable-static-cryptsetup option to build cryptsetup.static binary
	  together with shared build.

2010-08-05  Milan Broz  <mbroz@redhat.com>
	* Wipe iteration and salt after KillSlot in LUKS header.
	* Rewrite file differ test to C (and fix it to really work).
	* Switch to 1MiB default alignment of data.
	  For more info see https://bugzilla.redhat.com/show_bug.cgi?id=621684
	* Do not query non-existent device twice (cryptsetup status /dev/nonexistent).
	* Check if requested hash is supported before writing LUKS header.

2010-07-28  Arno Wagner <arno@wagner.name>
	* Add FAQ (Frequently Asked Questions) file to distribution.

2010-07-03  Milan Broz  <mbroz@redhat.com>
	* Fix udev support for old libdevmapper with not compatible definition.
	* Version 1.1.3.

2010-06-01  Milan Broz  <mbroz@redhat.com>
	* Fix device alignment ioctl calls parameters.
	* Fix activate_by_* API calls to handle NULL device name as documented.

2010-05-30  Milan Broz  <mbroz@redhat.com>
	* Version 1.1.2.

2010-05-27  Milan Broz  <mbroz@redhat.com>
	* Fix luksFormat/luksOpen reading passphrase from stdin and "-" keyfile.
	* Support --key-file/-d option for luksFormat.
	* Fix description of --key-file and add --verbose and --debug options to man page.
	* Add verbose log level and move unlocking message there.
	* Remove device even if underlying device disappeared.
	* Fix (deprecated) reload device command to accept new device argument.

2010-05-23  Milan Broz  <mbroz@redhat.com>
	* Fix luksClose operation for stacked DM devices.
	* Version 1.1.1.

2010-05-03  Milan Broz  <mbroz@redhat.com>
	* Fix automatic dm-crypt module loading.
	* Escape hyphens in man page.
	* Version 1.1.1-rc2.

2010-04-30  Milan Broz  <mbroz@redhat.com>
	* Try to use pkgconfig for device mapper library.
	* Detect old dm-crypt module and disable LUKS suspend/resume.
	* Fix apitest to work on older systems.
	* Allow no hash specification in plain device constructor.
	* Fix luksOpen reading of passphrase on stdin (if "-" keyfile specified).
	* Fix isLuks to initialise crypto backend (blkid instead is suggested anyway).
	* Version 1.1.1-rc1.

2010-04-12  Milan Broz  <mbroz@redhat.com>
	* Fix package config to use proper package version.
	* Avoid class C++ keyword in library header.
	* Detect and use devmapper udev support if available (disable by --disable-udev).

2010-04-06  Milan Broz  <mbroz@redhat.com>
	* Prefer some device paths in status display.
	* Support device topology detectionfor data alignment.

2010-02-25  Milan Broz  <mbroz@redhat.com>
	* Do not verify unlocking passphrase in luksAddKey command.
	* Properly initialise crypto backend in header backup/restore commands.

2010-01-17  Milan Broz  <mbroz@redhat.com>
	* If gcrypt compiled with capabilities, document workaround for cryptsetup (see lib/gcrypt.c).
	* Version 1.1.0.

2010-01-10  Milan Broz  <mbroz@redhat.com>
	* Fix initialisation of gcrypt duting luksFormat.
	* Convert hash name to lower case in header (fix sha1 backward comatible header)
	* Check for minimum required gcrypt version.

2009-12-30  Milan Broz  <mbroz@redhat.com>
	* Fix key slot iteration count calculation (small -i value was the same as default).
	* The slot and key digest iteration minimun is now 1000.
	* The key digest iteration # is calculated from iteration time (approx 1/8 of that).
	* Version 1.1.0-rc4.

2009-12-11  Milan Broz  <mbroz@redhat.com>
	* Fix error handling during reading passhrase.

2009-12-01  Milan Broz  <mbroz@redhat.com>
	* Allow changes of default compiled-in cipher parameters through configure.
	* Switch default key size for LUKS to 256bits.
	* Switch default plain mode to aes-cbc-essiv:sha256 (default is backward incompatible!).

2009-11-14  Milan Broz  <mbroz@redhat.com>
	* Add CRYPT_ prefix to enum defined in libcryptsetup.h.
	* Fix status call to fail when running as non-root user.
	* Check in configure if selinux libraries are required in static version.
	* Add temporary debug code to find processes locking internal device.
	* Simplify build system, use autopoint and clean gettext processing.
	* Use proper NLS macros and detection (so the message translation works again).
	* Version 1.1.0-rc3.

2009-09-30  Milan Broz  <mbroz@redhat.com>
	* Fix exported symbols and versions in libcryptsetup.
	* Do not use internal lib functions in cryptsetup.
	* Add crypt_log to library.
	* Fix crypt_remove_device (remove, luksClose) implementation.
	* Move dm backend initialisation to library calls.
	* Move duplicate Command failed message to verbose level (error is printed always).
	* Add some password and used algorithms notes to man page.
	* Version 1.1.0-rc2.

2009-09-28  Milan Broz  <mbroz@redhat.com>
	* Add luksHeaderBackup and luksHeaderRestore commands.
	* Fail passphrase read if piped input no longer exists.
	* Version 1.1.0-rc1.

2009-09-15  Milan Broz  <mbroz@redhat.com>
	* Initialize crypto library before LUKS header load.
	* Fix manpage to not require --size which expands to device size by default.

2009-09-10  Milan Broz  <mbroz@redhat.com>
	* Clean up Makefiles and configure script.
	* Version 1.1.0-test0.

2009-09-08  Milan Broz  <mbroz@redhat.com>
	* Use dm-uuid for all crypt devices, contains device type and name now.
	* Try to read first sector from device to properly check that device is ready.

2009-09-02  Milan Broz  <mbroz@redhat.com>
	* Add luksSuspend (freeze device and wipe key) and luksResume (with provided passphrase).

2009-08-30  Milan Broz  <mbroz@redhat.com>
	* Require device device-mapper to build and do not use backend wrapper for dm calls.
	* Move memory locking and dm initialization to command layer.
	* Increase priority of process if memory is locked.
	* Add log macros and make logging modre consitent.
	* Move command successful messages to verbose level.
	* Introduce --debug parameter.
	* Move device utils code and provide context parameter (for log).
	* Keyfile now must be provided by path, only stdin file descriptor is used (api only).
	* Do not call isatty() on closed keyfile descriptor.
	* Run performance check for PBKDF2 from LUKS code, do not mix hash algoritms results.
	* Add ability to provide pre-generated master key and UUID in LUKS header format.
	* Add LUKS function to verify master key digest.
	* Move key slot manuipulation function into LUKS specific code.
	* Replace global options struct with separate parameters in helper functions.
	* Add new libcryptsetup API (documented in libcryptsetup.h).
	* Implement old API calls using new functions.
	* Remove old API code helper functions.
	* Add --master-key-file option for luksFormat and luksAddKey.

2009-08-17  Milan Broz  <mbroz@redhat.com>
	* Fix PBKDF2 speed calculation for large passhrases.
	* Allow using passphrase provided in options struct for LuksOpen.
	* Allow restrict keys size in LuksOpen.

2009-07-30  Milan Broz  <mbroz@redhat.com>
	* Fix errors when compiled with LUKS_DEBUG.
	* Print error when getline fails.
	* Remove po/cryptsetup-luks.pot, it's autogenerated.
	* Return ENOENT for empty keyslots, EINVAL will be used later for other type of error.
	* Switch PBKDF2 from internal SHA1 to libgcrypt, make hash algorithm not hardcoded to SHA1 here.
	* Add required parameters for changing hash used in LUKS key setup scheme.
	* Do not export simple XOR helper now used only inside AF functions.
	* Completely remove internal SHA1 implementanion code, not needed anymore.
	* Enable hash algorithm selection for LUKS through -h luksFormat option.

2009-07-28  Milan Broz  <mbroz@redhat.com>
	* Pad luks header to 512 sector size.
	* Rework read/write blockwise to not split operation to many pieces.
	* Use posix_memalign if available.

2009-07-22  Milan Broz  <mbroz@redhat.com>
	* Fix segfault if provided slot in luksKillslot is invalid.
	* Remove unneeded timeout when remove of temporary device succeeded.

2009-07-22  Milan Broz  <mbroz@redhat.com>
	* version 1.0.7

2009-07-16  Milan Broz  <mbroz@redhat.com>
	* Allow removal of last slot in luksRemoveKey and luksKillSlot.

2009-07-11  Milan Broz  <mbroz@redhat.com>

	* Add --disable-selinux option and fix static build if selinux is required.
	* Reject unsupported --offset and --skip options for luksFormat and update man page.

2009-06-22  Milan Broz  <mbroz@redhat.com>

	* Summary of changes in subversion for 1.0.7-rc1:
	* Various man page fixes.
	* Set UUID in device-mapper for LUKS devices.
	* Retain readahead of underlying device.
	* Display device name when asking for password.
	* Check device size when loading LUKS header. Remove misleading error message later.
	* Add error hint if dm-crypt mapping failed.
	* Use better error messages if device doesn't exist or is already used by other mapping.
	* Fix make distcheck.
	* Check if all slots are full during luksAddKey.
	* Fix segfault in set_error.
	* Code cleanups, remove precompiled pot files, remove unnecessary files from po directory
	* Fix uninitialized return value variable in setup.c.
	* Code cleanups. (thanks to Ivan Stankovic)
	* Fix wrong output for remaining key at key deletion.
	* Allow deletion of key slot while other keys have the same key information.
	* Add missing AM_PROG_CC_C_O to configure.in
	* Remove duplicate sentence in man page.
	* Wipe start of device (possible fs signature) before LUKS-formatting.
	* Do not process configure.in in hidden directories.
	* Return more descriptive error in case of IO or header format error.
	* Use remapping to error target instead of calling udevsettle for temporary crypt device.
	* Check device mapper communication and warn user if device-mapper support missing in kernel.
	* Fix signal handler to properly close device.
	* write_lseek_blockwise: declare innerCount outside the if block.
	* add -Wall to the default CFLAGS. fix some signedness issues.
	* Error handling improvement.
	* Add non-exclusive override to interface definition.
	* Refactor key slot selection into keyslot_from_option.

2007-05-01  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/backends.c, man/cryptsetup.8: Apply patch from Ludwig Nussel
	<ludwig.nussel@suse.de>, for old SuSE compat hashing.

2007-04-16  Clemens Fruhwirth  <clemens@endorphin.org>

	* Summary of changes in subversion:
	Fix segfault for key size > 32 bytes.
	Kick ancient header version conversion. 
	Fix http://bugs.debian.org/403075
	No passwort retrying for I/O errors.
	Fix hang on "-i 0".
	Fix parenthesization error that prevented --tries from working
	correctly.

2006-11-28  gettextize  <bug-gnu-gettext@gnu.org>

	* m4/gettext.m4: Upgrade to gettext-0.15.
	* m4/glibc2.m4: New file, from gettext-0.15.
	* m4/intmax.m4: New file, from gettext-0.15.
	* m4/inttypes-h.m4: New file, from gettext-0.15.
	* m4/inttypes-pri.m4: Upgrade to gettext-0.15.
	* m4/lib-link.m4: Upgrade to gettext-0.15.
	* m4/lib-prefix.m4: Upgrade to gettext-0.15.
	* m4/lock.m4: New file, from gettext-0.15.
	* m4/longdouble.m4: New file, from gettext-0.15.
	* m4/longlong.m4: New file, from gettext-0.15.
	* m4/nls.m4: Upgrade to gettext-0.15.
	* m4/po.m4: Upgrade to gettext-0.15.
	* m4/printf-posix.m4: New file, from gettext-0.15.
	* m4/signed.m4: New file, from gettext-0.15.
	* m4/size_max.m4: New file, from gettext-0.15.
	* m4/visibility.m4: New file, from gettext-0.15.
	* m4/wchar_t.m4: New file, from gettext-0.15.
	* m4/wint_t.m4: New file, from gettext-0.15.
	* m4/xsize.m4: New file, from gettext-0.15.
	* m4/Makefile.am: New file.
	* configure.in (AC_OUTPUT): Add m4/Makefile.
	(AM_GNU_GETTEXT_VERSION): Bump to 0.15.

2006-10-22  David Härdeman  <david@hardeman.nu>

	* Allow hashing of keys passed through stdin.

2006-10-13  Clemens Fruhwirth  <clemens@endorphin.org>

	* configure.in: 1.0.4 release

2006-10-13  Clemens Fruhwirth  <clemens@endorphin.org>

	* man/cryptsetup.8: Document --tries switch; patch by Jonas
	Meurer.

2006-10-13  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/setup.c: Added terminal timeout rewrite as forwarded by
	Jonas Meurer

2006-10-04  Clemens Fruhwirth  <clemens@endorphin.org>

	* Merged patch from Marc Merlin <marc@merlins.org> to allow user
	selection of key slot.

2006-09-26  gettextize  <bug-gnu-gettext@gnu.org>

	* m4/codeset.m4: Upgrade to gettext-0.14.4.
	* m4/gettext.m4: Upgrade to gettext-0.14.4.
	* m4/glibc2.m4: New file, from gettext-0.14.4.
	* m4/glibc21.m4: Upgrade to gettext-0.14.4.
	* m4/iconv.m4: Upgrade to gettext-0.14.4.
	* m4/intdiv0.m4: Upgrade to gettext-0.14.4.
	* m4/intmax.m4: New file, from gettext-0.14.4.
	* m4/inttypes.m4: Upgrade to gettext-0.14.4.
	* m4/inttypes_h.m4: Upgrade to gettext-0.14.4.
	* m4/inttypes-pri.m4: Upgrade to gettext-0.14.4.
	* m4/isc-posix.m4: Upgrade to gettext-0.14.4.
	* m4/lcmessage.m4: Upgrade to gettext-0.14.4.
	* m4/lib-ld.m4: Upgrade to gettext-0.14.4.
	* m4/lib-link.m4: Upgrade to gettext-0.14.4.
	* m4/lib-prefix.m4: Upgrade to gettext-0.14.4.
	* m4/longdouble.m4: New file, from gettext-0.14.4.
	* m4/longlong.m4: New file, from gettext-0.14.4.
	* m4/nls.m4: Upgrade to gettext-0.14.4.
	* m4/po.m4: Upgrade to gettext-0.14.4.
	* m4/printf-posix.m4: New file, from gettext-0.14.4.
	* m4/progtest.m4: Upgrade to gettext-0.14.4.
	* m4/signed.m4: New file, from gettext-0.14.4.
	* m4/size_max.m4: New file, from gettext-0.14.4.
	* m4/stdint_h.m4: Upgrade to gettext-0.14.4.
	* m4/uintmax_t.m4: Upgrade to gettext-0.14.4.
	* m4/ulonglong.m4: Upgrade to gettext-0.14.4.
	* m4/wchar_t.m4: New file, from gettext-0.14.4.
	* m4/wint_t.m4: New file, from gettext-0.14.4.
	* m4/xsize.m4: New file, from gettext-0.14.4.
	* Makefile.am (ACLOCAL_AMFLAGS): New variable.
	* configure.in (AM_GNU_GETTEXT_VERSION): Bump to 0.14.4.

2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>

	* configure.in: 1.0.4-rc2

2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>

	* luks/Makefile.am: Add a few regression tests 

2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/setup.c (get_key): Applied patch from David Härdeman
	<david@2gen.com> for reading binary keys from stdin using
	the "-" as key file.

2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/setup.c (__crypt_luks_add_key): For checking options struct
	(optionsCheck) filter out CRYPT_FLAG_VERIFY and
	CRYPT_FLAG_VERIFY_IF_POSSIBLE, so that in no case password verification is done
	for password retrieval.

2006-08-04  Clemens Fruhwirth  <clemens@endorphin.org>

	* configure.in: Merge Patch from http://bugs.gentoo.org/show_bug.cgi?id=132126 for sepol

2006-07-23  Clemens Fruhwirth  <clemens@endorphin.org>

	* Applied patches from David Härdeman <david@2gen.com> to fix 64
	bit compiler warning issues.

2006-05-19  Clemens Fruhwirth  <clemens@endorphin.org>

	* Applied patches from Jonas Meurer
	  - fix terminal status after timeout
	  - add remark for --tries to manpage
	  - allow more than 32 chars from standard input.
	  - exit status fix for cryptsetup status.

2006-05-06  Clemens Fruhwirth  <clemens@endorphin.org>

	* src/cryptsetup.c (yesDialog): Fix getline problem for 64-bit archs. 

2006-04-05  Clemens Fruhwirth  <clemens@endorphin.org>

	* configure.in: Release 1.0.3.

	* Applied patch by Johannes Weißl for more meaningful exit codes
	and password retries

2006-03-30  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/setup.c (__crypt_create_device): (char *) -> (const char *)

2006-03-30  Clemens Fruhwirth  <clemens@endorphin.org>

	* Apply alignPayload patch from Peter Palfrader <weasel@debian.org>

2006-03-15  Clemens Fruhwirth  <clemens@endorphin.org>

	* configure.in: 1.0.3-rc3. Most unplease release ever. 
	* lib/setup.c (__crypt_create_device): More verbose error message.

2006-02-26  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/setup.c: Revert to 1.0.1 key reading.

2006-02-25  Clemens Fruhwirth  <clemens@endorphin.org>

	* man/cryptsetup.8: merge patch from Jonas Meurer

2006-02-25  Clemens Fruhwirth  <clemens@endorphin.org>

	* configure.in: 1.0.3-rc2

2006-02-25  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/libdevmapper.c (dm_create_device): Remove dup check here.
	* lib/setup.c (__crypt_luks_open): Adopt same dup check as regular
	create command.

2006-02-22  Clemens Fruhwirth  <clemens@endorphin.org>

	* configure.in: Spin 1.0.3-rc1

2006-02-22  Clemens Fruhwirth  <clemens@endorphin.org>

	* src/cryptsetup.c (action_create): Change defaulting.
	(action_luksFormat): Change defaulting.

	* lib/setup.c (parse_into_name_and_mode): Revert that default
	change. This is FORBIDDEN here, as it will change cryptsetup
	entire default. This is BAD in a non-LUKS world.

2006-02-21  Clemens Fruhwirth  <clemens@endorphin.org>

	* luks/keyencryption.c (setup_mapping): Add proper size restriction to mapping.	
	(LUKS_endec_template): Add more verbose error message.

2006-02-21  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/libdevmapper.c (dm_query_device): Incorporate patch from
	Bastian Blank
	http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=344313

2006-02-21  Clemens Fruhwirth  <clemens@endorphin.org>

	* src/cryptsetup.c: Rename show_error -> show_status.

2006-02-20  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/libdevmapper.c (dm_create_device): Prevent existing mapping
	from being removed when a mapping with the same name is added

	* Add timeout patch from Jonas Meurer 

	* src/cryptsetup.c: Remove conditional error printing to enable
	printing the no-error msg (Command successful). Verify passphrase
	for LUKS volumes.
	(main): Add no-verify-passphrase

	* lib/setup.c (parse_into_name_and_mode): Change default mode complition to essiv:sha256.

2006-01-04  Clemens Fruhwirth  <clemens@endorphin.org>

	* src/cryptsetup.c (help): Merge patch from Gentoo: change gettext(..) to _(..).

2005-12-06  Clemens Fruhwirth  <clemens@endorphin.org>

	* man/cryptsetup.8: Correct "seconds" to "microseconds" in the explaination for -i.

2005-11-09  Clemens Fruhwirth  <clemens@endorphin.org>

	* src/cryptsetup.c (main): Add version string.

2005-11-08  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/backends.c: compile fix. 

2005-09-11  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/setup.c (get_key): Fixed another incompatibility from my
	get_key rewrite with original cryptsetup.

2005-09-11  Clemens Fruhwirth  <clemens@endorphin.org>

	* Merged changes from Florian Knauf's fk02 branch.

2005-09-08  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/setup.c (get_key): Fixed another incompatiblity with
	original cryptsetup.

2005-08-20  Clemens Fruhwirth  <clemens@endorphin.org>

	* Checked in a patch from Michael Gebetsroither <gebi@sbox.tugraz.at>
	  to silent all confirmation dialogs.

2005-06-23  Clemens Fruhwirth  <clemens@endorphin.org>

	* src/cryptsetup.c (help): print PACKAGE_STRING

2005-06-20  Clemens Fruhwirth  <clemens@endorphin.org>

	* luks/keymanage.c (LUKS_set_key): Security check against header manipulation

	* src/cryptsetup.c (action_luksDelKey): Safety check in luksDelKey

	* luks/keymanage.c: Changed disk layout generation to align key material to 4k boundaries.
	(LUKS_is_last_keyslot): Added LUKS_is_last_keyslot function.

        * Applied patch from Bill Nottingham fixing a lot of prototypes.

	* src/cryptsetup.c (action_luksOpen): Add support for -r flag.

	* configure.in: Version bump 1.0.1

2005-06-16  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/setup.c (__crypt_luks_open): Remove mem leaking of dmCipherSpec.
	(get_key): Fix missing zero termination for read string. 

2005-06-12  Clemens Fruhwirth  <clemens@endorphin.org>

	* luks/keyencryption.c (setup_mapping): Added CRYPT_FLAG_READONLY in case of O_RDONLY mode

2005-06-11  Clemens Fruhwirth  <clemens@endorphin.org>

	* configure.in: Version bump 1.0.1-pre

2005-06-09  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/utils.c: Added write_llseek_blocksize method to support sector wiping on sector_size != 512 
	media

2005-05-23  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/setup.c (crypt_luksDelKey): Added missing return statement
	(setup_leave): Added missing return statement

	* luks/keyencryption.c (clear_mapping): Added missing return statement

2005-05-19  Clemens Fruhwirth  <clemens@endorphin.org>

	* lib/utils.c (write_blockwise, read_blockwise): Changed to soft bsize instead of SECTOR_SIZE

	* luks/keymanage.c (wipe): Changed open mode to O_DIRECT | O_SYNC, and changed write 
	to use the blockwise write helper

2005-04-21  Clemens Fruhwirth  <clemens@endorphin.org>

	* man/cryptsetup.8: Corrected an error, thanks to Dick Middleton.

2005-04-09  Clemens Fruhwirth  <clemens@endorphin.org>

	* luks/sha/hmac.c: Add 64 bit bug fix courtesy to 
	Oliver Paukstadt <pstadt@sourcentral.org>.

	* luks/pbkdf.c, luks/keyencryption.c, luks/keymanage.c, luks/af.c: Added a license 
	disclaimer and remove option for "any future GPL versions".

2005-03-25  Clemens Fruhwirth  <clemens@endorphin.org>

	* configure.in: man page Makefile. Version bump 1.0.

	* man/cryptsetup.8: finalize man page and move to section 8.

	* src/cryptsetup.c (action_luksFormat): Add "are you sure" for interactive sessions.

	* lib/setup.c (crypt_luksDump), src/cryptsetup.c: add LUKS dump command

2005-03-24  Clemens Fruhwirth  <clemens@endorphin.org>

	* src/cryptsetup.c, luks/Makefile.am (test), lib/setup.c (setup_enter): 
	rename luksInit to luksFormat

2005-03-12  Clemens Fruhwirth  <clemens@endorphin.org>

	* man/cryptsetup.1: Add man page.

	* lib/setup.c: Remove unneccessary LUKS_write_phdr call, so the
	phdr is written after passphrase reading, so the user can change
	his mind, and not have a partial written LUKS header on it's disk.

2005-02-09  Clemens Fruhwirth  <clemens@endorphin.org>

	* luks/keymanage.c (LUKS_write_phdr): converted argument phdr to
	pointer, and make a copy of phdr for conversion

	* configure.in: Version dump.

	* luks/keyencryption.c: Convert to read|write_blockwise.

	* luks/keymanage.c: Convert to read|write_blockwise.

	* lib/utils.c: Add read|write_blockwise functions, to use in
	O_DIRECT file accesses. 

2004-03-11 Thursday 15:52   Jana Saout <jana@saout.de>

	* lib/blockdev.h: BLKGETSIZE64 really uses size_t as third
	  argument, the rest is wrong.

2004-03-10 Wednesday 17:50   Jana Saout <jana@saout.de>

	* lib/: libcryptsetup.h, libdevmapper.c: Small fixes.

2004-03-09 Tuesday 21:41   Jana Saout <jana@saout.de>

	* lib/internal.h, lib/libcryptsetup.h, lib/libdevmapper.c,
	  lib/setup.c, po/de.po, src/cryptsetup.c: Added internal flags to
	  keep track of malloc'ed return values in struct crypt_options and
	  add a function to free the memory. Also add a readonly flag to
	  libcryptsetup.

2004-03-09 Tuesday 16:03   Jana Saout <jana@saout.de>

	* ChangeLog, configure.in, setup-gettext, lib/Makefile.am,
	  lib/backends.c, lib/blockdev.h, lib/gcrypt.c, lib/internal.h,
	  lib/libcryptsetup.h, lib/libdevmapper.c, lib/setup.c,
	  lib/utils.c, po/de.po, src/Makefile.am, src/cryptsetup.c: More
	  reorganization work.

2004-03-08 Monday 01:38   Jana Saout <jana@saout.de>

	* ChangeLog, Makefile.am, acinclude.m4, configure.in,
	  lib/Makefile.am, lib/backends.c, lib/blockdev.h, lib/gcrypt.c,
	  lib/libdevmapper.c, lib/setup.c, lib/utils.c, po/de.po,
	  src/Makefile.am: BLKGETSIZE64 fixes and started modularity
	  enhancements

2004-03-04 Thursday 21:06   Jana Saout <jana@saout.de>

	* Makefile.am, po/de.po, src/cryptsetup.c, src/cryptsetup.h: First
	  backward compatible working version.

2004-03-04 Thursday 00:42   Jana Saout <jana@saout.de>

	* NEWS, AUTHORS, ChangeLog, Makefile.am, README, autogen.sh,
	  configure.in, setup-gettext, po/ChangeLog, po/LINGUAS,
	  po/POTFILES.in, po/de.po, src/cryptsetup.c, src/cryptsetup.h,
	  src/Makefile.am (utags: initial): Initial checkin.

2004-03-04 Thursday 00:42   Jana Saout <jana@saout.de>

	* NEWS, AUTHORS, ChangeLog, Makefile.am, README, autogen.sh,
	  configure.in, setup-gettext, po/ChangeLog, po/LINGUAS,
	  po/POTFILES.in, po/de.po, src/cryptsetup.c, src/cryptsetup.h,
	  src/Makefile.am: Initial revision
