Граф коммитов

5095 Коммитов

Автор SHA1 Сообщение Дата
Dragana Damjanovic bdee941ae5 Bug 1236277 - Retry all connections not just the reused one. r=mcmanus 2016-01-11 05:20:00 +01:00
Patrick McManus 7ed406b2be Bug 1238290 - fix bad necko deps on unified_sources r=valentin.gosu
---
 netwerk/base/ARefBase.h                            |  2 ++
 netwerk/base/CaptivePortalService.cpp              |  1 +
 netwerk/base/CaptivePortalService.h                |  1 +
 netwerk/base/EventTokenBucket.cpp                  |  4 +++-
 netwerk/base/LoadContextInfo.cpp                   |  3 +++
 netwerk/base/LoadInfo.cpp                          |  3 +++
 netwerk/base/MemoryDownloader.cpp                  |  1 +
 netwerk/base/Predictor.cpp                         |  1 +
 netwerk/base/RedirectChannelRegistrar.h            |  1 +
 netwerk/base/nsBaseChannel.cpp                     |  1 +
 netwerk/base/nsChannelClassifier.cpp               |  1 +
 netwerk/base/nsDirectoryIndexStream.cpp            |  3 ++-
 netwerk/base/nsDownloader.cpp                      |  1 +
 netwerk/base/nsIOService.cpp                       |  1 +
 netwerk/base/nsIncrementalDownload.cpp             |  3 +++
 netwerk/base/nsNetUtil.cpp                         |  4 ++++
 netwerk/base/nsNetUtil.h                           |  1 +
 netwerk/base/nsProtocolProxyService.cpp            |  1 +
 netwerk/base/nsSecCheckWrapChannel.cpp             |  2 ++
 netwerk/base/nsUDPSocket.cpp                       |  4 +++-
 netwerk/cache/nsDiskCacheBinding.cpp               |  2 +-
 netwerk/cache/nsDiskCacheDeviceSQL.cpp             |  2 ++
 netwerk/cache/nsMemoryCacheDevice.cpp              |  2 +-
 netwerk/cache2/CacheFileUtils.cpp                  |  2 ++
 netwerk/cache2/CacheStorageService.h               |  1 +
 netwerk/ipc/NeckoParent.cpp                        |  1 +
 netwerk/ipc/RemoteOpenFileChild.cpp                |  1 +
 netwerk/protocol/about/nsAboutBloat.cpp            |  1 +
 netwerk/protocol/about/nsAboutCacheEntry.cpp       |  1 +
 netwerk/protocol/about/nsAboutProtocolHandler.cpp  |  1 +
 netwerk/protocol/data/DataChannelParent.cpp        |  1 +
 netwerk/protocol/file/nsFileProtocolHandler.cpp    |  1 +
 netwerk/protocol/ftp/FTPChannelParent.cpp          |  2 ++
 netwerk/protocol/ftp/FTPChannelParent.h            |  1 +
 netwerk/protocol/ftp/nsFtpConnectionThread.cpp     |  1 +
 netwerk/protocol/ftp/nsFtpProtocolHandler.h        |  1 +
 netwerk/protocol/http/Http2Compression.cpp         |  1 +
 netwerk/protocol/http/Http2Session.cpp             |  1 +
 netwerk/protocol/http/Http2Stream.h                |  2 ++
 netwerk/protocol/http/HttpBaseChannel.cpp          |  4 ++++
 netwerk/protocol/http/HttpBaseChannel.h            |  1 +
 netwerk/protocol/http/HttpChannelChild.cpp         | 25 ++--------------------
 netwerk/protocol/http/HttpChannelChild.h           | 24 +++++++++++++++++++++
 netwerk/protocol/http/HttpChannelParent.cpp        |  1 +
 netwerk/protocol/http/HttpChannelParent.h          |  1 +
 .../protocol/http/HttpChannelParentListener.cpp    |  1 +
 netwerk/protocol/http/HttpChannelParentListener.h  |  1 +
 netwerk/protocol/http/InterceptedChannel.cpp       |  1 +
 netwerk/protocol/http/NullHttpChannel.cpp          |  1 +
 netwerk/protocol/http/NullHttpTransaction.cpp      |  1 +
 netwerk/protocol/http/PackagedAppService.cpp       | 14 ++++++++++--
 netwerk/protocol/http/PackagedAppService.h         |  4 +++-
 netwerk/protocol/http/PackagedAppVerifier.cpp      |  1 +
 netwerk/protocol/http/nsCORSListenerProxy.cpp      |  2 +-
 netwerk/protocol/http/nsHttpBasicAuth.cpp          |  1 +
 netwerk/protocol/http/nsHttpChannel.cpp            |  2 ++
 netwerk/protocol/http/nsHttpChunkedDecoder.cpp     |  1 +
 netwerk/protocol/http/nsHttpConnectionInfo.cpp     |  2 ++
 netwerk/protocol/http/nsHttpConnectionMgr.cpp      |  1 +
 netwerk/protocol/http/nsHttpDigestAuth.cpp         |  1 +
 netwerk/protocol/viewsource/nsViewSourceHandler.h  |  4 ++++
 .../protocol/websocket/BaseWebSocketChannel.cpp    |  1 +
 .../websocket/WebSocketEventListenerParent.cpp     |  1 +
 .../protocol/websocket/WebSocketEventService.cpp   |  3 +++
 netwerk/protocol/websocket/WebSocketFrame.cpp      |  2 ++
 netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp      |  1 +
 .../protocol/wyciwyg/nsWyciwygProtocolHandler.cpp  |  1 +
 netwerk/streamconv/converters/mozTXTToHTMLConv.cpp |  1 +
 .../streamconv/converters/nsFTPDirListingConv.cpp  |  1 +
 .../streamconv/converters/nsHTTPCompressConv.cpp   |  2 ++
 netwerk/streamconv/converters/nsHTTPCompressConv.h |  1 +
 netwerk/streamconv/converters/nsIndexedToHTML.cpp  |  1 +
 netwerk/streamconv/converters/nsMultiMixedConv.cpp |  2 ++
 netwerk/streamconv/converters/nsTXTToHTMLConv.cpp  |  2 ++
 netwerk/streamconv/converters/nsUnknownDecoder.cpp |  2 ++
 75 files changed, 147 insertions(+), 32 deletions(-)
