microsoft/msquic

Simplify ALPN re-negotiation path

オープン

#6,239 opened on 2026/08/18

 (2 件のコメント) (0 件のリアクション) (1 人の担当者)C (688 件のフォーク)github user discovery
Area: Coregood first issue

Repository metrics

Stars
 (4,770 個のスター)
PR merge metrics
 (平均マージ 6d) (30d で 40 merged PRs)

説明

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

コントリビューターガイド