Hi,

We have an application that provides HTTPS, either as client or server,
for our customers.  At the moment I am doing some testing between our
client and our server, as a result of a problem with one of our
customers, and there is a particular sequence of events, that involves
an unexpected SSL shutdown, that is giving an unexpected behaviour (at
least to me).

The sequence of events goes like this:

1.  The SSL handshake proceeds as normal.
2.  The client puts an HTTP request
3.  The server gets the HTTP request
4.  The client then executes an (unexpected) SSL shutdown
5.  The server puts the HTTP response

Here I might expect the put to fail, but all appears normal.

6.  As an HTTP Keep-Alive request has been made, the server enters a
wait for the next read event.
7.  The read event occurs (presumably due to the SSL shutdown), and now
the get fails.

SSL_get_error() returns SSL_ERROR_SYSCALL (I would expect
SSL_ERROR_ZERO_RETURN for an SSL shutdown).
ERR_get_error() returns 0.
(SSL_get_shutdown() & SSL_RECEIVED_SHUTDOWN) returns 0.

Is this the expected behaviour?

What I am looking for is a way of identifying the shutdown at the
server, so that I can close the connection softly.

The version is 0.9.8e.  All sockets are non-blocking.  The test platform
is Windows - but our application runs on many platforms, I can test on
those as well if required.

Thanks in advance,

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

Reply via email to