diff --git a/CHANGES b/CHANGES index 1d2c6cf98a308c52b027b72e91066dfa180b6bed..583b24acf17521cbc8a5ebf2bef024c8893d781f 100644 --- a/CHANGES +++ b/CHANGES @@ -28,10 +28,13 @@ session resumption is possible only in the first handshake. [Bodo Moeller] - *) Fix ssl3_accept (ssl/s3_srvr.c): Do not call ssl_init_wbio_buffer() - when just sending a HelloRequest as this could interfere with - application data writes (and is totally unnecessary). - [Bodo Moeller; bug pointed out by Eric Rescorla ] + *) Bugfix in ssl3_accept (ssl/s3_srvr.c): Case SSL3_ST_SW_HELLO_REQ_C + should end in 'break', not 'goto end' which circuments various + cleanups. + + Also avoid some overhead by not calling ssl_init_wbio_buffer() + before just sending a HelloRequest. + [Bodo Moeller] *) Fix ssl/s3_enc.c, ssl/t1_enc.c and ssl/s3_pkt.c so that we don't reveal whether illegal block cipher padding was found or a MAC diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c index 94da180d08be65b0798f6f6efc3cb358001302b2..eb5c27928b9224fc8b2379c7db7d7a5620e21a98 100644 --- a/ssl/s3_srvr.c +++ b/ssl/s3_srvr.c @@ -273,9 +273,7 @@ int ssl3_accept(SSL *s) 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: