From a62f8ced7af51d1c4fd8abceb521bd24f362ab14 Mon Sep 17 00:00:00 2001 From: nia Date: Mon, 21 Oct 2019 20:33:48 +0100 Subject: netbsd: use KERN_ARND sysctl to get entropy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/libuv/libuv/pull/2528 Reviewed-By: Ben Noordhuis Reviewed-By: Saúl Ibarra Corretgé Reviewed-By: Colin Ihrig Reviewed-By: Santiago Gimeno --- src/unix/netbsd.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/unix/netbsd.c') diff --git a/src/unix/netbsd.c b/src/unix/netbsd.c index cfe2c6a4..690bd79e 100644 --- a/src/unix/netbsd.c +++ b/src/unix/netbsd.c @@ -234,3 +234,26 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { uv__free(cp_times); return 0; } + +int uv__random_sysctl(void* buf, size_t len) { + static int name[] = {CTL_KERN, KERN_ARND}; + size_t count, req; + unsigned char* p; + + p = buf; + while (len) { + req = len < 32 ? len : 32; + count = req; + + if (sysctl(name, ARRAY_SIZE(name), p, &count, NULL, 0) == -1) + return UV__ERR(errno); + + if (count != req) + return UV_EIO; /* Can't happen. */ + + p += count; + len -= count; + } + + return 0; +} -- cgit v1.2.3