diff --git a/src/ssl_sock.c b/src/ssl_sock.c index 30876e2ea..112520c82 100644 --- a/src/ssl_sock.c +++ b/src/ssl_sock.c @@ -261,7 +261,11 @@ static int ha_ssl_write(BIO *h, const char *buf, int num) struct ssl_sock_ctx *ctx; int ret; +#if OPENSSL_VERSION_NUMBER < 0x10100000 + ctx = h->ptr; +#else ctx = BIO_get_data(h); +#endif tmpbuf.size = num; tmpbuf.area = (void *)(uintptr_t)buf; tmpbuf.data = num; @@ -290,7 +294,11 @@ static int ha_ssl_read(BIO *h, char *buf, int size) struct ssl_sock_ctx *ctx; int ret; +#if OPENSSL_VERSION_NUMBER < 0x10100000 + ctx = h->ptr; +#else ctx = BIO_get_data(h); +#endif tmpbuf.size = size; tmpbuf.area = buf; tmpbuf.data = 0; @@ -316,8 +324,13 @@ static long ha_ssl_ctrl(BIO *h, int cmd, long arg1, void *arg2) static int ha_ssl_new(BIO *h) { +#if OPENSSL_VERSION_NUMBER < 0x10100000L + h->init = 1; + h->ptr = NULL; +#else BIO_set_init(h, 1); BIO_set_data(h, NULL); +#endif BIO_clear_flags(h, ~0); return 1; } @@ -9840,7 +9853,7 @@ static void __ssl_sock_init(void) ERR_load_SSL_strings(); #if OPENSSL_VERSION_NUMBER < 0x10100000L ha_meth = malloc(sizeof(*ha_meth)); - bzero(ha_meth, sizeof(*ha_metho)); + bzero(ha_meth, sizeof(*ha_meth)); ha_meth->bwrite = ha_ssl_write; ha_meth->bread = ha_ssl_read; ha_meth->ctrl = ha_ssl_ctrl;