diff options
author | Kurt Roeckx <kurt@roeckx.be> | 2016-09-19 22:05:15 +0200 |
---|---|---|
committer | Azat Khuzhin <a3at.mail@gmail.com> | 2016-10-16 19:05:24 +0300 |
commit | 3e9e0a0d46e4508e8782ec3787c6d86bab63046d (patch) | |
tree | 3c0761f0c8ad6d7672a7469b3583acd62d634ccd /openssl-compat.h | |
parent | 6702da1a8ca6043aea662e191289869070e4f10d (diff) | |
download | libevent-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.h | 33 |
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 */ |