Allow TLSv1.3 clients to send CCS without middlebox compatibility mode.
authorjsing <jsing@openbsd.org>
Sat, 17 Sep 2022 17:14:06 +0000 (17:14 +0000)
committerjsing <jsing@openbsd.org>
Sat, 17 Sep 2022 17:14:06 +0000 (17:14 +0000)
commit076ab34a56d39de12f26e7e591fa848e010fc524
tree573c5eddfaffe098afcb673afd95dd6c8f5a130b
parent5d6f1c4a07abcf6c1413059c603776d5dc6805aa
Allow TLSv1.3 clients to send CCS without middlebox compatibility mode.

While RFC 8446 is clear about what legacy session identifiers can be sent
by a TLSv1.3 client and how middlebox compatibility mode is requested, it
is delightfully vague about the circumstances under which a client is
permitted to send CCS messages. While it does not make sense for a client
to send CCS messages when they are not requesting middlebox compatibility
mode, it is not strictly forbidden by the RFC and at least one (unknown)
TLSv1.3 stack has been observed to do this in the wild.

Revert part of the previous change and allow clients to send CCS messages,
even if they are not requesting middlebox compatibility mode.

Found the hard way by florian@

ok tb@
lib/libssl/tls13_server.c