Use ECH keys from HTTPSSVC records
Categories
(Core :: Networking: HTTP, task, P2)
Tracking
()
People
(Reporter: dragana, Assigned: kershaw)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
This functionality should be control by a separate pref independent from pref in bug 1652655.
When this feature is turned on:
- nsHttpChannel should always prefetch an HTTPSSVC record along side a A/AAAA requests.
- nsHttpTransaction should do the following:
- Check whether there is an already open connection that can accommodate the request (a open connection to the origin or the request can be coalesce to another connection (RFC8336 and Section 9.1.1 in RFC7540)). If there is such a connection dispatch the transaction
- Otherwise, before making a new connection request an HTTPSSVC record
- If complete results for the HTTPSSVC query are received, make a connection to the SvcDomainName with highest priority. If there are SvcDomainNames that advertise ECH keys, such results should have higher priority than results without ECH keys.
- If a partial result for the HTTPSSVC query are received, made a connection to one of the SvcDomainName from a ServiceForm record only if at least one IP address for the SvcDomainName is present and ECHO keys are advertised for the SvcDomainName.
- Otherwise wait for more responses from the HTTPSSVC query and choose a SvcDomainName as in step iii. or iv.
- If any connection that meets requirements set in step 1 becomes available dispatch the transaction to the connection [Note: this should be covered by current code already]
When opening a new connection SvcDomainName and port will be added as RoutedHost
and RoutedPort
to nsHttpConnectionInfo as well as echconfig
and IP record. nsSocketTransport will use the IP address record and echconfig
to make a connection to SvcDomainName. For echconfig
we will adapt already existing esniTxt
If connection to the SvcDomainName fails or the host is not authorized, fallback to a connection to the origin. A proper fallback will be implemented in the follow up bugs.
Do not use AltSvc mapping table (this line) if this feature in turned on. This optimization will implemented as a follow up bug.
Assignee | ||
Comment 1•4 years ago
|
||
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
Depends on D89454
Comment 4•4 years ago
|
||
Backed out for build bustages.
Logs:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=316612141&repo=autoland&lineNumber=87245
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=316612129&repo=autoland&lineNumber=31539
Backout: https://hg.mozilla.org/integration/autoland/rev/9e01264e2ba2b88ad44cc64e7d1f0be15837e4b7
Assignee | ||
Comment 5•4 years ago
|
||
Comment 7•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/df6bdf8157b1
https://hg.mozilla.org/mozilla-central/rev/4a66e4016c18
Comment 8•4 years ago
|
||
Backed out on request from kershaw for causing Bug 1667801:
https://hg.mozilla.org/integration/autoland/rev/4a30905f063e5979798f76a3541aa565f1e5d633
Comment 9•4 years ago
|
||
Assignee | ||
Updated•4 years ago
|
Comment 10•4 years ago
|
||
Comment 11•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/499f651214e0
https://hg.mozilla.org/mozilla-central/rev/a1b4cd84b3bc
Updated•3 years ago
|
Description
•