Hello,

> >     Here's a hypothetical. The 'select' function gives you a 'read' hit. You
> > call SSL_read (thinking there's application-level data, but you don't really
> > know, do you?). SSL_read reads part of a re-negotiation but has no data to
> > return to you, so it calls 'read' again (how does it know it's not supposed
> > to block until it has data?). 
It is very simple - if SSL_read() has to do other work than reading
application data records (encrypted user data) like renegotiation 
it should return WANT_READ. 
Than upper layer may retry SSL_read() after select().
For me this is SSL_read() problem and may be simply corrected.

> >That 'read' blocks forever because there was
> > never any application-level data to read. Sorry, you're screwed.
I do not agree. SSL_read() should be corrected.

Best regards,
-- 
Marek Marcola <[EMAIL PROTECTED]>

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

Reply via email to