Fix session resumption
authorMatt Caswell <matt@openssl.org>
Wed, 5 Aug 2015 12:33:52 +0000 (13:33 +0100)
committerMatt Caswell <matt@openssl.org>
Tue, 1 Sep 2015 23:31:33 +0000 (00:31 +0100)
Commit f0348c842e7 introduced a problem with session resumption. The
version for the session is fixed when the session is created. By moving
the creation of the session earlier in the process the version is fixed
*before* version negotiation has completed when processing the ServerHello
on the client side. This fix updates the session version after version neg
has completed.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
(cherry picked from commit dc0c888811cebfa2d21c844be0d81335fb2361da)

ssl/s23_clnt.c

index fc344b92ec0b2361309d79c258ca760bbe54023e..2b2855dee4a989d41dfab657a22cd4a7dd7f051f 100644 (file)
@@ -727,6 +727,8 @@ static int ssl23_get_server_hello(SSL *s)
             goto err;
         }
 
+        s->session->ssl_version = s->version;
+
         /* ensure that TLS_MAX_VERSION is up-to-date */
         OPENSSL_assert(s->version <= TLS_MAX_VERSION);