2016-12-15  Werner Koch  <wk@gnupg.org>

	Release 1.7.5.
	* configure.ac: Set LT version to C21/A1/R5.

2016-12-15  Werner Koch  <wk@gnupg.org>
	    Nicolas Porcel  <nicolasporcel06@gmail.com>

	Fix regression in broken mlock detection.
	* acinclude.m4 (GNUPG_CHECK_MLOCK): Fix typo EGAIN->EAGAIN.

2016-12-09  Werner Koch  <wk@gnupg.org>

	Release 1.7.4.
	* configure.ac: Bump LT version to C21/A1/R4.

	Improve handling of mlock error codes.
	* acinclude.m4 (GNUPG_CHECK_MLOCK): Check also for EAGAIN which is a
	legitimate return code and does not indicate a broken mlock().
	* src/secmem.c (lock_pool_pages): Test ERR instead of ERRNO which
	could have been overwritten by cap_from+text et al.

2016-12-09  Stephan Mueller  <smueller@chronox.de>

	random: Eliminate unneeded memcpy invocations in the DRBG.
	* random/random-drbg.c (drbg_hash): Remove arg 'outval' and return a
	pointer instead.
	(drbg_instantiate): Reduce size of scratchpad.
	(drbg_hmac_update): Avoid use of scratch buffers for the hash.
	(drbg_hmac_generate, drbg_hash_df): Ditto.
	(drbg_hash_process_addtl): Ditto.
	(drbg_hash_hashgen): Ditto.
	(drbg_hash_generate): Ditto.

	random: Add performance improvements for the DRBG.
	* random/random-drbg.c (struct drbg_state_ops_s): New function
	pointers 'crypto_init' and 'crypto-fini'.
	(struct drbg_state_s): New fields 'priv_data', 'ctr_handle', and
	'ctr_null'.
	(drbg_hash_init, drbg_hash_fini): New.
	(drbg_hmac_init, drbg_hmac_setkey): New.
	(drbg_sym_fini, drbg_sym_init, drbg_sym_setkey): New.
	(drbg_sym_ctr): New.
	(drbg_ctr_bcc): Set the key.
	(drbg_ctr_df): Ditto.
	(drbg_hmac_update): Ditto.
	(drbg_hmac_generate): Replace drgb_hmac by drbg_hash.
	(drbg_hash_df): Ditto.
	(drbg_hash_process_addtl): Ditto.
	(drbg_hash_hashgen): Ditto.
	(drbg_ctr_update): Rework.
	(drbg_ctr_generate): Rework.
	(drbg_ctr_ops): Init new functions pointers.
	(drbg_uninstantiate): Call fini function.
	(drbg_instantiate): Call init function.

	cipher: New function for reading the counter in CTR mode.
	* cipher/cipher.c (gcry_cipher_getctr): New.

