summaryrefslogtreecommitdiff
path: root/Cryptlib/OpenSSL/crypto/evp/m_wp.c
diff options
context:
space:
mode:
authorSteve Langasek <steve.langasek@canonical.com>2016-09-19 15:07:08 -0700
committerSteve Langasek <steve.langasek@canonical.com>2016-09-19 15:07:08 -0700
commit1442bd709766f1b82be26e93ad774f4a720d0a70 (patch)
tree79ea54361f1b1fa10749101827391726a3f4bcef /Cryptlib/OpenSSL/crypto/evp/m_wp.c
parenta14921c5944c340056312f2f5b1728d698f628b1 (diff)
parenta8b6d058f06caab17d1ab5096c7077c813d47044 (diff)
downloadefi-boot-shim-1442bd709766f1b82be26e93ad774f4a720d0a70.tar.gz
efi-boot-shim-1442bd709766f1b82be26e93ad774f4a720d0a70.zip
Import upstream version 0.9+1465500757.14a5905
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/evp/m_wp.c')
-rw-r--r--Cryptlib/OpenSSL/crypto/evp/m_wp.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/Cryptlib/OpenSSL/crypto/evp/m_wp.c b/Cryptlib/OpenSSL/crypto/evp/m_wp.c
new file mode 100644
index 00000000..a890939e
--- /dev/null
+++ b/Cryptlib/OpenSSL/crypto/evp/m_wp.c
@@ -0,0 +1,48 @@
+/* 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