Commit Graph

12385 Commits

Author SHA1 Message Date
Ehsan Akhgari
9f447f6c4f Bug 1214305 - Part 7: Decide in the child process whether an intercepted channel should go through a secure upgrade; r=mcmanus
This is OK from a security perspective, since this decision only affects
whether the channel will be intercepted with the secure URI in the child
process.  If the intercepting service worker decides to fall back to an
actual network request, we send the request to the parent process with
the original pre-upgrade URI, and the parent process will still be in
charge of whether a network visible HTTP request should be upgraded.
2016-01-04 16:30:02 -05:00
Ehsan Akhgari
69ce1d24d9 Bug 1214305 - Part 6: Use a non-IPC redirect for synthesized upgraded responses to ensure the response URL is correctly propagated; r=mcmanus 2016-01-04 16:30:02 -05:00
Ehsan Akhgari
a48f3795ae Bug 1214305 - Part 3: Add a nsIInterceptedChannel.secureUpgradedChannelURI helper; r=jdm 2016-01-04 16:30:02 -05:00
Ehsan Akhgari
9d105a6fd7 Bug 1214305 - Part 2: Refactor the logic for obtaining the secure upgraded URI into HttpBaseChannel; r=mcmanus 2016-01-04 16:30:02 -05:00
Ehsan Akhgari
377b919b76 Bug 1214305 - Part 1: Refactor the logic for querying whether a connection should go through a secure upgrade into NS_ShouldSecureUpgrade; r=mcmanus 2016-01-04 16:30:02 -05:00
Wes Kocher
dbbade6e75 Backed out 10 changesets (bug 1214305) for leaks on linux debug m-e10s(bc7)
Backed out changeset 1f482566235a (bug 1214305)
Backed out changeset 001b31489756 (bug 1214305)
Backed out changeset 4e94d2088219 (bug 1214305)
Backed out changeset fba4a5bcea41 (bug 1214305)
Backed out changeset 100f8e249007 (bug 1214305)
Backed out changeset a59c453192dc (bug 1214305)
Backed out changeset 2daa86fc1fb9 (bug 1214305)
Backed out changeset c04efb57b0ed (bug 1214305)
Backed out changeset 52046e843c60 (bug 1214305)
Backed out changeset ac4fd6615828 (bug 1214305)

--HG--
extra : commitid : ILmaVumvmvH
2016-01-04 10:34:24 -08:00
Ehsan Akhgari
96c8327a92 Bug 1214305 - Part 7: Decide in the child process whether an intercepted channel should go through a secure upgrade; r=mcmanus
This is OK from a security perspective, since this decision only affects
whether the channel will be intercepted with the secure URI in the child
process.  If the intercepting service worker decides to fall back to an
actual network request, we send the request to the parent process with
the original pre-upgrade URI, and the parent process will still be in
charge of whether a network visible HTTP request should be upgraded.
2016-01-04 09:52:47 -05:00
Ehsan Akhgari
1927591d62 Bug 1214305 - Part 6: Use a non-IPC redirect for synthesized upgraded responses to ensure the response URL is correctly propagated; r=mcmanus 2016-01-04 09:52:45 -05:00
Ehsan Akhgari
17e63f2856 Bug 1214305 - Part 3: Add a nsIInterceptedChannel.secureUpgradedChannelURI helper; r=jdm 2016-01-04 09:52:40 -05:00
Ehsan Akhgari
478b7b9bc3 Bug 1214305 - Part 2: Refactor the logic for obtaining the secure upgraded URI into HttpBaseChannel; r=mcmanus 2016-01-04 09:52:39 -05:00
Ehsan Akhgari
3e8d2fe85d Bug 1214305 - Part 1: Refactor the logic for querying whether a connection should go through a secure upgrade into NS_ShouldSecureUpgrade; r=mcmanus 2016-01-04 09:52:37 -05:00
Ehsan Akhgari
bbc181b4fe Bug 1219469 - Part 2: Make HttpChannelParentListener be the controller; r=jdm,jduell
The controller needs to be able to handle redirects.
HttpChannelParentListener is a listener object that can attach to
multiple HttpChannelParent objects as part of a single logical Necko
channel (meaning that the listener object will be reused for redirected
channels) so it seems like the better choice for the object that should
implement nsINetworkInterceptController.  This patch moves the
implementation of the nsINetworkInterceptController interface to
HttpChannelParentListener.
2016-01-04 09:39:12 -05:00
Ehsan Akhgari
77182bbd83 Bug 1219469 - Part 1: Revert the error reporting added in bug 1233845; r=jdm 2016-01-04 09:39:10 -05:00
Ehsan Akhgari
208f93e405 Bug 1233245 - Propagate the interception information in the non-e10s case for all HTTP redirects, not just the internal ones; r=jdm
Doing this work in StartRedirectChannelToURI() was causing us to not set
the bypass service worker flag properly in the case of real HTTP redirects.
This patch also fixes the incorrect test expectation value.
2016-01-04 09:39:09 -05:00
Jason Duell
b091fa291e Bug 1199841 - Restructure private browsing to remember status after OnStopRequest r=jdm 2015-12-30 17:51:21 -05:00
Jeff Walden
5be7be38a1 Bug 1235615 - Split JS::CompartmentOptions into JS::CompartmentCreationOptions that are immutable characteristics of a compartment, and JS::CompartmentBehaviors that may be changed after the compartment's been created. r=terrence
--HG--
extra : rebase_source : f08c380ae247d3308d4c36788ac765de1b75af50
2015-12-28 16:15:52 -06:00
Mike Hommey
ce3914c897 Bug 1225384 - Change how the default resource "host names" are handled. r=michal
The meaning of resource:///, resource://app/ and resource://gre/ needs to
remain constant. Unfortunately, the model of the resource protocol handler
is that it is possible to set substitutions that change their meaning.

