Eric is correct. It's the responsibility of the application to control timeouts on the 
socket.

Be aware, though, that some applications ported from UNIX make the assumption that a 
SIGALRM will cause outstanding recv() calls to complete. This is not the case on other 
platforms such as OpenVMS and presumably Windows where the C run-time library is not 
implemented in the kernel. Your timeout mechanism needs a way to cause the recv() call 
within SSL_Accept to complete or to otherwise break the socket connection.

Rick Barry
Hewlett-Packard

-----Original Message-----
From: Eric Rescorla [mailto:[EMAIL PROTECTED]]
Sent: Monday, February 03, 2003 11:04 AM
To: [EMAIL PROTECTED]
Subject: Re: SSL_accept hang


"Skip Rhudy" <[EMAIL PROTECTED]> writes:
> We use OpenSSL on in a Win2k environment. The latest code we have is
> 0.9.6h.
> 
>  
> 
> If SSL_accept is called in blocking i/o mode, and the client on the
> other end never initiates a handshake, or never sends any data at all,
> the SSL_accept() call never returns.
It's your responsibility to put a timeout here. 

-Ekr

-- 
[Eric Rescorla                                   [EMAIL PROTECTED]]
                http://www.rtfm.com/
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to