summaryrefslogtreecommitdiff
path: root/openssl-compat.h
diff options
context:
space:
mode:
authorKurt Roeckx <kurt@roeckx.be>2016-09-19 22:05:15 +0200
committerAzat Khuzhin <a3at.mail@gmail.com>2016-10-16 19:05:24 +0300
commit3e9e0a0d46e4508e8782ec3787c6d86bab63046d (patch)
tree3c0761f0c8ad6d7672a7469b3583acd62d634ccd /openssl-compat.h
parent6702da1a8ca6043aea662e191289869070e4f10d (diff)
downloadlibevent-3e9e0a0d46e4508e8782ec3787c6d86bab63046d.tar.gz
Make it build using OpenSSL 1.1.0
Rebased (azat): - tabs instead of whitespaces - make openssl-compat.h safe for complex expressions - do not call sk_SSL_COMP_free() in 1.1 (fixes double free) TODO: - clean methods_bufferevent Closes: #397 (cherry-picked)
Diffstat (limited to 'openssl-compat.h')
-rw-r--r--openssl-compat.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/openssl-compat.h b/openssl-compat.h
new file mode 100644
index 00000000..628f5661
--- /dev/null
+++ b/openssl-compat.h
@@ -0,0 +1,33 @@
+#ifndef OPENSSL_COMPAT_H
+#define OPENSSL_COMPAT_H
+
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+
+static BIO_METHOD *BIO_meth_new(int type, const char *name)
+{
+ BIO_METHOD *biom = calloc(1, sizeof(BIO_METHOD));
+
+ if (biom != NULL) {
+ biom->type = type;
+ biom->name = name;
+ }
+ return biom;
+}
+
+#define BIO_meth_set_write(b, f) (b)->bwrite = (f)
+#define BIO_meth_set_read(b, f) (b)->bread = (f)
+#define BIO_meth_set_puts(b, f) (b)->bputs = (f)
+#define BIO_meth_set_ctrl(b, f) (b)->ctrl = (f)
+#define BIO_meth_set_create(b, f) (b)->create = (f)
+#define BIO_meth_set_destroy(b, f) (b)->destroy = (f)
+
+#define BIO_set_init(b, val) (b)->init = (val)
+#define BIO_set_data(b, val) (b)->ptr = (val)
+#define BIO_set_shutdown(b, val) (b)->shutdown = (val)
+#define BIO_get_init(b) (b)->init
+#define BIO_get_data(b) (b)->ptr
+#define BIO_get_shutdown(b) (b)->shutdown
+
+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
+
+#endif /* OPENSSL_COMPAT_H */