On Fri, Feb 02, 2001 at 03:24:28PM +0100, John Hughes wrote:
> > - Next step is to find out, why openssl blocks when accessing the egd-pool
> > on Unixware...
>
> Here's what's happening... (/u/local/var/entropy is my prngd socket):
>
> xsocket(FP1_XPG4, PF_UNIX, SOCK_STREAM, 0) = 3
> xconnect(FP1_XPG4, 3, {sin_family=AF_UNIX, path="/u/local/var/entropy"}, 22)
> = 0
> write(3, "\1\377", 2) = 2
> read(3, "\377", 1) = 1
> read(3, "%\17\24\245\241\333\322\25\32\236\270f\273\273\247\321"..., 255) =
> 255
> getpid() = 16012 (ppid 16011)
> open("/dev/urandom", O_RDONLY) = -1 ENOENT (No such file or
> directory)
> getuid() = 200 (euid 200)
> time() = 981123359
> close(3) = 0
> xstat(2, "/u/local/var/entropy", {st_mode=S_IFIFO|0777, st_size=0, ...}) = 0
> open("/u/local/var/entropy", O_RDONLY <unfinished ...>
> --- SIGINT (Interrupt) ---
>
> Why it tries to read from the socket as if it were a file I don't
> yet know.
>
> Something to do the the extra-wierd socket==fifo nonsense on UW7
> I expect.
We are facing two problems:
1. in apps/app_rand.c:181 the openssl application tries to read from file
'n' regardless whether RAND_egd(n) already succeeded.
By not doing this, the "hang" you are experiencing can be avoided.
I am in a hurry now but will think about it again later and than probably
change this for 0.9.7/0.9.6a.
2. Unixware tries to open the socket for normal reading and seems to hang.
I think this is insane, probably it is related to look like a FIFO, where
open() makes sense.
Best regards,
Lutz
--
Lutz Jaenicke [EMAIL PROTECTED]
BTU Cottbus http://www.aet.TU-Cottbus.DE/personen/jaenicke/
Lehrstuhl Allgemeine Elektrotechnik Tel. +49 355 69-4129
Universitaetsplatz 3-4, D-03044 Cottbus Fax. +49 355 69-4153
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]