Implement getentropy for Cygwin

* miscfuncs.cc (getentropy): Move fhandler_dev_random::crypt_gen_random
	here and rename to getentropy.  Fix type and return values to match
	getentropy requirements.
	* miscfuncs.h (getentropy): Add prototype.
	* fhandler.h (fhandler_dev_random::crypt_gen_random): Remove prototype.
	* fhandler_random.cc (fhandler_dev_random::crypt_gen_random): Drop.
	(fhandler_dev_random::write): Use getentropy instead.
	(fhandler_dev_random::read): Ditto.
	* fhandler_socket.cc (fhandler_socket::af_local_set_secret): Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen
2016-03-18 14:46:20 +01:00
parent e0fc33322d
commit dcf31cdc99
5 changed files with 27 additions and 30 deletions

View File

@@ -488,8 +488,7 @@ fhandler_socket::af_local_copy (fhandler_socket *sock)
void
fhandler_socket::af_local_set_secret (char *buf)
{
if (!fhandler_dev_random::crypt_gen_random (connect_secret,
sizeof (connect_secret)))
if (getentropy (connect_secret, sizeof (connect_secret)))
bzero ((char*) connect_secret, sizeof (connect_secret));
__small_sprintf (buf, "%08x-%08x-%08x-%08x",
connect_secret [0], connect_secret [1],