* g10.c (main): Enhance the version-specific config file code to try for
[gnupg.git] / cipher / ChangeLog
index 73a42ba..fedc31a 100644 (file)
@@ -1,5 +1,642 @@
-Thu Jul 15 10:15:35 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+2003-10-10  Werner Koch  <wk@gnupg.org>
+
+       * primegen.c (gen_prime): Bail out if we try to generate a prime
+       with less than 16 bits. Include i18n.h.
+
+2003-10-06  Werner Koch  <wk@gnupg.org>
+
+       * primegen.c (gen_prime): Bail out if NBITS is zero.  This is
+       Debian bug #213989 reported by Max <rusmir@tula.net>.
+
+2003-09-04  David Shaw  <dshaw@jabberwocky.com>
+
+       * md.c (string_to_digest_algo): Enable read-write SHA-256 support.
+
+       * algorithms.h, Makefile.am, md.c (load_digest_module,
+       string_to_digest_algo), tiger.c: Drop TIGER/192 support.
+
+2003-08-28  David Shaw  <dshaw@jabberwocky.com>
+
+       * idea-stub.c, random.c; s/__MINGW32__/_WIN32/ to help building on
+       native Windows compilers.  Requested by Brian Gladman.  From
+       Werner on stable branch.
+
+2003-08-21  David Shaw  <dshaw@jabberwocky.com>
+
+       * random.c (getfnc_gather_random): Don't check NAME_OF_DEV_RANDOM
+       twice.  Use NAME_OF_DEV_URANDOM.
+
+2003-05-24  David Shaw  <dshaw@jabberwocky.com>
+
+       * bithelp.h, des.c, random.c, rndlinux.c, sha1.c, blowfish.c,
+       elgamal.c, rijndael.c, rndunix.c, sha256.c, cast5.c, idea-stub.c,
+       rmd160.c, rndw32.c, sha512.c, md5.c, rmd160test.c, rsa.c, tiger.c:
+       Edit all preprocessor instructions to remove whitespace before the
+       '#'.  This is not required by C89, but there are some compilers
+       out there that don't like it.
+
+2003-05-15  David Shaw  <dshaw@jabberwocky.com>
+
+       * cipher.c (setup_cipher_table): #ifdef IDEA.
+
+       * random.c (fast_random_poll): Only use times() if we HAVE_TIMES.
+
+       * sha512.c, tiger.c: Use the U64_C() macro to specify 64-bit
+       constants.  U64_C is defined in include/types.h and uses the
+       correct suffix depending on the underlying type of u64.
+
+       * idea-stub.c (load_module): Catch an error if the idea module
+       file is unloadable for some reason (unreadable, bad permissions,
+       etc.)
+
+       * md.c (string_to_digest_algo): Give a warning about TIGER192 not
+       being part of OpenPGP.
+
+2003-04-15  Werner Koch  <wk@gnupg.org>
+
+       * md.c (md_start_debug): Need to open the file in binary mode.
+
+2003-02-21  David Shaw  <dshaw@jabberwocky.com>
+
+       * cipher.c (setup_cipher_table): #ifdef all optional ciphers.
+
+       * md.c (load_digest_module): #ifdef all optional digests.
+
+2003-02-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am, md.c (load_digest_module): Only build in SHA384/512
+       and TIGER if specifically enabled by the 64-bit type check in
+       configure.
+
+2003-02-04  David Shaw  <dshaw@jabberwocky.com>
+
+       * sha256.c, sha512.c: New.
+
+       * Makefile.am, algorithms.h, md.c (load_digest_module,
+       string_to_digest_algo): Add read-only support for the new SHAs.
+
+2002-11-06  David Shaw  <dshaw@jabberwocky.com>
+
+       * rndw32.c [__CYGWIN32__]: Don't include winioctl.h - it is not
+       required anymore. (From Werner)
+
+       * random.c (read_seed_file,update_random_seed_file): Use binary
+       mode for __CYGWIN__. (From Werner)
+
+       * blowfish.c (burn_stack), cast5.c (burn_stack), des.c
+        (burn_stack), md5.c (burn_stack), random.c (burn_stack, read_pool,
+       fast_random_poll), rijndael.c (burn_stack), rmd160.c (burn_stack),
+       rndegd.c (rndegd_gather_random), rndlinux.c
+        (rndlinux_gather_random), sha1.c (burn_stack), tiger.c
+       (burn_stack), twofish.c (burn_stack): Replace various calls to
+       memset() with the more secure wipememory().
+
+2002-11-02  David Shaw  <dshaw@jabberwocky.com>
+
+       * cipher.c (string_to_cipher_algo), md.c (string_to_digest_algo):
+       Allow the Sxxx and Hxxx format for cipher and digest names.
+
+2002-10-31  Stefan Bellon  <sbellon@sbellon.de>
+
+       * rndriscos.c (rndriscos_gather_random): Use riscos_load_module()
+       to load CryptRandom module.
+
+2002-10-12  Werner Koch  <wk@gnupg.org>
+
+       * rndunix.c (my_popen): Make sure that stdin and stderr are
+       connected to a file.  This is to avoid NetBSD to complain about
+       set{u,g}id programs invoked with fd 0, 2 closed.  Reported by
+       Cristian Biere.
+       (start_gatherer): Likewise. Reordered code.
+
+2002-10-02  David Shaw  <dshaw@jabberwocky.com>
+
+       * tiger.c (tiger_get_info): Select the OID to use for TIGER at
+       compile time.
+
+2002-09-27  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am, md.c (load_digest_module): TIGER is now always
+       enabled.
+
+2002-09-26  Werner Koch  <wk@gnupg.org>
+
+       * tiger.c (tiger_get_info): Use a regular OID.  Note that this
+       breaks all TIGER generated signatures; if we want to do something
+       about it we have to do it in ../g10/sig-check.c .
+
+2002-09-17  Werner Koch  <wk@gnupg.org>
+
+       * rndw32.c (SIZEOF_DISK_PERFORMANCE_STRUCT): Increased to 256.
+
+2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
+
+       * rand-internal.h (rndriscos_gather_random): Added prototype.
+
+2002-08-30  Werner Koch  <wk@gnupg.org>
+
+       * random.c: Automagically detect the entropy gatherer when
+       this feature is configured.
+       * rndegd.c (rndegd_connect_socket): New.  Factored out from ..
+       (rndegd_gather_random): here and call it.
+       (do_read): Update the counter variables correctly.  This was not a
+       problem due to the way EGD works. Bug found by Christian Biere.
+
+2002-08-20  Werner Koch  <wk@gnupg.org>
+
+       * primegen.c (generate_elg_prime): Return all factors for mode 1.
+       Bug reported by Bob Mathews.
+
+2002-08-12  Werner Koch  <wk@gnupg.org>
+
+       * cipher.c: Include the DUMMY cipher only when the new ALLOW_DUMMY
+       is defined. It should only be defined for hard core debugging.
+
+2002-08-08  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am, md.c (load_digest_module): Allow switching TIGER on
+       and off via configure.
+
+2002-08-07  David Shaw  <dshaw@jabberwocky.com>
+
+       * md.c (md_algo_present): New function to check if a given algo is
+       in use for a given MD_HANDLE.
+
+2002-08-04  Werner Koch  <wk@gnupg.org>
+
+       * blowfish.h, cast5.h, des.h: Removed after moving all prototypes to
+       * algorithms.h: here. Changed all sources to use this one.
+       
+2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
+
+       * idea-stub.c (idea_get_info): RISC OS' Norcroft C needs a cast.
+       * random.c (getfnc_gather_random): Added RISC OS support.
+       * rndriscos.c: Removed dynload code and tidied up a bit.
+
+2002-08-03  Werner Koch  <wk@gnupg.org>
+
+       * rndegd.c (do_read): Handle case when read returns 0 to avoid
+       gpg hanging when EGD died.  By Christian Biere.
+
+2002-08-02  Werner Koch  <wk@gnupg.org>
+
+        The big extension removal.
+       
+       * Makefile.am: Removed all extension stuff.
+       * dynload.c: Removed everything except for
+       register_cipher_extension.
+       (dynload_enum_module_names): New.
+       * dynload.h: Removed.
+       * random.c (getfnc_gather_random,getfnc_fast_random_poll):
+       New. Replaced all dynload functions with these ones.
+       * rndunix.c (rndunix_gather_random): Renamed from
+       gather_random.  Made global.  Removed all dynload stuff.
+       * rndlinux.c (rndlinux_gather_random): Likewise.
+       * rndegd.c (rndegd_gather_random): Likewise.
+       * rndw32.c (rndw32_gather_random)
+       (rndw32_gather_random_fast): Likewise.  Also removed the unsued
+       entropy dll code.
+       * md.c (new_list_item): Changed return value to indicate whether
+       an algorithms was loaded.
+       (load_digest_module): Simplified by removing all the dynload code.
+       * algorithms.h: New.
+       * md5.c (md5_get_info): Made global.  Removed all dynload stuff.
+       * rmd160.c (rmd160_get_info): Likewise. 
+       * sha1.c (sha1_get_info): Likewise.
+       * tiger.c (tiger_get_info): Likewise. Return NULL if we can't use
+       this module.
+       * idea-stub.c: New.
+       * blowfish.h (idea_get_info): Add prototype.
+       * cipher.c (setup_cipher_table): Try to load IDEA.
+       (load_cipher_modules): Removed all dynload code.
+       * pubkey.c (load_pubkey_modules): Removed the dynloading code.
+
+2002-07-25  David Shaw  <dshaw@jabberwocky.com>
+
+       * random.c: "warning" -> "WARNING"
+
+2002-07-02  Werner Koch  <wk@gnupg.org>
+
+       * rndw32.c (slow_gatherer_windowsNT): Use a simple array for the
+       disk performance structure and increase it to the size required by
+       W2000.
+
+2002-06-29  Werner Koch  <wk@gnupg.org>
+
+       * rndlinux.c: Removed HAVE_LINUX_RANDOM_H conditional because it
+       was never used and the configure test did set the wrong macro
+       anyway.
+
+2002-05-07  Stefan Bellon  <sbellon@sbellon.de>
+
+       * md.c (md_start_debug): Use EXTSEP_S instead of ".".
+
+2002-04-24  Werner Koch  <wk@gnupg.org>
+
+       * tiger.c (tiger_final): Removed superfluous token pasting operators.
+       * md5.c (md5_final): Ditto.
+
+2002-04-22  Stefan Bellon  <sbellon@sbellon.de>
+
+       * rndriscos.c (func_table): Made func a function pointer.
+       (init_device): Improved loading of CryptRandom module.
+
+2002-04-18  Werner Koch  <wk@gnupg.org>
+
+       * rndlinux.c, rndegd.c, rndunix.c (func_table): Made func a
+       function pointer.  Note that we still need to change the module
+       interface to cope with data vs function pointer problems.  Hmmm,
+       even dlsym has a problem with this.
+
+2002-04-10  David Shaw  <dshaw@jabberwocky.com>
+
+       * cipher.c (setup_cipher_table, cipher_open, cipher_encrypt,
+       cipher_decrypt, dummy_setkey, dummy_encrypt_block,
+       dummy_decrypt_block): the dummy cipher should only be built on
+       development versions.
+
+2002-04-06  Werner Koch  <wk@gnupg.org>
+
+       * rijndael.c (rijndael_get_info): We do only support a 128 bit
+       blocksize so it makes sense to change the algorithm strings to
+       AES.
+       * cipher.c (string_to_cipher_algo): Map "RIJNDAEL" to "AES".
+
+2002-02-14  Werner Koch  <wk@gnupg.org>
+
+       * random.c (mix_pool): Removed the failsafe stuff again.  It makes
+       the code more complicate and may give the path to more bugs.
+
+2002-02-10  Werner Koch  <wk@gnupg.org>
+
+       * random.c (mix_pool): Carry an extra failsafe_digest buffer
+       around to make the function more robust.
+
+2002-02-08  Werner Koch  <wk@gnupg.org>
+
+       * random.c (add_randomness): Xor new data into the pool and not
+       just copy it.  This avoids any choosen input attacks which are not
+       serious in our setting because an outsider won't be able to mix
+       data in and even then we keep going with a PRNG.  Thanks to Stefan
+       Keller for pointing this out.
+
+2002-01-02  Stefan Bellon  <sbellon@sbellon.de>
+
+       * rndriscos.c [__riscos__]: Updated include file name.
+
+2001-12-21  Werner Koch  <wk@gnupg.org>
+
+       * Makefile.am (DISCLEANFILES): Add construct.c
+
+2001-12-19  Werner Koch  <wk@gnupg.org>
+
+       * rndw32.c [CYGWIN32]: Include winioctl.h.  By Disastry.
+
+2001-11-08  Werner Koch  <wk@gnupg.org>
+
+       * primegen.c (gen_prime): Set 2 high order bits for secret primes.
+       * rsa.c (generate): Loop until we find the exact modulus size.
+       Changed the exponent to 41.
+
+2001-10-22  Werner Koch  <wk@gnupg.org>
+
+       * Makefile.am: Need to use $(EXEEXT) where approriate.
+
+2001-09-09  Werner Koch  <wk@gnupg.org>
+
+       * rsa.c (rsa_get_info): s/usage/r_usage/ to avoid shadow warnings.
+
+2001-08-24  Werner Koch  <wk@gnupg.org>
+
+       * md.c (md_write): Made buf arg const.
+
+2001-08-22  Werner Koch  <wk@gnupg.org>
+
+       * random.c (fast_random_poll): Don't use gethrtime if it is broken.
+
+2001-08-20  Werner Koch  <wk@gnupg.org>
+
+       Applied patches from Stefan Bellon <sbellon@sbellon.de> to support
+       RISC OS.  Nearly all of these patches are identified by the
+       __riscos__ macro.
+       * blowfish.c, twofish.c: Added pragmas for use with a Norcraft
+       compiler. 
+       * dynload.c, md5.c, rmd160.c, sha1.c: Minor patches for RISC OS.
+       * rndriscos.c: New.
+       * rnd-internal.h: Added prototype.
+       * random.c (fast_random_poll): Use '#if defined' instead of just
+       'defined'; needed for RISC OS.
+       * primegen.c (gen_prime): count? are now ints for consistence
+       with is_prime().
+
+2001-08-08  Werner Koch  <wk@gnupg.org>
+
+       * rndw32.c (gather_random): Use toolhelp in addition to the NT
+       gatherer for Windows2000.  Suggested by Sami Tolvanen.
+
+       * random.c (read_pool): Fixed length check, this used to be one
+       byte to strict.  Made an assert out of it because the caller has
+       already made sure that only poolsize bytes are requested.
+       Reported by Marcus Brinkmann.
+
+2001-07-18  Werner Koch  <wk@gnupg.org>
 
