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 | } | ||