On Fri, Jan 16, 2004, Joseph Bruni wrote:

> After reading the man page for SSL_CTX_set_mode, I have to ask,
> what happens if you set AUTO_RETRY with a non-blocking socket?
> 

The AUTO_RETRY flag disables a case where the SSL/TLS code would signal a retry even
though the underlying transport did not during a session renegotiation. This is
there to support some applications which brokenly use select() and blocking I/O.

It avoids a possible deadlock in such applications when a session renegotiation
occurs.

To avoid breaking such applications this mode is only enabled by setting a flag
and it isn't set by default.

This is the only case where the SSL/TLS code could signal a retry when the
underlying transport is blocking. So setting this flag means that applications
that use blocking I/O will never need to retry calls and so don't need to
allow for this case.

The flag otherwise doesn't have any effect: in particular it does not disable
normal signalling of retries due to the underlying transport.

So the real answer is: not much.

Steve.
--
Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage
OpenSSL project core developer and freelance consultant.
Funding needed! Details on homepage.
Homepage: http://www.drh-consultancy.demon.co.uk
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to