Index: files/patch-libressl =================================================================== --- files/patch-libressl (revision 465490) +++ files/patch-libressl (working copy) @@ -1,26 +1,30 @@ -LibreSSL uses a synthetic version in order to force consumers to check -individual features instead but API isn't compatible with OpenSSL 1.1.x. - -https://github.com/libevent/libevent/commit/d057c45e8f48 - ---- openssl-compat.h.orig 2017-01-25 23:37:15 UTC -+++ openssl-compat.h +--- openssl-compat.h.orig 2017-01-26 00:37:15.000000000 +0100 ++++ openssl-compat.h 2018-03-25 00:45:32.856945000 +0100 @@ -1,7 +1,7 @@ #ifndef OPENSSL_COMPAT_H #define OPENSSL_COMPAT_H - + -#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) - ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L ) + static inline BIO_METHOD *BIO_meth_new(int type, const char *name) { -@@ -30,6 +30,6 @@ static inline BIO_METHOD *BIO_meth_new(i - +@@ -24,12 +24,14 @@ + #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 + #define TLS_method SSLv23_method - + -#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ -+#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) */ - ++#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L )*/ + ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) ++#define BIO_get_init(b) (b)->init ++#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)*/ #endif /* OPENSSL_COMPAT_H */ --- sample/https-client.c.orig 2017-01-25 23:37:15 UTC +++ sample/https-client.c @@ -29,7 +33,7 @@ uri[sizeof(uri) - 1] = '\0'; -#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L ) // Initialize OpenSSL SSL_library_init(); ERR_load_crypto_strings(); @@ -38,7 +42,7 @@ if (type == HTTP && ssl) SSL_free(ssl); -#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L ) EVP_cleanup(); ERR_free_strings(); @@ -47,7 +51,7 @@ sk_SSL_COMP_free(SSL_COMP_get_compression_methods()); -#endif /*OPENSSL_VERSION_NUMBER < 0x10100000L */ -+#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) */ ++#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L )*/ #ifdef _WIN32 WSACleanup(); @@ -58,7 +62,7 @@ if (use_ssl) { int r; -#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L ) SSL_library_init(); ERR_load_crypto_strings(); SSL_load_error_strings(); @@ -69,7 +73,7 @@ #define HOSTNAME_MAX_SIZE 255 -#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L ) #define ASN1_STRING_get0_data ASN1_STRING_data #endif @@ -80,7 +84,7 @@ init_ssl(void) { -#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L ) SSL_library_init(); ERR_load_crypto_strings(); SSL_load_error_strings();