microsoft/msquic

Simplify ALPN re-negotiation path

Aberta

#6.239 aberto em 18 de ago. de 2026

 (2 comentários) (0 reação) (1 responsável)C (688 forks)github user discovery
Area: Coregood first issue

Métricas do repositório

Stars
 (4.770 estrelas)
Métricas de merge de PR
 (Mesclagem média 6d) (40 fundiu PRs em 30d)

Description

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

Guia do colaborador