summaryrefslogtreecommitdiff
path: root/random
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2016-02-19 12:57:00 +0100
committerWerner Koch <wk@gnupg.org>2016-02-19 14:35:35 +0100
commit744b030cff61fd25114b0b25394c62782c153343 (patch)
tree3e963f15b0a4492782cfb4b3268032c97b9d67f2 /random
parent95f1db3affb9f5b8a2c814c211d4a02b30446c15 (diff)
downloadlibgcrypt-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 'random')
-rw-r--r--random/random-drbg.c23
-rw-r--r--random/random.h29
2 files changed, 16 insertions, 36 deletions
diff --git a/random/random-drbg.c b/random/random-drbg.c
index f45a0c99..a73aacb0 100644
--- a/random/random-drbg.c
+++ b/random/random-drbg.c
@@ -2338,7 +2338,7 @@ struct gcry_drbg_test_vector drbg_test_nopr[] = {
* call for the CAVS test tool.
*/
gpg_err_code_t
-gcry_rngdrbg_cavs_test (struct gcry_drbg_test_vector *test, unsigned char *buf)
+_gcry_rngdrbg_cavs_test (struct gcry_drbg_test_vector *test, unsigned char *buf)
{
gpg_err_code_t ret = 0;
drbg_state_t drbg = NULL;
@@ -2414,14 +2414,15 @@ gcry_rngdrbg_cavs_test (struct gcry_drbg_test_vector *test, unsigned char *buf)
* call for the CAVS test tool.
*/
gpg_err_code_t
-gcry_rngdrbg_healthcheck_one (struct gcry_drbg_test_vector * test)
+_gcry_rngdrbg_healthcheck_one (struct gcry_drbg_test_vector * test)
{
gpg_err_code_t ret = GPG_ERR_ENOMEM;
unsigned char *buf = xcalloc_secure (1, test->expectedlen);
if (!buf)
return GPG_ERR_ENOMEM;
- ret = gcry_rngdrbg_cavs_test (test, buf);
+ ret = _gcry_rngdrbg_cavs_test (test, buf);
+ /* FIXME: The next line is wrong. */
ret = memcmp (test->expected, buf, test->expectedlen);
xfree (buf);
@@ -2528,14 +2529,14 @@ static int
drbg_healthcheck (void)
{
int ret = 0;
- ret += gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[0]);
- ret += gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[1]);
- ret += gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[2]);
- ret += gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[3]);
- ret += gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[4]);
- ret += gcry_rngdrbg_healthcheck_one (&drbg_test_pr[0]);
- ret += gcry_rngdrbg_healthcheck_one (&drbg_test_pr[1]);
- ret += gcry_rngdrbg_healthcheck_one (&drbg_test_pr[2]);
+ ret += _gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[0]);
+ ret += _gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[1]);
+ ret += _gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[2]);
+ ret += _gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[3]);
+ ret += _gcry_rngdrbg_healthcheck_one (&drbg_test_nopr[4]);
+ ret += _gcry_rngdrbg_healthcheck_one (&drbg_test_pr[0]);
+ ret += _gcry_rngdrbg_healthcheck_one (&drbg_test_pr[1]);
+ ret += _gcry_rngdrbg_healthcheck_one (&drbg_test_pr[2]);
ret += drbg_healthcheck_sanity (&drbg_test_nopr[0]);
return ret;
}
diff --git a/random/random.h b/random/random.h
index ee05cfe3..30e6fdf4 100644
--- a/random/random.h
+++ b/random/random.h
@@ -21,6 +21,7 @@
#define G10_RANDOM_H
#include "types.h"
+#include "../src/gcrypt-testapi.h" /* struct gcry_drbg_test_vector */
/*-- random.c --*/
void _gcry_register_random_progress (void (*cb)(void *,const char*,int,int,int),
@@ -57,31 +58,9 @@ void _gcry_random_deinit_external_test (void *context);
/*-- random-drbg.c --*/
gpg_err_code_t _gcry_rngdrbg_reinit (const char *flagstr,
gcry_buffer_t *pers, int npers);
-/* private interfaces for testing of DRBG */
-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;
-};
-
-gpg_err_code_t gcry_rngdrbg_cavs_test (struct gcry_drbg_test_vector *t,
- unsigned char *buf);
-gpg_err_code_t gcry_rngdrbg_healthcheck_one (struct gcry_drbg_test_vector *t);
+gpg_err_code_t _gcry_rngdrbg_cavs_test (struct gcry_drbg_test_vector *t,
+ unsigned char *buf);
+gpg_err_code_t _gcry_rngdrbg_healthcheck_one (struct gcry_drbg_test_vector *t);
/*-- rndegd.c --*/
gpg_error_t _gcry_rndegd_set_socket_name (const char *name);