summaryrefslogtreecommitdiffstats
path: root/crypto/evp/legacy_meth.h
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2019-12-18 14:46:01 +1000
committerShane Lontis <shane.lontis@oracle.com>2019-12-18 14:46:01 +1000
commitb2055d67f0d6cc3156ac89dae255e4abc8881b69 (patch)
tree953d8331bae9fd2980f2380cd35cb341d842af29 /crypto/evp/legacy_meth.h
parent1ac7e15375be39c8f03171c02658cf703f58217a (diff)
Cleanup legacy digest methods.
Macros have been added to generate the simple legacy methods. Engines and EVP_MD_METH_get methods still require access to the old legacy methods, so they needed to be added back in. They may only be removed after engines are deprecated and removed. Removed some unnecessary #includes and #ifndef guards (which are done in build.info instead). Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10602)
Diffstat (limited to 'crypto/evp/legacy_meth.h')
-rw-r--r--crypto/evp/legacy_meth.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/crypto/evp/legacy_meth.h b/crypto/evp/legacy_meth.h
new file mode 100644
index 0000000000..0a23efd05a
--- /dev/null
+++ b/crypto/evp/legacy_meth.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#define IMPLEMENT_LEGACY_EVP_MD_METH(nm, fn) \
+static int nm##_init(EVP_MD_CTX *ctx) \
+{ \
+ return fn##_Init(EVP_MD_CTX_md_data(ctx)); \
+} \
+static int nm##_update(EVP_MD_CTX *ctx, const void *data, size_t count) \
+{ \
+ return fn##_Update(EVP_MD_CTX_md_data(ctx), data, count); \
+} \
+static int nm##_final(EVP_MD_CTX *ctx, unsigned char *md) \
+{ \
+ return fn##_Final(md, EVP_MD_CTX_md_data(ctx)); \
+}
+
+#define IMPLEMENT_LEGACY_EVP_MD_METH_LC(nm, fn) \
+static int nm##_init(EVP_MD_CTX *ctx) \
+{ \
+ return fn##_init(EVP_MD_CTX_md_data(ctx)); \
+} \
+static int nm##_update(EVP_MD_CTX *ctx, const void *data, size_t count) \
+{ \
+ return fn##_update(EVP_MD_CTX_md_data(ctx), data, count); \
+} \
+static int nm##_final(EVP_MD_CTX *ctx, unsigned char *md) \
+{ \
+ return fn##_final(md, EVP_MD_CTX_md_data(ctx)); \
+}
+
+
+#define LEGACY_EVP_MD_METH_TABLE(init, update, final, ctrl, blksz) \
+ init, update, final, NULL, NULL, blksz, 0, ctrl