bug report: openssl

operating system: HP-UX11
openssl version 0.9.6b, 0.96g and probably 0.7 too.
configuration options:./Configure hpux64-parisc-cc  shared no-idea

Description:
BIO_socket_nbio() fails to set sockets to non-blocking mode.
The call succeeds but the socket is still blocking

I have noticed that BIO_socket_nbio() calls BIO_socket_ioctl() unsing FIONBIO.
This ioctl, according to it's man page, takes one argument: a pointer to int,
but the BIO_socket_ioctl() uses a pointer to long as the argument.

This will result in that the os will only read the 32 most significant bits of the
64 bit long value that is set to 0 or 1 by BIO_socket_nbio(). These bits are always
0 and the call will always set the socket to blocking mode.

(If I patch BIO_socket_ioctl() to send a pointer to int instead the calls to
BIO_socket_nbio() work as expected.)

Regards

/Magnus Lind

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to