Only hash known CH extensions
authortb <tb@openbsd.org>
Thu, 22 Apr 2021 18:27:53 +0000 (18:27 +0000)
committertb <tb@openbsd.org>
Thu, 22 Apr 2021 18:27:53 +0000 (18:27 +0000)
commitd7f9cac0f7a624d75948ed247cc21fdc22dc8a19
tree2589e7c58dafb706fe6fcab43df96490ea8205a8
parenta23d840b6d259c85de69502c20582fc7674f5e11
Only hash known CH extensions

RFC 4.1.2 specifies the ways in which the extensions in the first and
the second ClientHello may differ.  It basically says that extensions
not known to a server must not change.  This in turn makes it impossible
to introduce new extensions that do change.  It makes little sense to
enforce that extensions we don't know and care about aren't modified,
so make the hashing more lenient and restrict it to the extensions we
do care about.  Arguably, enforcing no change in an unknown extension
is incompatible with the requirement that it be ignored.

ok bcook jsing
lib/libssl/ssl_tlsext.c