This is the mail archive of the mailing list for the newlib project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 5/5] Add arc4random() etc. from OpenBSD 5.8

On 18/03/16 14:50, Corinna Vinschen wrote:
On Mar 18 12:28, Corinna Vinschen wrote:
>On Mar 18 11:49, Sebastian Huber wrote:
> >According to the OpenBSD man page, "A Replacement Call for Random".  It
> >offers high quality random numbers derived from input data obtained by
> >the OpenBSD specific getentropy() system call which is declared in
> ><unistd.h> and must be implemented for each Newlib port externally.  The
> >arc4random() functions are used for example in LibreSSL and OpenSSH.
> >
> >Cygwin provides currently its own implementation of the arc4random
> >family.  Maybe it makes sense to use this getentropy() implementation:
> >
> >
>No, that pulls in a dependency to another DLL which we're trying to avoid.
>Using RtlGenRandom should work though.  I have to test this.
All patches applied.  I immediately implemented the changes required for
Cygwin.  In the first place that required to add two functions
arc4random_stir and arc4random_addrandom to maintain backward
compatibility since both OpenBSD functions were already exported by

My aim with the "newlib/libc/sys/*/include/machine/_arc4random.h" file was to avoid #ifdef SYS_XYZ cascades in the generic files. It seems that for Cygwin there is no "newlib/libc/sys/cygwin" directory. Would it be possible to add this and place a "newlib/libc/sys/cygwin/include/machine/_arc4random.h" in it?

I am not sure if we should add the arc4random_stir() and arc4random_addrandom() functions, since this may lead configure scripts to enable their use. With the getentropy() system call I am not sure if this is harmful.

Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  :
PGP     : Public key available on request.

Diese Nachricht ist keine geschÃftliche Mitteilung im Sinne des EHUG.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]