On Fri, Sep 06, 2002 at 11:53:25AM -0700, Edward Chan wrote:
> I've set the SSL_CTX with the following mode,
> SSL_MODE_AUTO_RETRY.  Doing so allows me to use
> SSL_read() and SSL_write() like I would normally use a
> blocking read() and write() call, right?

SSL_MODE_AUTO_RETRY only covers the case of a renegotiation, in which
even with blocking sockets SSL_read() and/or SSL_write() would return
with WANT_READ or WANT_WRITE.
If you are using non-blocking mode, SSL_* will always return immediatly
(it wouldn't make sense to have non-blocking connection block, would it?).

> So when I issue the SSL_read(), it should block if
> there is no data.  Seems like it is blocked, which is
> expected because as far as I know, I'm not sending any
> data to that socket.  But then it seems to unblock and
> I get the error, "bad asn1 object header".

This indicates that OpenSSL has problem with some ASN1 object, most probably
a certificate. This indeed indicates that a renegotiation may take place.

> Might be worth mentioning that I'm listening on port
> 80 and 443 which may have garbage being sent to it. 
> But I'd expect that if somebody tries to initiate a
> non-SSL connection, the connection would fail
> (SSL_accept() would fail so the connection wouldn't
> even be created).

Use ssldump to analyze the data exchanged.

Best regards,
        Lutz
-- 
Lutz Jaenicke                             [EMAIL PROTECTED]
http://www.aet.TU-Cottbus.DE/personen/jaenicke/
BTU Cottbus, Allgemeine Elektrotechnik
Universitaetsplatz 3-4, D-03044 Cottbus
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to