Fix SSL state transitions.

Submitted by: Nagendra Modadugu
This commit is contained in:
Bodo Möller 2008-09-14 14:02:07 +00:00
parent e710de12ce
commit e65bcbcef0
3 changed files with 10 additions and 6 deletions

View file

@ -705,6 +705,10 @@
Changes between 0.9.8h and 0.9.8i [xx XXX xxxx] Changes between 0.9.8h and 0.9.8i [xx XXX xxxx]
*) Fix a state transitition in s3_srvr.c and d1_srvr.c
(was using SSL3_ST_CW_CLNT_HELLO_B, should be ..._ST_SW_SRVR_...).
[Nagendra Modadugu]
*) The fix in 0.9.8c that supposedly got rid of unsafe *) The fix in 0.9.8c that supposedly got rid of unsafe
double-checked locking was incomplete for RSA blinding, double-checked locking was incomplete for RSA blinding,
addressing just one layer of what turns out to have been addressing just one layer of what turns out to have been

View file

@ -725,7 +725,7 @@ int dtls1_send_server_hello(SSL *s)
d = dtls1_set_message_header(s, d, SSL3_MT_SERVER_HELLO, l, 0, l); d = dtls1_set_message_header(s, d, SSL3_MT_SERVER_HELLO, l, 0, l);
s->state=SSL3_ST_CW_CLNT_HELLO_B; s->state=SSL3_ST_SW_SRVR_HELLO_B;
/* number of bytes to write */ /* number of bytes to write */
s->init_num=p-buf; s->init_num=p-buf;
s->init_off=0; s->init_off=0;
@ -734,7 +734,7 @@ int dtls1_send_server_hello(SSL *s)
dtls1_buffer_message(s, 0); dtls1_buffer_message(s, 0);
} }
/* SSL3_ST_CW_CLNT_HELLO_B */ /* SSL3_ST_SW_SRVR_HELLO_B */
return(dtls1_do_write(s,SSL3_RT_HANDSHAKE)); return(dtls1_do_write(s,SSL3_RT_HANDSHAKE));
} }
@ -758,7 +758,7 @@ int dtls1_send_server_done(SSL *s)
dtls1_buffer_message(s, 0); dtls1_buffer_message(s, 0);
} }
/* SSL3_ST_CW_CLNT_HELLO_B */ /* SSL3_ST_SW_SRVR_DONE_B */
return(dtls1_do_write(s,SSL3_RT_HANDSHAKE)); return(dtls1_do_write(s,SSL3_RT_HANDSHAKE));
} }

View file

@ -1208,13 +1208,13 @@ int ssl3_send_server_hello(SSL *s)
*(d++)=SSL3_MT_SERVER_HELLO; *(d++)=SSL3_MT_SERVER_HELLO;
l2n3(l,d); l2n3(l,d);
s->state=SSL3_ST_CW_CLNT_HELLO_B; s->state=SSL3_ST_SW_CLNT_HELLO_B;
/* number of bytes to write */ /* number of bytes to write */
s->init_num=p-buf; s->init_num=p-buf;
s->init_off=0; s->init_off=0;
} }
/* SSL3_ST_CW_CLNT_HELLO_B */ /* SSL3_ST_SW_CLNT_HELLO_B */
return(ssl3_do_write(s,SSL3_RT_HANDSHAKE)); return(ssl3_do_write(s,SSL3_RT_HANDSHAKE));
} }
@ -1238,7 +1238,7 @@ int ssl3_send_server_done(SSL *s)
s->init_off=0; s->init_off=0;
} }
/* SSL3_ST_CW_CLNT_HELLO_B */ /* SSL3_ST_SW_SRVR_DONE_B */
return(ssl3_do_write(s,SSL3_RT_HANDSHAKE)); return(ssl3_do_write(s,SSL3_RT_HANDSHAKE));
} }