diff options
author | Kim Alvefur <zash@zash.se> | 2017-03-01 02:38:05 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2017-03-01 02:38:05 +0100 |
commit | a11a584a59cde70ce4f0880049b9e675d8b2e223 (patch) | |
tree | 9e8179e3cdc021aa83812cf4bbdb4fd0d9cbc814 /util-src/crand.c | |
parent | 93f4c5076db39f3cc14bb2ad989ade760da0f107 (diff) | |
parent | 4de415d6700cd0f1ab4111cdf4c5f5cb7161c766 (diff) | |
download | prosody-a11a584a59cde70ce4f0880049b9e675d8b2e223.tar.gz prosody-a11a584a59cde70ce4f0880049b9e675d8b2e223.zip |
Merge 0.10->trunk
Diffstat (limited to 'util-src/crand.c')
-rw-r--r-- | util-src/crand.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/util-src/crand.c b/util-src/crand.c index cc2047eb..f3fa00ea 100644 --- a/util-src/crand.c +++ b/util-src/crand.c @@ -67,6 +67,11 @@ int Lrandom(lua_State *L) { arc4random_buf(buf, len); ret = len; #elif defined(WITH_OPENSSL) + if(!RAND_status()) { + lua_pushliteral(L, "OpenSSL PRNG not seeded"); + return lua_error(L); + } + ret = RAND_bytes(buf, len); if(ret == 1) { @@ -87,6 +92,7 @@ int luaopen_util_crand(lua_State *L) { #if (LUA_VERSION_NUM > 501) luaL_checkversion(L); #endif + lua_newtable(L); lua_pushcfunction(L, Lrandom); lua_setfield(L, -2, "bytes"); @@ -100,10 +106,6 @@ int luaopen_util_crand(lua_State *L) { #endif lua_setfield(L, -2, "_source"); -#if defined(WITH_OPENSSL) && defined(_WIN32) - /* TODO Do we need to seed this on Windows? */ -#endif - return 1; } |