diff options
author | Rich Salz <rsalz@akamai.com> | 2019-07-11 15:53:59 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2019-07-11 15:53:59 +1000 |
commit | b60cba3c5d25dcd5cea2c97193a30b730c8a0f28 (patch) | |
tree | 5594bbc7d0d4c6f0a9e2e762ff00ef44d200e28f /crypto/provider_core.c | |
parent | 06c8331c51797f43881e5262b4c114aacc6d0ca0 (diff) | |
download | openssl-b60cba3c5d25dcd5cea2c97193a30b730c8a0f28.zip openssl-b60cba3c5d25dcd5cea2c97193a30b730c8a0f28.tar.gz openssl-b60cba3c5d25dcd5cea2c97193a30b730c8a0f28.tar.bz2 |
Make allocation/free/clean available to providers
Also make OPENSSL_hexstr2buf available to providers.
EVP control functions need hexstring conversion, so move any
memory-allocating functions in o_str.c into new file mem_str.c
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8886)
Diffstat (limited to 'crypto/provider_core.c')
-rw-r--r-- | crypto/provider_core.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/crypto/provider_core.c b/crypto/provider_core.c index 5860448..c16e91d 100644 --- a/crypto/provider_core.c +++ b/crypto/provider_core.c @@ -796,6 +796,10 @@ static void core_add_error_vdata(const OSSL_PROVIDER *prov, } #endif +/* + * Functions provided by the core. Blank line separates "families" of related + * functions. + */ static const OSSL_DISPATCH core_dispatch_[] = { { OSSL_FUNC_CORE_GET_PARAM_TYPES, (void (*)(void))core_get_param_types }, { OSSL_FUNC_CORE_GET_PARAMS, (void (*)(void))core_get_params }, @@ -805,6 +809,26 @@ static const OSSL_DISPATCH core_dispatch_[] = { { OSSL_FUNC_CORE_PUT_ERROR, (void (*)(void))core_put_error }, { OSSL_FUNC_CORE_ADD_ERROR_VDATA, (void (*)(void))core_add_error_vdata }, #endif + + { OSSL_FUNC_CRYPTO_MALLOC, (void (*)(void))CRYPTO_malloc }, + { OSSL_FUNC_CRYPTO_ZALLOC, (void (*)(void))CRYPTO_zalloc }, + { OSSL_FUNC_CRYPTO_MEMDUP, (void (*)(void))CRYPTO_memdup }, + { OSSL_FUNC_CRYPTO_STRDUP, (void (*)(void))CRYPTO_strdup }, + { OSSL_FUNC_CRYPTO_STRNDUP, (void (*)(void))CRYPTO_strndup }, + { OSSL_FUNC_CRYPTO_FREE, (void (*)(void))CRYPTO_free }, + { OSSL_FUNC_CRYPTO_CLEAR_FREE, (void (*)(void))CRYPTO_clear_free }, + { OSSL_FUNC_CRYPTO_REALLOC, (void (*)(void))CRYPTO_realloc }, + { OSSL_FUNC_CRYPTO_CLEAR_REALLOC, (void (*)(void))CRYPTO_clear_realloc }, + { OSSL_FUNC_CRYPTO_SECURE_MALLOC, (void (*)(void))CRYPTO_secure_malloc }, + { OSSL_FUNC_CRYPTO_SECURE_ZALLOC, (void (*)(void))CRYPTO_secure_zalloc }, + { OSSL_FUNC_CRYPTO_SECURE_FREE, (void (*)(void))CRYPTO_secure_free }, + { OSSL_FUNC_CRYPTO_SECURE_CLEAR_FREE, + (void (*)(void))CRYPTO_secure_clear_free }, + { OSSL_FUNC_CRYPTO_SECURE_ALLOCATED, + (void (*)(void))CRYPTO_secure_allocated }, + { OSSL_FUNC_OPENSSL_CLEANSE, (void (*)(void))OPENSSL_cleanse }, + { OSSL_FUNC_OPENSSL_HEXSTR2BUF, (void (*)(void))OPENSSL_hexstr2buf }, + { 0, NULL } }; static const OSSL_DISPATCH *core_dispatch = core_dispatch_; |