Fix session resumption

Commit f0348c842e 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 dc0c888811)
This commit is contained in:
Matt Caswell 2015-08-05 13:33:52 +01:00
parent 927f7a8703
commit dd642deea8

View 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);