On Wed, May 20, 2020 at 09:40:35PM +0100, Matt Caswell wrote:

> On 20/05/2020 21:36, Viktor Dukhovni wrote:
> > My take is that this is a sufficiently nasty problem to warrant some
> > changes in SSL_read(), SSL_write, SSL_accept(), ... to internally
> > memoize the error status before returning, in a manner that does not
> > depend on the prior state of the error stack, and that then
> > SSL_get_error() must look only at the given (SSL *) handle and
> > not at the error stack.
> 
> We actually have always cleared the error stack on entering the libssl
> state machine. It appears we don't do that on IO functions that don't
> enter the state  machine (such as SSL_read()/SSL_write()).

Glad to hear that at least handshakes are less prone to unexpected
issues of that sort.  I'd be interested to hear your thoughts (perhaps a
separate thread) on what to do about SSL_read() and SSL_write().

In the mean-time, if Clauss is trying to complete a handshake, rather
than move data, his issue is then likely something different?

-- 
    Viktor.

Reply via email to