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]

Reply via email to