diff options
author | Richard Levitte <levitte@openssl.org> | 2019-05-23 03:18:04 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-06-24 10:58:13 +0200 |
commit | 651d44183e86355b1eb9629a6a61d3da09369bbf (patch) | |
tree | d42e66ae9f3e0ddb836cfb683c32250fbd6655a1 /crypto/evp/evp_fetch.c | |
parent | 2c840201e57e27fa9f1b26a970270a91813e32fe (diff) |
Replumbing: add support for multiple names per algorithm
Algorithms may have multiple names, as seen in the legacy names
database. We need to support that as well.
This implementations modifies ossl_namemap to support multiple names
for the same identifier.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8967)
Diffstat (limited to 'crypto/evp/evp_fetch.c')
-rw-r--r-- | crypto/evp/evp_fetch.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/crypto/evp/evp_fetch.c b/crypto/evp/evp_fetch.c index 1c9e27db87..b039cc0547 100644 --- a/crypto/evp/evp_fetch.c +++ b/crypto/evp/evp_fetch.c @@ -99,7 +99,7 @@ static void *get_method_from_store(OPENSSL_CTX *libctx, void *store, return NULL; if ((namemap = ossl_namemap_stored(libctx)) == NULL - || (nameid = ossl_namemap_add(namemap, name)) == 0 + || (nameid = ossl_namemap_name2num(namemap, name)) == 0 || (methid = method_id(operation_id, nameid)) == 0) return NULL; @@ -123,7 +123,7 @@ static int put_method_in_store(OPENSSL_CTX *libctx, void *store, uint32_t methid; if ((namemap = ossl_namemap_stored(methdata->libctx)) == NULL - || (nameid = ossl_namemap_add(namemap, name)) == 0 + || (nameid = ossl_namemap_add(namemap, 0, name)) == 0 || (methid = method_id(operation_id, nameid)) == 0) return 0; @@ -181,7 +181,7 @@ void *evp_generic_fetch(OPENSSL_CTX *libctx, int operation_id, * about 2^8) or too many names (more than about 2^24). In that * case, we can't create any new method. */ - if ((nameid = ossl_namemap_number(namemap, name)) != 0 + if ((nameid = ossl_namemap_name2num(namemap, name)) != 0 && (methid = method_id(operation_id, nameid)) == 0) return NULL; @@ -214,7 +214,7 @@ void *evp_generic_fetch(OPENSSL_CTX *libctx, int operation_id, * already been calculated in get_method_from_store() and * put_method_in_store() above. */ - nameid = ossl_namemap_number(namemap, name); + nameid = ossl_namemap_name2num(namemap, name); methid = method_id(operation_id, nameid); ossl_method_store_cache_set(store, methid, properties, method); } |