summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorAdam Langley <agl@google.com>2014-12-13 20:13:10 +0000
committerMatt Caswell <matt@openssl.org>2014-12-16 14:44:17 +0000
commitec1af3c4195c1dfecdd9dc7458850ab1b8b951e0 (patch)
treeb4dad2b996207a34a70e23c9429c8879ed671045 /ssl
parentdb812f2d70f0695fd53b386fe5e870bef8ca3c22 (diff)
Don't set client_version to the ServerHello version.
The client_version needs to be preserved for the RSA key exchange. This change also means that renegotiation will, like TLS, repeat the old client_version rather than advertise only the final version. (Either way, version change on renego is not allowed.) This is necessary in TLS to work around an SChannel bug, but it's not strictly necessary in DTLS. (From BoringSSL) Reviewed-by: Emilia Käsper <emilia@openssl.org>
Diffstat (limited to 'ssl')
-rw-r--r--ssl/s3_clnt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
index e178fe12ad..1aff833184 100644
--- a/ssl/s3_clnt.c
+++ b/ssl/s3_clnt.c
@@ -944,7 +944,7 @@ int ssl3_get_server_hello(SSL *s)
al = SSL_AD_PROTOCOL_VERSION;
goto f_err;
}
- s->version = s->client_version = s->method->version;
+ s->version = s->method->version;
}
if ((p[0] != (s->version>>8)) || (p[1] != (s->version&0xff)))