On Mon, Jun 12, 2006 at 12:06:28AM +0200, Marek Marcola wrote:

> In what way this break already used applications ???
> In what way this break anything ??? 

    SSL_read(3):

       If the underlying BIO is blocking, SSL_read() will only return, once
       the read operation has been finished or an error occurred, except when
       a renegotiation take place, in which case a SSL_ERROR_WANT_READ may
       occur.  This behaviour can be controlled with the SSL_MODE_AUTO_RETRY
       flag of the SSL_CTX_set_mode(3) call.

    SSL_CTX_set_mode(3):

       SSL_MODE_AUTO_RETRY
           Never bother the application with retries if the transport is
           blocking.  If a renegotiation take place during normal operation, a
           SSL_read(3) or SSL_write(3) would return with -1 and indicate the
           need to retry with SSL_ERROR_WANT_READ.  In a non-blocking environ-
           ment applications must be prepared to handle incomplete read/write
           operations.  In a blocking environment, applications are not always
           prepared to deal with read/write operations returning without suc-
           cess report. The flag SSL_MODE_AUTO_RETRY will cause read/write
           operations to only return after the handshake and successful com-
           pletion.

If a blocking application sets SSL_MODE_AUTO_RETRY, SSL_read() will
only return once data is available, or a real error occurs. This must
not change.

-- 
        Viktor.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to