Blame NEWS

Packit Service 4b4288
Noteworthy changes in version 1.8.5 (2019-08-29)  [C22/A2/R5]
Packit Service 4b4288
------------------------------------------------
Packit Service 4b4288
Packit Service 4b4288
 * Bug fixes:
Packit Service 4b4288
Packit Service 4b4288
   - Add mitigation against an ECDSA timing attack.
Packit Service 4b4288
     [#4626,CVE-2019-13627]
Packit Service 4b4288
Packit Service 4b4288
   - Improve ECDSA unblinding.
Packit Service 4b4288
Packit Service 4b4288
 * Other features:
Packit Service 4b4288
Packit Service 4b4288
   - Provide a pkg-config file for libgcrypt.
Packit Service 4b4288
Packit Service 4b4288
 Release-info: https://dev.gnupg.org/T4683
Packit Service 4b4288
Packit Service 4b4288
Packit Service 4b4288
Noteworthy changes in version 1.8.4 (2018-10-26)  [C22/A2/R4]
Packit Service 4b4288
------------------------------------------------
Packit Service 4b4288
Packit Service 4b4288
 * Bug fixes:
Packit Service 4b4288
Packit Service 4b4288
   - Fix infinite loop due to applications using fork the wrong
Packit Service 4b4288
     way.  [#3491]
Packit Service 4b4288
Packit Service 4b4288
   - Fix possible leak of a few bits of secret primes to pageable
Packit Service 4b4288
     memory.  [#3848]
Packit Service 4b4288
Packit Service 4b4288
   - Fix possible hang in the RNG (1.8.3 only).  [#4034]
Packit Service 4b4288
Packit Service 4b4288
   - Several minor fixes.  [#4102,#4208,#4209,#4210,#4211,#4212]
Packit Service 4b4288
Packit Service 4b4288
 * Performance:
Packit Service 4b4288
Packit Service 4b4288
   - On Linux always make use of getrandom if possible and then use
Packit Service 4b4288
     its /dev/urandom behaviour.  [#3894]
Packit Service 4b4288
Packit Service 4b4288
 Release-info: https://dev.gnupg.org/T4234
Packit Service 4b4288
Packit Service 4b4288
Packit b1efcd
Noteworthy changes in version 1.8.3 (2018-06-13)  [C22/A2/R3]
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Bug fixes:
Packit b1efcd
Packit b1efcd
   - Use blinding for ECDSA signing to mitigate a novel side-channel
Packit b1efcd
     attack.  [#4011,CVE-2018-0495]
Packit b1efcd
Packit b1efcd
   - Fix incorrect counter overflow handling for GCM when using an IV
Packit b1efcd
     size other than 96 bit.  [#3764]
Packit b1efcd
Packit b1efcd
   - Fix incorrect output of AES-keywrap mode for in-place encryption
Packit b1efcd
     on some platforms.
Packit b1efcd
Packit b1efcd
   - Fix the gcry_mpi_ec_curve_point point validation function.
Packit b1efcd
Packit b1efcd
   - Fix rare assertion failure in gcry_prime_check.
Packit b1efcd
Packit Service 4b4288
 Release-info: https://dev.gnupg.org/T4016
Packit Service 4b4288
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.8.2 (2017-12-13)  [C22/A2/R2]
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Bug fixes:
Packit b1efcd
Packit b1efcd
   - Do not use /dev/srandom on OpenBSD.
Packit b1efcd
Packit b1efcd
   - Fix test suite failure on systems with large pages. [#3351]
Packit b1efcd
Packit b1efcd
   - Fix test suite to not use mmap on Windows.
Packit b1efcd
Packit b1efcd
   - Fix fatal out of secure memory status in the s-expression parser
Packit b1efcd
     on heavy loaded systems.
Packit b1efcd
Packit b1efcd
 * Other:
Packit b1efcd
Packit b1efcd
   - Backport the auto expand secmem feature from master for use by
Packit b1efcd
     the forthcoming GnuPG 2.2.4.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.8.1 (2017-08-27)  [C22/A2/R1]
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Bug fixes:
Packit b1efcd
Packit b1efcd
   - Mitigate a local side-channel attack on Curve25519 dubbed "May
Packit b1efcd
     the Fourth be With You".  [CVE-2017-0379] [also in 1.7.9]
Packit b1efcd
Packit b1efcd
   - Add more extra bytes to the pool after reading a seed file.
Packit b1efcd
Packit b1efcd
   - Add the OID SHA384WithECDSA from RFC-7427 to SHA-384.
Packit b1efcd
Packit b1efcd
   - Fix build problems with the Jitter RNG
Packit b1efcd
Packit b1efcd
   - Fix assembler code build problems on Rasbian (ARMv8/AArch32-CE).
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.8.0 (2017-07-18)  [C22/A2/R0]
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * New interfaces:
Packit b1efcd
Packit b1efcd
   - New cipher mode XTS
Packit b1efcd
Packit b1efcd
   - New hash function Blake-2
Packit b1efcd
Packit b1efcd
   - New function gcry_mpi_point_copy.
Packit b1efcd
Packit b1efcd
   - New function gcry_get_config.
Packit b1efcd
Packit b1efcd
   - GCRYCTL_REINIT_SYSCALL_CLAMP allows to init nPth after Libgcrypt.
Packit b1efcd
Packit b1efcd
   - New global configuration file /etc/gcrypt/random.conf.
Packit b1efcd
Packit b1efcd
 * Extended interfaces:
Packit b1efcd
Packit b1efcd
   - GCRYCTL_PRINT_CONFIG does now also print build information for
Packit b1efcd
     libgpg-error and the used compiler version.
Packit b1efcd
Packit b1efcd
   - GCRY_CIPHER_MODE_CFB8 is now supported.
Packit b1efcd
Packit b1efcd
   - Add Stribog OIDs.  [also in 1.7.4]
Packit b1efcd
Packit b1efcd
 * Performance:
Packit b1efcd
Packit b1efcd
   - A jitter based entropy collector is now used in addition to the
Packit b1efcd
     other entropy collectors.
Packit b1efcd
Packit b1efcd
   - Optimized gcry_md_hash_buffers for SHA-256 and SHA-512.
Packit b1efcd
Packit b1efcd
   - More ARMv8/AArch32 improvements for AES, GCM, SHA-256, and SHA-1.
Packit b1efcd
     [also in 1.7.4]
Packit b1efcd
Packit b1efcd
   - Add ARMv8/AArch32 assembly implementation for Twofish and
Packit b1efcd
     Camellia.  [also in 1.7.4]
Packit b1efcd
Packit b1efcd
   - Add bulk processing implementation for ARMv8/AArch32.
Packit b1efcd
     [also in 1.7.4]
Packit b1efcd
Packit b1efcd
   - Improve the DRBG performance and sync the code with the Linux
Packit b1efcd
     version.  [also in 1.7.4]
Packit b1efcd
Packit b1efcd
 * Internal changes:
Packit b1efcd
Packit b1efcd
   - Libgpg-error 1.25 is now required.  This avoids stalling of nPth
Packit b1efcd
     threads due to contention on internal Libgcrypt locks (e.g. the
Packit b1efcd
     random pool lock).
Packit b1efcd
Packit b1efcd
   - The system call clamp of libgpg-error is now used to wrap the
Packit b1efcd
     blocking read of /dev/random.  This allows other nPth threads to
Packit b1efcd
     run while Libgcrypt is gathering entropy.
Packit b1efcd
Packit b1efcd
   - When secure memory is requested by the MPI functions or by
Packit b1efcd
     gcry_xmalloc_secure, they do not anymore lead to a fatal error if
Packit b1efcd
     the secure memory pool is used up.  Instead new pools are
Packit b1efcd
     allocated as needed.  These new pools are not protected against
Packit b1efcd
     being swapped out (mlock can't be used).  However, these days
Packit b1efcd
     this is considered a minor issue and can easily be mitigated by
Packit b1efcd
     using encrypted swap space.  [also in 1.7.4]
Packit b1efcd
Packit b1efcd
 * Bug fixes:
Packit b1efcd
Packit b1efcd
   - Fix AES CTR self-check detected failure in the SSSE3 based
Packit b1efcd
     implementation.  [also in 1.7.6]
Packit b1efcd
Packit b1efcd
   - Remove gratuitous select before the getrandom syscall.
Packit b1efcd
     [also in 1.7.6]
Packit b1efcd
Packit b1efcd
   - Fix regression in mlock detection.  [bug#2870] [also in 1.7.5]
Packit b1efcd
Packit b1efcd
   - Fix GOST 28147 CryptoPro-B S-box.   [also in 1.7.4]
Packit b1efcd
Packit b1efcd
   - Fix error code handling of mlock calls.  [also in 1.7.4]
Packit b1efcd
Packit b1efcd
   - Fix possible timing attack on EdDSA session key. [also in 1.7.7]
Packit b1efcd
Packit b1efcd
   - Fix long standing bug in secure memory implementation which could
Packit b1efcd
     lead to a segv on free. [bug#3027] [also in 1.7.7]
Packit b1efcd
Packit b1efcd
   - Mitigate a flush+reload side-channel attack on RSA secret keys
Packit b1efcd
     dubbed "Sliding right into disaster".  For details see
Packit b1efcd
     <https://eprint.iacr.org/2017/627>.  [CVE-2017-7526] [also in 1.7.8]
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.7.0 release:
Packit b1efcd
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
   gcry_get_config                 NEW function.
Packit b1efcd
   gcry_mpi_point_copy             NEW function.
Packit b1efcd
   GCRYCTL_REINIT_SYSCALL_CLAMP    NEW macro.
Packit b1efcd
   GCRY_MD_BLAKE2B_512             NEW constant.
Packit b1efcd
   GCRY_MD_BLAKE2B_384             NEW constant.
Packit b1efcd
   GCRY_MD_BLAKE2B_256             NEW constant.
Packit b1efcd
   GCRY_MD_BLAKE2B_160             NEW constant.
Packit b1efcd
   GCRY_MD_BLAKE2S_256             NEW constant.
Packit b1efcd
   GCRY_MD_BLAKE2S_224             NEW constant.
Packit b1efcd
   GCRY_MD_BLAKE2S_160             NEW constant.
Packit b1efcd
   GCRY_MD_BLAKE2S_128             NEW constant.
Packit b1efcd
   GCRY_CIPHER_MODE_XTS            NEW constant.
Packit b1efcd
   gcry_md_info                    DEPRECATED.
Packit b1efcd
Packit b1efcd
 * Release dates of 1.7.x versions:
Packit b1efcd
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
   Version 1.7.8 (2017-06-29)  [C21/A1/R8]
Packit b1efcd
   Version 1.7.7 (2017-06-02)  [C21/A1/R7]
Packit b1efcd
   Version 1.7.6 (2017-01-18)  [C21/A1/R6]
Packit b1efcd
   Version 1.7.5 (2016-12-15)  [C21/A1/R5]
Packit b1efcd
   Version 1.7.4 (2016-12-09)  [C21/A1/R4]
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.7.3 (2016-08-17)  [C21/A1/R3]
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Bug fixes:
Packit b1efcd
Packit b1efcd
   - Fix critical security bug in the RNG [CVE-2016-6313].  An
Packit b1efcd
     attacker who obtains 580 bytes from the standard RNG can
Packit b1efcd
     trivially predict the next 20 bytes of output.  Problem
Packit b1efcd
     detected by Felix Dörre and Vladimir Klebanov, KIT.
Packit b1efcd
Packit b1efcd
   - Fix building of some asm modules with older compilers and CPUs.
Packit b1efcd
Packit b1efcd
 * Performance:
Packit b1efcd
Packit b1efcd
   - ARMv8/AArch32 improvements for AES, GCM, SHA-256, and SHA-1.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.7.2 (2016-07-14)  [C21/A1/R2]
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Bug fixes:
Packit b1efcd
Packit b1efcd
   - Fix setting of the ECC cofactor if parameters are specified.
Packit b1efcd
Packit b1efcd
   - Fix memory leak in the ECC code.
Packit b1efcd
Packit b1efcd
   - Remove debug message about unsupported getrandom syscall.
Packit b1efcd
Packit b1efcd
   - Fix build problems related to AVX use.
Packit b1efcd
Packit b1efcd
   - Fix bus errors on ARM for Poly1305, ChaCha20, AES, and SHA-512.
Packit b1efcd
Packit b1efcd
 * Internal changes:
Packit b1efcd
Packit b1efcd
   - Improved fatal error message for wrong use of gcry_md_read.
Packit b1efcd
Packit b1efcd
   - Disallow symmetric encryption/decryption if key is not set.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.7.1 (2016-06-15)  [C21/A1/R1]
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Bug fixes:
Packit b1efcd
Packit b1efcd
   - Fix ecc_verify for cofactor support.
Packit b1efcd
Packit b1efcd
   - Fix portability bug when using gcc with Solaris 9 SPARC.
Packit b1efcd
Packit b1efcd
   - Build fix for OpenBSD/amd64
Packit b1efcd
Packit b1efcd
   - Add OIDs to the Serpent ciphers.
Packit b1efcd
Packit b1efcd
 * Internal changes:
Packit b1efcd
Packit b1efcd
   - Use getrandom system call on Linux if available.
Packit b1efcd
Packit b1efcd
   - Blinding is now also used for RSA signature creation.
Packit b1efcd
Packit b1efcd
   - Changed names of debug envvars
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.7.0 (2016-04-15)  [C21/A1/R0]
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * New algorithms and modes:
Packit b1efcd
Packit b1efcd
   - SHA3-224, SHA3-256, SHA3-384, SHA3-512, and MD2 hash algorithms.
Packit b1efcd
Packit b1efcd
   - SHAKE128 and SHAKE256 extendable-output hash algorithms.
Packit b1efcd
Packit b1efcd
   - ChaCha20 stream cipher.
Packit b1efcd
Packit b1efcd
   - Poly1305 message authentication algorithm
Packit b1efcd
Packit b1efcd
   - ChaCha20-Poly1305 Authenticated Encryption with Associated Data
Packit b1efcd
     mode.
Packit b1efcd
Packit b1efcd
   - OCB mode.
Packit b1efcd
Packit b1efcd
   - HMAC-MD2 for use by legacy applications.
Packit b1efcd
Packit b1efcd
 * New curves for ECC:
Packit b1efcd
Packit b1efcd
   - Curve25519.
Packit b1efcd
Packit b1efcd
   - sec256k1.
Packit b1efcd
Packit b1efcd
   - GOST R 34.10-2001 and GOST R 34.10-2012.
Packit b1efcd
Packit b1efcd
 * Performance:
Packit b1efcd
Packit b1efcd
   - Improved performance of KDF functions.
Packit b1efcd
Packit b1efcd
   - Assembler optimized implementations of Blowfish and Serpent on
Packit b1efcd
     ARM.
Packit b1efcd
Packit b1efcd
   - Assembler optimized implementation of 3DES on x86.
Packit b1efcd
Packit b1efcd
   - Improved AES using the SSSE3 based vector permutation method by
Packit b1efcd
     Mike Hamburg.
Packit b1efcd
Packit b1efcd
   - AVX/BMI is used for SHA-1 and SHA-256 on x86.  This is for SHA-1
Packit b1efcd
     about 20% faster than SSSE3 and more than 100% faster than the
Packit b1efcd
     generic C implementation.
Packit b1efcd
Packit b1efcd
   - 40% speedup for SHA-512 and 72% for SHA-1 on ARM Cortex-A8.
Packit b1efcd
Packit b1efcd
   - 60-90% speedup for Whirlpool on x86.
Packit b1efcd
Packit b1efcd
   - 300% speedup for RIPE MD-160.
Packit b1efcd
Packit b1efcd
   - Up to 11 times speedup for CRC functions on x86.
Packit b1efcd
Packit b1efcd
 * Other features:
Packit b1efcd
Packit b1efcd
   - Improved ECDSA and FIPS 186-4 compliance.
Packit b1efcd
Packit b1efcd
   - Support for Montgomery curves.
Packit b1efcd
Packit b1efcd
   - gcry_cipher_set_sbox to tweak S-boxes of the gost28147 cipher
Packit b1efcd
     algorithm.
Packit b1efcd
Packit b1efcd
   - gcry_mpi_ec_sub to subtract two points on a curve.
Packit b1efcd
Packit b1efcd
   - gcry_mpi_ec_decode_point to decode an MPI into a point object.
Packit b1efcd
Packit b1efcd
   - Emulation for broken Whirlpool code prior to 1.6.0.  [from 1.6.1]
Packit b1efcd
Packit b1efcd
   - Flag "pkcs1-raw" to enable PCKS#1 padding with a user supplied
Packit b1efcd
     hash part.
Packit b1efcd
Packit b1efcd
   - Parameter "saltlen" to set a non-default salt length for RSA PSS.
Packit b1efcd
Packit b1efcd
   - A SP800-90A conforming DRNG replaces the former X9.31 alternative
Packit b1efcd
     random number generator.
Packit b1efcd
Packit b1efcd
   - Map deprecated RSA algo number to the RSA algo number for better
Packit b1efcd
     backward compatibility. [from 1.6.2]
Packit b1efcd
Packit b1efcd
   - Use ciphertext blinding for Elgamal decryption [CVE-2014-3591].
Packit b1efcd
     See http://www.cs.tau.ac.il/~tromer/radioexp/ for details.
Packit b1efcd
     [from 1.6.3]
Packit b1efcd
Packit b1efcd
   - Fixed data-dependent timing variations in modular exponentiation
Packit b1efcd
     [related to CVE-2015-0837, Last-Level Cache Side-Channel Attacks
Packit b1efcd
      are Practical]. [from 1.6.3]
Packit b1efcd
Packit b1efcd
   - Flag "no-keytest" for ECC key generation.  Due to a bug in
Packit b1efcd
     the parser that flag will also be accepted but ignored by older
Packit b1efcd
     version of Libgcrypt. [from 1.6.4]
Packit b1efcd
Packit b1efcd
   - Speed up the random number generator by requiring less extra
Packit b1efcd
     seeding. [from 1.6.4]
Packit b1efcd
Packit b1efcd
   - Always verify a created RSA signature to avoid private key leaks
Packit b1efcd
     due to hardware failures. [from 1.6.4]
Packit b1efcd
Packit b1efcd
   - Mitigate side-channel attack on ECDH with Weierstrass curves
Packit b1efcd
     [CVE-2015-7511].  See http://www.cs.tau.ac.IL/~tromer/ecdh/ for
Packit b1efcd
     details. [from 1.6.5]
Packit b1efcd
Packit b1efcd
 * Internal changes:
Packit b1efcd
Packit b1efcd
   - Moved locking out to libgpg-error.
Packit b1efcd
Packit b1efcd
   - Support of the SYSROOT envvar in the build system.
Packit b1efcd
Packit b1efcd
   - Refactor some code.
Packit b1efcd
Packit b1efcd
   - The availability of a 64 bit integer type is now mandatory.
Packit b1efcd
Packit b1efcd
 * Bug fixes:
Packit b1efcd
Packit b1efcd
   - Fixed message digest lookup by OID (regression in 1.6.0).
Packit b1efcd
Packit b1efcd
   - Fixed a build problem on NetBSD
Packit b1efcd
Packit b1efcd
   - Fixed memory leaks in ECC code.
Packit b1efcd
Packit b1efcd
   - Fixed some asm build problems and feature detection bugs.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.6.0 release:
Packit b1efcd
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
   gcry_cipher_final               NEW macro.
Packit b1efcd
   GCRY_CIPHER_MODE_CFB8           NEW constant.
Packit b1efcd
   GCRY_CIPHER_MODE_OCB            NEW.
Packit b1efcd
   GCRY_CIPHER_MODE_POLY1305       NEW.
Packit b1efcd
   gcry_cipher_set_sbox            NEW macro.
Packit b1efcd
   gcry_mac_get_algo               NEW.
Packit b1efcd
   GCRY_MAC_HMAC_MD2               NEW.
Packit b1efcd
   GCRY_MAC_HMAC_SHA3_224          NEW.
Packit b1efcd
   GCRY_MAC_HMAC_SHA3_256          NEW.
Packit b1efcd
   GCRY_MAC_HMAC_SHA3_384          NEW.
Packit b1efcd
   GCRY_MAC_HMAC_SHA3_512          NEW.
Packit b1efcd
   GCRY_MAC_POLY1305               NEW.
Packit b1efcd
   GCRY_MAC_POLY1305_AES           NEW.
Packit b1efcd
   GCRY_MAC_POLY1305_CAMELLIA      NEW.
Packit b1efcd
   GCRY_MAC_POLY1305_SEED          NEW.
Packit b1efcd
   GCRY_MAC_POLY1305_SERPENT       NEW.
Packit b1efcd
   GCRY_MAC_POLY1305_TWOFISH       NEW.
Packit b1efcd
   gcry_md_extract                 NEW.
Packit b1efcd
   GCRY_MD_FLAG_BUGEMU1            NEW [from 1.6.1].
Packit b1efcd
   GCRY_MD_GOSTR3411_CP            NEW.
Packit b1efcd
   GCRY_MD_SHA3_224                NEW.
Packit b1efcd
   GCRY_MD_SHA3_256                NEW.
Packit b1efcd
   GCRY_MD_SHA3_384                NEW.
Packit b1efcd
   GCRY_MD_SHA3_512                NEW.
Packit b1efcd
   GCRY_MD_SHAKE128                NEW.
Packit b1efcd
   GCRY_MD_SHAKE256                NEW.
Packit b1efcd
   gcry_mpi_ec_decode_point        NEW.
Packit b1efcd
   gcry_mpi_ec_sub                 NEW.
Packit b1efcd
   GCRY_PK_EDDSA                   NEW constant.
Packit b1efcd
   GCRYCTL_GET_TAGLEN              NEW.
Packit b1efcd
   GCRYCTL_SET_SBOX                NEW.
Packit b1efcd
   GCRYCTL_SET_TAGLEN              NEW.
Packit b1efcd
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
Packit b1efcd
Version 1.6.5 (2016-02-09) [C20/A0/R5]
Packit b1efcd
Version 1.6.4 (2015-09-08) [C20/A0/R4]
Packit b1efcd
Version 1.6.3 (2015-02-27) [C20/A0/R3]
Packit b1efcd
Version 1.6.2 (2014-08-21) [C20/A0/R2]
Packit b1efcd
Version 1.6.1 (2014-01-29) [C20/A0/R1]
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.6.0 (2013-12-16) [C20/A0/R0]
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Removed the long deprecated gcry_ac interface.  Thus Libgcrypt is
Packit b1efcd
   not anymore ABI compatible to previous versions if they used the ac
Packit b1efcd
   interface.
Packit b1efcd
Packit b1efcd
 * Removed the module register subsystem.
Packit b1efcd
Packit b1efcd
 * The deprecated message digest debug macros have been removed.  Use
Packit b1efcd
   gcry_md_debug instead.
Packit b1efcd
Packit b1efcd
 * Removed deprecated control codes.
Packit b1efcd
Packit b1efcd
 * Improved performance of most cipher algorithms as well as for the
Packit b1efcd
   SHA family of hash functions.
Packit b1efcd
Packit b1efcd
 * Added support for the IDEA cipher algorithm.
Packit b1efcd
Packit b1efcd
 * Added support for the Salsa20 and reduced Salsa20/12 stream ciphers.
Packit b1efcd
Packit b1efcd
 * Added limited support for the GOST 28147-89 cipher algorithm.
Packit b1efcd
Packit b1efcd
 * Added support for the GOST R 34.11-94 and R 34.11-2012 (Stribog)
Packit b1efcd
   hash algorithms.
Packit b1efcd
Packit b1efcd
 * Added a random number generator to directly use the system's RNG.
Packit b1efcd
   Also added an interface to prefer the use of a specified RNG.
Packit b1efcd
Packit b1efcd
 * Added support for the SCRYPT algorithm.
Packit b1efcd
Packit b1efcd
 * Mitigated the Yarom/Falkner flush+reload side-channel attack on RSA
Packit b1efcd
   secret keys.  See <http://eprint.iacr.org/2013/448> [CVE-2013-4242].
Packit b1efcd
Packit b1efcd
 * Added support for Deterministic DSA as per RFC-6979.
Packit b1efcd
Packit b1efcd
 * Added support for curve Ed25519.
Packit b1efcd
Packit b1efcd
 * Added a scatter gather hash convenience function.
Packit b1efcd
Packit b1efcd
 * Added several MPI amd SEXP helper functions.
Packit b1efcd
Packit b1efcd
 * Added support for negative numbers to gcry_mpi_print,
Packit b1efcd
   gcry_mpi_aprint and gcry_mpi_scan.
Packit b1efcd
Packit b1efcd
 * The algorithm ids GCRY_PK_ECDSA and GCRY_PK_ECDH are now
Packit b1efcd
   deprecated.  Use GCRY_PK_ECC if you need an algorithm id.
Packit b1efcd
Packit b1efcd
 * Changed gcry_pk_genkey for "ecc" to only include the curve name and
Packit b1efcd
   not the parameters.  The flag "param" may be used to revert this.
Packit b1efcd
Packit b1efcd
 * Added a feature to globally disable selected hardware features.
Packit b1efcd
Packit b1efcd
 * Added debug helper functions.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.5.0 release:
Packit b1efcd
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
 gcry_ac_*               	 REMOVED.
Packit b1efcd
 GCRY_AC_*               	 REMOVED.
Packit b1efcd
 gcry_module_t          	 REMOVED.
Packit b1efcd
 gcry_cipher_register   	 REMOVED.
Packit b1efcd
 gcry_cipher_unregister 	 REMOVED.
Packit b1efcd
 gcry_cipher_list       	 REMOVED.
Packit b1efcd
 gcry_pk_register       	 REMOVED.
Packit b1efcd
 gcry_pk_unregister     	 REMOVED.
Packit b1efcd
 gcry_pk_list           	 REMOVED.
Packit b1efcd
 gcry_md_register       	 REMOVED.
Packit b1efcd
 gcry_md_unregister     	 REMOVED.
Packit b1efcd
 gcry_md_list           	 REMOVED.
Packit b1efcd
 gcry_md_start_debug    	 REMOVED (macro).
Packit b1efcd
 gcry_md_stop_debug     	 REMOVED (macro).
Packit b1efcd
 GCRYCTL_SET_KEY                 REMOVED.
Packit b1efcd
 GCRYCTL_SET_IV                  REMOVED.
Packit b1efcd
 GCRYCTL_SET_CTR                 REMOVED.
Packit b1efcd
 GCRYCTL_DISABLE_ALGO            CHANGED: Not anymore thread-safe.
Packit b1efcd
 gcry_pk_genkey                  CHANGED: ECC curve params not returned.
Packit b1efcd
 gcry_md_hash_buffers            NEW.
Packit b1efcd
 gcry_buffer_t                   NEW.
Packit b1efcd
 GCRYCTL_SET_ENFORCED_FIPS_FLAG  NEW.
Packit b1efcd
 GCRYCTL_SET_PREFERRED_RNG_TYPE  NEW.
Packit b1efcd
 GCRYCTL_GET_CURRENT_RNG_TYPE    NEW.
Packit b1efcd
 GCRYCTL_CLOSE_RANDOM_DEVICE     NEW.
Packit b1efcd
 GCRY_RNG_TYPE_STANDARD          NEW.
Packit b1efcd
 GCRY_RNG_TYPE_FIPS              NEW.
Packit b1efcd
 GCRY_RNG_TYPE_SYSTEM            NEW.
Packit b1efcd
 gcry_mpi_is_neg                 NEW.
Packit b1efcd
 gcry_mpi_neg                    NEW.
Packit b1efcd
 gcry_mpi_abs                    NEW.
Packit b1efcd
 gcry_mpi_snatch                 NEW.
Packit b1efcd
 gcry_mpi_set_opaque_copy        NEW.
Packit b1efcd
 gcry_mpi_point_t                NEW.
Packit b1efcd
 gcry_mpi_point_new              NEW.
Packit b1efcd
 gcry_mpi_point_release          NEW.
Packit b1efcd
 gcry_mpi_point_get              NEW.
Packit b1efcd
 gcry_mpi_point_snatch_get       NEW.
Packit b1efcd
 gcry_mpi_point_set              NEW.
Packit b1efcd
 gcry_mpi_point_snatch_set       NEW.
Packit b1efcd
 gcry_ctx_t                      NEW.
Packit b1efcd
 gcry_ctx_release                NEW.
Packit b1efcd
 gcry_mpi_ec_new                 NEW.
Packit b1efcd
 gcry_mpi_ec_get_mpi             NEW.
Packit b1efcd
 gcry_mpi_ec_get_point           NEW.
Packit b1efcd
 gcry_mpi_ec_set_mpi             NEW.
Packit b1efcd
 gcry_mpi_ec_set_point           NEW.
Packit b1efcd
 gcry_mpi_ec_get_affine          NEW.
Packit b1efcd
 gcry_mpi_ec_dup                 NEW.
Packit b1efcd
 gcry_mpi_ec_add                 NEW.
Packit b1efcd
 gcry_mpi_ec_mul                 NEW.
Packit b1efcd
 gcry_mpi_ec_curve_point         NEW.
Packit b1efcd
 GCRYMPI_FLAG_IMMUTABLE          NEW.
Packit b1efcd
 GCRYMPI_FLAG_CONST              NEW.
Packit b1efcd
 GCRYMPI_FLAG_USER1              NEW.
Packit b1efcd
 GCRYMPI_FLAG_USER2              NEW.
Packit b1efcd
 GCRYMPI_FLAG_USER3              NEW.
Packit b1efcd
 GCRYMPI_FLAG_USER4              NEW.
Packit b1efcd
 GCRYMPI_CONST_ONE               NEW.
Packit b1efcd
 GCRYMPI_CONST_TWO               NEW.
Packit b1efcd
 GCRYMPI_CONST_THREE             NEW.
Packit b1efcd
 GCRYMPI_CONST_FOUR              NEW.
Packit b1efcd
 GCRYMPI_CONST_EIGHT             NEW.
Packit b1efcd
 GCRYMPI_FMT_OPAQUE              NEW.
Packit b1efcd
 GCRYPT_VERSION_NUMBER           NEW.
Packit b1efcd
 GCRY_KDF_SCRYPT                 NEW.
Packit b1efcd
 gcry_pubkey_get_sexp            NEW.
Packit b1efcd
 GCRYCTL_DISABLE_LOCKED_SECMEM   NEW.
Packit b1efcd
 GCRYCTL_DISABLE_PRIV_DROP       NEW.
Packit b1efcd
 GCRY_CIPHER_SALSA20             NEW.
Packit b1efcd
 gcry_sexp_nth_buffer            NEW.
Packit b1efcd
 gcry_sexp_extract_param         NEW.
Packit b1efcd
 GCRY_CIPHER_SALSA20R12          NEW.
Packit b1efcd
 GCRY_CIPHER_GOST28147           NEW.
Packit b1efcd
 GCRY_MD_GOSTR3411_94            NEW.
Packit b1efcd
 GCRY_MD_STRIBOG256              NEW.
Packit b1efcd
 GCRY_MD_STRIBOG512              NEW.
Packit b1efcd
 GCRY_PK_ECC                     NEW.
Packit b1efcd
 gcry_log_debug                  NEW.
Packit b1efcd
 gcry_log_debughex               NEW.
Packit b1efcd
 gcry_log_debugmpi               NEW.
Packit b1efcd
 gcry_log_debugpnt               NEW.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.5.0 (2011-06-29)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * New function gcry_kdf_derive implementing OpenPGP S2K algorithms
Packit b1efcd
   and PBKDF2.
Packit b1efcd
Packit b1efcd
 * Support for WindowsCE.
Packit b1efcd
Packit b1efcd
 * Support for ECDH.
Packit b1efcd
Packit b1efcd
 * Support for OAEP and PSS methods as described by RFC-3447.
Packit b1efcd
Packit b1efcd
 * Fixed PKCS v1.5 code to always return the leading zero.
Packit b1efcd
Packit b1efcd
 * New format specifiers "%M" and "%u" for gcry_sexp_build.
Packit b1efcd
Packit b1efcd
 * Support opaque MPIs with "%m" and "%M" in gcry_sexp_build.
Packit b1efcd
Packit b1efcd
 * New functions gcry_pk_get_curve and gcry_pk_get_param to map ECC
Packit b1efcd
   parameters to a curve name and to retrieve parameter values.
Packit b1efcd
Packit b1efcd
 * gcry_mpi_cmp applied to opaque values has a defined semantic now.
Packit b1efcd
Packit b1efcd
 * Uses the Intel AES-NI instructions if available.
Packit b1efcd
Packit b1efcd
 * The use of the deprecated Alternative Public Key Interface
Packit b1efcd
   (gcry_ac_*) will now print compile time warnings.
Packit b1efcd
Packit b1efcd
 * The module register subsystem has been deprecated.  This subsystem
Packit b1efcd
   is not flexible enough and would always require ABI changes to
Packit b1efcd
   extend the internal interfaces.  It will eventually be removed.
Packit b1efcd
   Please contact us on the gcrypt-devel mailing list to discuss
Packit b1efcd
   whether you really need this feature or how it can be replaced by
Packit b1efcd
   an internal plugin mechanism.
Packit b1efcd
Packit b1efcd
 * CTR mode may now be used with data chunks of arbitrary length.
Packit b1efcd
Packit b1efcd
 * Changes also done in 1.4.6 (2010-07-13):
Packit b1efcd
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
 * New variants of the TIGER algorithm.
Packit b1efcd
Packit b1efcd
 * New cipher algorithm mode for AES-WRAP.
Packit b1efcd
Packit b1efcd
 * Changes also done in 1.4.5 (2009-12-11):
Packit b1efcd
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
 * Fixed minor memory leak in DSA key generation.
Packit b1efcd
Packit b1efcd
 * No more switching to FIPS mode if /proc/version is not readable.
Packit b1efcd
Packit b1efcd
 * Fixed sigill during Padlock detection on old CPUs.
Packit b1efcd
Packit b1efcd
 * Fixed a hang on some W2000 machines.
Packit b1efcd
Packit b1efcd
 * Boosted SHA-512 performance by 30% on ia32 boxes and gcc 4.3;
Packit b1efcd
   SHA-256 went up by 25%.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.4.6 release:
Packit b1efcd
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
 GCRY_PK_ECDH               NEW.
Packit b1efcd
 gcry_pk_get_curve          NEW.
Packit b1efcd
 gcry_pk_get_param          NEW.
Packit b1efcd
 GCRYCTL_DISABLE_HWF        NEW.
Packit b1efcd
 gcry_kdf_derive            NEW.
Packit b1efcd
 gcry_pk_encrypt            EXTENDED: Support OAEP.
Packit b1efcd
 gcry_pk_decrypt            EXTENDED: Support OAEP.
Packit b1efcd
 gcry_pk_sign               EXTENDED: Support PSS.
Packit b1efcd
 gcry_pk_verify             EXTENDED: Support PSS.
Packit b1efcd
 gcry_sexp_build            EXTENDED: Add format specifiers M and u.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.4.2 release:
Packit b1efcd
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
 GCRY_CIPHER_MODE_AESWRAP   NEW.
Packit b1efcd
 GCRY_MD_TIGER1             NEW.
Packit b1efcd
 GCRY_MD_TIGER2             NEW.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.4.4 (2009-01-22)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Publish GCRY_MODULE_ID_USER and GCRY_MODULE_ID_USER_LAST constants.
Packit b1efcd
   This functionality has been in Libgcrypt since 1.3.0.
Packit b1efcd
Packit b1efcd
 * MD5 may now be used in non-enforced fips mode.
Packit b1efcd
Packit b1efcd
 * Fixed HMAC for SHA-384 and SHA-512 with keys longer than 64 bytes.
Packit b1efcd
Packit b1efcd
 * In fips mode, RSA keys are now generated using the X9.31 algorithm
Packit b1efcd
   and DSA keys using the FIPS 186-2 algorithm.
Packit b1efcd
Packit b1efcd
 * The transient-key flag is now also supported for DSA key
Packit b1efcd
   generation.  DSA domain parameters may be given as well.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.4.3 (2008-09-18)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Try to auto-initialize Libgcrypt to minimize the effect of
Packit b1efcd
   applications not doing that correctly.  This is not a perfect
Packit b1efcd
   solution but given that many applicationion would totally fail
Packit b1efcd
   without such a hack, we try to help at least with the most common
Packit b1efcd
   cases.  Folks, please read the manual to learn how to properly
Packit b1efcd
   initialize Libgcrypt!
Packit b1efcd
Packit b1efcd
 * Auto-initialize the secure memory to 32k instead of aborting the
Packit b1efcd
   process.
Packit b1efcd
Packit b1efcd
 * Log fatal errors via syslog.
Packit b1efcd
Packit b1efcd
 * Changed the name and the semantics of the fips mode config file.
Packit b1efcd
Packit b1efcd
 * Add convenience macro gcry_fips_mode_active.
Packit b1efcd
Packit b1efcd
 * More self-tests.
Packit b1efcd
Packit b1efcd
 * Documentation cleanups.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.4.2 (2008-09-08)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * The long missing gcry_mpi_lshift function has been added.
Packit b1efcd
Packit b1efcd
 * RSA key generation now supports a "transient-key" flag.
Packit b1efcd
Packit b1efcd
 * The keygrip computation for ECDSA has been implemented thus ECDSA
Packit b1efcd
   is now fully supported.
Packit b1efcd
Packit b1efcd
 * A few macros have been replaced by functions for better type
Packit b1efcd
   checking.
Packit b1efcd
Packit b1efcd
 * The thread initialization structure now carries version
Packit b1efcd
   information.
Packit b1efcd
Packit b1efcd
 * The manual describes more clearly how to initialize Libgcrypt.
Packit b1efcd
Packit b1efcd
 * The library may now be switched into a FIPS mode.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.3.0 release:
Packit b1efcd
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
 GCRYCTL_OPERATIONAL_P   NEW.
Packit b1efcd
 GCRYCTL_FIPS_MODE_P     NEW.
Packit b1efcd
 GCRYCTL_FORCE_FIPS_MODE NEW.
Packit b1efcd
 gcry_cipher_setkey      NEW: Replaces macro.
Packit b1efcd
 gcry_cipher_setiv       NEW: Replaces macro.
Packit b1efcd
 gcry_cipher_setctr      NEW: Replaces macro.
Packit b1efcd
 gcry_mpi_lshift         NEW.
Packit b1efcd
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.4.1 (2008-04-25)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Fixed a bug introduced by 1.3.1 which led to the comsumption of far
Packit b1efcd
   too much entropy for the intial seeding.
Packit b1efcd
Packit b1efcd
 * Improved AES performance for CFB and CBC modes.
Packit b1efcd
Packit b1efcd
 * Removed build problems for the Padlock support.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.4.0 (2007-12-10)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * New configure option --disable-padlock-support which is mostly
Packit b1efcd
   useful in case of build problems.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.3.2 (2007-12-03)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * The visibility attribute is now used if supported by the toolchain.
Packit b1efcd
Packit b1efcd
 * The ACE engine of VIA processors is now used for AES-128.
Packit b1efcd
Packit b1efcd
 * The ASN.1 DER template for SHA-224 has been fixed.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.3.1 (2007-10-26)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * The entire library is now under the LGPL. The helper programs and
Packit b1efcd
   the manual are under the GPL.  Kudos to Peter Gutmann for giving
Packit b1efcd
   permissions to relicense the rndw32 and rndunix modules.
Packit b1efcd
Packit b1efcd
 * The Camellia cipher is now under the LGPL and included by default.
Packit b1efcd
Packit b1efcd
 * Fixed a bug in the detection of symbol prefixes which inhibited the
Packit b1efcd
   build of optimzied assembler code on certain systems.
Packit b1efcd
Packit b1efcd
 * Updated the entropy gatherer for W32.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.3.0 (2007-05-04)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Changed the way the RNG gets initialized. This allows to keep it
Packit b1efcd
   uninitialized as long as no random numbers are used.  To override
Packit b1efcd
   this, the new macro gcry_fast_random_poll may be used.  It is in
Packit b1efcd
   general a good idea to spread this macro into the application code
Packit b1efcd
   to make sure that these polls happen often enough.
Packit b1efcd
Packit b1efcd
 * Made the RNG immune against fork without exec.
Packit b1efcd
Packit b1efcd
 * Reading and writing the random seed file is now protected by a
Packit b1efcd
   fcntl style file lock on systems that provide this function.
Packit b1efcd
Packit b1efcd
 * Support for SHA-224 and HMAC using SHA-384 and SHA-512.
Packit b1efcd
Packit b1efcd
 * Support for the SEED cipher.
Packit b1efcd
Packit b1efcd
 * Support for the Camellia cipher.  Note that Camellia is disabled by
Packit b1efcd
   default, and that enabling it changes the license of libgcrypt from
Packit b1efcd
   LGPL to GPL.
Packit b1efcd
Packit b1efcd
 * Support for OFB encryption mode.
Packit b1efcd
Packit b1efcd
 * gcry_mpi_rshift does not anymore truncate the shift count.
Packit b1efcd
Packit b1efcd
 * Reserved algorithm ranges for use by applications.
Packit b1efcd
Packit b1efcd
 * Support for DSA2.
Packit b1efcd
Packit b1efcd
 * The new function gcry_md_debug should be used instead of the
Packit b1efcd
   gcry_md_start_debug and gcry_md_stop_debug macros.
Packit b1efcd
Packit b1efcd
 * New configure option --enable-random-daemon to support a system
Packit b1efcd
   wide random daemon.  The daemon code is experimental and not yet
Packit b1efcd
   very well working.  It will eventually allow to keep a global
Packit b1efcd
   random pool for the sake of short living processes.
Packit b1efcd
Packit b1efcd
 * Non executable stack support is now used by default on systems
Packit b1efcd
   supporting it.
Packit b1efcd
Packit b1efcd
 * Support for Microsoft Windows.
Packit b1efcd
Packit b1efcd
 * Assembler support for the AMD64 architecture.
Packit b1efcd
Packit b1efcd
 * New configure option --enable-mpi-path for optimized builds.
Packit b1efcd
Packit b1efcd
 * Experimental support for ECDSA; should only be used for testing.
Packit b1efcd
Packit b1efcd
 * New control code GCRYCTL_PRINT_CONFIG to print the build
Packit b1efcd
   configuration.
Packit b1efcd
Packit b1efcd
 * Minor changes to some function declarations.  Buffer arguments are
Packit b1efcd
   now typed as void pointer.  This should not affect any compilation.
Packit b1efcd
   Fixed two bugs in return values and clarified documentation.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.2.0 release:
Packit b1efcd
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
 gcry_fast_random_poll	 NEW
Packit b1efcd
 gcry_md_debug           NEW
Packit b1efcd
 gcry_sexp_nth_string    NEW
Packit b1efcd
 GCRY_MD_SHA224          NEW
Packit b1efcd
 GCRY_PK_USAGE_CERT      NEW
Packit b1efcd
 GCRY_PK_USAGE_AUTH      NEW
Packit b1efcd
 GCRY_PK_USAGE_UNKN      NEW
Packit b1efcd
 GCRY_PK_ECDSA           NEW
Packit b1efcd
 GCRY_CIPHER_SEED        NEW
Packit b1efcd
 GCRY_CIPHER_CAMELLIA128 NEW
Packit b1efcd
 GCRY_CIPHER_CAMELLIA192 NEW
Packit b1efcd
 GCRY_CIPHER_CAMELLIA256 NEW
Packit b1efcd
 GCRYCTL_FAKED_RANDOM_P  NEW
Packit b1efcd
 GCRYCTL_PRINT_CONFIG    NEW
Packit b1efcd
 GCRYCTL_SET_RNDEGD_SOCKET  NEW.
Packit b1efcd
 gcry_mpi_scan           CHANGED: Argument BUFFER is now void*.
Packit b1efcd
 gcry_pk_algo_name       CHANGED: Returns "?" instead of NULL.
Packit b1efcd
 gcry_cipher_algo_name   CHANGED: Returns "?" instead of "".
Packit b1efcd
 gcry_pk_spec_t          CHANGED: Element ALIASES is now const ptr.
Packit b1efcd
 gcry_md_write_t         CHANGED: Argument BUF is now a const void*.
Packit b1efcd
 gcry_md_ctl             CHANGED: Argument BUFFER is now void*.
Packit b1efcd
 gcry_cipher_encrypt     CHANGED: Arguments IN and OUT are now void*.
Packit b1efcd
 gcry_cipher_decrypt     CHANGED: Arguments IN and OUT are now void*.
Packit b1efcd
 gcry_sexp_sprint        CHANGED: Argument BUFFER is now void*.
Packit b1efcd
 gcry_create_nonce       CHANGED: Argument BUFFER is now void*.
Packit b1efcd
 gcry_randomize          CHANGED: Argument BUFFER is now void*.
Packit b1efcd
 gcry_cipher_register    CHANGED: Argument ALGORITHM_ID is now int*.
Packit b1efcd
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.2.0 (2004-04-15)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * First stable release.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.94 (2004-03-29)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * The support for multi-threaded users goes into its third
Packit b1efcd
   incarnation.  We removed compile time support for thread libraries.
Packit b1efcd
   To support the thread library of your choice, you have to set up
Packit b1efcd
   callback handlers at initialization time.  New data structures, a
Packit b1efcd
   new control command, and default initializers are provided for this
Packit b1efcd
   purpose.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.1.93 release:
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
libgcrypt-config --thread	OBSOLETE
Packit b1efcd
libgcrypt-pth.la		REMOVED
Packit b1efcd
libgcrypt-pthread.la		REMOVED
Packit b1efcd
GCRYCTL_SET_THREAD_CBS		NEW
Packit b1efcd
struct gcrypt_thread_cbs	NEW
Packit b1efcd
enum gcry_thread_option		NEW
Packit b1efcd
GCRY_THREAD_OPTION_PTH_IMPL	NEW
Packit b1efcd
GCRY_THREAD_OPTION_PTHREAD_IMPL	NEW
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.93 (2004-03-06)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * The automatic thread library detection has finally been removed.
Packit b1efcd
   From now on, only linking explicitely to libgcrypt, libgcrypt-pth
Packit b1efcd
   or libgcrypt-pthread is supported.
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.92 (2004-02-20)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Minor bug fixes.
Packit b1efcd
Packit b1efcd
 * Included a limited implementation of RFC2268.
Packit b1efcd
Packit b1efcd
 * Changed API of the gcry_ac_ functions.  Only a very few programs
Packit b1efcd
   should be affected by this.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.1.91 release:
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
GCRY_CIPHER_RFC2268_40          NEW.
Packit b1efcd
gcry_ac_data_set                CHANGED: New argument FLAGS.
Packit b1efcd
gcry_ac_data_get_name           CHANGED: New argument FLAGS.
Packit b1efcd
gcry_ac_data_get_index          CHANGED: New argument FLAGS.
Packit b1efcd
gcry_ac_key_pair_generate       CHANGED: New and reordered arguments.
Packit b1efcd
gcry_ac_key_test                CHANGED: New argument HANDLE.
Packit b1efcd
gcry_ac_key_get_nbits           CHANGED: New argument HANDLE.
Packit b1efcd
gcry_ac_key_get_grip            CHANGED: New argument HANDLE.
Packit b1efcd
gcry_ac_data_search             REMOVED.
Packit b1efcd
gcry_ac_data_add                REMOVED.
Packit b1efcd
GCRY_AC_DATA_FLAG_NO_BLINDING   REMOVED.
Packit b1efcd
GCRY_AC_FLAG_NO_BLINDING        NEW: Replaces above.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.91 (2003-12-19)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Code cleanups and minor bug fixes.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.90 (2003-11-14)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * The use of the GCRY_WEAK_RANDOM level is now deprecated in favor of
Packit b1efcd
   the new gcry_create_nonce function.
Packit b1efcd
Packit b1efcd
 * gcry_sexp_build now supports a "%b" format to include a memory buffer.
Packit b1efcd
Packit b1efcd
 * Minor configuration fixes.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.1.44 release:
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
gcry_create_nonce               NEW
Packit b1efcd
gcry_sexp_build                 ENHANCED
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.44 (2003-10-31)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Bug fixes and more code cleanups.
Packit b1efcd
Packit b1efcd
 * Enhanced the prime API.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.1.43 release:
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
gcry_prime_group_generator      NEW
Packit b1efcd
gcry_prime_release_factors      NEW
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.43 (2003-09-04)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Bug fixes and internal code cleanups.
Packit b1efcd
Packit b1efcd
 * Support for the Serpent cipher algorithm.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.1.42 release:
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
gcry_prime_generate             NEW
Packit b1efcd
gcry_prime_check                NEW
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.42 (2003-07-31)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Major API cleanup.  Applications need to be converted to the new
Packit b1efcd
   API.  See README.apichanges for hints on how to do that.  Backward
Packit b1efcd
   compatibility is provided where it was possible without too much
Packit b1efcd
   effort and did not collide with the overall sanitization effort.
Packit b1efcd
   However, this is only for ease of transition.  NO DEPRECATED
Packit b1efcd
   FUNCTION OR DATA TYPE IS CONSIDERED A PART OF THE API OR ABI AND
Packit b1efcd
   WILL BE DROPPED IN THE FUTURE WITHOUT CHANGING THE SONAME OF THE
Packit b1efcd
   LIBRARY.
Packit b1efcd
Packit b1efcd
 * If gcrypt.h is included in sources compiled by GCC 3.1 or later,
Packit b1efcd
   deprecated attributes will warn about use of obsolete functions and
Packit b1efcd
   type definitions.  You can suppress these warnings by passing
Packit b1efcd
   -Wno-deprecated-declarations to the gcc command.
Packit b1efcd
Packit b1efcd
 * gcry_check_version must be called from now on to initialize the
Packit b1efcd
   library, it is not longer optional.
Packit b1efcd
Packit b1efcd
 * Removed `libgcrypt errno' concept.
Packit b1efcd
Packit b1efcd
 * Libgcrypt depends on libgpg-error, a library that provides error
Packit b1efcd
   codes and according functions for all GnuPG components.  Functions
Packit b1efcd
   that used to return error codes asa `int' have been changed to
Packit b1efcd
   return a code of type `gcry_error_t'.  All GCRYERR_* error symbols
Packit b1efcd
   have been removed, since they are now contained in libgpg-error
Packit b1efcd
   (GPG_ERR_*). All functions and types in libgpg-error have also been
Packit b1efcd
   wrapped in Libgcrypt. The new types are gcry_err_code_t and
Packit b1efcd
   gcry_err_source_t.  The new functions are gcry_err_code,
Packit b1efcd
   gcry_err_source, gcry_error, gcry_err_make, gcry_error_from_errno,
Packit b1efcd
   gcry_err_make_from_errno, gcry_err_code_from_errno,
Packit b1efcd
   gcry_err_code_to_errno, gcry_strsource.
Packit b1efcd
Packit b1efcd
 * New function gcry_mpi_dump to help in debugging.
Packit b1efcd
Packit b1efcd
 * Added alternative interface for asymmetric cryptography.
Packit b1efcd
Packit b1efcd
 * CRC-32, CRC-32 a'la RFC 1510, CRC-24 a'la RFC 2440 are now
Packit b1efcd
   supported.
Packit b1efcd
Packit b1efcd
 * SHA-256, SHA-384 and SHA-512 are now supported.
Packit b1efcd
Packit b1efcd
 * 128 bit Twofish is now supported.
Packit b1efcd
Packit b1efcd
 * The random module won't print the "not enough random bytes
Packit b1efcd
   available" anymore.  A new progress status is issued instead.
Packit b1efcd
Packit b1efcd
 * CBC-MAC for block ciphers is now supported, by using a
Packit b1efcd
   GCRY_CIPHER_CBC_MAC cipher flag.
Packit b1efcd
Packit b1efcd
 * CTR mode for block ciphers is now supported.
Packit b1efcd
Packit b1efcd
 * The public RSA exponent can now be specified in key generation.
Packit b1efcd
Packit b1efcd
 * RSA blinding is now supported and is used automatically for RSA
Packit b1efcd
   decryption.  It can be explicitely disabled by using the
Packit b1efcd
   `no-blinding' symbol in the `flags' S-Expression or by using the
Packit b1efcd
   GCRY_AC_FLAG_DATA_NO_BLINDING flag when using the ac interface.
Packit b1efcd
Packit b1efcd
 * gcry_sexp_canon_len does not use a `historically encoded' error
Packit b1efcd
   code anymore.
Packit b1efcd
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.1.12 release:
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
GCRY_MPI			DEPRECATED; Use: gcry_mpi_t
Packit b1efcd
GcryMPI				DEPRECATED; Use: gcry_mpi_t
Packit b1efcd
GCRY_SEXP			DEPRECATED; Use: gcry_sexp_t
Packit b1efcd
GcrySexp			DEPRECATED; Use: gcry_sexp_t
Packit b1efcd
GCRY_CIPHER_HD			DEPRECATED; Use: gcry_cipher_hd_t
Packit b1efcd
GcryCipherHd			DEPRECATED; Use: gcry_cipher_hd_t
Packit b1efcd
GCRY_MD_HD			DEPRECATED; Use: gcry_md_hd_t
Packit b1efcd
GcryMDHd			DEPRECATED; Use: gcry_md_hd_t
Packit b1efcd
gcry_error_t			NEW
Packit b1efcd
gcry_err_code_t			NEW
Packit b1efcd
gcry_err_source_t		NEW
Packit b1efcd
gcry_err_make			NEW
Packit b1efcd
gcry_error			NEW
Packit b1efcd
gcry_err_code			NEW
Packit b1efcd
gcry_err_source			NEW
Packit b1efcd
gcry_err_code_from_errno	NEW
Packit b1efcd
gcry_err_code_to_errno		NEW
Packit b1efcd
gcry_err_make_from_errno	NEW
Packit b1efcd
gcry_error_from_errno		NEW
Packit b1efcd
gcry_strsource			NEW
Packit b1efcd
GCRYERR_{some error code}	REMOVED; Use GPG_ERR_*
Packit b1efcd
                                         from libgpg-error instead.
Packit b1efcd
gcry_errno                      REMOVED
Packit b1efcd
gcry_sexp_canon_len		CHANGED
Packit b1efcd
gcry_sexp_build_array		NEW
Packit b1efcd
gcry_mpi_scan			CHANGED: New argument to separate in/out args.
Packit b1efcd
gcry_mpi_print			CHANGED: Ditto.
Packit b1efcd
gcry_mpi_dump			NEW
Packit b1efcd
gcry_cipher_open		CHANGED
Packit b1efcd
gcry_cipher_reset		NEW
Packit b1efcd
gcry_cipher_register		NEW
Packit b1efcd
gcry_cipher_unregister		NEW
Packit b1efcd
gcry_cipher_list		NEW
Packit b1efcd
gcry_cipher_algo_keylen		REPLACED macro with function.
Packit b1efcd
gcry_cipher_algo_blklen		REPLACED macro with function.
Packit b1efcd
gcry_pk_register		NEW
Packit b1efcd
gcry_pk_unregister		NEW
Packit b1efcd
gcry_pk_list			NEW
Packit b1efcd
gcry_pk_decrypt			ENHANCED: Allows flag to return
Packit b1efcd
                                          complete S-expression.
Packit b1efcd
gcry_md_open			CHANGED
Packit b1efcd
gcry_md_copy			CHANGED
Packit b1efcd
gcry_md_is_enabled		NEW
Packit b1efcd
gcry_md_is_secure		NEW
Packit b1efcd
gcry_md_register		NEW
Packit b1efcd
gcry_md_unregister		NEW
Packit b1efcd
gcry_md_list			NEW
Packit b1efcd
gcry_ac_data_t			NEW
Packit b1efcd
gcry_ac_key_t			NEW
Packit b1efcd
gcry_ac_key_pair_t		NEW
Packit b1efcd
gcry_ac_handle_t		NEW
Packit b1efcd
gcry_ac_key_spec_rsa_t		NEW
Packit b1efcd
gcry_ac_data_new		NEW
Packit b1efcd
gcry_ac_data_destroy		NEW
Packit b1efcd
gcry_ac_data_set		NEW
Packit b1efcd
gcry_ac_data_copy		NEW
Packit b1efcd
gcry_ac_data_length		NEW
Packit b1efcd
gcry_ac_data_get_name		NEW
Packit b1efcd
gcry_ac_data_get_index		NEW
Packit b1efcd
gcry_ac_data_clear		NEW
Packit b1efcd
gcry_ac_open			NEW
Packit b1efcd
gcry_ac_close			NEW
Packit b1efcd
gcry_ac_key_init		NEW
Packit b1efcd
gcry_ac_key_pair_generate	NEW
Packit b1efcd
gcry_ac_key_pair_extract	NEW
Packit b1efcd
gcry_ac_key_data_get		NEW
Packit b1efcd
gcry_ac_key_test		NEW
Packit b1efcd
gcry_ac_key_get_nbits		NEW
Packit b1efcd
gcry_ac_key_get_grip		NEW
Packit b1efcd
gcry_ac_key_destroy		NEW
Packit b1efcd
gcry_ac_key_pair_destroy	NEW
Packit b1efcd
gcry_ac_data_encrypt		NEW
Packit b1efcd
gcry_ac_data_decrypt		NEW
Packit b1efcd
gcry_ac_data_sign		NEW
Packit b1efcd
gcry_ac_data_verify		NEW
Packit b1efcd
gcry_ac_id_to_name		NEW
Packit b1efcd
gcry_ac_name_to_id		NEW
Packit b1efcd
gcry_handler_progress_t		NEW
Packit b1efcd
gcry_handler_alloc_t		NEW
Packit b1efcd
gcry_handler_secure_check_t	NEW
Packit b1efcd
gcry_handle_realloc_t		NEW
Packit b1efcd
gcry_handler_free_t		NEW
Packit b1efcd
gcry_handler_no_mem_t		NEW
Packit b1efcd
gcry_handler_error_t		NEW
Packit b1efcd
gcry_handler_log_t		NEW
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.12 (2003-01-20)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * gcry_pk_sign, gcry_pk_verify and gcry_pk_encrypt can now handle an
Packit b1efcd
   optional pkcs1 flags parameter in the S-expression.  A similar flag
Packit b1efcd
   may be passed to gcry_pk_decrypt but it is only syntactically
Packit b1efcd
   implemented.
Packit b1efcd
Packit b1efcd
 * New convenience macro gcry_md_get_asnoid.
Packit b1efcd
Packit b1efcd
 * There is now some real stuff in the manual.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.11 (2002-12-21)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Don't export internal symbols anymore (currently only for GNU systems)
Packit b1efcd
Packit b1efcd
 * New algorithm: MD4
Packit b1efcd
Packit b1efcd
 * Implemented ciphertext stealing.
Packit b1efcd
Packit b1efcd
 * Smaller bugs fixes and a few new OIDs.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.1.8 release:
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
gcry_cipher_cts                   NEW
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.10 (2002-09-20)
Packit b1efcd
-------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Fixed shared library builds for i386, PPC and Sparc.
Packit b1efcd
Packit b1efcd
 * Added simple benchmark tool.
Packit b1efcd
Packit b1efcd
 * Replaced the internal mutexes by code which automatically adapts to
Packit b1efcd
   the used threading library.  Currently Pth and Pthread are
Packit b1efcd
   supported.  For non-ELF systems the GNU toolchain is now required..
Packit b1efcd
Packit b1efcd
 * Added untested support to build Windows DLLs.
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.9 (2002-08-23)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Support for plain old DES.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.8 (2002-06-25)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
 * Minor cleanups and exported a few new functions.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.1.7 release:
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
gcry_mpi_div                      NEW
Packit b1efcd
gcry_mpi_mod                      NEW
Packit b1efcd
gcry_mpi_invm                     NEW
Packit b1efcd
gcry_mpi_swap                     NEW
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.7 (2002-05-21)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
* Libgcrypt is now distributed under the terms of the GNU Lesser
Packit b1efcd
  General Public License; see the README file for details.
Packit b1efcd
Packit b1efcd
* It is possible to use libgcrypt w/o intialized secure memory.
Packit b1efcd
Packit b1efcd
* Libgcrypt should now be thread safe after the initialization.
Packit b1efcd
  gcry_control (GCRYCRL_INITIALIZATION_FINISHED,NULL,0) should have
Packit b1efcd
  been called before creating additional threads.
Packit b1efcd
Packit b1efcd
 * Interface changes relative to the 1.1.6 release:
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
GCRYCTL_DISABLE_INTERNAL_LOCKING  NEW
Packit b1efcd
GCRYCTL_DISABLE_SECMEM            NEW
Packit b1efcd
GCRYCTL_INITIALIZATION_FINISHED   NEW
Packit b1efcd
GCRYCTL_INITIALIZATION_FINISHED_P NEW
Packit b1efcd
GCRYCTL_ANY_INITIALIZATION_P      NEW
Packit b1efcd
gcry_strdup                       NEW
Packit b1efcd
gcry_sexp_create                  NEW
Packit b1efcd
gcry_sexp_new                     NEW
Packit b1efcd
gcry_set_progress_handler         NEW
Packit b1efcd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.6 (2002-02-07)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
  * Enhanced the S-expression conversion functions.
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.5 (2001-12-18)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
  * gcry_{cipher,md}_map_name are now able to map stringified object IDs.
Packit b1efcd
Packit b1efcd
  * New functions gcry_sexp_canon_len and gcry_cipher_mode_from_oid.
Packit b1efcd
Packit b1efcd
  * Closed some memory leaks.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.4 (2001-08-03)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
  * Arcfour does now work.
Packit b1efcd
Packit b1efcd
  * Some minor fixes.
Packit b1efcd
Packit b1efcd
  * Added a first test program
Packit b1efcd
Packit b1efcd
  * Migrated to autoconf 2.52.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Noteworthy changes in version 1.1.3 (2001-05-31)
Packit b1efcd
------------------------------------------------
Packit b1efcd
Packit b1efcd
  * First release of Libgcrypt which is a result of splitting GnuPG
Packit b1efcd
    into into libgcrypt and GnuPG.
Packit b1efcd
Packit b1efcd
Packit b1efcd
Copyright 2001, 2002, 2003, 2004, 2007, 2008,
Packit b1efcd
          2009, 2011 Free Software Foundation, Inc.
Packit b1efcd
Copyright 2013 g10 Code GmbH
Packit b1efcd
Packit b1efcd
This file is free software; as a special exception the author gives
Packit b1efcd
unlimited permission to copy and/or distribute it, with or without
Packit b1efcd
modifications, as long as this notice is preserved.
Packit b1efcd
Packit b1efcd
This file is distributed in the hope that it will be useful, but
Packit b1efcd
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
Packit b1efcd
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.