As described in bug report #1647 both server and client are hanging
when calling SSL_renegotiate() with DTLS. The client sends the
ClientHello to the server, but the message sequence number has not
been reset to 0 after the first handshake. So the server drops it
(out of sync) and continues waiting for the ClientHello while the
client is waiting for the server's response.
The following patch resets the message sequence number to 0 after
finishing a handshake and thus fixes this bug for OpenSSL 0.9.8i.
Regards,
Robin
--- ssl/d1_clnt.c~ 2008-06-04 20:35:25.000000000 +0200
+++ ssl/d1_clnt.c 2008-10-14 13:24:09.000000000 +0200
@@ -492,6 +492,7 @@
/* done with handshaking */
s->d1->handshake_read_seq = 0;
+ s->d1->next_handshake_write_seq = 0;
goto end;
/* break; */
--- ssl/d1_srvr.c~ 2008-09-14 16:02:01.000000000 +0200
+++ ssl/d1_srvr.c 2008-10-14 13:24:01.000000000 +0200
@@ -554,6 +554,7 @@
s->d1->handshake_read_seq = 0;
/* next message is server hello */
s->d1->handshake_write_seq = 0;
+ s->d1->next_handshake_write_seq = 0;
goto end;
/* break; */
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager [EMAIL PROTECTED]