> > 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.
> Now you have me curious: What would be a broken use of select and > blocking I/O? I use select before a call to SSL_read in order to > facilitate a timeout. Is this wrong (or broken)? Yes, it's wrong/broken. > (If I receive one of > the "WANT" errors, I just restart the I/O however.) My program makes > the assumption that if it hears nothing on the read side of the socket > during a period of time, that something is wrong. But what if SSL_read didn't get enough data to decode anything? Then it will wind up blocking on the socket, which is exactly what you did't want to happen. > Currently, I don't like the way my I/O loop is working so I'm probably > going to switch to non-blocking anyway. If you never, ever want to block, just set the socket non-blocking. Otherwise, there can always be corner cases where you can block indefinitely. DS ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]