From 2e98e2081a277d2388f17fcbc4b58055099066b1 Mon Sep 17 00:00:00 2001 From: dmiller Date: Fri, 12 Oct 2018 21:03:01 +0000 Subject: [PATCH] Fix build with OpenSSL API 1.1.0, which doesn't have RAND_pseudo_bytes --- nse_openssl.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nse_openssl.cc b/nse_openssl.cc index ec187ee12..eedc331ac 100644 --- a/nse_openssl.cc +++ b/nse_openssl.cc @@ -39,6 +39,10 @@ extern "C" { #include "lua.h" #include "lauxlib.h" +#if OPENSSL_API_COMPAT >= 0x10100000L + /* Needed for get_random_bytes, since RAND_pseudo_bytes is gone */ + #include +#endif } #include "nse_openssl.h" @@ -258,7 +262,11 @@ static int l_rand_pseudo_bytes( lua_State *L ) /** rand_pseudo_bytes( number byt unsigned char * result = (unsigned char *) malloc( len ); if (!result) return luaL_error( L, "Couldn't allocate memory."); +#if OPENSSL_API_COMPAT < 0x10100000L RAND_pseudo_bytes( result, len ); +#else + get_random_bytes( result, len ); +#endif lua_pushlstring( L, (char *) result, len ); free( result ); return 1;