From 5ccdcf02192aa7dad6bf29fe661c0ca666c4d00f Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 18 Mar 2016 14:39:58 +0100 Subject: Add arc4random_stir and arc4random_addrandom for OpenBSD compatibility * libc/stdlib/arc4random.c (arc4random_stir): New function. (arc4random_addrandom): Ditto. Signed-off-by: Corinna Vinschen --- newlib/libc/stdlib/arc4random.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'newlib/libc') diff --git a/newlib/libc/stdlib/arc4random.c b/newlib/libc/stdlib/arc4random.c index 75cdff3bc..146e1762c 100644 --- a/newlib/libc/stdlib/arc4random.c +++ b/newlib/libc/stdlib/arc4random.c @@ -193,3 +193,21 @@ arc4random_buf(void *buf, size_t n) _rs_random_buf(buf, n); _ARC4_UNLOCK(); } + +void +arc4random_stir(void) +{ + _ARC4_LOCK(); + _rs_stir(); + _ARC4_UNLOCK(); +} + +void +arc4random_addrandom(u_char *dat, int datlen) +{ + _ARC4_LOCK(); + if (!rs) + _rs_stir(); + _rs_rekey(dat, datlen); + _ARC4_UNLOCK(); +} -- cgit v1.2.3