microsoft/msquic

Simplify ALPN re-negotiation path

Aperta

#6239 aperta il 18 ago 2026

 (2 commenti) (0 reazioni) (1 assegnatario)C (688 fork)github user discovery
Area: Coregood first issue

Metriche repository

Star
 (4770 stelle)
Metriche merge PR
 (Merge medio 6g) (40 PR mergiate in 30 g)

Descrizione

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

Guida contributor