/dev/random is a symlink on Solaris and Solaris 10 has added O_NOFOLLOW to
/usr/include/sys/fcntl.h. This causes a problem in crypto/rand/rand_unix.c
where /dev/random doesn't get used, when it actually should...
This is with openssl-0.9.7e and Solaris x86 10_b72.
Or is it used to avoid using same device? Well, on FreeBSD 5 /dev/urandom is a symbolic link to random and O_NOFOLLOW is indeed due, but it's far from universally appropriate... As rightly noted /dev/* under Solaris are indeed and always were symbolic links to /devices/... So collecting fstats and compare st_rdevs Check for device numbers would be more appropriate... Alternatively one can simply complement #ifdef O_NOFOLLOW with #ifdef __FreeBSD__... A.
I've commited suggestion to HEAD, see two top-most entries at http://cvs.openssl.org/rlog?f=openssl/crypto/rand/rand_unix.c. If nobody shouts, I'll apply it to 0.9.7-stable. A.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]
