Commit e65bcbce authored by Bodo Möller's avatar Bodo Möller
Browse files

Fix SSL state transitions.

Submitted by: Nagendra Modadugu
parent e710de12
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -705,6 +705,10 @@

 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
     double-checked locking was incomplete for RSA blinding,
     addressing just one layer of what turns out to have been
+3 −3
Original line number Diff line number Diff line
@@ -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);

		s->state=SSL3_ST_CW_CLNT_HELLO_B;
		s->state=SSL3_ST_SW_SRVR_HELLO_B;
		/* number of bytes to write */
		s->init_num=p-buf;
		s->init_off=0;
@@ -734,7 +734,7 @@ int dtls1_send_server_hello(SSL *s)
		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));
	}

@@ -758,7 +758,7 @@ int dtls1_send_server_done(SSL *s)
		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));
	}

+3 −3
Original line number Diff line number Diff line
@@ -1208,13 +1208,13 @@ int ssl3_send_server_hello(SSL *s)
		*(d++)=SSL3_MT_SERVER_HELLO;
		l2n3(l,d);

		s->state=SSL3_ST_CW_CLNT_HELLO_B;
		s->state=SSL3_ST_SW_CLNT_HELLO_B;
		/* number of bytes to write */
		s->init_num=p-buf;
		s->init_off=0;
		}

	/* SSL3_ST_CW_CLNT_HELLO_B */
	/* SSL3_ST_SW_CLNT_HELLO_B */
	return(ssl3_do_write(s,SSL3_RT_HANDSHAKE));
	}

@@ -1238,7 +1238,7 @@ int ssl3_send_server_done(SSL *s)
		s->init_off=0;
		}

	/* SSL3_ST_CW_CLNT_HELLO_B */
	/* SSL3_ST_SW_SRVR_DONE_B */
	return(ssl3_do_write(s,SSL3_RT_HANDSHAKE));
	}