2014-08-07 Werner Koch <wk@gnupg.org> Release 1.5.4. * configure.ac: Set LT version to C19/A8/R3. 2014-08-07 NIIBE Yutaka <gniibe@fsij.org> mpi: fix gcry_mpi_powm for negative base. * mpi/mpi-pow.c (gcry_mpi_powm) [USE_ALGORITHM_SIMPLE_EXPONENTIATION]: Fix for the case where BASE is negative. * tests/mpitests.c (test_powm): Add a test case of (-17)^6 mod 19. mpi: mpi-pow improvement. * mpi/mpi-pow.c (gcry_mpi_powm): New implementation of left-to-right k-ary exponentiation. 2014-08-07 Xi Wang <xi.wang@gmail.com> Replace deliberate division by zero with _gcry_divide_by_zero. * mpi/mpi-pow.c: Replace 1 / msize. * mpi/mpih-div.c: Replace 1 / dsize. * src/misc.c: Add _gcry_divide_by_zero. 2014-05-09 Werner Koch <wk@gnupg.org> mpi: Fix a subtle bug setting spurious bits with in mpi_set_bit. * mpi/mpi-bit.c (_gcry_mpi_set_bit, _gcry_mpi_set_highbit): Clear allocated but not used bits before resizing. * tests/t-mpi-bits.c (set_bit_with_resize): New. 2013-12-09 Werner Koch <wk@gnupg.org> tests: Add bench-slope. * tests/bench-slope.c: New. This is a stripped down version taken from master. * tests/Makefile.am (noinst_PROGRAMS): Add bench-slope. 2013-10-15 Werner Koch <wk@gnupg.org> w32: Fix installing of .def file. * src/Makefile.am (install-def-file): Create libdir first. 2013-09-16 Werner Koch <wk@gnupg.org> Fix bug in _gcry_mpi_tdiv_q_2exp. * mpi/mpi-internal.h (MPN_COPY_INCR): Make it work. 2013-07-25 Werner Koch <wk@gnupg.org> Release 1.5.3. * configure.ac: Set LT version to C19/A8/R2. Mitigate a flush+reload cache attack on RSA secret exponents. * mpi/mpi-pow.c (gcry_mpi_powm): Always perfrom the mpi_mul for exponents in secure memory. 2013-07-17 Werner Koch <wk@gnupg.org> Fix a special case bug in mpi_powm for e==0. * mpi/mpi-pow.c (gcry_mpi_powm): For a zero exponent, make sure that the result has been allocated. 2013-04-18 Werner Koch <wk@gnupg.org> Release 1.5.2. Update LT version for the next release. * configure.ac: Set LT version to C19/A8/R1. mpi: Yet another fix to get option flag munging right. * cipher/Makefile.am (o_flag_munging): Yet another fix. cipher: Fix regression in Padlock support. * cipher/rijndael.c (do_setkey): Remove dummy padlock key generation case and use the standard one. Fix alignment problem in idea.c. * cipher/idea.c (cipher): Rework parameter use to fix alignment problems. * cipher/idea.c (FNCCAST_SETKEY, FNCCAST_CRYPT): Remove unused macros. 2013-04-18 Vladimir Serbinenko <phcoder@gmail.com> Add some const attributes. * cipher/md4.c (transform): Add const attribute. * cipher/md5.c (transform): Ditto. * cipher/rmd160.c (transform): Ditto. Fix alignment problem in serpent.c. * cipher/serpent.c (serpent_key_prepare): Fix misaligned access. (serpent_setkey): Likewise. (serpent_encrypt_internal): Likewise. (serpent_decrypt_internal): Likewise. (serpent_encrypt): Don't put an alignment-increasing cast. (serpent_decrypt): Likewise. (serpent_test): Likewise. 2013-04-18 Werner Koch <wk@wheatstone.g10code.de> Fix multiply by zero in gcry_mpi_ec_mul. * mpi/ec.c (_gcry_mpi_ec_mul_point): Handle case of SCALAR == 0. 2013-04-15 Werner Koch <wk@gnupg.org> Fix addition of EC points. * mpi/ec.c (_gcry_mpi_ec_add_points): Fix case of P1 given in affine coordinates. 2013-03-20 Ulrich Müller <ulm@gentoo.org> Rework selftest in idea.c. * cipher/idea.c (do_setkey): Execute selftest when first called. (decrypt_block): Remove commented-out code. (selftest): Execute all selftests. Return NULL on success, or string in case of error. Add support for the IDEA cipher. Adapt idea.c to the Libgcrypt framework. Add IDEA to cipher_table and to the build system. Patents on IDEA have expired: Europe: EP0482154 on 2011-05-16, Japan: JP3225440 on 2011-05-16, U.S.: 5,214,703 on 2012-01-07. * configure.ac: Add idea to the list of available ciphers. Define USE_IDEA if idea is enabled. * cipher/cipher.c (cipher_table): Add entry for IDEA. * cipher/idea.c: Update comment about patents. Include proper header files and remove redundant declarations. (expand_key, cipher, do_setkey, encrypt_block, decrypt_block): Define function arguments as const where appropriate. (cipher): Test for !WORDS_BIGENDIAN instead of LITTLE_ENDIAN_HOST. (do_setkey, decrypt_block): Don't call selftest. (idea_setkey): New function, wrapper for do_setkey. (idea_encrypt): New function, wrapper for encrypt_block. (_gcry_cipher_spec_idea): Define. * cipher/Makefile.am (EXTRA_libcipher_la_SOURCES): Add idea.c. * src/cipher.h (_gcry_cipher_spec_idea): Declare. * tests/basic.c (check_ciphers): Add GCRY_CIPHER_IDEA. 2013-03-20 Werner Koch <wk@gnupg.org> Include an IDEA implementation. The code is the old IDEA test code, written by me back in 1997 and distributed on a Danish FTP server. This commit is only for reference. To use the code it has to be adjusted to the Libgcrypt framework. 2013-03-18 Werner Koch <wk@gnupg.org> Get rid of the deprecated AM_CONFIG_HEADER. * configure.ac: Use AC_CONFIG_HEADERS. Release 1.5.1. Allow building with w64-mingw32. * autogen.sh <--build-w32>: Support the w64-mingw32 toolchain. Also prepare for 64 bit building. <git-setup>: Remove option -c from chmod. Update LT version for the next release. * configure.ac: Set LT version to C19/A8/R0. Update helper scripts. * compile, config.guess, config.rpath, config.sub, depcomp, * install-sh, mkinstalldirs: Update to Feb 25 versions from gnulib. Provide a GCRYPT_VERSION_NUMBER macro. * src/gcrypt.h.in (GCRYPT_VERSION_NUMBER): New. * configure.ac (VERSION_NUMBER): New ac_subst. * compat/compat.c (_gcry_compat_identification): Include revision and timestamp. * src/global.c (_gcry_vcontrol): Move call to above function ... (gcry_check_version): .. here. Update to libtool 2.4.2. Generate the ChangeLog from commit logs. * scripts/git-log-fix: New file. * scripts/git-log-footer: New file. * doc/HACKING: Describe the ChangeLog policy * ChangeLog: New file. * Makefile.am (EXTRA_DIST): Add new files. (gen-ChangeLog): New. (dist-hook): Run gen-ChangeLog. Rename all ChangeLog files to ChangeLog-2011. Switch to the new automagic beta numbering scheme. * configure.ac: Add all the required m4 magic. Add some autoconf portability fixes. Remove build hacks for FreeBSD. * configure.ac [freebsd]: Do not add /usr/local to CPPFLAGS and LDFLAGS. mpi: Support the x32 ABI. * mpi/amd64/mpi-asm-defs.h: New. 2013-03-18 Benjamin Pousse <benjamin.pousse@member.fsf.org> Fix malfunction of gcry_sexp_car. * src/sexp.c (gcry_sexp_nth): Return a proper list for ST_DATA. 2013-03-18 Werner Koch <wk@gnupg.org> mpi: Make using gcc's -Ofast easier. * cipher/Makefile.am (o_flag_munging): Take -Ofast in account. 2013-02-19 Jussi Kivilinna <jussi.kivilinna@mbnet.fi> libgcrypt-1.5: rinjdael: Fix use of SSE2 outside USE_AESNI/ctx->use_aesni * cipher/rijndael.c (_gcry_aes_cbc_enc, _gcry_aes_cbc_dec): Check if AES-NI is enabled before calling aesni_prepare() and aesni_cleanup(). 2012-11-21 Werner Koch <wk@gnupg.org> Fix segv with AES-NI on some platforms. * cipher/rijndael.c (RIJNDAEL_context): Align on 16 bytes. 2012-11-16 Werner Koch <wk@gnupg.org> Improve parsing of the GIT revision number. * configure.ac (git_revision): Use git rev-parse. Fix non-portable use of chmod in autogen.sh. * autogen.sh: Remove option -c from chmod. 2012-11-08 Werner Koch <wk@gnupg.org> Fix extern inline use for gcc > 4.3 in c99 mode. * mpi/mpi-inline.h [!G10_MPI_INLINE_DECL]: Take care of changed extern inline semantics in gcc. 2012-11-07 Werner Koch <wk@gnupg.org> Fix memory leak in gcry_pk_testkey for ECC. * cipher/ecc.c (check_secret_key): Restructure for easier allocation tracking. Fix memory leak. 2012-11-05 Milan Broz <mbroz@redhat.com> PBKDF2: Allow empty passphrase. * cipher/kdf.c (gcry_kdf_derive): Allow empty passphrase for PBKDF2. * tests/t-kdf.c (check_pbkdf2): Add test case for above. 2012-11-05 Werner Koch <wk@gnupg.org> Avoid dereferencing pointer right after the end. * mpi/mpicoder.c (do_get_buffer): Check the length before derefing P. 2012-04-25 Werner Koch <wk@gnupg.org> Add alignment tests for the cipher tests. * tests/basic.c (check_one_cipher): Factor most code out to check_one_cipher_core. Call that core function several times using different alignment settings. (check_one_cipher_core): New. Add extra args to allow alignment testing. 2012-04-04 Tomas Mraz <tmraz@fedoraproject.org> Add GCRYCTL_SET_ENFORCED_FIPS_FLAG command. * doc/gcrypt.texi: Add documentation of the new command. * src/fips.c (_gcry_enforced_fips_mode): Report the enforced fips mode only when fips mode is enabled. (_gcry_set_enforced_fips_mode): New function. * src/g10lib.h: Add the _gcry_set_enforced_fips_mode prototype. * src/gcrypt.h.in: Add the GCRYCTL_SET_ENFORCED_FIPS_FLAG. * src/global.c (_gcry_vcontrol): Handle the new command. 2011-12-01 Werner Koch <wk@gnupg.org> NB: Changes done before December 1st, 2011 are described in per directory files named ChangeLog-2011. See doc/HACKING for details. ----- Copyright (C) 2011 Free Software Foundation, Inc. Copying and distribution of this file and/or the original GIT commit log messages, with or without modification, are permitted provided the copyright notice and this notice are preserved.