Tolerate DTLS alerts with an incorrect version number
authorMatt Caswell <matt@openssl.org>
Fri, 5 Jan 2018 10:12:29 +0000 (10:12 +0000)
committerMatt Caswell <matt@openssl.org>
Tue, 9 Jan 2018 22:00:53 +0000 (22:00 +0000)
commit08455bc9b0e69ed5f25c16fc30cc2db57cdca842
treeb2ee0f81cb59441ec222308108e4b489e3027ad2
parent225f980d22dfe66aa3945c21609042c32284e61c
Tolerate DTLS alerts with an incorrect version number

In the case of a protocol version alert being sent by a peer the record
version number may not be what we are expecting. In DTLS records with an
unexpected version number are silently discarded. This probably isn't
appropriate for alerts, so we tolerate a mismatch in the minor version
number.

This resolves an issue reported on openssl-users where an OpenSSL server
chose DTLS1.0 but the client was DTLS1.2 only and sent a protocol_version
alert with a 1.2 record number. This was silently ignored by the server.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5018)
ssl/record/ssl3_record.c