diff options
Diffstat (limited to 'src/lib/libcrypto/evp/m_md4.c')
-rw-r--r-- | src/lib/libcrypto/evp/m_md4.c | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/src/lib/libcrypto/evp/m_md4.c b/src/lib/libcrypto/evp/m_md4.c index 6a24ceb86d..e19b663754 100644 --- a/src/lib/libcrypto/evp/m_md4.c +++ b/src/lib/libcrypto/evp/m_md4.c | |||
@@ -56,27 +56,40 @@ | |||
56 | * [including the GNU Public Licence.] | 56 | * [including the GNU Public Licence.] |
57 | */ | 57 | */ |
58 | 58 | ||
59 | #ifndef NO_MD4 | 59 | #ifndef OPENSSL_NO_MD4 |
60 | #include <stdio.h> | 60 | #include <stdio.h> |
61 | #include "cryptlib.h" | 61 | #include "cryptlib.h" |
62 | #include <openssl/evp.h> | 62 | #include <openssl/evp.h> |
63 | #include <openssl/objects.h> | 63 | #include <openssl/objects.h> |
64 | #include <openssl/x509.h> | 64 | #include <openssl/x509.h> |
65 | #include <openssl/md4.h> | ||
65 | 66 | ||
66 | static EVP_MD md4_md= | 67 | static int init(EVP_MD_CTX *ctx) |
68 | { return MD4_Init(ctx->md_data); } | ||
69 | |||
70 | static int update(EVP_MD_CTX *ctx,const void *data,unsigned long count) | ||
71 | { return MD4_Update(ctx->md_data,data,count); } | ||
72 | |||
73 | static int final(EVP_MD_CTX *ctx,unsigned char *md) | ||
74 | { return MD4_Final(md,ctx->md_data); } | ||
75 | |||
76 | static const EVP_MD md4_md= | ||
67 | { | 77 | { |
68 | NID_md4, | 78 | NID_md4, |
69 | 0, | 79 | NID_md4WithRSAEncryption, |
70 | MD4_DIGEST_LENGTH, | 80 | MD4_DIGEST_LENGTH, |
71 | MD4_Init, | 81 | 0, |
72 | MD4_Update, | 82 | init, |
73 | MD4_Final, | 83 | update, |
84 | final, | ||
85 | NULL, | ||
86 | NULL, | ||
74 | EVP_PKEY_RSA_method, | 87 | EVP_PKEY_RSA_method, |
75 | MD4_CBLOCK, | 88 | MD4_CBLOCK, |
76 | sizeof(EVP_MD *)+sizeof(MD4_CTX), | 89 | sizeof(EVP_MD *)+sizeof(MD4_CTX), |
77 | }; | 90 | }; |
78 | 91 | ||
79 | EVP_MD *EVP_md4(void) | 92 | const EVP_MD *EVP_md4(void) |
80 | { | 93 | { |
81 | return(&md4_md); | 94 | return(&md4_md); |
82 | } | 95 | } |