Option to override ALPNs
- Dominant language
- C++
- Stars
- 897
- Forks
- 177
- PR merge metrics
- No merged PRs in 30d
Description
Currently one can add a **additional** custom ALPN to the list of supported ALPNs in the `QuicVersionManager`. However, ALPNs that are based on the supported Quic version are always available.
https://github.com/google/quiche/blob/eac20c9342bde3695ef61c07395a41c9c4c19cbd/quiche/quic/core/quic_version_manager.h#L50-L54
Consider the following use-case: I want to build an application protocol, using Quic v1 as the transport protocol. However, I want to use a custom ALPN instead of `h3` since this server would not support HTTP. This doesn't seem possible to have a list consisting of only the custom ALPN now.
In my specific case, I'd like to have a list that only contains "osp" as defined [here](https://www.w3.org/TR/openscreenprotocol/#tls-13).
Would this be amenable? If so, would it be feasible to break up `QuicVersionManager::RefilterSupportedVersions` or would adding a `ClearSupportedAlpns` be preferred?
Contributor guide
Assessment
This issue has not been assessed yet.