diff options
| author | tb <> | 2024-01-13 11:12:32 +0000 |
|---|---|---|
| committer | tb <> | 2024-01-13 11:12:32 +0000 |
| commit | e1d9607d09fa3bd0137fb1cdc25ef0d35056755d (patch) | |
| tree | 1d0d3014d5a1c67e1005627f9e1d12882bc1f6c8 /src/lib/libcrypto/evp/names.c | |
| parent | ce175ea71c55a0f97153dd4dc707826abc1242e7 (diff) | |
| download | openbsd-e1d9607d09fa3bd0137fb1cdc25ef0d35056755d.tar.gz openbsd-e1d9607d09fa3bd0137fb1cdc25ef0d35056755d.tar.bz2 openbsd-e1d9607d09fa3bd0137fb1cdc25ef0d35056755d.zip | |
Reimplement EVP_get_{cipher,digest}byname()
Instead of a hashtable lookup do a bsearch() over the static table.
This needs about the same number of strcmp and is a lot simpler.
ok jsing
Diffstat (limited to 'src/lib/libcrypto/evp/names.c')
| -rw-r--r-- | src/lib/libcrypto/evp/names.c | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/src/lib/libcrypto/evp/names.c b/src/lib/libcrypto/evp/names.c index 7f5b455088..8cc6d04ce3 100644 --- a/src/lib/libcrypto/evp/names.c +++ b/src/lib/libcrypto/evp/names.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: names.c,v 1.23 2024/01/13 11:08:39 tb Exp $ */ | 1 | /* $OpenBSD: names.c,v 1.24 2024/01/13 11:12:32 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -113,24 +113,6 @@ EVP_add_digest(const EVP_MD *md) | |||
| 113 | return (r); | 113 | return (r); |
| 114 | } | 114 | } |
| 115 | 115 | ||
| 116 | const EVP_CIPHER * | ||
| 117 | EVP_get_cipherbyname(const char *name) | ||
| 118 | { | ||
| 119 | if (!OPENSSL_init_crypto(0, NULL)) | ||
| 120 | return NULL; | ||
| 121 | |||
| 122 | return (const EVP_CIPHER *)OBJ_NAME_get(name, OBJ_NAME_TYPE_CIPHER_METH); | ||
| 123 | } | ||
| 124 | |||
| 125 | const EVP_MD * | ||
| 126 | EVP_get_digestbyname(const char *name) | ||
| 127 | { | ||
| 128 | if (!OPENSSL_init_crypto(0, NULL)) | ||
| 129 | return NULL; | ||
| 130 | |||
| 131 | return (const EVP_MD *)OBJ_NAME_get(name, OBJ_NAME_TYPE_MD_METH); | ||
| 132 | } | ||
| 133 | |||
| 134 | void | 116 | void |
| 135 | EVP_cleanup(void) | 117 | EVP_cleanup(void) |
| 136 | { | 118 | { |