So, we forbid setting overwriting the substitutions for those three
special "host names".

Unfortunately, with e10s, the full list of substitutions is also sent to
the content process, which then sets substitutions, making it harder to
know in which cases SetSubstitution is valid for those three "host names"
or not.

So instead of trying to find the right heuristics, use the recently added
SubstitutingProtocolHandler::ResolveSpecialCases API to handle the three
"host names" instead of storing them as "normal" substitutions.

Still actively reject SetSubstitution with the three special "host names"
so as to find issues such as bug 1224000 instead of allowing the chrome
manifest entry and have it silently ignored.

Additionally, make GetSubstitution return the URIs for the three special
"host names" through GetSubstitutionInternal, replacing what was originally
added in bug 257162. Those changes from bug 257162 relied on the
resource:app string being handled by nsXREDirProvider::GetFile, but that was
removed in bug 620931, effectively making that code now in
GetSubstitutionInternal useless.
2015-12-28 06:49:05 +09:00
Shih-Chiang Chien
84d3fa49fe Bug 1229726 - fix the data copy from sockaddr to NetAddr on OSX/FreeBSD. r=mcmanus.
--HG--
extra : commitid : 8MlF9vIlTGZ
2015-12-23 14:13:58 +08:00
Patrick McManus
736aaab8e3 Bug 1234591 - Use channel.asyncOpen2 within netwerk/test/unit/test_http2.js r=ckerschb 2015-12-23 17:46:31 -05:00
Patrick McManus
9f784d6ae1 Bug 1234366 - Convert netwerk/test/unit/test_spdy.js to use asyncOpen2 r=ckerschb 2015-12-23 17:36:33 -05:00
Ben Kelly
3972c8300e Bug 1220681 P5 Don't double suspend parent channel during synthesized divert to parent. r=jdm 2015-12-23 12:20:53 -08:00
Ben Kelly
dd179ed223 Bug 1220681 P4 Automatically suspend the parent channel after synthesizing the response for diverison. r=jdm 2015-12-23 12:20:53 -08:00
Ben Kelly
9230279805 Bug 1220681 P3 Delay diversion on parent side until response head has been synthesized. r=jdm 2015-12-23 12:20:53 -08:00
Ben Kelly
0616535096 Bug 1220681 P1 Make HttpChannelChild::DivertToParent() work with synthetic responses. r=jdm 2015-12-23 12:20:53 -08:00
Patrick McManus
29ca4c0e9d Bug 1218297 - eventtokenbucket shutdown leak r=valentin 2015-12-23 10:47:13 -05:00
Patrick McManus
90c978fb27 Bug 1234896 - refptrs for httphandler.cpp r=valentin.gosu 2015-12-23 11:43:41 -05:00
Carsten "Tomcat" Book
719ce6825c merge mozilla-inbound to mozilla-central a=merge 2015-12-23 12:00:09 +01:00
Christoph Kerschbaumer
0fb857d90b Bug 1234596 - Convert 20 tests within netwerk/test to use AsyncOpen2 (r=mcmanus) 2015-12-22 20:57:57 -08:00
Wes Kocher
c9ba10fdd9 Backed out changeset 7459e0c97939 (bug 1234596) for test_protocolproxyservice.js failures in xpcshell CLOSED TREE
--HG--
extra : commitid : FXbwzdhNjgj
2015-12-22 18:37:37 -08:00
Christoph Kerschbaumer
8adf739828 Bug 1234596 - Convert 20 tests within netwerk/test to use AsyncOpen2 (r=mcmanus) 2015-12-22 13:09:31 -08:00
Kannan Vijayan
9cc5a540ac Bug 1233813 - Fix mDNS bug in resolving services with no TXT records. r=schien 2015-12-22 16:24:56 -05:00
Kris Maglione
77d984b84a Bug 1210996: [webext] Check host permissions in the browser.cookies API. r=billm
--HG--
rename : toolkit/components/extensions/test/mochitest/test_ext_cookies.html => toolkit/components/extensions/test/mochitest/test_ext_cookies_permissions.html
extra : commitid : IqgOPGfrF2K
extra : rebase_source : 1ba3322fec537ba5e0c0f5fe8a30b7e6eec46911
2015-12-02 21:20:01 -08:00
Henry
f090013aed Bug 1223678 - Use package-identifier from argument to create principal. r=kanru. 2015-12-22 11:08:56 +08:00
Christoph Kerschbaumer
24a75dc0de Bug 1234369 - Convert 25 tests within netwerk/test to use AsyncOpen2 (r=mcmanus) 2015-12-21 16:29:26 -08:00
Sebastian Hengst
678b0a4325 Backed out changeset e8c63b932647 (bug 1225384) for bustage in netwerk/test/unit/test_bug580508.js in e.g. XPCshell tests. r=bustage 2015-12-22 01:33:26 +01:00
Mike Hommey
b6ec2d180a Bug 1225384 - Change how the default resource "host names" are handled. r=michal
The meaning of resource:///, resource://app/ and resource://gre/ needs to
remain constant. Unfortunately, the model of the resource protocol handler
is that it is possible to set substitutions that change their meaning.

