diff options
author | Werner Koch <wk@gnupg.org> | 2016-02-19 12:57:00 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2016-02-19 14:35:35 +0100 |
commit | 744b030cff61fd25114b0b25394c62782c153343 (patch) | |
tree | 3e963f15b0a4492782cfb4b3268032c97b9d67f2 /src/gcrypt-testapi.h | |
parent | 95f1db3affb9f5b8a2c814c211d4a02b30446c15 (diff) | |
download | libgcrypt-744b030cff61fd25114b0b25394c62782c153343.tar.gz |
Add new private header gcrypt-testapi.h.
* src/gcrypt-testapi.h: New.
* src/Makefile.am (libgcrypt_la_SOURCES): Add new file.
* random/random.h: Include gcrypt-testapi.h.
(struct gcry_drbg_test_vector) : Move to gcrypt-testapi.h.
* src/global.c: Include gcrypt-testapi.h.
(_gcry_vcontrol): Use PRIV_CTL_* constants instead of 58, 59, 60, 61.
* cipher/cipher.c: Include gcrypt-testapi.h.
(_gcry_cipher_ctl): Use PRIV_CIPHERCTL_ constants instead of 61, 62.
* tests/fipsdrv.c: Include gcrypt-testapi.h. Remove definition of
PRIV_CTL_ constants and replace their use by the new PRIV_CIPHERCTL_
constants.
* tests/t-lock.c: Include gcrypt-testapi.h. Remove
PRIV_CTL_EXTERNAL_LOCK_TEST and EXTERNAL_LOCK_TEST_ constants.
* random/random-drbg.c (gcry_rngdrbg_cavs_test): Rename to ...
(_gcry_rngdrbg_cavs_test): this.
(gcry_rngdrbg_healthcheck_one): Rename to ...
(_gcry_rngdrbg_healthcheck_one): this.
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'src/gcrypt-testapi.h')
-rw-r--r-- | src/gcrypt-testapi.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/gcrypt-testapi.h b/src/gcrypt-testapi.h new file mode 100644 index 00000000..23d38008 --- /dev/null +++ b/src/gcrypt-testapi.h @@ -0,0 +1,68 @@ +/* gcrypt-testapi.h - Definitiona for the Regression test API + * Copyright (C) 2016 g10 Code GmbH + * + * This file is part of Libgcrypt. + * + * Libgcrypt is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * Libgcrypt is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see <http://www.gnu.org/licenses/>. + */ + +/* + * WARNING: This is a private API to be used by regression tests. In + * particular this API does not constitute a well defined ABI. The + * header may only be used with its matching Libgcrypt version. + */ + +#ifndef GCRY_GCRYPT_TESTAPI_H +#define GCRY_GCRYPT_TESTAPI_H + +/* For use with gcry_control: */ +#define PRIV_CTL_INIT_EXTRNG_TEST 58 +#define PRIV_CTL_RUN_EXTRNG_TEST 59 +#define PRIV_CTL_DEINIT_EXTRNG_TEST 60 +#define PRIV_CTL_EXTERNAL_LOCK_TEST 61 + +#define EXTERNAL_LOCK_TEST_INIT 30111 +#define EXTERNAL_LOCK_TEST_LOCK 30112 +#define EXTERNAL_LOCK_TEST_UNLOCK 30113 +#define EXTERNAL_LOCK_TEST_DESTROY 30114 + +/* For use with gcry_cipher_ctl: */ +#define PRIV_CIPHERCTL_DISABLE_WEAK_KEY 61 +#define PRIV_CIPHERCTL_GET_INPUT_VECTOR 62 + + +/* Private interfaces for testing of random-drbg.c. */ +struct gcry_drbg_test_vector +{ + const char *flagstr; + unsigned char *entropy; + size_t entropylen; + unsigned char *entpra; + unsigned char *entprb; + size_t entprlen; + unsigned char *addtla; + unsigned char *addtlb; + size_t addtllen; + unsigned char *pers; + size_t perslen; + unsigned char *expected; + size_t expectedlen; + unsigned char *entropyreseed; + size_t entropyreseed_len; + unsigned char *addtl_reseed; + size_t addtl_reseed_len; +}; + + +#endif /*GCRY_GCRYPT_TESTAPI_H*/ |