Closed
Description
This is a tracking issue for msquic
next release to activate Listener_AlpnNarrowingDown_Failure
test inside of QuicListenerTests
.
Description:
While we're narrowing down ALPN negotiation list with ConnectionOptionsCallback
, Quic is renegotiating ALPN with the Client.
ApplicationProtocols = new List<SslApplicationProtocol>()
{
new SslApplicationProtocol("foo"),
new SslApplicationProtocol("bar"),
new SslApplicationProtocol("test"),
},
ConnectionOptionsCallback = (_, _, _) =>
{
// Narrowing down alpn list to more specific.
var options = CreateQuicServerOptions();
options.ServerAuthenticationOptions.ApplicationProtocols = new()
{
new SslApplicationProtocol("bar"),
new SslApplicationProtocol("test"),
};
return ValueTask.FromResult(options);
}
In that case, if Quic can't find any matching ALPN between the client and server, the connection is failing with QUIC_STATUS_INTERNAL_ERROR
instead of QUIC_STATUS_ALPN_NEG_FAILURE
.
This is coming from msquic
and has already been fixed in both the main
and release/2.2
branches. (microsoft/msquic#3647 and microsoft/msquic#3649)