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:09:46 +0000 (22:09 +0000)
commit32859f608c2fe876c418e94e3883ab04083cac75
tree6f43ea967c400f6b37020d64f3d432afae16a2ac
parentbda1af6d5f6f275c78d3145a03a208d8bc056553
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)

(cherry picked from commit 08455bc9b0e69ed5f25c16fc30cc2db57cdca842)
ssl/record/ssl3_record.c