Closed
Bug 2051272
Opened 1 month ago
Closed
With Happy Eyeballs enabled, Alt-Svc mappings are not validated through AltSvcTransaction.
Categories
(Core :: Networking: HTTP, defect, P2)
Core
Networking: HTTP
Tracking
()
RESOLVED
FIXED
155 Branch
People
(Reporter: kershaw, Assigned: kershaw)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged])
Attachments
(2 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
Bug 1953464 made nsHttpConnectionInfo::BuildHashKey drop the routed host/port from the hash key when HE is enabled, so the alternate now shares the origin’s ConnectionEntry. As a side effect, the alternate’s connection info hashes identically to the origin’s, which breaks validation in two ways:
- Validation is bypassed (h2 and h3): AltSvcMapping::ProcessHeader uses ci->HashKey().Equals(aTransConnInfo->HashKey()) as a skip check. With the new hash key behavior, that comparison now matches for every normal Alt-Svc header, so the mapping is treated as valid without actually being validated. Claim can also abort an in-flight validation attempt. This part is protocol-agnostic.
- Validation can never complete (h2 only): if validation is forced, SpeculativeConnect reuses the origin’s entry, and ProcessTCPConn returns the H2 connection to the pool without binding it to the AltSvcTransaction. As a result, MaybeValidate fails its precondition: conn=0 ... Failed due to precondition. (ProcessUDPConn for h3 already activates the transaction, so for h3, MaybeValidate works once the bypass issue is fixed.)
| Assignee | ||
Comment 1•12 days ago
|
||
Updated•12 days ago
|
Assignee: nobody → kershaw
Status: NEW → ASSIGNED
Pushed by kjang@mozilla.com:
https://github.com/mozilla-firefox/firefox/commit/607de6ace543
https://hg.mozilla.org/integration/autoland/rev/5a275a85fd12
Validate h3 Alt-Svc mappings under Happy Eyeballs, r=mxinden
Comment 3•11 days ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 11 days ago
status-firefox155:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 155 Branch
Comment 4•11 days ago
|
||
| bugherder | ||
Closed: 2026-07-23 16:16:42 2026-07-23 16:16:42
Comment 5•11 days ago
|
||
| bugherder | ||
Comment 6•11 days ago
|
||
| bugherder | ||
| Assignee | ||
Comment 7•7 days ago
|
||
Original Revision: https://phabricator.services.mozilla.com/D313385
Updated•7 days ago
|
Attachment #9616757 -
Flags: approval-mozilla-beta?
Comment 8•7 days ago
|
||
firefox-beta Uplift Approval Request
- User impact if declined/Reason for urgency: We won't create a HTTP/3 connection when a Alt-svc header is received.
We mainly need this patch on beta because we probably want to do an experiment for HEv3 on beta. - Code covered by automated testing?: yes
- Fix verified in Nightly?: yes
- Needs manual QE testing?: no
- Steps to reproduce for manual QE testing:
- Risk associated with taking this patch: low
- Explanation of risk level: The patch is verified on nightly and the pref is false by default.
- String changes made/needed?: N/A
- Is Android affected?: yes
Updated•7 days ago
|
Attachment #9616757 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Updated•7 days ago
|
status-firefox154:
--- → fixed
You need to log in
before you can comment on or make changes to this bug.
Description
•