summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-05-07 12:39:58 +0200
committerRichard Levitte <levitte@openssl.org>2019-08-15 22:12:25 +0200
commite74bd29053a543ab4908ae8545b46f2e38c98bab (patch)
treeee0d540bd5f8319549c1ab0d4b356f8b166d021e /util
parent3ded2288a45d2cc3a27a1b08d29499cbcec52c0e (diff)
Prepare EVP_MAC infrastructure for moving all MACs to providers
Quite a few adaptations are needed, most prominently the added code to allow provider based MACs. As part of this, all the old information functions are gone, except for EVP_MAC_name(). Some of them will reappear later, for example EVP_MAC_do_all() in some form. MACs by EVP_PKEY was particularly difficult to deal with, as they need to allocate and deallocate EVP_MAC_CTXs "under the hood", and thereby implicitly fetch the corresponding EVP_MAC. This means that EVP_MACs can't be constant in a EVP_MAC_CTX, as their reference count may need to be incremented and decremented as part of the allocation or deallocation of the EVP_MAC_CTX. It may be that other provider based EVP operation types may need to be handled in a similar manner. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8877)
Diffstat (limited to 'util')
-rw-r--r--util/libcrypto.num30
1 files changed, 20 insertions, 10 deletions
diff --git a/util/libcrypto.num b/util/libcrypto.num
index 7d550ce016..58ac4fd55f 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -4426,7 +4426,7 @@ EVP_MD_CTX_set_pkey_ctx 4531 3_0_0 EXIST::FUNCTION:
EVP_PKEY_meth_set_digest_custom 4532 3_0_0 EXIST::FUNCTION:
EVP_PKEY_meth_get_digest_custom 4533 3_0_0 EXIST::FUNCTION:
EVP_MAC_CTX_new 4534 3_0_0 EXIST::FUNCTION:
-EVP_MAC_CTX_new_id 4535 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_new_id 4535 3_0_0 NOEXIST::FUNCTION:
EVP_MAC_CTX_free 4536 3_0_0 EXIST::FUNCTION:
EVP_MAC_CTX_dup 4537 3_0_0 EXIST::FUNCTION:
EVP_MAC_CTX_mac 4538 3_0_0 EXIST::FUNCTION:
@@ -4434,15 +4434,15 @@ EVP_MAC_size 4539 3_0_0 EXIST::FUNCTION:
EVP_MAC_init 4540 3_0_0 EXIST::FUNCTION:
EVP_MAC_update 4541 3_0_0 EXIST::FUNCTION:
EVP_MAC_final 4542 3_0_0 EXIST::FUNCTION:
-EVP_MAC_ctrl 4543 3_0_0 EXIST::FUNCTION:
-EVP_MAC_vctrl 4544 3_0_0 EXIST::FUNCTION:
-EVP_MAC_ctrl_str 4545 3_0_0 EXIST::FUNCTION:
-EVP_MAC_str2ctrl 4546 3_0_0 EXIST::FUNCTION:
-EVP_MAC_hex2ctrl 4547 3_0_0 EXIST::FUNCTION:
-EVP_MAC_nid 4548 3_0_0 EXIST::FUNCTION:
-EVP_get_macbyname 4549 3_0_0 EXIST::FUNCTION:
-EVP_MAC_do_all 4550 3_0_0 EXIST::FUNCTION:
-EVP_MAC_do_all_sorted 4551 3_0_0 EXIST::FUNCTION:
+EVP_MAC_ctrl 4543 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_vctrl 4544 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_ctrl_str 4545 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_str2ctrl 4546 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_hex2ctrl 4547 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_nid 4548 3_0_0 NOEXIST::FUNCTION:
+EVP_get_macbyname 4549 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_do_all 4550 3_0_0 NOEXIST::FUNCTION:
+EVP_MAC_do_all_sorted 4551 3_0_0 NOEXIST::FUNCTION:
EVP_str2ctrl 4552 3_0_0 EXIST::FUNCTION:
EVP_hex2ctrl 4553 3_0_0 EXIST::FUNCTION:
EVP_PKEY_supports_digest_nid 4554 3_0_0 EXIST::FUNCTION:
@@ -4720,3 +4720,13 @@ EVP_CIPHER_gettable_params 4829 3_0_0 EXIST::FUNCTION:
EVP_CIPHER_CTX_settable_params 4830 3_0_0 EXIST::FUNCTION:
EVP_CIPHER_CTX_gettable_params 4831 3_0_0 EXIST::FUNCTION:
EVP_MD_get_params 4832 3_0_0 EXIST::FUNCTION:
+EVP_MAC_fetch 4833 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_settable_params 4834 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_set_params 4835 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_get_params 4836 3_0_0 EXIST::FUNCTION:
+EVP_MAC_CTX_gettable_params 4837 3_0_0 EXIST::FUNCTION:
+EVP_MAC_free 4838 3_0_0 EXIST::FUNCTION:
+EVP_MAC_up_ref 4839 3_0_0 EXIST::FUNCTION:
+EVP_MAC_name 4840 3_0_0 EXIST::FUNCTION:
+EVP_MAC_get_params 4841 3_0_0 EXIST::FUNCTION:
+EVP_MAC_gettable_params 4842 3_0_0 EXIST::FUNCTION: