提交 e65bcbce 编写于 作者: B Bodo Möller

Fix SSL state transitions.

Submitted by: Nagendra Modadugu
上级 e710de12
...@@ -705,6 +705,10 @@ ...@@ -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
......
...@@ -725,7 +725,7 @@ int dtls1_send_server_hello(SSL *s) ...@@ -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) ...@@ -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) ...@@ -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));
} }
......
...@@ -1208,13 +1208,13 @@ int ssl3_send_server_hello(SSL *s) ...@@ -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) ...@@ -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));
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册