--- libyara/libyara.c.orig 2017-05-22 10:24:23.000000000 +0000 +++ libyara/libyara.c 2017-05-23 00:18:32.658793790 +0000 @@ -37,7 +37,7 @@ #include #include -#if defined(HAVE_LIBCRYPTO) && OPENSSL_VERSION_NUMBER < 0x10100000L +#if defined(HAVE_LIBCRYPTO) && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)) #include #endif @@ -71,7 +71,7 @@ char yr_altercase[256]; -#if defined(HAVE_LIBCRYPTO) && OPENSSL_VERSION_NUMBER < 0x10100000L +#if defined(HAVE_LIBCRYPTO) && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)) // The OpenSSL library before version 1.1 requires some locks in order // to be thread-safe. These locks are initialized in yr_initialize @@ -133,7 +133,7 @@ FAIL_ON_ERROR(yr_thread_storage_create(&yr_tidx_key)); FAIL_ON_ERROR(yr_thread_storage_create(&yr_recovery_state_key)); - #if defined HAVE_LIBCRYPTO && OPENSSL_VERSION_NUMBER < 0x10100000L + #if defined HAVE_LIBCRYPTO && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)) openssl_locks = (YR_MUTEX*) OPENSSL_malloc( CRYPTO_num_locks() * sizeof(YR_MUTEX)); @@ -178,7 +178,7 @@ YR_API int yr_finalize(void) { - #if defined HAVE_LIBCRYPTO && OPENSSL_VERSION_NUMBER < 0x10100000L + #if defined HAVE_LIBCRYPTO && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)) int i; #endif @@ -194,7 +194,7 @@ if (init_count > 0) return ERROR_SUCCESS; - #if defined HAVE_LIBCRYPTO && OPENSSL_VERSION_NUMBER < 0x10100000L + #if defined HAVE_LIBCRYPTO && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)) for (i = 0; i < CRYPTO_num_locks(); i ++) yr_mutex_destroy(&openssl_locks[i]);