Il 18/11/2012 11:29, Stefan Weil ha scritto:
> Am 17.11.2012 14:41, schrieb Anthony Liguori:
>> There is no /dev/random on win32.
>>
>> Cc: Stefan Weil<w...@mail.berlios.de>
>> Signed-off-by: Anthony Liguori<aligu...@us.ibm.com>
>> ---
>>   backends/Makefile.objs | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/backends/Makefile.objs b/backends/Makefile.objs
>> index 875eebc..8836761 100644
>> --- a/backends/Makefile.objs
>> +++ b/backends/Makefile.objs
>> @@ -1 +1,2 @@
>> -common-obj-y += rng.o rng-random.o rng-egd.o
>> +common-obj-y += rng.o rng-egd.o
>> +common-obj-$(CONFIG_POSIX) += rng-random.o
> 
> The patch fixes a build issue on w32 / w64, but the reason given
> is misleading: yes, Windows has no /dev files, but the MinGW
> library tries to emulate the most important interfaces from /dev.

Ah, I thought that was only MSYS and Cygiwin, not MinGW.

> There is a /dev/random with MinGW, and it does what it is supposed
> to do. See this URL for more supported "devices":
> http://srv.onzk.net/linwin/apache-php3-mysql/CygWin_20b_98-4_Documents_OnLine/CygWin-Ug-Net/using-specialnames.html

But a properly-implemented /dev/random will block more often than not,
so it is not a good idea to use a "fake" O_NONBLOCK.  Using native Win32
crypto APIs is a much better idea.

Paolo

Reply via email to