diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2018-03-20 19:25:08 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2018-03-20 19:25:08 +0200 |
commit | 613be24b7a53310ae6b250e5ca11fdd3673a531e (patch) | |
tree | 75291533f09ca50fe026604f358c60180d510d10 /extra | |
parent | e0a0fe7d8124b9f395a6c97f538693e729a0b043 (diff) | |
parent | 04921000594dcbdf23340850b9284fd30ccdb0fd (diff) | |
download | mariadb-git-613be24b7a53310ae6b250e5ca11fdd3673a531e.tar.gz |
Merge 10.0 into 10.1
Diffstat (limited to 'extra')
-rw-r--r-- | extra/yassl/src/handshake.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/extra/yassl/src/handshake.cpp b/extra/yassl/src/handshake.cpp index 407e4092ccc..6e181a997bd 100644 --- a/extra/yassl/src/handshake.cpp +++ b/extra/yassl/src/handshake.cpp @@ -788,6 +788,16 @@ int DoProcessReply(SSL& ssl) needHdr = true; else { buffer >> hdr; + /* + According to RFC 4346 (see "7.4.1.3. Server Hello"), the Server Hello + packet needs to specify the highest supported TLS version, but not + higher than what client requests. YaSSL highest supported version is + TLSv1.1 (=3.2) - if the client requests a higher version, downgrade it + here to 3.2. + See also Appendix E of RFC 5246 (TLS 1.2) + */ + if (hdr.version_.major_ == 3 && hdr.version_.minor_ > 2) + hdr.version_.minor_ = 2; ssl.verifyState(hdr); } |