Andy Schneider <[EMAIL PROTECTED]>:
> I applied the patch and it has allowed me to perform a handshake even
> when there are writes in-flight. For the record then (and those who have
> wrestled with SSL_renegotiate and have found this through a search):
>
> 1) I use SSL_renegotiate () and SSL_read (ssl, 0, 0) on the server to
> request a handshake and a monitor SSL_read/SSL_writes within a
> timeout
> for a handshake. I do not fail if SSL_read (ssl, 0, 0) doesn't return
> SSL_ERROR_WANT_READ because there maybe data in-flight.
>
> 3) I use just SSL_renegotiate on the client when I want to request a
> handshake and apply the same logic as above.
Please try the following patch instead. This should remove the cause
of the problem.
Index: s3_srvr.c
===================================================================
RCS file: /usr/local/openssl/cvs/openssl/ssl/s3_srvr.c,v
retrieving revision 1.49.2.6
diff -u -u -r1.49.2.6 s3_srvr.c
--- s3_srvr.c 2001/09/20 21:36:39 1.49.2.6
+++ s3_srvr.c 2001/09/20 23:57:27
@@ -270,9 +270,7 @@
case SSL3_ST_SW_HELLO_REQ_C:
s->state=SSL_ST_OK;
- ret=1;
- goto end;
- /* break; */
+ break;
case SSL3_ST_SR_CLNT_HELLO_A:
case SSL3_ST_SR_CLNT_HELLO_B:
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]