Do not discard cached handshake records during resumed sessions:
authorDr. Stephen Henson <steve@openssl.org>
Wed, 3 Sep 2008 12:36:16 +0000 (12:36 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 3 Sep 2008 12:36:16 +0000 (12:36 +0000)
they are used for mac computation.

ssl/s3_srvr.c

index 8a4faa6..4ffc2fc 100644 (file)
@@ -1067,7 +1067,6 @@ int ssl3_get_client_hello(SSL *s)
                        goto f_err;
                        }
                s->s3->tmp.new_cipher=c;
-               ssl3_digest_cached_records(s);
                }
        else
                {
@@ -1098,10 +1097,9 @@ int ssl3_get_client_hello(SSL *s)
                else
 #endif
                s->s3->tmp.new_cipher=s->session->cipher;
-               /* Clear cached handshake records */
-               BIO_free(s->s3->handshake_buffer);
-               s->s3->handshake_buffer = NULL;
                }
+
+       ssl3_digest_cached_records(s);
        
        /* we now have the following setup. 
         * client_random