mirror of
https://github.com/nmap/nmap.git
synced 2025-12-07 21:21:31 +00:00
Fix build with OpenSSL API 1.1.0, which doesn't have RAND_pseudo_bytes
This commit is contained in:
@@ -39,6 +39,10 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#include "lua.h"
|
#include "lua.h"
|
||||||
#include "lauxlib.h"
|
#include "lauxlib.h"
|
||||||
|
#if OPENSSL_API_COMPAT >= 0x10100000L
|
||||||
|
/* Needed for get_random_bytes, since RAND_pseudo_bytes is gone */
|
||||||
|
#include <nbase.h>
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "nse_openssl.h"
|
#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 );
|
unsigned char * result = (unsigned char *) malloc( len );
|
||||||
if (!result) return luaL_error( L, "Couldn't allocate memory.");
|
if (!result) return luaL_error( L, "Couldn't allocate memory.");
|
||||||
|
|
||||||
|
#if OPENSSL_API_COMPAT < 0x10100000L
|
||||||
RAND_pseudo_bytes( result, len );
|
RAND_pseudo_bytes( result, len );
|
||||||
|
#else
|
||||||
|
get_random_bytes( result, len );
|
||||||
|
#endif
|
||||||
lua_pushlstring( L, (char *) result, len );
|
lua_pushlstring( L, (char *) result, len );
|
||||||
free( result );
|
free( result );
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user