2005-10-09 Moritz Schulte * mpi-cmp.c (gcry_mpi_cmp_ui): Rewritten; correctly handle case of zero limbs in U. 2005-04-27 Moritz Schulte * mpiutil.c (gcry_mpi_randomize): Store random data in secure memory if the given MPI is secure - not the other way around (argl). 2005-04-23 Moritz Schulte * Makefile.am: Don't assume the compiler will pre-process the .S files. Some compilers, like those from HP and IBM, don't do this. So, we use the same solution gnupg-1.4.0 does. Preprocess first and then compile. * hppa1.1/mpih-mul3.S: Add "level 1.1" directive to disable warning about using PA-RISC1.1 opcodes. * hppa1.1/mpih-mul2.S: Likewise. * hppa1.1/mpih-mul1.S: Likewise. * hppa1.1/udiv-qrnnd.S: Likewise. 2005-02-16 Moritz Schulte * mpiutil.c (_gcry_mpi_alloc_limb_space): Rewritten, fixed memory corruption. 2005-02-06 Moritz Schulte * mpiutil.c (_gcry_mpi_get_ui, gcry_mpi_get_ui): New functions. 2005-01-05 Werner Koch * hppa1.1/udiv-qrnnd.S: Reverted change of 2004-03-02 but kept the .align directive. 2004-12-16 Werner Koch * config.links (mpi_optional_modules): Move entry for powerpc64 before generic powerpc. Suggested by Rafael Ávila de Espíndola. 2004-03-02 Werner Koch * hppa1.1/udiv-qrnnd.S: Alignment fix from Lamont Jones for Debian. Taken from gnupg-1.3. * longlong.h: Added PowerPC 64 bit code from GPM-4.1.2 but didn't enable it yet. Some whitespace changes in HPPA to fix assembler problems on HP-UX. From gnupg 1.3 * mpiutil.c (_gcry_mpi_alloc_limb_space): Better allocate something even if NLIMBS is passed as 0. * config.links: Updated system list to match gnupg 1.3. 2003-12-19 Werner Koch * mpi-internal.h [M_DEBUG]: Removed this unused code. (struct karatsuba_ctx): Added TSPACE_NLIMBS and TP_NLIMBS. * mpiutil.c (_gcry_mpi_free_limb_space): Add arg NLIMBS and wipe out the memory. Changed all callers. * mpih-mul.c (_gcry_mpih_mul_karatsuba_case): Keep track of allocated limbs. * mpi-div.c (_gcry_mpi_tdiv_qr): Keep track of allocated limbs. * mpi-mul.c (gcry_mpi_mul): Ditto. * mpi-pow.c (gcry_mpi_powm): Ditto. * Manifest: Empty new file. Also add Manifest files to all CPU specific directories. * Makefile.am: Added. * mpiutil.c (gcry_mpi_randomize): Use gcry_create_nonce if WEAK random has been requested. 2003-10-31 Werner Koch * i386/mpih-rshift.S, i386/mpih-lshift.S: Use %dl and not %edx for testb; this avoids an assembler warning. * mpi-pow.c (gcry_mpi_powm): s/exp/expo/ to avoid shadowing warning. 2003-08-19 Marcus Brinkmann * Makefile.am (SUFFIXES): New variable. (.S.o, .S.lo, .S.obj): Rewritten. 2003-07-30 Moritz Schulte * longlong.h (__clz_tab): Renamed to _gcry_clz_tab. * mpi-bit.c (__clz_tab): Likewise. 2003-07-27 Werner Koch * mpicoder.c (gcry_mpi_scan): New argument BUFLEN to replace the use of the intial value of NBYTES. Changed BUFFER to unsigned. (gcry_mpi_print): Likewise. (gcry_mpi_dump): New. (_gcry_log_mpidump): Make use of gcry_mpi_dump. (mpi_print): Removed. (gcry_mpi_scan): Allocated mpi in secure memory when required. (gcry_mpi_aprint): Changed BUFFER to unsigned char*. 2003-07-14 Moritz Schulte * mpicoder.c: Used gcry_err* wrappers for libgpg-error symbols. 2003-06-16 Moritz Schulte * mpi-add.c: Replace last occurences of old type names with newer names (i.e. replace MPI with gcry_mpi_t). * mpi-bit.c: Likewise. * mpi-cmp.c: Likewise. * mpi-div.c: Likewise. * mpi-gcd.c: Likewise. * mpi-internal.h: Likewise. * mpi-inv.c: Likewise. * mpi-mpow.c: Likewise. * mpi-mul.c: Likewise. * mpi-pow.c: Likewise. * mpi-scan.c: Likewise. * mpicoder.c: Likewise. * mpiutil.c: Likewise. 2003-06-09 Moritz Schulte * mpicoder.c (gcry_mpi_scan): Adjust for libgpg-error. (gcry_mpi_print): Likewise. (gcry_mpi_aprint): Likewise. 2003-06-07 Moritz Schulte * longlong.h, mpi-add.c, mpi-bit.c, mpi-cmp.c, mpi-div.c, mpi-gcd.c, mpi-inline.c, mpi-inline.h, mpi-internal.h, mpi-inv.c, mpi-mpow.c, mpi-mul.c, mpi-pow.c, mpi-scan.c, mpicoder.c, mpih-div.c, mpih-mul.c, mpiutil.c, generic/mpi-asm-defs.h, generic/mpih-add1.c, generic/mpih-lshift.c, generic/mpih-mul1.c, generic/mpih-mul2.c, generic/mpih-mul3.c, generic/mpih-rshift.c, generic/mpih-sub1.c, generic/udiv-w-sdiv.c, i386/syntax.h, m68k/syntax.h, mips3/mpi-asm-defs.h, powerpc32/syntax.h: Edited 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. Replaced any occurence of the now deprecated type names with the new ones. 2003-05-21 Moritz Schulte * mpiutil.c (_gcry_mpi_alloc_limb_space): Only try to allocate memory in case the amount of bytes to allocate is non-zero. 2003-04-27 Moritz Schulte * mpiutil.c (_gcry_mpi_resize): Allocate secure memory, in case bit zero of `flags' is set. * mpi-add.c (gcry_mpi_sub): Simplify function; always use a temporary variable now. 2003-04-15 Werner Koch * longlong.h (umul_ppmm): Support SH3 and SH4. Thanks to kazuya.s@jp.yokogawa.com. 2003-04-02 Werner Koch * mpicoder.c (gcry_mpi_print): Fixed testing against possible uninitialized LEN. Valgrinded by Nikos Mavroyanopoulos. 2003-01-15 Werner Koch * longlong.h: Removed some spaces between backslashes and newlines. 2002-09-20 Werner Koch * mpi-mul.c (gcry_mpi_mul_2exp): New. This was declared in gcrypt.h but only implemented as internal function. Noted by Timo but a few minutes to late for today's release. * Makefile.am (DISTCLEANFILES): Include mpi-asm-defs.h 2002-09-18 Werner Koch * Makefile.am (.S.lo): Pass -DPIC. i386, PPC and Sparc code require it. It worked for me because I am using the i586 code. 2002-08-23 Werner Koch * Makefile.am (.S.lo): Fixed for libtool build with --disable-shared. 2002-07-24 Werner Koch * longlong.h: Replaced all K&R multiline strings by ISO ones for the sake of modern compilers. Suggested by Marco Parrone. 2002-06-24 Werner Koch * mpiutil.c (gcry_mpi_swap): New. * mpi-div.c (gcry_mpi_div): New. (gcry_mpi_mod): New. * mpi-inv.c (gcry_mpi_invm): New. * mpicoder.c (do_get_buffer): Make sure that we allocate at least one byte. 2002-06-12 Werner Koch * hppa1.1/udiv-qrnnd.S: Changes for PIC by Randolph Chung. 2002-05-15 Werner Koch * config.links: Chnage the way the mpi modules are determined. * Makefile.am: Revamped to better handle modules 2002-05-14 Werner Koch Changed license of all files to the LGPL. 2002-04-18 Werner Koch * mpicoder.c (gcry_mpi_scan): Don't use normalize on a NULL MPI. 2002-03-20 Werner Koch * mpicoder.c (mpi_read_from_buffer): Bail out on a zero length buffer because we can't eventually do an malloc of this size. Reported by Timo. 2002-01-14 Werner Koch * mpi-inv.c (_gcry_mpi_invm): Typo fixes, noted by Carlo Perassi. 2001-11-01 Werner Koch * mpicoder.c (gcry_mpi_scan): Allow to pass a nbytes as NULL or with value 0 for format GCRY_FMT_SSH, so that the length is not used for any checks, only the length stored in the bufer is used. This is a nice format becuase we can just pass a buffer around and don't need to care about its length. 2001-08-03 Werner Koch * config.links: Changed the way the list of files to be symlinked is returned. 2001-05-31 Werner Koch * mpih-cmp.c: Removed and moved mpihelp_cmp to .. * mpi-inline.h: .. here. Major function renaming. All global functions are now prefixed with _gcry_ or gcry_. Renamed also all mpihelp_ to just mpih_ so that functions names are not getting to long an unreadable and for better matching with the filenames. 2001-05-28 Werner Koch * mpicoder.c (mpi_fromstr): Made static and assume that all input is in hexformat. Updated all CPU specific code with the one from GnuPG-1.0.5. This is just a change of text formatting and the use of .label instead of labels for hppa and pa7100. * longlong.h: Fixes for ARM by Phil Blundell. 2001-03-29 Werner Koch * mpi-mul.c (mpi_mul): Make sure that secret temporary results are not stored in w. Suggested by Florian Weimer. * config.links: Use i386 code for i386. According to tests by Kevin Ryde the i586 code runs slow on i386 CPUs. Ditto for i786. 2001-01-11 Werner Koch * Makefile.am: Removed mpi.h. 2000-12-19 Werner Koch * mpi-internal.h: Put limb_t definition in an ifdef. Major change: Removed all GnuPG stuff and renamed this piece of software to gcrypt. 2000-11-14 Werner Koch * mpi-internal.h, mpi.h: Changed the way they are called and introduced DID_MPI_LIMP_TYPEDEF hack. Very ugly, should all be revamped. * Makefile.am (OMIT_DEPENDENCIES): Hack to work around dependency problems. 2000-10-11 Werner Koch * generic/mpi-asm-defs.h: New. * mips3/mpi-asm-defs.h: New. * config.links: Create a link to one of the above files. Fri Jul 28 18:19:11 CEST 2000 Werner Koch * mpicoder.c (gcry_mpi_scan): Normalize the returned MPI. Tue Jul 25 17:44:15 CEST 2000 Werner Koch * config.links: Support for powerpc--netbsd by Gabriel Rosenkoetter. Mon Jul 17 16:35:47 CEST 2000 Werner Koch * power/: Add all files from GMP for this CPU. Converted comments to CPP comments because some ASes complain about ' in comments. * config.links: Support for BSDI 4.x; by Wayne Chapeskie. Add support for FreeBSD 5 and made the case stmt looking nicer; by Jun Kuriyama. Add support for NetBSD. (sparc8): Made the search path the same as sparc9 (sparc64-unknown-linux-gnu): use udiv module; by Adam Mitchell. * Makefile.am: c/SFLAGS/ASFLAGS/. This has only been used by the powerpc and actually never passed the -Wa,foo to the cc. * mpih-div.c (mpihelp_divrem): The MPN_COPY_DECR copied one element too many. This is a gmp2.0.2p9.txt patch. * longlong.h (umul_ppmm): Fixes for ARM-4. By Sean MacLennan. * mpi-internal.h (karatsuba_ctx): New. * mpih-mul.c (mpihelp_release_karatsuba_ctx): New. (mpihelp_mul_karatsuba_case): New. (mpihelp_mul): Splitted to make use of the new functions. * mpi-pow.c (mpi_powm): Make use of the new splitted function to avoid multiple allocation of temporary memory during the karatsuba operations. * mpi_mpow.c: Removed the unused Barrett code. 2000-03-21 16:17:30 Werner Koch (wk@habibti.openit.de) * config.links: Add support for FreeBSD 5. Mon Jan 24 22:24:38 CET 2000 Werner Koch * mpicoder.c (gcry_mpi_aprint): Now really returns the length. Mon Jan 24 13:04:28 CET 2000 Werner Koch * mpiutil.c: Removed all memory debugging code. * mpicoder.c (gcry_mpi_aprint): New. * Replaced all m_ memory functions by g10_ ones. Fri Dec 31 14:06:56 CET 1999 Werner Koch * mpi-bit.c (gcry_mpi_get_nbits): New. * mpiutil.c (mpi_set_secure): made static. (gcry_mpi_get_flag): New. (gcry_mpi_set_flag): New. (gcry_mpi_clear_flag): New. (mpi_set_opaque): renamed to gcry_mpi_set_opaque. (mpi_get_opaque): renamed to gcry_mpi_get_opaque. Fri Dec 31 12:48:31 CET 1999 Werner Koch * mpicoder.c (mpi_read_from_buffer): Made static. (gcry_mpi_print): A buffer of NULL is now allowed to get the required length back. (mpi_get_keyid): Removed. (mpi_print): Made static - should be removed. Wed Dec 8 21:58:32 CET 1999 Werner Koch * Makefile.am (INCLUDES): Add ../gcrypt. * g10m.c : Removed. * mpicoder.c (mpi_write): Removed. (mpi_read): Removed. (gcry_mpi_scan): New. Taken from ../gcrypt/mpiapi.c. (gcry_mpi_print): Ditto. * mpi-pow.c (mpi_powm): Renamed to ... (gcry_mpi_powm): ... this. * mpiutil.c (gcry_mpi_new): New as a wrapper around the old function. Taken from ../gcrypt/mpiapi.c. (gcry_mpi_snew): Ditto. (gcry_mpi_release): Ditto. (gcry_mpi_copy): Ditto. (gcry_mpi_set): Ditto. (gcry_mpi_set_ui): Ditto. (gcry_mpi_cmp): Ditto. (gcry_mpi_cmp_ui): Ditto. (gcry_mpi_randomize): Ditto. * mpicoder.c (mpi_print): Removed the nbit_info kludge. * mpi-bits.c (mpi_get_nbits): Replaced the is_protected stuff by checking whether it is an opaque mpi and then returns it's length in bits. * mpiutil.c (mpi_set_opaque): Changed the interface to take a number of bits for the length. Adjusted all users. (mpi_get_opaque): Ditto. Fri Nov 19 17:15:20 CET 1999 Werner Koch * mpicoder.c (g10_log_mpidump): Add a temporary workaround * mpih-mul.c (mpihelp_mul_n): s/m_is_ecure/g10_is_secure/ * mpiutil.c (mpi_alloc): Remved the debug mode because it has turned out, that this feature was not very useful in the past. Use the new alloc functions. (mpi_alloc_secure): Ditto. (mpi_alloc_limb_space): Ditto. (mpi_free_limb_space): Ditto. (mpi_resize): Ditto. (mpi_free): Ditto. (mpi_set_secure): Removed the debug stuff. (mpi_set_opaque): Ditto. (mpi_copy): Ditto. (mpi_alloc_set_ui): Ditto. (mpi_m_check): Use g10_ wrapper. Mon Aug 30 20:38:33 CEST 1999 Werner Koch * config.links: Add case label for DJGPP Wed Jul 14 19:42:08 CEST 1999 Werner Koch * Makefile.am: Use .s files as temporaries, disabled other .S rules. Wed Jul 7 13:08:40 CEST 1999 Werner Koch * mpicoder.c (g10_log_mpidump): New. * Makefile.am: Support for libtool. Fri Jul 2 11:45:54 CEST 1999 Werner Koch * mpi-bit.c (mpi_lshift_limbs,mpi_rshift_limbs): New. * mpi-mpow.c (barrett_mulm): New but diabled. Tue Jun 1 16:01:46 CEST 1999 Werner Koch * config.links (i[56]86*-*-freebsdelf*): New. Sun May 23 14:20:22 CEST 1999 Werner Koch * config.links (sysdep.h): Not any more conditionally created. Tue May 4 15:47:53 CEST 1999 Werner Koch * mpiutil.c (mpi_alloc_like): New. Mon Apr 26 17:48:15 CEST 1999 Werner Koch * mpih-add.c, mpih-sub.c: Removed * mpi-inline.c: New. * mpi-inline.h: Make it usable by mpi-inline.c. Sun Apr 18 10:11:28 CEST 1999 Werner Koch * mpih-mul.c (mpihelp_mul_n): Fixed use of memory region. (mpihelp_mul): Ditto. Wed Apr 7 20:51:39 CEST 1999 Werner Koch * Makefile.am: Explicit rules to invoke cpp on *.S Mon Mar 8 20:47:17 CET 1999 Werner Koch * config.links: Take advantage of the with_symbol_underscore macro. Add support for freebsd 4. Wed Feb 24 11:07:27 CET 1999 Werner Koch * mips3/mpih-sub1.S: Removed left over junk in last line. (Should I blame me or my editor?). Sat Feb 13 12:04:43 CET 1999 Werner Koch * Makefile.am: Removed the +=. Add MPI_OPT_FLAGS. Sat Jan 9 16:02:23 CET 1999 Werner Koch * mpi-cmp.c (mpi_cmp_ui): Normalized the arg. Thu Jan 7 18:00:58 CET 1999 Werner Koch * mpi-bit.c (mpi_normalize): New. (mpi_get_nbits): Normalize the MPI. * mpi-bit.c (mpi_cmp): Normalize the MPI before the compare. Tue Dec 8 13:15:16 CET 1998 Werner Koch * config.links: Moved the case for powerpc*linux * powerpcp32/*.S: Removed some underscores. Thu Nov 26 07:27:52 1998 Werner Koch * config.links: Support for ppc with ELF * powerpc32/syntax.h: New. * powerpc32/*.S: Applied ELF patches (glibc patches) Tue Nov 10 19:31:37 1998 Werner Koch (wk@isil.d.shuttle.de) * power*/ : Started with stuff for PPC * config.links: Some stuff for PPC. * generic/udiv-w-sdiv.c: New but disabled. Tue Oct 27 12:37:46 1998 Werner Koch (wk@isil.d.shuttle.de) * config.links (freebsd): Fixes for FreeBSD 3.0 Wed Oct 14 09:59:30 1998 Werner Koch (wk@isil.d.shuttle.de) * config.links (freebsd): ELF patches from Jun Kuriyama. Thu Oct 8 13:28:17 1998 Werner Koch (wk@isil.d.shuttle.de) * mpi-mpow.c (mpi_mulpowm): Fixed mem leak (m_free/mpi_free). Thu Sep 17 18:08:50 1998 Werner Koch (wk@(none)) * hppa1.1/udiv-qrnnd.S: Fix from Steffen Zahn for HPUX 10.20 Thu Aug 6 16:39:28 1998 Werner Koch,mobil,,, (wk@tobold) * mpi-bit.c (mpi_set_bytes): Removed. Wed Aug 5 15:11:12 1998 Werner Koch (wk@(none)) * mpicoder.c (mpi_read_from_buffer): New. * mpiutil.c (mpi_set_opaque): New. (mpi_get_opaque): New. (mpi_copy): Changed to support opauqe flag (mpi_free): Ditto. Sat Jul 4 10:11:11 1998 Werner Koch (wk@isil.d.shuttle.de) * mpiutil.c (mpi_clear): Reset flags. (mpi_set): Ditto. (mpi_alloc_secure): Set flag to 1 and not ored the 1 in, tsss.. Fri Jun 26 11:19:06 1998 Werner Koch (wk@isil.d.shuttle.de) * mpiutil.c (mpi_alloc): set nbits to 0. (mpi_alloc_secure): Ditto. (mpi_clear): Ditto. Thu Jun 25 11:50:01 1998 Werner Koch (wk@isil.d.shuttle.de) * mips3/*.S: New Mon May 18 13:47:06 1998 Werner Koch (wk@isil.d.shuttle.de) * config.links: split mpih-shift into mpih-[lr]shift and changed all implementations. * mpi/alpha: add some new assembler stuff. Wed May 13 11:04:29 1998 Werner Koch (wk@isil.d.shuttle.de) * config.links: Add support for MIPS Thu Apr 9 11:31:36 1998 Werner Koch (wk@isil.d.shuttle.de) * mpicoder.c (mpi_get_secure_buffer): New. Wed Apr 8 09:44:33 1998 Werner Koch (wk@isil.d.shuttle.de) * config.links: Applied small fix from Ulf Möller. Mon Apr 6 12:38:52 1998 Werner Koch (wk@isil.d.shuttle.de) * mpicoder.c (mpi_get_buffer): Removed returned leading zeroes and changed all callers. Tue Mar 10 13:40:34 1998 Werner Koch (wk@isil.d.shuttle.de) * mpi-bit.c (mpi_clear_highbit): New. Mon Mar 2 19:29:00 1998 Werner Koch (wk@isil.d.shuttle.de) * Makefile.am (DISTCLEANFILES): New Thu Feb 26 06:48:54 1998 Werner Koch (wk@isil.d.shuttle.de) * config.links (X86_BROKEN_ALIGN): Added for some systems. Mon Feb 23 12:21:40 1998 Werner Koch (wk@isil.d.shuttle.de) * mpi/m68k/mpih-shift.S (Lspecial): Changed duplicate symbol. Mon Feb 16 13:00:27 1998 Werner Koch (wk@isil.d.shuttle.de) * config.links : Add detection of m68k cpus Copyright 1998,1999,2000,2001,2002,2003 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.