From 2652d5d058ed599775f131fd0b463c74f6178ebf Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 1 Mar 2017 22:27:11 +0100 Subject: util.pposix, configure: Move _GNU_SOURCE macro into source files --- util-src/crand.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'util-src/crand.c') diff --git a/util-src/crand.c b/util-src/crand.c index f3fa00ea..8ac89a1f 100644 --- a/util-src/crand.c +++ b/util-src/crand.c @@ -19,6 +19,8 @@ * */ +#define _DEFAULT_SOURCE + #include "lualib.h" #include "lauxlib.h" -- cgit v1.2.3 From 52968a85dae573d38ef6060ef03b410a1d19d8bf Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 1 Mar 2017 22:39:01 +0100 Subject: util.crand: Move comment block --- util-src/crand.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'util-src/crand.c') diff --git a/util-src/crand.c b/util-src/crand.c index 8ac89a1f..95362589 100644 --- a/util-src/crand.c +++ b/util-src/crand.c @@ -36,10 +36,6 @@ #error getrandom() requires Linux 3.17 or later #endif -/* - * This acts like a read from /dev/urandom with the exception that it - * *does* block if the entropy pool is not yet initialized. - */ int getrandom(void *buf, size_t len, int flags) { return syscall(SYS_getrandom, buf, len, flags); } @@ -58,6 +54,10 @@ int Lrandom(lua_State *L) { void *buf = lua_newuserdata(L, len); #if defined(WITH_GETRANDOM) + /* + * This acts like a read from /dev/urandom with the exception that it + * *does* block if the entropy pool is not yet initialized. + */ ret = getrandom(buf, len, 0); if(ret < 0) { -- cgit v1.2.3 From 7fc0bff0d7f000e6610e5546277e832c5f9f47e3 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Thu, 2 Mar 2017 00:15:04 +0100 Subject: util.crand: Change argumen names to match some man page --- util-src/crand.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'util-src/crand.c') diff --git a/util-src/crand.c b/util-src/crand.c index 95362589..353b153c 100644 --- a/util-src/crand.c +++ b/util-src/crand.c @@ -36,8 +36,8 @@ #error getrandom() requires Linux 3.17 or later #endif -int getrandom(void *buf, size_t len, int flags) { - return syscall(SYS_getrandom, buf, len, flags); +int getrandom(void *buf, size_t buflen, unsigned int flags) { + return syscall(SYS_getrandom, buf, buflen, flags); } #elif defined(WITH_ARC4RANDOM) -- cgit v1.2.3 From 99566991931164b9a853c76db977d73ada6f630f Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Thu, 2 Mar 2017 00:17:34 +0100 Subject: util.crand: Only include getrandom shiv with glibc older than 2.25 --- util-src/crand.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'util-src/crand.c') diff --git a/util-src/crand.c b/util-src/crand.c index 353b153c..ef9da4d2 100644 --- a/util-src/crand.c +++ b/util-src/crand.c @@ -28,17 +28,22 @@ #include #if defined(WITH_GETRANDOM) + +#if ! __GLIBC_PREREQ(2,25) #include #include -#include #ifndef SYS_getrandom #error getrandom() requires Linux 3.17 or later #endif +/* This wasn't present before glibc 2.25 */ int getrandom(void *buf, size_t buflen, unsigned int flags) { return syscall(SYS_getrandom, buf, buflen, flags); } +#else +#include +#endif #elif defined(WITH_ARC4RANDOM) #include -- cgit v1.2.3