diff options
| author | tb <> | 2023-12-24 22:17:05 +0000 |
|---|---|---|
| committer | tb <> | 2023-12-24 22:17:05 +0000 |
| commit | 0493215736e507189f2f82a62e56794d6e304069 (patch) | |
| tree | b61ee7c07174a0c5157f93ee515b32f71f9c7992 /src | |
| parent | 88fa80fab32a0f53ac1fe72bc4d1a77d9083eaeb (diff) | |
| download | openbsd-0493215736e507189f2f82a62e56794d6e304069.tar.gz openbsd-0493215736e507189f2f82a62e56794d6e304069.tar.bz2 openbsd-0493215736e507189f2f82a62e56794d6e304069.zip | |
Move EVP_Digest() next to the functions it wraps
It really makes no sense to have the mess that is EVP_MD_CTX_copy{,_ex}()
live between EVP_Digest{Init{,_ex},Update,Final{,_ex}}() and EVP_Digest(),
the latter being a relatively simple wrapper of Init_ex/Update/Final_ex.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/evp/digest.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/lib/libcrypto/evp/digest.c b/src/lib/libcrypto/evp/digest.c index ee0c68e707..56decc231c 100644 --- a/src/lib/libcrypto/evp/digest.c +++ b/src/lib/libcrypto/evp/digest.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: digest.c,v 1.40 2023/11/29 21:35:57 tb Exp $ */ | 1 | /* $OpenBSD: digest.c,v 1.41 2023/12/24 22:17:05 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 | * |
| @@ -201,6 +201,23 @@ EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size) | |||
| 201 | } | 201 | } |
| 202 | 202 | ||
| 203 | int | 203 | int |
| 204 | EVP_Digest(const void *data, size_t count, | ||
| 205 | unsigned char *md, unsigned int *size, const EVP_MD *type, ENGINE *impl) | ||
| 206 | { | ||
| 207 | EVP_MD_CTX ctx; | ||
| 208 | int ret; | ||
| 209 | |||
| 210 | EVP_MD_CTX_init(&ctx); | ||
| 211 | EVP_MD_CTX_set_flags(&ctx, EVP_MD_CTX_FLAG_ONESHOT); | ||
| 212 | ret = EVP_DigestInit_ex(&ctx, type, NULL) && | ||
| 213 | EVP_DigestUpdate(&ctx, data, count) && | ||
| 214 | EVP_DigestFinal_ex(&ctx, md, size); | ||
| 215 | EVP_MD_CTX_cleanup(&ctx); | ||
| 216 | |||
| 217 | return ret; | ||
| 218 | } | ||
| 219 | |||
| 220 | int | ||
| 204 | EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in) | 221 | EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in) |
| 205 | { | 222 | { |
| 206 | EVP_MD_CTX_init(out); | 223 | EVP_MD_CTX_init(out); |
| @@ -262,23 +279,6 @@ EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in) | |||
| 262 | return 1; | 279 | return 1; |
| 263 | } | 280 | } |
| 264 | 281 | ||
| 265 | int | ||
| 266 | EVP_Digest(const void *data, size_t count, | ||
| 267 | unsigned char *md, unsigned int *size, const EVP_MD *type, ENGINE *impl) | ||
| 268 | { | ||
| 269 | EVP_MD_CTX ctx; | ||
| 270 | int ret; | ||
| 271 | |||
| 272 | EVP_MD_CTX_init(&ctx); | ||
| 273 | EVP_MD_CTX_set_flags(&ctx, EVP_MD_CTX_FLAG_ONESHOT); | ||
| 274 | ret = EVP_DigestInit_ex(&ctx, type, NULL) && | ||
| 275 | EVP_DigestUpdate(&ctx, data, count) && | ||
| 276 | EVP_DigestFinal_ex(&ctx, md, size); | ||
| 277 | EVP_MD_CTX_cleanup(&ctx); | ||
| 278 | |||
| 279 | return ret; | ||
| 280 | } | ||
| 281 | |||
| 282 | EVP_MD_CTX * | 282 | EVP_MD_CTX * |
| 283 | EVP_MD_CTX_new(void) | 283 | EVP_MD_CTX_new(void) |
| 284 | { | 284 | { |