So, we forbid setting overwriting the substitutions for those three
special "host names".

Unfortunately, with e10s, the full list of substitutions is also sent to
the content process, which then sets substitutions, making it harder to
know in which cases SetSubstitution is valid for those three "host names"
or not.

So instead of trying to find the right heuristics, use the recently added
SubstitutingProtocolHandler::ResolveSpecialCases API to handle the three
"host names" instead of storing them as "normal" substitutions.

Still actively reject SetSubstitution with the three special "host names"
so as to find issues such as bug 1224000 instead of allowing the chrome
manifest entry and have it silently ignored.
2015-12-22 07:55:40 +09:00
Ehsan Akhgari
aa999694ec Bug 1234251 - Remove HttpChannelChild::mSynthesizedResponseHead; r=jdm 2015-12-21 17:01:28 -05:00
Christoph Kerschbaumer
9f4842f614 Bug 1233843 - Convert 30 tests within netwerk/test to use AsyncOpen2 (r=mcmanus) 2015-12-21 13:06:46 -08:00
Wes Kocher
a4bead1f65 Backed out changeset 28da91dbe6c5 (bug 1233843) for failures in test_bug203271.js in various test suites 2015-12-21 12:29:10 -08:00
Christoph Kerschbaumer
5ab4c2a41a Bug 1233843 - Convert 30 tests within netwerk/test to use AsyncOpen2 (r=mcmanus) 2015-12-18 14:56:57 -08:00
Gian-Carlo Pascutto
2652d00be1 Bug 1211090 - Don't fail to open databases if we can't do buffered IO. r=froydnj 2015-12-21 17:51:03 +01:00
Gian-Carlo Pascutto
73ac6a6ca3 Bug 1211090 - Add fallocate support to nsIOutputFileStream and use it. r=froydnj 2015-12-21 17:50:53 +01:00
Ben Kelly
aa9b3c6150 Bug 1233962 P2 Fix service worker xpcshell test to return a dispatcher from ChannelIntercepted(). r=jdm 2015-12-22 11:57:11 -08:00
Ben Kelly
3fcfa5995a Bug 1233962 P1 Call ResetInterception() if the controller is nullptr. r=jdm 2015-12-22 11:57:10 -08:00
Blake Kaplan
92c07bc4ad Bug 1229177 - Show the tracking protection shield for fetch and XHR requests. r=jduell
--HG--
extra : rebase_source : 81f1819355ee85b323cdfff4505e20613c4c5296
2015-12-21 14:12:52 -08:00
Nicholas Hurley
151ac66626 Bug 1233784 - Disallow illegal characters in cookie names. r=jduell 2015-12-17 14:41:38 -08:00
Dragana Damjanovic
c2d5cae269 Bug 664163 - Fix Get(Local|Remote)(Address|Port) in HttpChannelChild. r=jduell 2015-12-19 16:11:39 -05:00
Josh Matthews
d2cef8692f Bug 1233845 - Report an interception error and cancel the HTTP channel when encountering a known topcrash situation. r=ehsan 2015-12-19 09:40:06 -05:00
Christoph Kerschbaumer
16f9142afe Bug 1233760 - Revert test_spdy.js to use AsyncOpen2 (r=mcmanus) 2015-12-18 15:23:36 -08:00
Christoph Kerschbaumer
c83699f25f Bug 1233760 - Convert 25 tests within netwerk/test to use AsyncOpen2 (r=mcmanus) 2015-12-18 13:31:16 -08:00