Ignore warning alert returns from servername callback in TLSv1.3
authortb <tb@openbsd.org>
Mon, 30 Aug 2021 16:50:23 +0000 (16:50 +0000)
committertb <tb@openbsd.org>
Mon, 30 Aug 2021 16:50:23 +0000 (16:50 +0000)
commit7fdc4fbdc450eb333cb4c64324f222069d9abb14
tree4a350c019286972a570fd57a32ed069ca4970aac
parent411edb060400acabee2a7179a9e63b77e1af8d41
Ignore warning alert returns from servername callback in TLSv1.3

If a servername callback returns SSL_TLSEXT_ERR_ALERT_WARNING, this
results in a fatal error in TLSv1.3 since alert levels are implicit
in the alert type and neither close_notify nor user_canceled make
sense in this context. OpenSSL chose to ignore this, so we need to
follow suit.

Found via a broken servername callback in p5-IO-Socket-SSL which
returns a Boolean instead of SSL_TLSEXT_ERR_*. This happened to
have worked before TLSv1.3 since warning alerts are often ignored.

This "fixes" sni.t and sni-verify.t in p5-IO-Socket-SSL.

ok beck jsing
lib/libssl/tls13_legacy.c