2016-01-08 20:20:50 -05:00
Chris Peterson 03f5630fd2 Bug 1235298 - Annotate intentional switch fallthroughs to suppress -Wimplicit-fallthrough warnings in netwerk/. r=mcmanus 2015-11-22 21:58:33 -08:00
Mike Taylor d72068aa11 Bug 1237091. Remove WAP telemetry probe. r=mcmanus 2016-01-06 12:15:41 -06:00
Ehsan Akhgari 5f8c37f202 Bug 1229369 - Part 2: Drop the aChannel argument to HttpChannelChild::ShouldInterceptURI() 2016-01-06 11:19:50 -05:00
Ehsan Akhgari ddf76b50b9 Bug 1229369 - Intercept redirected network fetches that have their request mode set to manual; r=jdm
In the non-e10s case, this is done by simply avoiding to set the
LOAD_BYPASS_SERVICE_WORKER flag when we detect a non-internal redirect
in the manual redirect mode.

The e10s solution is a bit more complicated.  Only the child process
knows whether a URI needs to be intercepted, so we piggy back on the
code written to support the |event.respondWith(Response.redirect())|
case where we know in the child that the target of the redirect needs to
be intercepted.

This means that we need to check the same condition as in the non-e10s
case, but we also need to check whether the target of the redirection
needs to be intercepted, which means we need to properly take secure
upgrades into account as well.  This is done by computing both whether
we should intercept and whether we should do a secure upgrade in
HttpChannelChild::SetupRedirect() and saving the information on the
HttpChannelChild for later usage in HttpChannelChild::AsyncOpen().
2016-01-05 21:02:00 -05:00
Patrick McManus 061f13abb6 Bug 1121447 - trust cache less for error codes r=mayhemer 2015-12-22 16:06:07 -05:00
Patrick McManus b28062758e Bug 299031 - heuristic cache rule for 410 should be longer r=mayhemer 2015-12-22 14:58:44 -05:00
Ehsan Akhgari 40c82fa10c Bug 1236686 - Remove nsIFetchEventDispatcher; r=jdm 2016-01-05 15:04:41 -05:00
Patrick McManus 74c91a9068 Bug 524232 - cache about: protocol handlers r=mayhemer 2015-12-17 10:39:41 -05:00
Nicholas Hurley af06028314 Bug 1236170 - Make Http2Session::UncompressAndDiscard push-aware. r=mcmanus
--HG--
extra : commitid : 16EiVpkRWzq
extra : rebase_source : 6146a35424871e8de7cc989acb3479b35921a2a9
2016-01-04 12:17:39 -08:00
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
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
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
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
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
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
Patrick McManus ae19b61b33 Bug 513129 - Dont reuse connections after security prefs change r=hurley 2015-12-17 17:37:53 -05:00
Wes Kocher 48e8bea219 Backed out changeset 82cd6a486698 (bug 1233245) for fetch-request-redirect.https.html failures CLOSED TREE
--HG--
extra : commitid : 2O37Vand5Zd
2015-12-17 16:18:29 -08:00
Ehsan Akhgari 91432f79e5 Bug 1233245 - Propagate the interception information in the non-e10s case for all HTTP redirects, not just the internal ones; r=jdm,bkelly
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.
2015-12-17 17:32:38 -05:00
Nicholas Hurley a6d6d5ef55 Bug 1228822 - Ensure we send out the window update when matching a pushed stream with a pull stream. r=mcmanus
--HG--
extra : commitid : D6pRH1pTQe6
extra : rebase_source : 0b1d5f10a9ebeda7b037e2c147f426908ef241a2
2015-12-09 10:11:04 -08:00
Tim Nguyen 8fe11e6a5d Bug 1137681 - Make user agent docshell overrides affect network requests. r=jduell 2015-12-08 09:27:00 +01:00
Patrick McManus 4c8ee0930e Bug 1230743 - telemtry for nsConnectionEntry hit rate r=hurley 2015-12-05 07:43:01 -05:00
Jonas Sicking 081cb24a23 Bug 1226909 followup to fix bustage. Make sure that the channel returned by NS_NewChannel doesn't have a loadinfo that indicates that the channel has already been opened 2015-12-06 23:50:49 -05:00
Jonas Sicking 0bb4231605 Bug 1216687: Add nsILoadInfo flags for cookie policies. r=ckerschb 2015-12-06 18:33:15 -05:00
Jonas Sicking 28de02f687 Bug 1226909 part 3: Move logic of when to initiate CORS preflight into channels. Allow CORS preflight to happen when doing a same-origin to cross-origin redirect. r=ckerschb 2015-12-06 18:33:14 -05:00
Jonas Sicking 0e0c8c52ea Bug 1226909 part 2: Let CORS preflight logic grab information from nsILoadInfo rather than duplicate it. r=ckerschb 2015-12-06 18:33:14 -05:00