diff options
Diffstat (limited to 'src/lib/libcrypto/evp/names.c')
| -rw-r--r-- | src/lib/libcrypto/evp/names.c | 93 |
1 files changed, 1 insertions, 92 deletions
diff --git a/src/lib/libcrypto/evp/names.c b/src/lib/libcrypto/evp/names.c index a96301ed56..7f5b455088 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.22 2023/12/15 14:22:10 tb Exp $ */ | 1 | /* $OpenBSD: names.c,v 1.23 2024/01/13 11:08:39 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 | * |
| @@ -146,94 +146,3 @@ EVP_cleanup(void) | |||
| 146 | OBJ_cleanup(); | 146 | OBJ_cleanup(); |
| 147 | } | 147 | } |
| 148 | } | 148 | } |
| 149 | |||
| 150 | struct doall_cipher { | ||
| 151 | void *arg; | ||
| 152 | void (*fn)(const EVP_CIPHER *ciph, const char *from, const char *to, | ||
| 153 | void *arg); | ||
| 154 | }; | ||
| 155 | |||
| 156 | static void | ||
| 157 | do_all_cipher_fn(const OBJ_NAME *nm, void *arg) | ||
| 158 | { | ||
| 159 | struct doall_cipher *dc = arg; | ||
| 160 | |||
| 161 | if (nm->alias) | ||
| 162 | dc->fn(NULL, nm->name, nm->data, dc->arg); | ||
| 163 | else | ||
| 164 | dc->fn((const EVP_CIPHER *)nm->data, nm->name, NULL, dc->arg); | ||
| 165 | } | ||
| 166 | |||
| 167 | void | ||
| 168 | EVP_CIPHER_do_all(void (*fn)(const EVP_CIPHER *ciph, const char *from, | ||
| 169 | const char *to, void *x), void *arg) | ||
| 170 | { | ||
| 171 | struct doall_cipher dc; | ||
| 172 | |||
| 173 | /* Prayer and clean living lets you ignore errors, OpenSSL style */ | ||
| 174 | (void) OPENSSL_init_crypto(0, NULL); | ||
| 175 | |||
| 176 | dc.fn = fn; | ||
| 177 | dc.arg = arg; | ||
| 178 | OBJ_NAME_do_all(OBJ_NAME_TYPE_CIPHER_METH, do_all_cipher_fn, &dc); | ||
| 179 | } | ||
| 180 | |||
| 181 | void | ||
| 182 | EVP_CIPHER_do_all_sorted(void (*fn)(const EVP_CIPHER *ciph, const char *from, | ||
| 183 | const char *to, void *x), void *arg) | ||
| 184 | { | ||
| 185 | struct doall_cipher dc; | ||
| 186 | |||
| 187 | /* Prayer and clean living lets you ignore errors, OpenSSL style */ | ||
| 188 | (void) OPENSSL_init_crypto(0, NULL); | ||
| 189 | |||
| 190 | dc.fn = fn; | ||
| 191 | dc.arg = arg; | ||
| 192 | OBJ_NAME_do_all_sorted(OBJ_NAME_TYPE_CIPHER_METH, | ||
| 193 | do_all_cipher_fn, &dc); | ||
| 194 | } | ||
| 195 | |||
| 196 | struct doall_md { | ||
| 197 | void *arg; | ||
| 198 | void (*fn)(const EVP_MD *ciph, const char *from, const char *to, | ||
| 199 | void *arg); | ||
| 200 | }; | ||
| 201 | |||
| 202 | static void | ||
| 203 | do_all_md_fn(const OBJ_NAME *nm, void *arg) | ||
| 204 | { | ||
| 205 | struct doall_md *dc = arg; | ||
| 206 | |||
| 207 | if (nm->alias) | ||
| 208 | dc->fn(NULL, nm->name, nm->data, dc->arg); | ||
| 209 | else | ||
| 210 | dc->fn((const EVP_MD *)nm->data, nm->name, NULL, dc->arg); | ||
| 211 | } | ||
| 212 | |||
| 213 | void | ||
| 214 | EVP_MD_do_all(void (*fn)(const EVP_MD *md, const char *from, const char *to, | ||
| 215 | void *x), void *arg) | ||
| 216 | { | ||
| 217 | struct doall_md dc; | ||
| 218 | |||
| 219 | /* Prayer and clean living lets you ignore errors, OpenSSL style */ | ||
| 220 | (void) OPENSSL_init_crypto(0, NULL); | ||
| 221 | |||
| 222 | dc.fn = fn; | ||
| 223 | dc.arg = arg; | ||
| 224 | OBJ_NAME_do_all(OBJ_NAME_TYPE_MD_METH, do_all_md_fn, &dc); | ||
| 225 | } | ||
| 226 | |||
| 227 | void | ||
| 228 | EVP_MD_do_all_sorted(void (*fn)(const EVP_MD *md, | ||
| 229 | const char *from, const char *to, void *x), void *arg) | ||
| 230 | { | ||
| 231 | struct doall_md dc; | ||
| 232 | |||
| 233 | /* Prayer and clean living lets you ignore errors, OpenSSL style */ | ||
| 234 | (void) OPENSSL_init_crypto(0, NULL); | ||
| 235 | |||
| 236 | dc.fn = fn; | ||
| 237 | dc.arg = arg; | ||
| 238 | OBJ_NAME_do_all_sorted(OBJ_NAME_TYPE_MD_METH, do_all_md_fn, &dc); | ||
| 239 | } | ||
