Closed
Bug 1144270
Opened 9 years ago
Closed 9 years ago
Update remaining calles of newChannel to newChannel2 in netwerk
Categories
(Core :: DOM: Security, defect)
Core
DOM: Security
Tracking
()
RESOLVED
FIXED
mozilla39
Tracking | Status | |
---|---|---|
firefox39 | --- | fixed |
People
(Reporter: ckerschb, Assigned: ckerschb)
References
Details
Attachments
(1 file, 1 obsolete file)
5.01 KB,
patch
|
mcmanus
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Updated•9 years ago
|
Assignee | ||
Comment 1•9 years ago
|
||
Jonas, we are creating a new channel within speculativeConnect() - ideally we would change the idl [1] to also pass a loadInfo. At them moment I am not sure how feasible that is, what do you think? We can and should definitely *not* use the systemPrincipal for speculative loads. [1] http://mxr.mozilla.org/mozilla-central/source/netwerk/base/nsISpeculativeConnect.idl#28
Attachment #8578817 -
Flags: feedback?(jonas)
Comment on attachment 8578817 [details] [diff] [review] bug_1144270_ioservice.patch Review of attachment 8578817 [details] [diff] [review]: ----------------------------------------------------------------- I don't know enough about this code to really have an informed opinion. But if these are "real" network connects that actually end up downloading a resource from the network, then yeah, this needs to take a loadInfo. Or probably more likely, needs to take a |aLoadingNode, aLoadingPrincipal, aTriggeringPrincipal| triplet since it looks like this function is called from script. I.e. if this is just a "normal" network request, just happening at a lower priority, then this function needs to be treated just like ioservice.newChannel is, i.e. we likely need to add ioservice.speculativeConnect2(...)
Attachment #8578817 -
Flags: feedback?(jonas) → feedback-
OTOH, if this just does a "preconnect", i.e. if this just does the TCP and TLS handshake, and doesn't actually do any http traffic, then we can do something simpler. But it doesn't look like that's what this is?
Assignee | ||
Comment 4•9 years ago
|
||
Arthur, since you wrote the code in bug 436344, I was wondering if you are able to answers Jonas' questions about the channel in question.
Flags: needinfo?(arthuredelstein)
Comment 5•9 years ago
|
||
(In reply to Christoph Kerschbaumer [:ckerschb] from comment #4) > Arthur, since you wrote the code in bug 436344, I was wondering if you are > able to answers Jonas' questions about the channel in question. It does seem that requiring a |aLoadingNode, aLoadingPrincipal, aTriggeringPrincipal| triple would be important from a privacy perspective. For example, ad- and tracker-blocking extensions might intend to block all connections from a particular loading node.
Flags: needinfo?(arthuredelstein)
Assignee | ||
Updated•9 years ago
|
Summary: Update remaining calles of newChannel to newChannel2 in netwerk/base/nsIOService.cpp → Update remaining calles of newChannel to newChannel2 in netwerk
Assignee | ||
Comment 7•9 years ago
|
||
Pat, I just chatted with sworkman on IRC, here are the important parts: (10:37:55 AM) ckerschb: question, what is speculativeLoad doing? do we really need to create a channel there? (10:38:14 AM) sworkman: yes, you need to create a channel (10:38:24 AM) sworkman: spec connect is predictive networking (10:38:34 AM) sworkman: getting connections warmed up so data can flow (10:38:39 AM) ckerschb: is it actually doing a network load? (10:38:47 AM) sworkman: no, not yet (10:38:53 AM) sworkman: it’s just a TCP connection to a server (10:38:54 AM) ckerschb: but potentially? (10:38:58 AM) sworkman: potentially yes (10:39:04 AM) ckerschb: so we need loadInfo args? (10:39:19 AM) sworkman: I’m not sure, but I don’t think so (10:39:23 AM) ckerschb: which means we have to change the *.idl of speculativeConnecct to hand args, right? (10:39:31 AM) ckerschb: why not? (10:39:32 AM) sworkman: this is a dummy channel used to create the TCP connection (10:39:55 AM) sworkman: when the REAL channel responsible for the load is started, it will check the TCP pool to see if there’s an available connection (10:40:10 AM) sworkman: that channel is the one that the checks should (and will) be done on (10:40:37 AM) ckerschb: well, that is great news (10:40:45 AM) ckerschb: do you think we could use systemPrincipal then? (10:43:08 AM) ckerschb: still there? (10:44:19 AM) sworkman: I think you could I would like to make sure that it's safe to use the systemPrincipal as the loadingPrincipal in both cases, do you agree with Steve and me?
Attachment #8578817 -
Attachment is obsolete: true
Attachment #8580796 -
Flags: review?(mcmanus)
Comment 8•9 years ago
|
||
right - this is just a preconnect. Any preload (when it happens) will have a real channel attached to it.. and the expectation is that any load that uses this preconnect result comes via a channel.
Updated•9 years ago
|
Attachment #8580796 -
Flags: review?(mcmanus) → review+
Assignee | ||
Comment 9•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/9b47ec7ffe71
Target Milestone: --- → mozilla39
You need to log in
before you can comment on or make changes to this bug.
Description
•