microsoft/msquic

Simplify ALPN re-negotiation path

Offen

#6.239 geöffnet am 18.08.2026

 (2 Kommentare) (0 Reaktionen) (1 zugewiesene Person)C (688 Forks)github user discovery
Area: Coregood first issue

Repository-Metriken

Stars
 (4.770 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 6T) (40 gemergte PRs in 30 T)

Beschreibung

We could probably simplify the ALPN negotiation by only storing the list until the ALPN is fully negotiated.

• In  QuicBindingAcceptConnection , own-copy  ClientAlpnList  but leave  NegotiatedAlpn == NULL . - ClientAlpnList can use SmallAlpnBuffer if the full list fit in it • In  QuicCryptoReNegotiateAlpn , remove the  PrevNegotiatedAlpn  fast path and single-ALPN fallback. • Select from the copied client list, then allocate/copy and assign NegotiatedAlpn . • Preserve Info->NegotiatedAlpn ; the listener callback still exposes that independently. • Keep teardown null-safe.

Originally posted by @guhetier in https://github.com/microsoft/msquic/pull/6171#discussion_r3799265048

Contributor Guide