7May1999:  src/mcrypt.c: 4bit mode is now the default.

6May1999:  src/sunlink.c: Renamed to unlink.c and removed the safe_unlink
              capability. Since the shred program is intended to do
              that jobs there is no need for maintaining that. Simple
              unlink still overwrites the file with zeros.
           src/bits.c:
           src/mcrypt.c: 4 bit mode added. In that mode only 4 bits
              of every character are read. Thus more characters are
              needed but it is much more safer.
           src/defines.h: changed nls defines etc. to compile happily
              again in my glibc 2.1.

29Apr1999: version 2.9.18 released
           library: RC6 and IDEA now work on both little and big endian 
              machines.
           doc/magic: Magic file for file(1) added thanks to
              Koblinger Egmont <egmont@fazekas.hu>
           src/mcrypt.c: Now --bare flag encrypts directly to the output
              file (or stdout) without using temp files.
           library: Changed lib/mcrypt.c so null passwords are accepted
              for rc2.
           Now nonfree version is included in the free but must
              be enabled in compile time using configure --enable-non-free

26Apr1999: src/mcrypt.c: Compability mode with des(3) added.
           library and mcrypt.c: Many internal changes.

25Apr1999: library: Twofish-192 and Twofish-256 added. Twofish (128) was
              renamed to Twofish-128. This is the code applied for aes
              by counterpane systems.