2016-12-07  Werner Koch  <wk@gnupg.org>

	Implement overflow secmem pools for xmalloc style allocators.
	* src/secmem.c (pooldesc_s): Add fields next, cur_alloced, and
	cur_blocks.
	(cur_alloced, cur_blocks): Remove vars.
	(ptr_into_pool_p): Make it inline.
	(stats_update): Add arg pool and update the new pool specific
	counters.
	(_gcry_secmem_malloc_internal): Add arg xhint and allocate overflow
	pools as needed.
	(_gcry_secmem_malloc): Pass XHINTS along.
	(_gcry_secmem_realloc_internal): Ditto.
	(_gcry_secmem_realloc): Ditto.
	(_gcry_secmem_free_internal): Take multiple pools in account.  Add
	return value to indicate whether the arg was freed.
	(_gcry_secmem_free): Add return value to indicate whether the arg was
	freed.
	(_gcry_private_is_secure): Take multiple pools in account.
	(_gcry_secmem_term): Release all pools.
	(_gcry_secmem_dump_stats): Print stats for all pools.
	* src/stdmem.c (_gcry_private_free): Replace _gcry_private_is_secure
	test with a direct call of _gcry_secmem_free to avoid double checking.

	Give the secmem allocators a hint when a xmalloc calls them.
	* src/secmem.c (_gcry_secmem_malloc): New not yet used arg XHINT.
	(_gcry_secmem_realloc): Ditto.
	* src/stdmem.c (_gcry_private_malloc_secure): New arg XHINT to be
	passed to the secmem functions.
	(_gcry_private_realloc): Ditto.
	* src/g10lib.h (GCRY_ALLOC_FLAG_XHINT): New.
	* src/global.c (do_malloc): Pass this flag as XHINT to the private
	allocator.
	(_gcry_malloc_secure): Factor code out to ...
	(_gcry_malloc_secure_core): this.  Add arg XHINT.
	(_gcry_realloc): Factor code out to ...
	(_gcry_realloc_core): here.  Add arg XHINT.
	(_gcry_strdup): Factor code out to ...
	(_gcry_strdup_core): here.  Add arg XHINT.
	(_gcry_xrealloc): Use the core function and pass true for XHINT.
	(_gcry_xmalloc_secure): Ditto.
	(_gcry_xstrdup): Ditto.

	Reorganize code in secmem.c.
	* src/secmem.c (pooldesc_t): New type to collect information about one
	pool.
	(pool_size): Remove.  Now a member of pooldesc_t.
	(pool_okay): Ditto.
	(pool_is_mmapped): Ditto.
	(pool): Rename variable ...
	(mainpool): And change type to pooldesc_t.
	(ptr_into_pool_p): Add arg 'pool'.
	(mb_get_next): Ditto.
	(mb_get_prev): Ditto.
	(mb_merge): Ditto.
	(mb_get_new): Ditto.
	(init_pool): Ditto.
	(lock_pool): Rename to ...
	(look_pool_pages: this.
	(secmem_init): Rename to ...
	(_gcry_secmem_init_internal): this.  Add local var POOL and init with
	address of MAINPOOL.
	(_gcry_secmem_malloc_internal): Add local var POOL and init with
	address of MAINPOOL.
	(_gcry_private_is_secure): Ditto.
	(_gcry_secmem_term): Ditto.
	(_gcry_secmem_dump_stats): Ditto.
	(_gcry_secmem_free_internal): Ditto.  Remove check for NULL arg.
	(_gcry_secmem_free): Add check for NULL arg before taking the lock.
	(_gcry_secmem_realloc): Factor most code out to ...
	(_gcry_secmem_realloc_internal): this.

2016-11-28  Dmitry Eremin-Solenikov  <dbaryshkov@gmail.com>

	tests: Add PBKDF2 tests for Stribog512.
	* tests/t-kdf.c (check_pbkdf2): Add Stribog512 test cases from TC26's
	additions to PKCS#5.

	tests: Add Stribog HMAC tests from TC26ALG.
	* tests/basic.c (check_mac): add HMAC test vectors from TC26ALG document
	for Stribog.

	cipher: Add Stribog OIDs from TC26 space.
	* cipher/stribog.c (oid_spec_stribog256, oid_spec_stribog512): New.

2016-11-28  Justus Winter  <justus@g10code.com>

	tests: Fix memory leak.
	* tests/basic.c (check_gost28147_cipher): Free cipher handles.

2016-11-25  Dmitry Eremin-Solenikov  <dbaryshkov@gmail.com>

	Cast oid argument of gcry_cipher_set_sbox to disable compiler warning.
	* src/gcrypt.h.in (gcry_cipher_set_sbox): Cast oid to (void *).

	gost: Rename tc26 s-box from A to Z.
	* cipher/gost-s-box.c (gost_sboxes): Rename TC26_A to TC26_Z as it is
	the name that ended up in all standards.

	tests: Add test to verify GOST 28147-89 against known results.
	* tests/basic.c (check_gost28147_cipher): new test function.

2016-11-17  Dmitry Eremin-Solenikov  <dbaryshkov@gmail.com>

	cipher/gost28147: Fix CryptoPro-B S-BOX.
	* cipher/gost-s-box.c: CryptoPro_B s-box missed one line, resulting in
	incorrect encryption/decryption using that s-box.  Add missing data.

2016-11-01  NIIBE Yutaka  <gniibe@fsij.org>

	cipher: Fix IDEA cipher for clearing memory.
	* cipher/idea.c (invert_key): Use wipememory, since this kind of memset
	may be removed by compiler optimization.

2016-10-09  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	GCM: Add bulk processing for ARMv8/AArch64 implementation.
	* cipher/cipher-gcm-armv8-aarch64-ce.S: Add 6 blocks bulk processing.

	GCM: Add bulk processing for ARMv8/AArch32 implementation.
	* cipher/cipher-gcm-armv8-aarch32-ce.S: Add 4 blocks bulk processing.
	* tests/basic.c (check_digests): Print correct data length for "?"
	tests.
	(check_one_mac): Add large 1000000 bytes tests, when input is "!" or
	"?".
	(check_mac): Add "?" tests vectors for HMAC, CMAC, GMAC and POLY1305.

2016-09-11  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Add Aarch64 assembly implementation of Twofish.
	* cipher/Makefile.am: Add 'twofish-aarch64.S'.
	* cipher/twofish-aarch64.S: New.
	* cipher/twofish.c: Enable USE_ARM_ASM if __AARCH64EL__ and
	HAVE_COMPATIBLE_GCC_AARCH64_PLATFORM_AS defined.
	* configure.ac [host=aarch64]: Add 'twofish-aarch64.lo'.

2016-09-05  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Add Aarch64 assembly implementation of Camellia.
	* cipher/Makefile.am: Add 'camellia-aarch64.S'.
	* cipher/camellia-aarch64.S: New.
	* cipher/camellia-glue.c [USE_ARM_ASM][__aarch64__]: Set stack burn
	size to zero.
	* cipher/camellia.h: Enable USE_ARM_ASM if __AARCH64EL__ and
	HAVE_COMPATIBLE_GCC_AARCH64_PLATFORM_AS defined.
	* configure.ac [host=aarch64]: Add 'rijndael-aarch64.lo'.

	Add ARMv8/AArch64 Crypto Extension implementation of AES.
	* cipher/Makefile.am: Add 'rijndael-armv-aarch64-ce.S'.
	* cipher/rijndael-armv8-aarch64-ce.S: New.
	* cipher/rijndael-internal.h (USE_ARM_CE): Enable for ARMv8/AArch64.
	* configure.ac: Add 'rijndael-armv-aarch64-ce.lo' and
	'rijndael-armv8-ce.lo' for ARMv8/AArch64.

	Add ARMv8/AArch64 Crypto Extension implementation of GCM.
	* cipher/Makefile.am: Add 'cipher-gcm-armv8-aarch64-ce.S'.
	* cipher/cipher-gcm-armv8-aarch64-ce.S: New.
	* cipher/cipher-internal.h (GCM_USE_ARM_PMULL): Enable on
	ARMv8/AArch64.

	Add ARMv8/AArch64 Crypto Extension implementation of SHA-256.
	* cipher/Makefile.am: Add 'sha256-armv8-aarch64-ce.S'.
	* cipher/sha256-armv8-aarch64-ce.S: New.
	* cipher/sha256-armv8-aarch32-ce.S: Move round macros to correct
	section.
	* cipher/sha256.c (USE_ARM_CE): Enable on ARMv8/AArch64.
	* configure.ac: Add 'sha256-armv8-aarch64-ce.lo'; Swap places for
	'sha512-arm.lo' and 'sha256-armv8-aarch32-ce.lo'.

	Add ARMv8/AArch64 Crypto Extension implementation of SHA-1.
	* cipher/Makefile.am: Add 'sha1-armv8-aarch64-ce.S'.
	* cipher/sha1-armv8-aarch64-ce.S: New.
	* cipher/sha1.c (USE_ARM_CE): Enable on ARMv8/AArch64.
	* configure.ac: Add 'sha1-armv8-aarch64-ce.lo'.

2016-09-04  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Add AArch64 assembly implementation of AES.
	* cipher/Makefile.am: Add 'rijndael-aarch64.S'.
	* cipher/rijndael-aarch64.S: New.
	* cipher/rijndael-internal.h: Enable USE_ARM_ASM if __AARCH64EL__ and
	HAVE_COMPATIBLE_GCC_AARCH64_PLATFORM_AS defined.
	* configure.ac (gcry_cv_gcc_aarch64_platform_as_ok): New check.
	[host=aarch64]: Add 'rijndael-aarch64.lo'.

2016-08-17  Werner Koch  <wk@gnupg.org>

	Release 1.7.3.
	* configure.ac: Set LT version to C21/A1/R3.

	random: Hash continuous areas in the csprng pool.
	* random/random-csprng.c (mix_pool): Store the first hash at the end
	of the pool.

	random: Improve the diagram showing the random mixing.
	* random/random-csprng.c (mix_pool): Use DIGESTLEN instead of 20.

2016-07-19  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	crc-intel-pclmul: split assembly block to ease register pressure.
	* cipher/crc-intel-pclmul.c (crc32_less_than_16): Split inline
	assembly block handling 4 byte input into multiple blocks.

	rijndael-aesni: split assembly block to ease register pressure.
	* cipher/rijndael-aesni.c (do_aesni_ctr_4): Use single register
	constraint for passing 'bige_addb' to assembly block; split
	first inline assembly block into two parts.

2016-07-14  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Add ARMv8/AArch32 Crypto Extension implementation of AES.
	* cipher/Makefile.am: Add 'rijndael-armv8-ce.c' and
	'rijndael-armv-aarch32-ce.S'.
	* cipher/rijndael-armv8-aarch32-ce.S: New.
	* cipher/rijndael-armv8-ce.c: New.
	* cipher/rijndael-internal.h (USE_ARM_CE): New.
	(RIJNDAEL_context_s): Add 'use_arm_ce'.
	* cipher/rijndael.c [USE_ARM_CE] (_gcry_aes_armv8_ce_setkey)
	(_gcry_aes_armv8_ce_prepare_decryption)
	(_gcry_aes_armv8_ce_encrypt, _gcry_aes_armv8_ce_decrypt)
	(_gcry_aes_armv8_ce_cfb_enc, _gcry_aes_armv8_ce_cbc_enc)
	(_gcry_aes_armv8_ce_ctr_enc, _gcry_aes_armv8_ce_cfb_dec)
	(_gcry_aes_armv8_ce_cbc_dec, _gcry_aes_armv8_ce_ocb_crypt)
	(_gcry_aes_armv8_ce_ocb_auth): New.
	(do_setkey) [USE_ARM_CE]: Add ARM CE/AES HW feature check and key
	setup for ARM CE.
	(prepare_decryption, _gcry_aes_cfb_enc, _gcry_aes_cbc_enc)
	(_gcry_aes_ctr_enc, _gcry_aes_cfb_dec, _gcry_aes_cbc_dec)
	(_gcry_aes_ocb_crypt, _gcry_aes_ocb_auth) [USE_ARM_CE]: Add
	ARM CE support.
	* configure.ac: Add 'rijndael-armv8-ce.lo' and
	'rijndael-armv8-aarch32-ce.lo'.

	Add ARMv8/AArch32 Crypto Extension implementation of GCM.
	* cipher/Makefile.am: Add 'cipher-gcm-armv8-aarch32-ce.S'.
	* cipher/cipher-gcm-armv8-aarch32-ce.S: New.
	* cipher/cipher-gcm.c [GCM_USE_ARM_PMULL]
	(_gcry_ghash_setup_armv8_ce_pmull, _gcry_ghash_armv8_ce_pmull)
	(ghash_setup_armv8_ce_pmull, ghash_armv8_ce_pmull): New.
	(setupM) [GCM_USE_ARM_PMULL]: Enable ARM PMULL implementation if
	HWF_ARM_PULL HW feature flag is enabled.
	* cipher/cipher-gcm.h (GCM_USE_ARM_PMULL): New.

	Add ARMv8/AArch32 Crypto Extension implemenation of SHA-256.
	* cipher/Makefile.am: Add 'sha256-armv8-aarch32-ce.S'.
	* cipher/sha256-armv8-aarch32-ce.S: New.
	* cipher/sha256.c (USE_ARM_CE): New.
	(sha256_init, sha224_init): Check features for HWF_ARM_SHA1.
	[USE_ARM_CE] (_gcry_sha256_transform_armv8_ce): New.
	(transform) [USE_ARM_CE]: Use ARMv8 CE implementation if HW supports.
	(SHA256_CONTEXT): Add 'use_arm_ce'.
	* configure.ac: Add 'sha256-armv8-aarch32-ce.lo'.

	Add ARMv8/AArch32 Crypto Extension implementation of SHA-1.
	* cipher/Makefile.am: Add 'sha1-armv8-aarch32-ce.S'.
	* cipher/sha1-armv7-neon.S (_gcry_sha1_transform_armv7_neon): Add
	missing size.
	* cipher/sha1-armv8-aarch32-ce.S: New.
	* cipher/sha1.c (USE_ARM_CE): New.
	(sha1_init): Check features for HWF_ARM_SHA1.
	[USE_ARM_CE] (_gcry_sha1_transform_armv8_ce): New.
	(transform) [USE_ARM_CE]: Use ARMv8 CE implementation if HW supports
	it.
	* cipher/sha1.h (SHA1_CONTEXT): Add 'use_arm_ce'.
	* configure.ac: Add 'sha1-armv8-aarch32-ce.lo'.

	Add HW feature check for ARMv8 AArch64 and crypto extensions.
	* configure.ac: Add '--disable-arm-crypto-support'; enable hwf-arm
	module on 64-bit ARM.
	(armcryptosupport, gcry_cv_gcc_inline_aarch32_crypto)
	(gcry_cv_inline_asm_aarch64_neon)
	(gcry_cv_gcc_inline_asm_aarch64_crypto): New.
	* src/g10lib.h (HWF_ARM_AES, HWF_ARM_SHA1, HWF_ARM_SHA2)
	(HWF_ARM_PMULL): New.
	* src/hwf-arm.c [__aarch64__]: Enable building in AArch64 mode.
	(feature_map_s): New.
	[__arm__] (AT_HWCAP, AT_HWCAP2, HWCAP2_AES, HWCAP2_PMULL)
	(HWCAP2_SHA1, HWCAP2_SHA2, arm_features): New.
	[__aarch64__] (AT_HWCAP, AT_HWCAP2, HWCAP_ASIMD, HWCAP_AES)
	(HWCAP_PMULL, HWCAP_SHA1, HWCAP_SHA2, arm_features): New.
	(get_hwcap): Add reading of 'AT_HWCAP2'; Change auxv use
	'unsigned long'.
	(detect_arm_at_hwcap): Add mapping of HWCAP/HWCAP2 to HWF flags.
	(detect_arm_proc_cpuinfo): Add mapping of CPU features to HWF flags.
	(_gcry_hwf_detect_arm): Use __ARM_NEON instead of legacy __ARM_NEON__.
	* src/hwfeatures.c (hwflist): Add 'arm-aes', 'arm-sha1', 'arm-sha2'
	and 'arm-pmull'.

2016-07-14  Werner Koch  <wk@gnupg.org>

	Release 1.7.2.
	* configure.ac: Set LT version to C21/A1/R2.
	* Makefile.am (distcheck-hook): New.

2016-07-13  Werner Koch  <wk@gnupg.org>

	build: Update config.{guess,sub} to {2016-05-15,2016-06-20}.
	* build-aux/config.guess: Update.
	* build-aux/config.sub: Update.

2016-07-08  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Fix unaligned accesses with ldm/stm in ChaCha20 and Poly1305 ARM/NEON.
	* cipher/chacha20-armv7-neon.S (UNALIGNED_STMIA8)
	(UNALIGNED_LDMIA4): New.
	(_gcry_chacha20_armv7_neon_blocks): Use new helper macros instead of
	ldm/stm instructions directly.
	* cipher/poly1305-armv7-neon.S (UNALIGNED_LDMIA2)
	(UNALIGNED_LDMIA4): New.
	(_gcry_poly1305_armv7_neon_init_ext, _gcry_poly1305_armv7_neon_blocks)
	(_gcry_poly1305_armv7_neon_finish_ext): Use new helper macros instead
	of ldm instruction directly.

2016-07-03  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	bench-slope: add unaligned buffer mode.
	* tests/bench-slope.c (unaligned_mode): New.
	(do_slope_benchmark): Unalign buffer if in unaligned mode enabled.
	(print_help, main): Add '--unaligned' parameter.

2016-07-01  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Fix static build.
	* tests/pubkey.c (_gcry_pk_util_get_nbits): Make function 'static'.

2016-06-30  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Disallow encryption/decryption if key is not set.
	* cipher/cipher.c (cipher_encrypt, cipher_decrypt): If mode is not
	NONE, make sure that key is set.
	* cipher/cipher-ccm.c (_gcry_cipher_ccm_set_nonce): Do not clear
	'marks.key' when reseting state.

	Avoid unaligned accesses with ARM ldm/stm instructions.
	* cipher/rijndael-arm.S: Remove __ARM_FEATURE_UNALIGNED ifdefs, always
	compile with unaligned load/store code paths.
	* cipher/sha512-arm.S: Ditto.

	Fix non-PIC reference in PIC for poly1305/ARMv7-NEON.
	* cipher/poly1305-armv7-neon.S (GET_DATA_POINTER): New.
	(_gcry_poly1305_armv7_neon_init_ext): Use GET_DATA_POINTER.

	Fix wrong CPU feature #ifdef for SHA1/AVX.
	* cipher/sha1-avx-amd64.S: Check for HAVE_GCC_INLINE_ASM_AVX instead of
	HAVE_GCC_INLINE_ASM_AVX2 & HAVE_GCC_INLINE_ASM_BMI2.

2016-06-30  Werner Koch  <wk@gnupg.org>

	random: Remove debug message about not supported getrandom syscall.
	* random/rndlinux.c (_gcry_rndlinux_gather_random): Remove log_debug
	for getrandom error ENOSYS.

2016-06-27  Werner Koch  <wk@gnupg.org>

	tests: Do not test SHAKE128 et al with gcry_md_hash_buffer.
	* tests/benchmark.c (md_bench): Do not test variable lengths algos
	with the gcry_md_hash_buffer.

	md: Improve diagnostic when using SHAKE128 with gcry_md_hash_buffer.
	* cipher/md.c (md_read): Detect missing read function.
	(_gcry_md_hash_buffers): Return an error.

2016-06-25  Werner Koch  <wk@gnupg.org>

	ecc: Fix memory leak.
	* cipher/ecc.c (ecc_check_secret_key): Do not init point if already
	set.

	doc: Update yat2m.
	* doc/yat2m.c: Update from Libgpg-error

	tests: Add attributes to helper functions.
	* tests/t-common.h (die, fail, info): Add attributes.
	* tests/random.c (die, inf): Ditto.
	* tests/pubkey.c (die, fail, info): Add attributes.
	* tests/fipsdrv.c (die): Add attribute.
	(main): Take care of missing --key,--iv,--dt options.

	Improve robustness and help lint.
	* cipher/rsa.c (rsa_encrypt): Check for !DATA.
	* cipher/md.c (search_oid): Check early for !OID.
	(md_copy): Use gpg_err_code_from_syserror.  Replace chains of if(!err)
	tests.
	* cipher/cipher.c (search_oid): Check early for !OID.
	* src/misc.c (do_printhex): Allow for BUFFER==NULL even with LENGTH>0.
	* mpi/mpicoder.c (onecompl): Allow for A==NULL to help static
	analyzers.

	cipher: Improve fatal error message for bad use of gcry_md_read.
	* cipher/md.c (md_read): Use _gcry_fatal_error instead of BUG.

2016-06-16  Niibe Yutaka  <gniibe@fsij.org>

	ecc: Default cofactor 1 for PUBKEY_FLAG_PARAM.
	* cipher/ecc.c (ecc_check_secret_key, ecc_sign, ecc_verify)
	(ecc_encrypt_raw, ecc_decrypt_raw, compute_keygrip): Set default
	cofactor as 1, when not specified.

	ecc: Default cofactor 1 for PUBKEY_FLAG_PARAM.
	* cipher/ecc.c (ecc_check_secret_key, ecc_sign, ecc_verify)
	(ecc_encrypt_raw, ecc_decrypt_raw, compute_keygrip): Set default
	cofactor as 1, when not specified.

2016-06-15  Werner Koch  <wk@gnupg.org>

	Release 1.7.1.

	doc: Describe envvars.
	* doc/gcrypt.texi: Add chapter Configuration.

	random: Change names of debug envvars.
	* random/rndunix.c (start_gatherer): Change GNUPG_RNDUNIX_DBG to
	GCRYPT_RNDUNIX_DBG, change GNUPG_RNDUNIX_DBG to GCRYPT_RNDUNIX_DBG.
	* random/rndw32.c (registry_poll): Change GNUPG_RNDW32_NOPERF to
	GCRYPT_RNDW32_NOPERF.

2016-06-14  Werner Koch  <wk@gnupg.org>

	cipher: Assign OIDs to the Serpent cipher.
	* cipher/serpent.c (serpent128_oids, serpent192_oids)
	(serpent256_oids): New. Add them to the specs blow.
	(serpent128_aliases): Add "SERPENT-128".
	(serpent256_aliases, serpent192_aliases): New.

	cipher: Assign OIDs to the Serpent cipher.
	* cipher/serpent.c (serpent128_oids, serpent192_oids)
	(serpent256_oids): New. Add them to the specs blow.
	(serpent128_aliases): Add "SERPENT-128".
	(serpent256_aliases, serpent192_aliases): New.

2016-06-08  Werner Koch  <wk@gnupg.org>

	rsa: Implement blinding also for signing.
	* cipher/rsa.c (rsa_decrypt): Factor blinding code out to ...
	(secret_blinded): new.
	(rsa_sign): Use blinding by default.

	random: Remove debug output for getrandom(2) output.
	* random/rndlinux.c (_gcry_rndlinux_gather_random): Remove debug
	output.

	Fix gcc portability on Solaris 9 SPARC boxes.
	* mpi/longlong.h: Use __sparcv8 as alias for __sparc_v8__.

2016-06-08  Jérémie Courrèges-Anglas  <jca@wxcvbn.org>

	Check for compiler SSE4.1 support in PCLMUL CRC code.
	* cipher/crc-intel-pclmul.c: Build PCLMUL CRC implementation only if
	  compiler supports PCLMUL *and* SSE4.1
	* cipher/crc.c: Ditto
	* configure.ac (sse41support, gcry_cv_gcc_inline_asm_sse41): New.

2016-06-08  NIIBE Yutaka  <gniibe@fsij.org>

	ecc: Fix ecc_verify for cofactor support.
	* cipher/ecc.c (ecc_verify): Fix the argument for cofactor "h".

2016-06-08  Werner Koch  <wk@gnupg.org>

	random: Try to use getrandom() instead of /dev/urandom (Linux only).
	* configure.ac: Check for syscall.
	* random/rndlinux.c [HAVE_SYSCALL]: Include sys/syscall.h.
	(_gcry_rndlinux_gather_random): Use getrandom is available.

2016-06-03  Werner Koch  <wk@gnupg.org>

	rsa: Implement blinding also for signing.
	* cipher/rsa.c (rsa_decrypt): Factor blinding code out to ...
	(secret_blinded): new.
	(rsa_sign): Use blinding by default.

	random: Remove debug output for getrandom(2) output.
	* random/rndlinux.c (_gcry_rndlinux_gather_random): Remove debug
	output.

2016-06-02  Werner Koch  <wk@gnupg.org>

	Fix gcc portability on Solaris 9 SPARC boxes.
	* mpi/longlong.h: Use __sparcv8 as alias for __sparc_v8__.

2016-05-28  Jérémie Courrèges-Anglas  <jca@wxcvbn.org>

	Check for compiler SSE4.1 support in PCLMUL CRC code.
	* cipher/crc-intel-pclmul.c: Build PCLMUL CRC implementation only if
	  compiler supports PCLMUL *and* SSE4.1
	* cipher/crc.c: Ditto
	* configure.ac (sse41support, gcry_cv_gcc_inline_asm_sse41): New.

2016-05-06  NIIBE Yutaka  <gniibe@fsij.org>

	ecc: Fix ecc_verify for cofactor support.
	* cipher/ecc.c (ecc_verify): Fix the argument for cofactor "h".

2016-04-26  Werner Koch  <wk@gnupg.org>

	random: Try to use getrandom() instead of /dev/urandom (Linux only).
	* configure.ac: Check for syscall.
	* random/rndlinux.c [HAVE_SYSCALL]: Include sys/syscall.h.
	(_gcry_rndlinux_gather_random): Use getrandom is available.

2016-04-19  Werner Koch  <wk@gnupg.org>

	asm fix for older gcc versions.
	* cipher/crc-intel-pclmul.c: Remove extra trailing colon from
	asm statements.

	asm fix for older gcc versions.
	* cipher/crc-intel-pclmul.c: Remove extra trailing colon from
	asm statements.

2016-04-15  Werner Koch  <wk@gnupg.org>

	Release 1.7.0.

2016-04-14  Werner Koch  <wk@gnupg.org>

	tests: Add test vectors for 256 GiB test of SHA3-256.
	* tests/hashtest.c: Add new test vectros.

2016-04-14  Justus Winter  <justus@g10code.com>

	src: Improve S-expression parsing.
	* src/sexp.c (do_vsexp_sscan): Return an error if a closing
	parenthesis is encountered with no matching opening parenthesis.

2016-04-14  Werner Koch  <wk@gnupg.org>

	cipher: Add constant for 8 bit CFB mode.
	* src/gcrypt.h.in (GCRY_CIPHER_MODE_CFB8): New.
	* tests/basic.c (check_cfb_cipher): Prepare for CFB-8 tests.

	tests: Add a new test for S-expressions.
	* tests/t-sexp.c (compare_to_canon): New.
	(back_and_forth_one): Add another test.

2016-04-13  NIIBE Yutaka  <gniibe@fsij.org>

	ecc: Fix corner cases for X25519.
	* cipher/ecc.c (ecc_encrypt_raw): For invalid input, returns
	GPG_ERR_INV_DATA instead of aborting with log_fatal.  For X25519,
	it's not an error, thus, let it return 0.
	(ecc_decrypt_raw): Use the flag PUBKEY_FLAG_DJB_TWEAK to distinguish
	X25519, not by the name of the curve.
	(ecc_decrypt_raw): For invalid input, returns GPG_ERR_INV_DATA instead
	of aborting with log_fatal.  For X25519, it's not an error by its
	definition, but we deliberately let it return the error to detect
	looks-like-encrypted-message.
	* tests/t-cv25519.c: Add points to record the issue.

2016-04-12  Werner Koch  <wk@gnupg.org>

	cipher: Buffer data from gcry_cipher_authenticate in OCB mode.
	* cipher/cipher-internal.h (gcry_cipher_handle): Add fields
	aad_leftover and aad_nleftover to u_mode.ocb.
	* cipher/cipher-ocb.c (_gcry_cipher_ocb_set_nonce): Clear
	aad_nleftover.
	(_gcry_cipher_ocb_authenticate): Add buffering and facor some code out
	to ...
	(ocb_aad_finalize): new.
	(compute_tag_if_needed): Call new function.
	* tests/basic.c (check_ocb_cipher_splitaad): New.
	(check_ocb_cipher): Call new function.
	(main): Also call check_cipher_modes with --ciper-modes.

2016-04-12  NIIBE Yutaka  <gniibe@fsij.org>

	ecc: Fix X25519 computation on Curve25519.
	* cipher/ecc.c (ecc_encrypt_raw): Tweak of bits when
	PUBKEY_FLAG_DJB_TWEAK is enabled.
	(ecc_decrypt_raw): Return 0 when PUBKEY_FLAG_DJB_TWEAK is enabled.
	* tests/t-cv25519.c (test_cv): Update by using gcry_pk_encrypt.

	ecc: Fix initialization of EC context.
	* cipher/ecc.c (test_ecdh_only_keys, ecc_generate)
	(ecc_check_secret_key, ecc_encrypt_raw, ecc_decrypt_raw): Initialize
	by _gcry_mpi_ec_p_internal_new should carry FLAGS.

2016-04-06  Werner Koch  <wk@gnupg.org>

	Allow building with configure option --enable-hmac-binary-check.
	* src/Makefile.am (mpicalc_LDADD): Add DL_LIBS.
	* src/fips.c (check_binary_integrity): Allow use of hmac256 output.
	* src/hmac256.c (main): Add option --stdkey

2016-04-06  NIIBE Yutaka  <gniibe@fsij.org>

	ecc: Positive values in computation.
	* cipher/ecc-curves.c (_gcry_ecc_fill_in_curve): Make sure
	coefficients A and B are positive.
	* cipher/ecc-eddsa.c (_gcry_ecc_eddsa_recover_x): For negation, do
	"P - T" instead of "-T", so that the result will be positive.
	(_gcry_ecc_eddsa_verify): Likewise.
	* cipher/ecc.c (ecc_check_secret_key): Use _gcry_ecc_fill_in_curve
	instead of _gcry_ecc_update_curve_param.
	* mpi/ec.c (ec_subm): Make sure the result will be positive.
	(dup_point_edwards, sub_points_edwards, _gcry_mpi_ec_curve_point): Use
	mpi_sub instead of mpi_neg.
	(add_points_edwards): Simply use ec_addm.
	* tests/t-mpi-point.c (test_curve): Define curves with positive
	coefficients.

2016-04-01  Werner Koch  <wk@gnupg.org>

	mpi: Explicitly limit the allowed input length for gcry_mpi_scan.
	* mpi/mpicoder.c (MAX_EXTERN_SCAN_BYTES): New.
	(mpi_fromstr): Check against this limit.
	(_gcry_mpi_scan): Ditto.
	* tests/mpitests.c (test_maxsize): New.
	(main): Cal that test.

2016-03-31  Werner Koch  <wk@gnupg.org>

	cipher: Remove specialized rmd160 functions.
	* cipher/rmd160.c: Replace rmd.h by hash-common.h.
	(RMD160_CONTEXT): Move from rmd.h to here.
	(_gcry_rmd160_init): Remove.
	(_gcry_rmd160_mixblock): Remove.
	(_gcry_rmd160_hash_buffer): Use rmd160_init directly.
	* cipher/md.c: Remove rmd.h which was not actually used.
	* cipher/rmd.h: Remove.
	* cipher/Makefile.am (libcipher_la_SOURCES): Remove rmd.h.
	* configure.ac (USE_RMD160): Allow to build without RMD160.

	random: Replace RMD160 by SHA-1 for mixing the CSPRNG pool.
	* cipher/sha1.c (_gcry_sha1_mixblock_init): New.
	(_gcry_sha1_mixblock): New.
	* random/random-csprng.c: Include sha1.h instead of rmd.h.
	(mix_pool): Use SHA-1 instead of RIPE-MD-160 for mixing.

	cipher: Move sha1 context definition to a separate file.
	* cipher/sha1.c: Replace hash-common.h by sha1.h.
	(SHA1_CONTEXT): Move to ...
	* cipher/sha1.h: new.  Always include all flags.
	* cipher/Makefile.am (libcipher_la_SOURCES): Add sha1.h.

2016-03-29  Werner Koch  <wk@gnupg.org>

	tests: Fix buffer overflow in bench-slope.
	* tests/bench-slope.c (bench_print_result_std): Remove wrong use of
	strncat.

2016-03-27  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	cipher: GCM: check that length of supplied tag is one of valid lengths.
	* cipher/cipher-gcm.c (is_tag_length_valid): New.
	(_gcry_cipher_gcm_tag): Check that 'outbuflen' has valid tag length.
	* tests/basic.c (_check_gcm_cipher): Add test-vectors with different
	valid tag lengths and negative test vectors with invalid lengths.

2016-03-24  Peter Wu  <peter@lekensteyn.nl>

	cipher: Fix memleaks in (self)tests.
	* cipher/dsa.c: Release memory for MPI and sexp structures.
	* cipher/ecc.c: Release memory for sexp structure.
	* tests/keygen.c: Likewise.

	Mark constant MPIs as non-leaked.
	* mpi/mpiutil.c: Mark "constant" MPIs as explicitly leaked.

2016-03-23  Werner Koch  <wk@gnupg.org>

	Add new control GCRYCTL_GET_TAGLEN for use with gcry_cipher_info.
	* src/gcrypt.h.in (GCRYCTL_GET_TAGLEN): New.
	* cipher/cipher.c (_gcry_cipher_info): Add GCRYCTL_GET_TAGLEN feature.

	* tests/basic.c (_check_gcm_cipher): Check that new feature.
	(_check_poly1305_cipher): Ditto.
	(check_ccm_cipher): Ditto.
	(do_check_ocb_cipher): Ditto.
	(check_ctr_cipher): Add negative test for new feature.

	cipher: Avoid NULL-segv in GCM mode if a key has not been set.
	* cipher/cipher-gcm.c (_gcry_cipher_gcm_encrypt): Check that GHASH_FN
	has been initialized.
	(_gcry_cipher_gcm_decrypt): Ditto.
	(_gcry_cipher_gcm_authenticate): Ditto.
	(_gcry_cipher_gcm_initiv): Ditto.
	(_gcry_cipher_gcm_tag): Ditto.

	cipher: Check length of supplied tag in _gcry_cipher_poly1305_check_tag.
	* cipher/cipher-poly1305.c (_gcry_cipher_poly1305_tag): Check that the
	provided tag length matches the actual tag length.

2016-03-23  Peter Wu  <peter@lekensteyn.nl>

	Fix buffer overrun in gettag for Poly1305.
	* cipher/cipher-poly1305.c: copy a fixed length instead of the
	  user-supplied number.

2016-03-23  Werner Koch  <wk@gnupg.org>

	cipher: Check length of supplied tag in _gcry_cipher_gcm_check_tag.
	* cipher/cipher-gcm.c (_gcry_cipher_gcm_tag): Check that the provided
	tag length matches the actual tag length.  Avoid gratuitous return
	statements.

2016-03-23  Peter Wu  <peter@lekensteyn.nl>

	Fix buffer overrun in gettag for GCM.
	* cipher/cipher-gcm.c: copy a fixed length instead of the user-supplied
	  number.

2016-03-22  Werner Koch  <wk@gnupg.org>

	tests: Add options --fips to keygen for manual tests.
	(main): Add option --fips.
	* tests/keygen.c (check_rsa_keys): Create an 2048 bit key with e=65539
	because that is valid in FIPS mode.  Check that key generation fails
	for too short keys in FIPS mode.
	(check_ecc_keys): Check that key generation fails for Ed25519 keys in
	FIPS mode.

2016-03-22  Tomáš Mráz  <tmraz@redhat.com>

	rsa: Add FIPS 186-4 compliant RSA probable prime key generator.
	* cipher/primegen.c (_gcry_fips186_4_prime_check): New.
	* cipher/rsa.c (generate_fips): New.
	(rsa_generate): Use new function in fips mode or with test-parms.

	* tests/keygen.c (check_rsa_keys): Add test using e=65539.

2016-03-20  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Fix ARM NEON support detection on ARMv6 target.
	* configure.ac (gcry_cv_gcc_inline_asm_neon): Use '.arm' directive
	instead of '.thumb'.

2016-03-18  Werner Koch  <wk@gnupg.org>

	Always require a 64 bit integer type.
	* configure.ac (available_digests_64): Merge with available_digests.
	(available_kdfs_64): Merge with available_kdfs.
	<64 bit datatype test>: Bail out if no such type is available.
	* src/types.h: Emit #error if no u64 can be defined.
	(PROPERLY_ALIGNED_TYPE): Always add u64 type.
	* cipher/bithelp.h: Remove all code paths which handle the
	case of !HAVE_U64_TYPEDEF.
	* cipher/bufhelp.h: Ditto.
	* cipher/cipher-ccm.c: Ditto.
	* cipher/cipher-gcm.c: Ditto.
	* cipher/cipher-internal.h: Ditto.
	* cipher/cipher.c: Ditto.
	* cipher/hash-common.h: Ditto.
	* cipher/md.c: Ditto.
	* cipher/poly1305.c: Ditto.
	* cipher/scrypt.c: Ditto.
	* cipher/tiger.c: Ditto.
	* src/g10lib.h: Ditto.
	* tests/basic.c: Ditto.
	* tests/bench-slope.c: Ditto.
	* tests/benchmark.c: Ditto.

2016-03-18  Vitezslav Cizek  <vcizek@suse.com>

	tests: Fix testsuite after the FIPS adjustments.
	* tests/benchmark.c (ecc_bench): Avoid not approved curves in FIPS.
	* tests/curves.c (check_get_params): Skip Brainpool curves in FIPS.
	* tests/keygen.c (check_dsa_keys): Generate 2048 and 3072 bits keys.
	(check_ecc_keys): Skip Ed25519 in FIPS mode.
	* tests/random.c (main): Don't switch DRBG in FIPS mode.
	* tests/t-ed25519.c (main): Ed25519 isn't supported in FIPS mode.
	* tests/t-kdf.c (check_openpgp): Skip vectors using md5 in FIPS.
	* tests/t-mpi-point.c (context_param): Skip P-192 and Ed25519 in FIPS.
	(main): Skip math tests that use P-192 and Ed25519 in FIPS.

	tests: Add new --pss option to fipsdrv.
	* tests/fipsdrv.c (run_rsa_sign, run_rsa_verify): Set salt-length
	to 0 for PSS.

	cipher: Add option to specify salt length for PSS verification.
	* cipher/pubkey-util.c (_gcry_pk_util_data_to_mpi): Check for
	salt-length token.

	tests: Add support for RSA keygen tests to fipsdrv.
	* tests/fipsdrv.c (run_rsa_keygen): New.
	(main): Support RSA keygen and RSA keygen KAT tests.

	tests: Fixes for RSA testsuite in FIPS mode.
	* tests/basic.c (get_keys_new): Generate 2048 bit key.
	* tests/benchmark.c (rsa_bench): Skip keys of lengths different
	than 2048 and 3072 in FIPS mode.
	* tests/keygen.c (check_rsa_keys): Failure if short keys can be
	generated in FIPS mode.
	(check_dsa_keys): Ditto for DSA keys.
	* tests/pubkey.c (check_x931_derived_key): Skip keys < 2048 in FIPS.

	rsa: Use 2048 bit RSA keys for selftest.
	* cipher/rsa.c (selftests_rsa): Use 2048 bit keys.
	(selftest_encr_1024): Replaced by selftest_encr_2048.
	(selftest_sign_1024): Replaced by selftest_sign_2048.
	(selftest_encr_2048): Add check against known ciphertext.
	(selftest_sign_2048): Add check against known signature.
	(selftest_sign_2048): Free SIG_MPI.
	* tests/pubkey.c (get_keys_new): Generate 2048 bit keys.

	Disable non-allowed algorithms in FIPS mode.
	* cipher/cipher.c (_gcry_cipher_init),
	* cipher/mac.c (_gcry_mac_init),
	* cipher/md.c (_gcry_md_init),
	* cipher/pubkey.c (_gcry_pk_init): In the FIPS mode, disable all the
	non-allowed ciphers.
	* cipher/md5.c: Mark MD5 as not allowed in FIPS.
	* src/g10lib.h (_gcry_mac_init): New.
	* src/global.c (global_init): Call the new _gcry_mac_init.
	* tests/basic.c (check_ciphers): Fix a typo.

2016-03-18  Werner Koch  <wk@gnupg.org>

	kdf: Make PBKDF2 check work on all platforms.
	* cipher/kdf.c (_gcry_kdf_pkdf2): Chnage DKLEN to unsigned long.

2016-03-18  Vitezslav Cizek  <vcizek@suse.com>

	kdf: Add upper bound for derived key length in PBKDF2.
	* cipher/kdf.c (_gcry_kdf_pkdf2): limit dkLen.

	ecc: ECDSA adjustments for FIPS 186-4.
	* cipher/ecc-curves.c: Unmark curve P-192 for FIPS.
	* cipher/ecc.c: Add ECDSA self test.
	* cipher/pubkey-util.c (_gcry_pk_util_init_encoding_ctx): Use SHA-2
	in FIPS mode.
	* tests/fipsdrv.c: Add support for ECDSA signatures.

2016-03-18  Werner Koch  <wk@gnupg.org>

	dsa: Make regression tests work.
	* cipher/dsa.c (sample_secret_key_1024): Comment out unused constant.
	(ogenerate_fips186): Make it work with use-fips183-2 flag.
	* cipher/primegen.c (_gcry_generate_fips186_3_prime): Use Emacs
	standard comment out format.
	* tests/fips186-dsa.c (check_dsa_gen_186_3): New dummy fucntion.
	(main): Call it.
	(main): Compare against current version.
	* tests/pubkey.c (get_dsa_key_fips186_new): Create 2048 bit key.
	(get_dsa_key_fips186_with_seed_new): Ditto.
	(get_dsa_key_fips186_with_domain_new): Comment out.
	(check_run): Do not call that function.

2016-03-18  Vitezslav Cizek  <vcizek@suse.com>

	dsa: Adjustments to conform with FIPS 186-4.
	* cipher/dsa.c (generate_fips186): FIPS 186-4 adjustments.
	* cipher/primegen.c (_gcry_generate_fips186_3_prime): Fix incorrect
	  buflen passed to _gcry_mpi_scan.

2016-03-16  Justus Winter  <justus@g10code.com>

	Update documentation for 'gcry_sexp_extract_param'.
	* doc/gcrypt.texi (gcry_sexp_extract_param): Mention that all MIPs
	must be set to NULL first, and document how the function behaves in
	case of errors.
	* src/sexp.c (_gcry_sexp_extract_param): Likewise.
	* src/gcrypt.h.in (gcry_sexp_extract_param): Copy the comment from
	'_gcry_sexp_extract_param'.

	cipher: Update comment.
	* cipher/ecc.c (ecc_get_nbits): Update comment to reflect the fact
	that a curve parameter can be given.

2016-03-12  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Add Intel PCLMUL implementations of CRC algorithms.
	* cipher/Makefile.am: Add 'crc-intel-pclmul.c'.
	* cipher/crc-intel-pclmul.c: New.
	* cipher/crc.c (USE_INTEL_PCLMUL): New macro.
	(CRC_CONTEXT) [USE_INTEL_PCLMUL]: Add 'use_pclmul'.
	[USE_INTEL_PCLMUL] (_gcry_crc32_intel_pclmul)
	(gcry_crc24rfc2440_intel_pclmul): New.
	(crc32_init, crc32rfc1510_init, crc24rfc2440_init)
	[USE_INTEL_PCLMUL]: Select PCLMUL implementation if SSE4.1 and PCLMUL
	HW features detected.
	(crc32_write, crc24rfc2440_write) [USE_INTEL_PCLMUL]: Use PCLMUL
	implementation if enabled.
	(crc24_init): Document storage format of 24-bit CRC.
	(crc24_next4): Use only 'data' for last table look-up.
	* configure.ac: Add 'crc-intel-pclmul.lo'.
	* src/g10lib.h (HWF_*, HWF_INTEL_SSE4_1): Update HWF flags to include
	Intel SSE4.1.
	* src/hwf-x86.c (detect_x86_gnuc): Add SSE4.1 detection.
	* src/hwfeatures.c (hwflist): Add 'intel-sse4.1'.
	* tests/basic.c (fillbuf_count): New.
	(check_one_md): Add "?" check (million byte data-set with byte pattern
	0x00,0x01,0x02,...); Test all buffer sizes 1 to 1000, for "!" and "?"
	checks.
	(check_one_md_multi): Skip "?".
	(check_digests): Add "?" test-vectors for MD5, SHA1, SHA224, SHA256,
	SHA384, SHA512, SHA3_224, SHA3_256, SHA3_384, SHA3_512, RIPEMD160,
	CRC32, CRC32_RFC1510, CRC24_RFC2440, TIGER1 and WHIRLPOOL; Add "!"
	test-vectors for CRC32_RFC1510 and CRC24_RFC2440.

2016-02-25  NIIBE Yutaka  <gniibe@fsij.org>

	mpi: Normalize EXPO for mpi_powm.
	* mpi/mpi-pow.c (gcry_mpi_powm): Normalize EP.

2016-02-22  Andreas Metzler  <ametzler@bebt.de>

	Do not ship generated header file in tarball.
	* src/Makefile.am: Move gcrypt.h from include_HEADERS to
	  nodist_include_HEADERS to prevent inclusion in release tarball.
	  This could break out-of-tree-builds because the potentially outdated
	  src/gcrypt.h was not updated but was in the compiler search path.

2016-02-20  Jussi Kivilinna  <jussi.kivilinna@iki.fi>

	Fix building random-drbg for Win32/64.
	* random/random-drbg.c: Remove include for sys/types.h and asm/types.h.
	(DRBG_PREDICTION_RESIST, DRBG_CTRAES, DRBG_CTRSERPENT, DRBG_CTRTWOFISH)
	(DRBG_HASHSHA1, DRBG_HASHSHA224, DRBG_HASHSHA256, DRBG_HASHSHA384)
	(DRBG_HASHSHA512, DRBG_HMAC, DRBG_SYM128, DRBG_SYM192)
	(DRBG_SYM256): Change 'u_int32_t' to 'u32'.
	(drbg_get_entropy) [USE_RNDUNIX, USE_RNDW32]: Fix parameters
	'drbg_read_cb' and 'len'.

2016-02-20  Werner Koch  <wk@gnupg.org>

	tests: Do not test DRBG_REINIT from "make check"
	* tests/random.c (main): Run check_drbg_reinit only if the envvar
	GCRYPT_IN_REGRESSION_TEST is set.

	doc: Fix possible dependency problem.
	* doc/Makefile.am (gcrypt.texi): Use the right traget.

2016-02-19  Stephan Mueller  <smueller@chronox.de>

	random: Remove ANSI X9.31 DRNG.
	* random-fips.c: Remove.

2016-02-19  Werner Koch  <wk@gnupg.org>

	random: Add a test case for DRBG_REINIT.
	* src/global.c (_gcry_vcontrol) <DRBG_REINIT>: Test for FIPS RNG.
	* tests/random.c (check_drbg_reinit): New.
	(main): Call new test.

	random: Allow DRBG_REINIT before initialization.
	* random/random-drbg.c (DRBG_DEFAULT_TYPE): New.
	(_drbg_init_internal): Set the default type if no type has been set
	before.
	(_gcry_rngdrbg_inititialize): Pass 0 for flags to use the default.

