[socket process] TRR is not working in socket process
Categories
(Core :: Networking: DNS, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: kershaw, Assigned: kershaw)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged])
Attachments
(5 files)
In bug 1430050, we moved the DNS resolution to socket process.
However, TRR needs to create a http channel to do resolution and the http channel is designed to run in parent process.
Maybe we should move TRR back to parent process?
Assignee | ||
Comment 1•6 years ago
|
||
(In reply to Kershaw Chang [:kershaw] from comment #0)
In bug 1430050, we moved the DNS resolution to socket process.
However, TRR needs to create a http channel to do resolution and the http channel is designed to run in parent process.Maybe we should move TRR back to parent process?
Valentin, what do you think?
Comment 2•6 years ago
|
||
It seems to me that since nsSocketTransport lives in the socket process, we shouldn't do DNS resolution for nsSocketTransport::OnLookupComplete in the parent process, so I wouldn't want to move it.
Right now we have nsHttpChannel in the parent process, also used for TRR, and HttpChannelChild in the content process for web requests.
I'm wondering if we could have a third SocketProcessHttpChannel that does all the work in the socket process, and is used for TRR? But I have absolutely no idea how difficult that would be.
Updated•6 years ago
|
Comment 3•6 years ago
•
|
||
What about opening a regular nsHttpChannel on the socket process. We will need an additional 'if IsSocketProcess use nsHttpTransaction directly'. We may need to make conditional some additional stuff, like security checks, let's see what breaks.
Comment 4•6 years ago
|
||
We should also assert in nsHttpChannel::OnStartRequest that "if this is a TRR service channel, then we shouldn't have any cache entry".
Comment 5•6 years ago
|
||
So, a couple of notes from the meeting:
We'll try to use nsHttpChannel in the socket process exclusively for TRR once we have cert validation working.
We need to make sure we bypass the cache completely in the socket process (because it lives in the main process)
What do we do for proxy checks (for the TRR connection)? We'll initially do the check in the main process, but we'll try to optimize it later.
Updated•6 years ago
|
Assignee | ||
Comment 6•5 years ago
|
||
Assignee | ||
Comment 7•5 years ago
|
||
Depends on D68398
Assignee | ||
Comment 8•5 years ago
|
||
Depends on D68399
Assignee | ||
Comment 9•5 years ago
|
||
Depends on D68880
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 10•5 years ago
|
||
Updated•5 years ago
|
Comment 11•5 years ago
|
||
Comment 12•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/d23855057df7
https://hg.mozilla.org/mozilla-central/rev/3c13d25cab1e
https://hg.mozilla.org/mozilla-central/rev/d332f00b2ada
https://hg.mozilla.org/mozilla-central/rev/a0f338331b41
https://hg.mozilla.org/mozilla-central/rev/7c84257e93be
Description
•