libidav/crypto.c

changeset 261
f60d742a62a0
parent 260
26f5f817429e
child 267
171498cb2137
--- a/libidav/crypto.c	Sat Feb 04 12:41:11 2017 +0100
+++ b/libidav/crypto.c	Sat Feb 04 14:03:32 2017 +0100
@@ -34,6 +34,24 @@
 #include <libidav/utils.h>
 #include "crypto.h"
 
+#if OPENSSL_VERSION_NUMBER < 10000000
+
+static EVP_CIPHER_CTX* create_evp_cipher_ctx() {
+    EVP_CIPHER_CTX *ctx = malloc(sizeof(EVP_CIPHER_CTX));
+    EVP_CIPHER_CTX_init(ctx);
+    return ctx;
+}
+
+static void free_evp_cipher_ctx(EVP_CIPHER_CTX *ctx) {
+    EVP_CIPHER_CTX_cleanup(ctx);
+    free(ctx);
+}
+
+#define EVP_CIPHER_CTX_new() create_evp_cipher_ctx()
+#define EVP_CIPHER_CTX_free(ctx) free_evp_cipher_ctx(ctx)
+
+#endif
+
 AESDecrypter* aes_decrypter_new(DavKey *key, void *stream, dav_write_func write_func) {
     AESDecrypter *dec = calloc(1, sizeof(AESDecrypter));
     SHA256_Init(&dec->sha256);

mercurial