microsoft/msquic

Simplify ALPN re-negotiation path

Ouverte

#6 239 ouverte le 18 août 2026

 (2 commentaires) (0 réaction) (1 personne assignée)C (688 forks)github user discovery
Area: Coregood first issue

Métriques du dépôt

Stars
 (4 770 étoiles)
Métriques de merge PR
 (Merge moyen 6j) (40 PRs mergées en 30 j)

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

Guide contributeur