25Apr1999: library: The library now clears (bzero's) all keywords used
              within the library. 

24Apr1999: version 2.1.17 released
           mcrypt.texi and mcrypt.info were added. I do not know much
             about their syntax so they may not be right.
           Now mcrypt is splitted in two packages. mcrypt-x.y.z-nonfree
             and mcrypt-x.y.z. The nonfree version contains the patented
             algorithms.

23Apr1999: src/mcrypt.c: Algorithm and mode specified in the command line are
             now checked in a loop by calling get_algorithms_name. This may
             lead to a problem since 3way is no longer acceptable(3-way is
             the correct) but since the code is much more clear it is
             acceptable.
           library: IDEA and RC6 algorithms added. These algorithms are
             patented so you need a license to use them. More information
             can be found at the file doc/README.nonfree.

20Apr1999: version 2.1.16 released
           src/mcrypt.c: Fixed a bug(?) in the popen call (when calling for 
             gzip or bzip2). Actually it did not return NULL if the
             program couldn't be executed. Corrected thanks to
             Vasilis Vasaitis (vvas@hal.csd.auth.gr)

19Apr1999: Removed a bug in the library. If all threads were used, memory
             leaks were created.
           RC2 algorithm added.

18Apr1999: version 2.1.15 released
           src/mcrypt.c --gzip and --bzip2 options added. If specified mcrypt
             calls gzip or bzip2 and compresses the input before encryption.
           src/extra.c: Unix Crypt is now reported as algorithm when using 
             verbose mode.

17Apr1999: libmcrypt: 8bit OFB mode added.

27Mar1999: -O2 removed for lib/twofish.c. It compiles faster now but
             the speed of encryption for that algorithm is slightly
             reduced.

26Mar1999: Now gaa 1.5.1 is used, so arguments in the command
             line take precendence over the .mcryptrc file.

23Mar1999: Some minor changes in the Makefiles to be closer to the GNU
             coding standards.

16Mar1999: src/bits.h: Changed so it can compile happily on HP-UX 10.24.
             pointed out by R Sriram <rsriram@krdl.org.sg>

13Mar1999: src/mcrypt.c: ".dec" files are properly deleted if a signal
             is received.

11Mar1999: version 2.1.14 released

10Mar1999: src/getpass.c: Added from the shadow suite (981228). Now mcrypt
             prints asterisks when the password is typed. Original code
             by Julianne Frances Haugh, modified by Pavel Machek <pavel@ucw.cz>
             Only minor additions to fit in mcrypt (and use a more random
             way of printing asterisks).
           src/mcrypt.c: Minor bugfixes.

09Mar1999: src/mcrypt.c: Minor bugfixes. Output files are not removed if
             they cannot be opened.

03Mar1999: src/extra.c, src/mcrypt.c: Now mcrypt asks whether to overwrite
             a file or skip it.

02Mar1999: version 2.1.13 released

26Feb1999: src/enigma.c, lib/des.c: Changed all long integers to word32
              and sword32 so it works on all platforms (64bit and 32bit).
              Pointed out by Dan Stromberg <strombrg@nis.acs.uci.edu>
           *.c: malloc is now checked for its return value. If it is
              NULL mcrypt retries to allocate memory after one second
              and if it fails again, mcrypt exits.

23Feb1999: src/mcrypt.c, src/environ.c: Added environment support. Now
             the user may use MCRYPT_ALGO, MCRYPT_MODE, MCRYPT_BIT_MODE
             and MCRYPT_KEY to specify the algorithm, the mode and the key.
             Suggested by Koblinger Egmont <egmont@fazekas.hu>

18Feb1999: Makefile.in: Links are now relative and not absolute.
           mcrypt.1: Some corrections in the documentation.
           src: mcrypt.c: A warning is issued when the keyword(s) are
             specified in the command line.
           Pointed out by Koblinger Egmont <egmont@fazekas.hu>

17Feb1999: version 2.1.12 released
           lib/twofish.c: Added from GNUPG. Now twofish supports only
             128bit encryption but it works. Minor changes.
           lib/twofish: Removed. That AES API was a real problem.
           src/mcrypt.c: --8bit and --7bit replaced with --bit 7 or 8.

16Feb1999: src/mcrypt.c, src/mcrypt.gaa: Mcrypt now uses the gnu
             argument analyzer instead of getopt. Now we can use a
             configuration file instead of reading from command line.

15Feb1999: src/sunlink.c, src/mcrypt.c: Unlink and safe unlink changed.
             Now simple unlink overwrites the file with nulls and safe
             unlink with random strings seven times.

14Feb1999: src/mcrypt.c: Default bit mode for the key changed to 8bit.
           configure.in: Added system checking.
           src/mcrypt.c: A warning is issued if not using a real random
             device like /dev/random.
           src/random.c: Added an #ifdef so it compiles hapilly in
             all systems.

13Feb1999: version 2.1.10 released
           src/mcrypt.c, src/hex.c: Added hex mode. Now the keyword can
             be specified in hex using the --hex parameter. Thus there is no 
             limit to the range of input characters.
           src/defines.h, src/random.c: Added /dev/(s,u)random support for
             linux and openbsd, using some configure scripts from GNUPG.
           src/mcrypt.c, src/extra.c: fixed a bug in unix crypt
           src/extra.c: fixed a bug in the keyfile handling

11Feb1999: The --file parameter changed to --keyfile

09Feb1999: src/mcrypt.c: --file parameter added. Now keywords can be specified
             using a file. One keyword is read per line.
           lib/lcrypt.c: Better use of mutex locks.
           src/sunlink.c: Removed the srand(time(0)). Now it is only called 
             only in main() in src/mcrypt.c.
           mcrypt.1: Added twofish and some information about tea.
           lib/twofish: The algorithm works as it should. (passed the ciphertext
             tests found in counterpane system's site)

08Feb1999: version 2.1.9 released
           src/bits.c: Serious Bugfixes. In 7bit mode all keywords were reduced 
             to 56bit. Fixed.
           * So version 2.1.9 is incompatible with all previous versions
             when the key is entered in 7bit mode.
           lib/twofish: The twofish algorithm is implemented in the library
             using the AES API. Experimental.
           lib/lcrypt.c: If posix_threads found use mutex locks to
             make the init_mcrypt functions reentrant.
           src/crypt.c/h: changed to enigma.c/h
           src/mcrypt.c: srand(time(0)) is called once in the main()
             function. Thus being more random(?)...

03Feb1999: version 2.1.7 released
           src/locks.c: src/mcrypt.c: No longer exits when lock timeout is 
             reached, returns -1 and the file is skipped.
           lib/tean.c: Code changed to be compatible with both little
             and big-endian. 
             Uncompabilty reported by Igor Schein <igor@txc.com>
             TEA is no longer compatible with previous versions of mcrypt.
           lib/swap.c: Included strings.h (via libdefs.h) for bzero. Needed 
             in systems that do not support memset. 
             Reported by Xenitellis Simos <S.Xenitellis@rhbnc.ac.uk>

01Feb1999: version 2.1.6 released
           mcrypt.1: The man page is (at last) corrected and updated.
             Cleared code in lib/lcrypt.c and lib/lcrypt.h. Removed some
             memory leaks. Code cleared in src/mcrypt.c, some memory leaks
             also removed.
             The key padding with nulls (if it was too small) moved in 
           lib/lcrypt.c. CAST-128 is no longer compatible with previous
            versions when the key is more than 10 bytes.

31Jan1999: lib/lcrypt.c: CBC and ECB encryption added into the library.
             CFB mode also added.

30Jan1999: libufc/ufc-crypt.h: Code changed to be supported from
             the main config.h file. 

29Jan1999: version 2.1.5 released
           src/lcrypt.c: An error was found in the key handling. Corrected.
           src/tean.c: The Tiny Encryption Algorithm was added.
           NLS: code updated to gettext-0.10.35
           lib/: The library code is now placed there.

           version 2.1.4 released
           src/cast.c: Added CAST-128. Adopted from the lsh project.
             Originally written by Steve Reid <sreid@sea-to-sky.net>
           src/lcrypt.c: The library is now more functional. It supports
             multithreading (I think so:) .

21Jan1999: src/mcrypt.c: -e flag was removed (it was optional anyway)
             -t --type parameter was replaced by -a --algorithm parameter.
           src/locks.c: Added. Now locking is performed to input (read) and 
             output (write) files via fcntl.

20Jan1999: version 2.1.3 released
           src/mcrypt.c: Many bugfixes. When specifying many files and one key
             via --key the key length was reduced for every file. Fixed.
           src/mcrypt.c: signal handling.
             functions.c: Added this file to make bzero() and signal() work in
             POSIX systems that use memset() and sigaction().
           src/mcrypt.c: Output files are now deleted if encryption/decryption
             fails. (The same if we get a signal)
           src/defines.h: Checks were added to find 32bit, 16bit and 8bit
             integers. (using defines in configure.in)

17Jan1999: src/mcrypt.c: The number of bytes of plaintext of the last block is now
             represented in one byte (previously 4). So that version is not
             compatible with previous ones. Minor changes to use fread and
             fwrite instead of read and write (much faster).
           src/mcrypt.c: The crc32 is now stored encrypted in the file.
           src/blowfish.c: The algorithm changed according to the "new" blowfish.

16Jan1999: src/crc32.c: Added. CRC32 check added.

15Jan1999: version 2.1.1 released
            Makefile in ufc-crypt is now added into the main configure script.
            Algorithm information are now stored into encrypted files, so
            that version is also incompatible with previous ones if the
            --bare flag is not specified.
            NLS support is added (via gettext-0.10). Greek language support.

13Jan1999: Major version update 2.1.0
           Added libmcrypt.a (lcrypt.c)
             DES, 3DES, Blowfish, 3-WAY and GOST are implemented there.
           Code cleared in mcrypt.c
           Proper header files were created (at last!)
           Because of these changes GOST, 3-WAY and DES (and tripleDES) are 
           not compatible with previous versions of this program. 

12Jan1999: Added unix crypt compability (libufc is included to implement
           the crypt() needed in unix crypt algorithm).
           DES 7bit mode is now working.
           Minor changes in sunlink.c (prints a warning when more than one 
           hard links for a file exist)

18Dec1998: Added src/sunlink.c and references to src/mcrypt.c. Now the -u
           flag can be used to delete (secure delete) the input file.

17Dec1998: Added mcrypt.1. At last a manpage!
