summaryrefslogtreecommitdiff
path: root/drivers/builtin_openssl/crypto/evp/m_wp.c
diff options
context:
space:
mode:
authorjonyrock <ilms@live.ru>2014-05-01 20:15:28 +0400
committerjonyrock <ilms@live.ru>2014-05-01 20:15:28 +0400
commit209eaf6fa06eba8a05e5222bdab418cd0f20c91c (patch)
tree94eac56be6ad254a7c09e13d5e14bd843626232c /drivers/builtin_openssl/crypto/evp/m_wp.c
parent34aea718b11e105d30c938ad34e474b1bd8b5d63 (diff)
parent6572d5128856b2ec55a2c417c92e584899f4906f (diff)
Merge remote-tracking branch 'upstream/master' into pair_symbols_tool
Diffstat (limited to 'drivers/builtin_openssl/crypto/evp/m_wp.c')
-rw-r--r--drivers/builtin_openssl/crypto/evp/m_wp.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/drivers/builtin_openssl/crypto/evp/m_wp.c b/drivers/builtin_openssl/crypto/evp/m_wp.c
new file mode 100644
index 0000000000..c51bc2d5d1
--- /dev/null
+++ b/drivers/builtin_openssl/crypto/evp/m_wp.c
@@ -0,0 +1,43 @@
+/* crypto/evp/m_wp.c */
+
+#include <stdio.h>
+#include "cryptlib.h"
+
+#ifndef OPENSSL_NO_WHIRLPOOL
+
+#include <openssl/evp.h>
+#include <openssl/objects.h>
+#include <openssl/x509.h>
+#include <openssl/whrlpool.h>
+#include "evp_locl.h"
+
+static int init(EVP_MD_CTX *ctx)
+ { return WHIRLPOOL_Init(ctx->md_data); }
+
+static int update(EVP_MD_CTX *ctx,const void *data,size_t count)
+ { return WHIRLPOOL_Update(ctx->md_data,data,count); }
+
+static int final(EVP_MD_CTX *ctx,unsigned char *md)
+ { return WHIRLPOOL_Final(md,ctx->md_data); }
+
+static const EVP_MD whirlpool_md=
+ {
+ NID_whirlpool,
+ 0,
+ WHIRLPOOL_DIGEST_LENGTH,
+ 0,
+ init,
+ update,
+ final,
+ NULL,
+ NULL,
+ EVP_PKEY_NULL_method,
+ WHIRLPOOL_BBLOCK/8,
+ sizeof(EVP_MD *)+sizeof(WHIRLPOOL_CTX),
+ };
+
+const EVP_MD *EVP_whirlpool(void)
+ {
+ return(&whirlpool_md);
+ }
+#endif