[newlib-cygwin] Add arc4random_stir and arc4random_addrandom for OpenBSD compatibility

Corinna Vinschen corinna@sourceware.org
Fri Mar 18 13:47:00 GMT 2016


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=5ccdcf02192aa7dad6bf29fe661c0ca666c4d00f

commit 5ccdcf02192aa7dad6bf29fe661c0ca666c4d00f
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Fri Mar 18 14:39:58 2016 +0100

    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 <corinna@vinschen.de>

Diff:
---
 newlib/libc/stdlib/arc4random.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/newlib/libc/stdlib/arc4random.c b/newlib/libc/stdlib/arc4random.c
index 75cdff3..146e176 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();
+}



More information about the Newlib-cvs mailing list