From: Benjamin Kaduk Date: Wed, 19 Jul 2017 22:32:08 +0000 (-0500) Subject: typedef's for RAND_DRBG methods X-Git-Tag: OpenSSL_1_1_1-pre1~1004 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=16960a9b17ebc39498d113cd6dd1f83784f018a4;p=oweals%2Fopenssl.git typedef's for RAND_DRBG methods Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/3971) --- diff --git a/crypto/rand/rand_lcl.h b/crypto/rand/rand_lcl.h index 0c1aa72779..de1f2cd4e6 100644 --- a/crypto/rand/rand_lcl.h +++ b/crypto/rand/rand_lcl.h @@ -71,16 +71,13 @@ struct drbg_ctx_st { DRBG_CTR_CTX ctr; /* entropy gathering function */ - size_t (*get_entropy)(DRBG_CTX *ctx, unsigned char **pout, - int entropy, size_t min_len, size_t max_len); + RAND_DRBG_get_entropy_fn get_entropy; /* Indicates we have finished with entropy buffer */ - void (*cleanup_entropy)(DRBG_CTX *ctx, unsigned char *out, size_t olen); - + RAND_DRBG_cleanup_entropy_fn cleanup_entropy; /* nonce gathering function */ - size_t (*get_nonce)(DRBG_CTX *ctx, unsigned char **pout, - int entropy, size_t min_len, size_t max_len); + RAND_DRBG_get_nonce_fn get_nonce; /* Indicates we have finished with nonce buffer */ - void (*cleanup_nonce)(DRBG_CTX *ctx, unsigned char *out, size_t olen); + RAND_DRBG_cleanup_nonce_fn cleanup_nonce; }; diff --git a/include/internal/rand.h b/include/internal/rand.h index 0d386f6ee8..07568ea8b8 100644 --- a/include/internal/rand.h +++ b/include/internal/rand.h @@ -26,14 +26,22 @@ int RAND_DRBG_generate(DRBG_CTX *dctx, unsigned char *out, size_t outlen, const unsigned char *adin, size_t adinlen); void RAND_DRBG_free(DRBG_CTX *dctx); +typedef size_t (*RAND_DRBG_get_entropy_fn)(DRBG_CTX *ctx, unsigned char **pout, + int entropy, size_t min_len, + size_t max_len); +typedef void (*RAND_DRBG_cleanup_entropy_fn)(DRBG_CTX *ctx, unsigned char *out, + size_t olen); +typedef size_t (*RAND_DRBG_get_nonce_fn)(DRBG_CTX *ctx, unsigned char **pout, + int entropy, size_t min_len, + size_t max_len); +typedef void (*RAND_DRBG_cleanup_nonce_fn)(DRBG_CTX *ctx, unsigned char *out, + size_t olen); + int RAND_DRBG_set_callbacks(DRBG_CTX *dctx, - size_t (*get_entropy)(DRBG_CTX *ctx, unsigned char **pout, - int entropy, size_t min_len, size_t max_len), - void (*cleanup_entropy)(DRBG_CTX *ctx, unsigned char *out, size_t olen), - size_t (*get_nonce)(DRBG_CTX *ctx, unsigned char **pout, - int entropy, size_t min_len, size_t max_len), - void (*cleanup_nonce)(DRBG_CTX *ctx, unsigned char *out, size_t olen) - ); + RAND_DRBG_get_entropy_fn get_entropy, + RAND_DRBG_cleanup_entropy_fn cleanup_entropy, + RAND_DRBG_get_nonce_fn get_nonce, + RAND_DRBG_cleanup_nonce_fn cleanup_nonce); int RAND_DRBG_set_reseed_interval(DRBG_CTX *dctx, int interval);