Follow BoringSSL's nomenclature in SSL_select_next_proto()
authortb <tb@openbsd.org>
Thu, 11 Jul 2024 13:48:52 +0000 (13:48 +0000)
committertb <tb@openbsd.org>
Thu, 11 Jul 2024 13:48:52 +0000 (13:48 +0000)
commitd510b09d6e13111178d4c66a3f71ea4a28ae8edb
treef7429ccac753204f70cd98970b88a7e2e0fc070b
parent7520e8fab0993b4a897a2774a7038459b8b069e4
Follow BoringSSL's nomenclature in SSL_select_next_proto()

SSL_select_next_poto() was written with NPN in mind. NPN has a weird
fallback mechanism which is baked into the API. This is makes no sense
for ALPN, where the API behavior is undesirable since it a server
should not end up choosing a protocol it doesn't (want to) support.
Arguably, ALPN should simply have had its own API for protocol selection
supporting the proper semantics, instead of shoehorning an NPN API into
working for ALPN.

Commit https://boringssl-review.googlesource.com/c/boringssl/+/17206/
renamed the arguments to work for both NPN and ALPN, with the slight
downside of honoring client preference instead of the SHOULD in
RFC 7301, section 3.2. This grates for most consumers in the wild,
but so be it. The behavior is saner and safer.

discussed with davidben
ok beck
lib/libssl/ssl_lib.c