+       * rndlinux.c (gather_random): casted a size_t arg to int so that
+       the format string is correct.  Casting is okay here and avoids
+       translation changes. 
+
+2001-06-12  Werner Koch  <wk@gnupg.org>
+
+       * cipher.c (string_to_cipher_algo): Use ascii_strcasecmp().
+       * md.c (string_to_digest_algo): Ditto.
+       * pubkey.c (string_to_pubkey_algo): Ditto.
+       * rndw32.c (slow_gatherer_windowsNT): Ditto.  Not really needed
+       here but anyway.
+
+2001-04-29  Werner Koch  <wk@gnupg.org>
+
+       * random.c (fast_random_poll): Do not check the return code of
+       getrusage.
+
+2001-04-17  Werner Koch  <wk@gnupg.org>
+
+       * rndunix.c: Add a signal.h header to avoid warnings on Solaris 7
+       and 8.
+
+2001-04-16  Werner Koch  <wk@gnupg.org>
+
+       * dynload.c [__MINGW32__]: Applied patch from Timo Schulz to make
+       it work under W32.  This patches is based on the one from
+       Disastry@saiknes.lv
+
+2001-04-06  Werner Koch  <wk@gnupg.org>
+
+       * rijndael.c, des.c, blowfish.c, twofish.c, cast5.c (burn_stack):
+       New.  Add wrappers for most functions to be able to call
+       burn_stack after the function invocation. This methods seems to be
+       the most portable way to zeroise the stack used. It does only work
+       on stack frame based machines but it is highly portable and has no
+       side effects.  Just setting the automatic variables at the end of
+       a function to zero does not work well because the compiler will
+       optimize them away - marking them as volatile would be bad for
+       performance.
+       * md5.c, sha1.c, rmd160.c, tiger.c (burn_stack): Likewise.
+       * random.c (burn_stack): New.
+       (mix_pool): Use it here to burn the stack of the mixblock function.
+       
+2001-04-02  Werner Koch  <wk@gnupg.org>
+
+       * primegen.c (generate_elg_prime): I was not initialized for mode
+       != 1.  Freed q at 3 places.  Thanks to  Tommi Komulainen.
+
+2001-03-28  Werner Koch  <wk@gnupg.org>
+
+       * md5.c (md5_final): Fixed calculation of hashed length.  Thanks
+       to disastry@saiknes.lv for pointing out that it was horrible wrong
+       for more than 512MB of input.
+       * sha1.c (sha1_final): Ditto.
+       * rmd160.c (rmd160_final): Ditto.
+       * tiger.c (tiger_final): Ditto.
+
+2001-03-19  Werner Koch  <wk@gnupg.org>
+
+       * blowfish.c (encrypt,do_encrypt): Changed name to do_encrypt to
+       avoid name clahses with an encrypt function in stdlib.h of
+       Dynix/PIX.  Thanks to Gene Carter.
+       * elgamal.c (encrypt,do_encrypt): Ditto.
+
+2001-03-12  Werner Koch  <wk@gnupg.org>
+
+       * twofish.c (gnupgext_enum_func): Add some static when comnpiled
+       as a module.
+
+       * tiger.c (tiger_get_info): Return "TIGER192" and not just
+       "TIGER".  By Edwin Woudt.
+
+2001-03-08  Werner Koch  <wk@gnupg.org>
+
+       * random.c: Always include time.h - standard requirement.  Thanks
+       to James Troup.
+
+2001-01-18  Werner Koch  <wk@gnupg.org>
+
+       * rndw32.c: Fixed typo and wrong ifdef for VER_PLATFORM* macro
+
+2001-01-12  Werner Koch  <wk@gnupg.org>
+
+       * cipher.c (cipher_encrypt,cipher_encrypt): Use blocksize and
+       not 8 for CBC mode (However: we don't use CBS in OpenPGP).
+
+2000-11-22  Werner Koch  <wk@gnupg.org>
+
+       * rndegd.c (gather_random): Fixed default socket to be '=entropy'.
+       Thanks to Tomasz Kozlowski.
+
+2000-10-12  Werner Koch  <wk@gnupg.org>
+
+        * rijndael.c: New.
+        * cipher.c: Add Rijndael support.
+
+Wed Oct  4 15:50:18 CEST 2000  Werner Koch  <wk@openit.de>
+
+        * sha1.c (transform): Use rol() macro.  Actually this is not needed
+        for a newer gcc but there are still aoter compilers.
+
+Thu Sep 14 14:20:38 CEST 2000  Werner Koch  <wk@openit.de>
+
+        * random.c (fast_random_poll): Check ENOSYS for getrusage.
+        * rndunix.c:  Add 2 sources for QNX. By Sam Roberts.
+
+Wed Sep 13 18:12:34 CEST 2000  Werner Koch  <wk@openit.de>
+
+        * rsa.c (secret): Speed up by using the CRT.  For a 2k keys this
+        is about 3 times faster.
+        (stronger_key_check): New but unused code to check the secret key.
+
+Wed Sep  6 17:55:47 CEST 2000  Werner Koch  <wk@openit.de>
+
+        * rsa.c: Changed the comment about the patent.
+        * Makefile.am: Included rsa.[ch].
+        * pubkey.c: Enabled RSA support.
+        (pubkey_get_npkey): Removed RSA workaround.
+
+Fri Aug 25 16:05:38 CEST 2000  Werner Koch  <wk@openit.de>
+
+        * rndlinux.c (open_device): Loose random device checking.
+        By Nils Ellmenreich.
+
+        * rndegd.c (gather_random): Name of socket is nom configurable.
+
+Wed Jun 28 11:54:44 CEST 2000  Werner Koch  <wk@>
+
+  * rsa.c, rsa.h: New based on the old module version (only in CVS for now).
+  * pubkey.c (setup_pubkey_table): Added commented support for RSA.
+
+Fri Jun  9 10:09:52 CEST 2000  Werner Koch  <wk@openit.de>
+
+  * rndunix.c (waitpid): New. For UTS 2.1.  All by Dave Dykstra.
+  (my_popen): Do the FD_CLOEXEC only if it is available
+  (start_gatherer): Cope with missing _SC_OPEN_MAX
+
+Sun May 28 13:55:17 CEST 2000  Werner Koch  <wk@openit.de>
+
+  * random.c (read_seed_file): Binary open for DOSish system
+  (update_random_seed_file): Ditto.
+
+  * rndw32.c: Add some debuging code enabled by an environment variable.
+
+Tue May 23 09:19:00 CEST 2000  Werner Koch  <wk@openit.de>
+
+       * rndw32.c: Started with alternative code to replace entropy.dll
+
+Thu May 18 11:38:54 CEST 2000  Werner Koch  <wk@openit.de>
+
+       * primegen.c (register_primegen_progress): New.
+       * dsa.c (register_pk_dsa_progress): New.
+       * elgamal.c (register_pk_elg_progress): New.
+
+Fri Apr 14 19:37:08 CEST 2000  Werner Koch  <wk@openit.de>
+
+       * twofish.c (twofish_get_info): Fixed warning about cast.
+
+Tue Mar 28 14:26:58 CEST 2000  Werner Koch  <wk@openit.de>
+
+       * random.c [MINGW32]: Include process.h for getpid.
+
+Thu Mar  2 15:37:46 CET 2000  Werner Koch  <wk@gnupg.de>
+
+       * random.c (fast_random_poll): Add clock_gettime() as fallback for
+       system which support this POSIX.4 fucntion. By Sam Roberts.
+
+       * rndunix.c: Add some more headers for QNX. By Sam Roberts.
+
+       * random.c (read_seed_file): Removed the S_ISLNK test becuase it
+       is already covered by !S_ISREG and is not defined in Unixware.
+       Reported by Dave Dykstra.
+
+       * sha1.c (sha1_get_info): Removed those stupid double lines. Dave
+       is really a good lint.
+
+Wed Feb 23 10:07:57 CET 2000  Werner Koch  <wk@gnupg.de>
+
+       * twofish.c (twofish_get_info): Add some const to the casts.  By Martin
+       Kahlert.
+
+Mon Feb 14 14:30:20 CET 2000  Werner Koch  <wk@gnupg.de>
+
+       (update_random_seed_file): Silently ignore update request when pool
+       is not filled.
+
+Fri Feb 11 17:44:40 CET 2000  Werner Koch  <wk@gnupg.de>
+
+       * random.c (read_seed_file): New.
+       (set_random_seed_file): New.
+       (read_pool): Try to read the seeding file.
+       (update_random_seed_file): New.
+
+       (read_pool): Do an initial extra seeding when level 2 quality random
+       is requested the first time.  This requestes at least POOLSIZE/2 bytes
+       of entropy.  Compined with the seeding file this should make normal
+       random bytes cheaper and increase the quality of the random bytes
+       used for key generation.
+
+       * rndegd.c (gather_random): Shortcut level 0.
+       * rndunix.c (gather_random): Ditto.
+       * rndw32.c (gather_random): Ditto.
+
+Fri Jan 14 18:32:01 CET 2000  Werner Koch  <wk@gnupg.de>
+
+       * rmd160.c (rmd160_get_info): Moved casting to the left side due to a
+       problem with UTS4.3.  Suggested by Dave Dykstra.
+       * sha1.c (sha1_get_info): Ditto.
+       * tiger.c (tiger_get_info): Ditto.
+       * md5.c (md5_get_info): Ditto
+       * des.c (des_get_info): Ditto.
+       * blowfish.c (blowfish_get_info): Ditto.
+       * cast5.c (cast5_get_info): Ditto.
+       * twofish.c (twofish_get_info): Ditto.
+
+Thu Jan 13 19:31:58 CET 2000  Werner Koch  <wk@gnupg.de>
+
+       * elgamal.c (wiener_map): New.
+       (gen_k): Use a much smaller k.
+       (generate): Calculate the qbits using the wiener map and
+       choose an x at a size comparable to the one choosen in gen_k
+
+       * random.c (read_pool): Print a more friendly error message in
+       cases when too much random is requested in one call.
+
+       * Makefile.am (tiger): Replaced -O1 by -O. Suggested by Alec Habig.
+
+Sat Dec  4 12:30:28 CET 1999  Werner Koch  <wk@gnupg.de>
+
+       * primegen.c (generate_elg_prime): All primes are now generated with
+       the lowest random quality level.  Becuase they are public anyway we
+       don't need stronger random and by this we do not drain the systems
+       entropy so much.
+
+Thu Oct 28 16:08:20 CEST 1999  Werner Koch  <wk@gnupg.de>
+
+       * random.c (fast_random_poll): Check whether RUSAGE_SELF is defined;
+       this is not the case for some ESIX and Unixware, although they have
+       getrusage().
+
+       * elgamal.c (sign): Hugh found strange code here. Replaced by BUG().
+
+Mon Oct 11 09:24:12 CEST 1999  Werner Koch  <wk@gnupg.de>
+
+       * rndw32.c (gather_random): Handle PCP_SEEDER_TOO_SMALL.
+
+Sat Oct  9 20:34:41 CEST 1999  Werner Koch  <wk@gnupg.de>
+
+       * Makefile.am:  Tweaked module build and removed libtool
+
+Fri Oct  8 20:32:01 CEST 1999  Werner Koch  <wk@gnupg.de>
+
+       * rndw32.c (load_and_init_winseed): Use the Registry to locate the DLL
+
+Mon Oct  4 21:23:04 CEST 1999  Werner Koch  <wk@gnupg.de>
+
+       * md.c (md_reset): Clear finalized; thanks to Ulf Moeller for
+       fixing this bug.
+
+Sat Sep 18 12:51:51 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * Makefile.am: Never compile mingw32 as module
+
+Wed Sep 15 14:39:59 CEST 1999  Michael Roth <mroth@nessie.de>
+
+       * des.c: Various speed improvements: One bit pre rotation
+         trick after initial permutation (Richard Outerbridge).
+         Finished test of SSLeay Tripple-DES patterns.
+
+Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * rndw32.c: New.
+
+Mon Sep 13 10:51:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * bithelp.h: New.
+       * rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
+
+Tue Sep  7 16:23:36 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
+
+Mon Sep  6 19:59:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * des.c (selftest): Add some testpattern
+
+Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
+       in place encryption. Pointed out by Frank Stajano.
+
+Mon Jul 26 09:34:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * md5.c (md5_final): Fix for a SCO cpp bug.
+
+Thu Jul 15 10:15:35 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
        * elgamal.c (elg_check_secret_key,elg_encrypt
        elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
@@ -148,7 +785,6 @@ Tue Jan 12 11:17:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
        * tiger.c: Only compile if we have the u64 type
 
-
 Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
        * rndunix.c (gather_random): check for setuid.
@@ -480,3 +1116,15 @@ Mon Feb 16 10:08:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
        (digest_algo_to_string): New.
 
 
+
+ Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+
+ This file is free software; as a special exception the author gives
+ unlimited permission to copy and/or distribute it, with or without
+ modifications, as long as this notice is preserved.
+
+ This file is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+