Commit Graph

2688 Commits

Author SHA1 Message Date
Valentin Gosu
9a1d38c1a0 Bug 1460537 - Connectivity Service - Add check for IPv4/v6 connectivity r=dragana
This is likely not the best approach to detecting IP connectivity.
The check has a slight delay until the failure counter reaches the threshold.
A more reliable way will be added in a follow-up.

Depends on D7844

Differential Revision: https://phabricator.services.mozilla.com/D8704

--HG--
extra : moz-landing-system : lando
2018-10-29 11:22:58 +00:00
Valentin Gosu
3753105b42 Bug 1460537 - Connectivity Service - Add DNSv4 and DNSv6 checks r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D7844

--HG--
extra : moz-landing-system : lando
2018-10-29 11:22:40 +00:00
Jorg K
e001b522ac Bug 1501617 - Enhance test_mozTXTToHTMLConv.js by adding more cases for RFC 2396 Appendix-E. r=valentin 2018-10-27 12:25:00 +03:00
Valentin Gosu
e64bd3c823 Bug 1500594 - Retry reading stream if it returns NS_BASE_STREAM_WOULD_BLOCK r=kershaw
Sometimes nsIBinaryInputStream.readByteArray could return NS_BASE_STREAM_WOULD_BLOCK.
In this case we want to retry reading from the input stream.

Differential Revision: https://phabricator.services.mozilla.com/D9900

--HG--
extra : moz-landing-system : lando
2018-10-26 12:28:56 +00:00
Coroiu Cristina
feba378b98 Backed out 2 changesets (bug 1460537) for xpcshell failures at netwerk/test/unit/test_network_connectivity_service.js on a CLOSED TREE
Backed out changeset ae2b0a2cd8a7 (bug 1460537)
Backed out changeset bd3f7151c697 (bug 1460537)
2018-10-25 20:16:10 +03:00
Valentin Gosu
0774dd10ce Bug 1460537 - Connectivity Service - Add check for IPv4/v6 connectivity r=dragana
This is likely not the best approach to detecting IP connectivity.
The check has a slight delay until the failure counter reaches the threshold.
A more reliable way will be added in a follow-up.

Depends on D7844

Differential Revision: https://phabricator.services.mozilla.com/D8704

--HG--
extra : moz-landing-system : lando
2018-10-25 15:49:08 +00:00
Valentin Gosu
23793b33e1 Bug 1460537 - Connectivity Service - Add DNSv4 and DNSv6 checks r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D7844

--HG--
extra : moz-landing-system : lando
2018-10-25 15:48:51 +00:00
Mark Banner
a26105ff45 Bug 1501662 - Add more .eslintrc.js files for test directories (dom, modules, netwerk and parser). r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D9661

--HG--
extra : moz-landing-system : lando
2018-10-24 19:11:17 +00:00
Ehsan Akhgari
488ca4192a Bug 1501404 - Part 8: Remove the XPCOM registration for NamedPipeService r=valentin
Depends on D9576

Differential Revision: https://phabricator.services.mozilla.com/D9577

--HG--
extra : moz-landing-system : lando
2018-10-23 20:07:31 +00:00
James Lee
322311866d Bug 1423839 - Part 2: Enable ESLint for NetUtil.jsm and netwerk/cookie/test/unit/ (manual changes) r=Standard8,jdm
Depends on D9293.

Differential Revision: https://phabricator.services.mozilla.com/D9294

--HG--
extra : moz-landing-system : lando
2018-10-22 23:42:48 +00:00
Andrew McCreight
5c342e70f3 Bug 1497707, part 2 - The second argument to nsComponentManagerImpl::RegisterModule is always null. r=froydnj
This allows some code to be deleted, including a KnownModule ctor.

Depends on D8168

Differential Revision: https://phabricator.services.mozilla.com/D8169

--HG--
extra : moz-landing-system : lando
2018-10-23 00:47:24 +00:00
Valentin Gosu
f0ea345598 Bug 1499917 - Read entire length of expected string from the stream r=michal
The test ocasionally fails out in e10s mode, because stream.available() might not return the entire string length (it's async). So the child process needs to wait for all of the bytes to be read.

Differential Revision: https://phabricator.services.mozilla.com/D9274

--HG--
extra : moz-landing-system : lando
2018-10-19 18:00:50 +00:00
Daniel Stenberg
cf9e76636e bug 1498525 - make test_captive_portal_service use localhost only r=valentin
By setting network.dns.native-is-localhost in this test, it makes all native
name resolves use "localhost" and thus avoids causing an assert if this test
runs with TRR enabled and network.trr.uri set to point to an actual external
host name.

MozReview-Commit-ID: D1df6VtfckR

Differential Revision: https://phabricator.services.mozilla.com/D9070

--HG--
extra : moz-landing-system : lando
2018-10-18 07:06:43 +00:00
Valentin Gosu
055117366d Bug 1487100 - Allow opening the input stream for original content when alt-data is available r=michal,luke
In trying to use fetch with alt-data, we sometimes want the benefit of using alt-data but the JS consumer actually needs to use the original HTTP response from the server.
To get around this problem, we introduce a new API - nsICacheInfoChannel.getOriginalInputStream(nsIInputStreamReceiver) that asyncly receives the input stream containing the HTTP response in the cache entry.

Depends on D8071

Differential Revision: https://phabricator.services.mozilla.com/D8072

--HG--
extra : rebase_source : 43d92c631b964c52b551a700b0954276e91695d6
extra : source : 7f9d03c29a6ffd82c1b5e17c14e27a2ae9d64434
2018-10-17 12:27:37 +00:00
Valentin Gosu
5ac68030f7 Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke
This patch changes the way we set and handle the preferred alternate data type.
It is no longer just one choice, but a set of preferences, each conditional
on the contentType of the resource.

For example:
  var cc = chan.QueryInterface(Ci.nsICacheInfoChannel);
  cc.preferAlternativeDataType("js-bytecode", "text/javascript");
  cc.preferAlternativeDataType("ammended-text", "text/plain");
  cc.preferAlternativeDataType("something-else", "");

When loaded from the cache, the available alt-data type will be checked against
"js-bytecode" if the contentType is "text/javascript", "ammended-text" if the contentType is "text/plain" or "something-else" for all contentTypes.
Note that the alt-data type could be "something-else" even if the contentType is "text/javascript".

The preferences are saved as an nsTArray<mozilla::Tuple<nsCString, nsCString>>.

Differential Revision: https://phabricator.services.mozilla.com/D8071

--HG--
extra : rebase_source : eb4961f05a52e557e7d2d986d59e0a2cf18a3447
extra : source : dd1c31ea78c2b15d14750d137037a54d50719997
2018-10-17 13:58:30 +00:00
Dorel Luca
1a48c88d19 Backed out 2 changesets (bug 1487100) for XPCShell failures in netwerk/test/unit_ipc/test_alt-data_simple_wrap.js
Backed out changeset 7f9d03c29a6f (bug 1487100)
Backed out changeset dd1c31ea78c2 (bug 1487100)
2018-10-18 05:51:42 +03:00
Dorel Luca
88bfc3786c Backed out 5 changesets (bug 1497707) for android mass failures. CLOSED TREE
Backed out changeset bb1b80139e37 (bug 1497707)
Backed out changeset 11c813f192e2 (bug 1497707)
Backed out changeset 32595f9e73d3 (bug 1497707)
Backed out changeset f37f2d39ec9c (bug 1497707)
Backed out changeset 80bf9ddf5bed (bug 1497707)

--HG--
extra : rebase_source : 598b7732d9b994dfeb63c417841a4b9516ecdf19
2018-10-18 00:35:39 +03:00
Andrew McCreight
9f1dcc8dca Bug 1497707, part 2 - The second argument to nsComponentManagerImpl::RegisterModule is always null r=froydnj
This allows some code to be deleted, including a KnownModule ctor.

Depends on D8168

Differential Revision: https://phabricator.services.mozilla.com/D8169

--HG--
extra : moz-landing-system : lando
2018-10-17 20:45:42 +00:00
Valentin Gosu
324f3ccf9b Bug 1487100 - Allow opening the input stream for original content when alt-data is available r=michal,luke
In trying to use fetch with alt-data, we sometimes want the benefit of using alt-data but the JS consumer actually needs to use the original HTTP response from the server.
To get around this problem, we introduce a new API - nsICacheInfoChannel.getOriginalInputStream(nsIInputStreamReceiver) that asyncly receives the input stream containing the HTTP response in the cache entry.

Depends on D8071

Differential Revision: https://phabricator.services.mozilla.com/D8072

--HG--
extra : moz-landing-system : lando
2018-10-17 12:27:37 +00:00
Valentin Gosu
e392dbc5dd Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke
This patch changes the way we set and handle the preferred alternate data type.
It is no longer just one choice, but a set of preferences, each conditional
on the contentType of the resource.

For example:
  var cc = chan.QueryInterface(Ci.nsICacheInfoChannel);
  cc.preferAlternativeDataType("js-bytecode", "text/javascript");
  cc.preferAlternativeDataType("ammended-text", "text/plain");
  cc.preferAlternativeDataType("something-else", "");

When loaded from the cache, the available alt-data type will be checked against
"js-bytecode" if the contentType is "text/javascript", "ammended-text" if the contentType is "text/plain" or "something-else" for all contentTypes.
Note that the alt-data type could be "something-else" even if the contentType is "text/javascript".

The preferences are saved as an nsTArray<mozilla::Tuple<nsCString, nsCString>>.

Differential Revision: https://phabricator.services.mozilla.com/D8071

--HG--
extra : moz-landing-system : lando
2018-10-17 13:58:30 +00:00
Andrew McCreight
837f0af066 Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug
If class A is derived from class B, then an instance of class A can be
converted to B via a static cast, so a slower QI is not needed.

Differential Revision: https://phabricator.services.mozilla.com/D6861

--HG--
extra : moz-landing-system : lando
2018-10-01 21:38:01 +00:00
Andrew McCreight
786a4c8cf8 Bug 1494111 - Remove redundant QI from TestURIMutator r=mayhemer
The templated version of Finalize is not needed, because the argument
being passed in is already an nsIURI, so the QI is not needed.

Differential Revision: https://phabricator.services.mozilla.com/D6862

--HG--
extra : moz-landing-system : lando
2018-09-28 12:57:48 +00:00
Christoph Kerschbaumer
60e3239dee Bug 1490874: Log Principal based Security Errors to the Security pane in the console. r=smaug 2018-09-25 07:25:05 +02:00
Andrea Marchesini
b958c6f170 Bug 1260399 - Remove deprecated messages in nsICookieManager methods - part 3 - nsICookieManager.cookieExists, r=ehsan 2018-09-24 11:37:57 +02:00
Andrea Marchesini
61a7f9a598 Bug 1260399 - Remove deprecated messages in nsICookieManager methods - part 1 - nsICookieManager.add(), r=ehsan 2018-09-24 11:37:56 +02:00
shindli
0b6d93ef4d Backed out changeset 510e95767aeb (bug 1490874) for security failures in browser/components/payments/test/mochitest/test_basic_card_form.html CLOSED TREE 2018-09-24 11:43:30 +03:00
Christoph Kerschbaumer
0df81cd9f4 Bug 1490874: Log Principal based Security Errors to the Security pane in the console. r=smaug 2018-09-24 09:34:04 +02:00
Chris Peterson
b3b534c0a9 Bug 1336712 - netwerk: Drop test checks for Windows XP. r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D6584

--HG--
extra : source : 626463257c8b31f577ad657f430b04ab483aa481
extra : histedit_source : bd8606c8235757cb90bef6f2974154cd886dd118
2018-09-13 21:41:24 -07:00
Dragana Damjanovic
9cadc84486 Bug 1473736 - Implement necko part of ESNI r=mak,kmag,mcmanus
--HG--
extra : rebase_source : be79870960953ef9535ccb6a440515ec4a8232d5
extra : histedit_source : 8096ab2eaf246cbbeb97bace0531b86b8c69ff66
2018-09-22 23:54:11 +03:00
Diego Pino Garcia
0f11b0a3d3 Bug 1483986 - Remove sync versions of document.cookie getter/setter; r=ehsan,froydnj 2018-09-21 23:01:32 -04:00
Diego Pino Garcia
3768f3cde9 Bug 1428243 - Add helper method to build a payload. r=juhsu 2018-09-06 00:09:00 +03:00
Ehsan Akhgari
02f08121ff Bug 1491561 - Remove the XPCOM registrations for LoadContext; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D5945
2018-09-17 21:28:39 -04:00
Dipen Patel
aeed887ff8 Bug 1468222 Consolidate nsISSLStatus info nsITransportSecurityInfo r=Gijs,snorp,jcj,mcmanus,sfraser,keeler,baku,ato
Move all fields of nsISSLStatus to nsITransportSecurityProvider
Remove nsISSLStatus interface and definition
Update all code and test references to nsISSLStatus
Maintain ability to read in older version of serialized nsISSLStatus.  This
is verified with psm_DeserializeCert gtest.

Differential Revision: https://phabricator.services.mozilla.com/D3704

--HG--
extra : moz-landing-system : lando
2018-09-11 00:07:30 +00:00
Csoregi Natalia
0400fe7b57 Backed out changeset bd8baf88f373 (bug 1468222) for test_security-info-parser.js failures. CLOSED TREE 2018-09-08 03:16:25 +03:00
Dipen Patel
0679e09a9a Bug 1468222 Consolidate nsISSLStatus info nsITransportSecurityInfo r=snorp,ato,sfraser,keeler,baku,mcmanus,Gijs
Move all fields of nsISSLStatus to nsITransportSecurityProvider
Remove nsISSLStatus interface and definition
Update all code and test references to nsISSLStatus
Maintain ability to read in older version of serialized nsISSLStatus.  This
is verified with psm_DeserializeCert gtest.

Differential Revision: https://phabricator.services.mozilla.com/D3704

--HG--
extra : moz-landing-system : lando
2018-09-07 22:50:17 +00:00
vinoth
dae6ac4ec4 Bug 1489455 - Replace evalInSandbox from httpd.js r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D5243

--HG--
extra : moz-landing-system : lando
2018-09-07 13:27:24 +00:00
Valentin Gosu
b39f149d13 Bug 908413 - Use dom::CMimeType::Parse to extract content type for data URIs r=hsivonen
Depends on D5094

Differential Revision: https://phabricator.services.mozilla.com/D5095

--HG--
extra : moz-landing-system : lando
2018-09-07 05:44:49 +00:00
Valentin Gosu
a2675e9878 Bug 1476996 - Implement cross process redirection in Http on the parent process r=bagder,nika
This patch builds the foundation for the ability to relocate HTTP channels from one content process to another in order to ensure that origins are properly isolated. This relocation would normally occur when the response to an HTTP request is a redirect to a different origin.
The patch merely adds the mechanism for relocating the channel, rather than the logic of doing so. This will be provided in a follow-up patch by a specialized service. Right now that functionality is mocked in the test.

How this works:
In nsHttpChannel::OnStartRequest we will query the service that decides whether we need to direct the response to another process. If so, it will return a promise that resolves to a TabParent.
When the promise resolves, in HttpChannelParentListener::TriggerCrossProcessRedirect we call NeckoParent::SendCrossProcessRedirect passing along the required information to recreate the channel in the new process. The NeckoChild in the new process will then instantiate a new channel, call ConnectParent() which creates the associated parent channel, and connects it with the existing nsHttpChannel.
A listener in the new process is then notified of the existence of the new channel. It is required to call completeRedirectSetup on the channel, passing an nsIStreamListener to the call.
We then finish the entire operation with a call to HttpChannelChild::SendCrossProcessRedirectDone which causes us to close the old HttpChannelChild in the previous process and to resume the nsHttpChannel in the main process.

Differential Revision: https://phabricator.services.mozilla.com/D2958

--HG--
rename : netwerk/test/browser/browser_cookie_sync_across_tabs.js => netwerk/test/browser/browser_cross_process_redirect.js
rename : dom/media/test/redirect.sjs => netwerk/test/browser/redirect.sjs
extra : moz-landing-system : lando
2018-09-04 20:45:22 +00:00
Gurzau Raul
dfbefcc19f Backed out changeset 45605798ecfe (bug 1476996) for build bustage at netwerk/protocol/http/HttpChannelParentListener.cpp on a CLOSED TREE 2018-09-04 20:31:33 +03:00
Valentin Gosu
98ff61cc44 Bug 1476996 - Implement cross process redirection in Http on the parent process r=bagder,nika
This patch builds the foundation for the ability to relocate HTTP channels from one content process to another in order to ensure that origins are properly isolated. This relocation would normally occur when the response to an HTTP request is a redirect to a different origin.
The patch merely adds the mechanism for relocating the channel, rather than the logic of doing so. This will be provided in a follow-up patch by a specialized service. Right now that functionality is mocked in the test.

How this works:
In nsHttpChannel::OnStartRequest we will query the service that decides whether we need to direct the response to another process. If so, it will return a promise that resolves to a TabParent.
When the promise resolves, in HttpChannelParentListener::TriggerCrossProcessRedirect we call NeckoParent::SendCrossProcessRedirect passing along the required information to recreate the channel in the new process. The NeckoChild in the new process will then instantiate a new channel, call ConnectParent() which creates the associated parent channel, and connects it with the existing nsHttpChannel.
A listener in the new process is then notified of the existence of the new channel. It is required to call completeRedirectSetup on the channel, passing an nsIStreamListener to the call.
We then finish the entire operation with a call to HttpChannelChild::SendCrossProcessRedirectDone which causes us to close the old HttpChannelChild in the previous process and to resume the nsHttpChannel in the main process.

Differential Revision: https://phabricator.services.mozilla.com/D2958

--HG--
rename : netwerk/test/browser/browser_cookie_sync_across_tabs.js => netwerk/test/browser/browser_cross_process_redirect.js
rename : dom/media/test/redirect.sjs => netwerk/test/browser/redirect.sjs
extra : moz-landing-system : lando
2018-09-04 16:40:57 +00:00
Daniel Varga
e32b3d5290 Merge mozilla-central to autoland 2018-09-04 01:03:27 +03:00
Ehsan Akhgari
e221dc79e1 Bug 1488235 follow-up: Import XPCOMUtils.jsm in head_utils.js
Landed on a CLOSED TREE
2018-09-03 12:18:07 -04:00
Daniel Stenberg
a338748962 bug 1486724 - TRR: accept basic URI template r=valentin
MozReview-Commit-ID: 5RNyvrZLUdK

Differential Revision: https://phabricator.services.mozilla.com/D4432

--HG--
extra : moz-landing-system : lando
2018-09-03 14:21:08 +00:00
Ehsan Akhgari
a81e4a8252 Bug 1488235 - Remove the XPCOM component registration for nsHttpServer; r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D4876
2018-09-03 11:22:45 -04:00
Kershaw Chang
08bb991b4d Bug 1357676 - Modify failed tests r=jdm
We've introduced a new pref network.cookie.quotaPerHost and also a rule that the value of network.cookie.maxPerHost should always be bigger than network.cookie.quotaPerHost. So, before changing the value of network.cookie.maxPerHost, we have to set network.cookie.quotaPerHost first.
This patch only sets network.cookie.quotaPerHost equal to network.cookie.maxPerHost - 1 in all failed tests.

Differential Revision: https://phabricator.services.mozilla.com/D4346

--HG--
extra : moz-landing-system : lando
2018-08-30 15:41:37 +00:00
Nicholas Hurley
dd1853e164 Bug 1483294 - Always advertise h2 if TLS 1.3 is being offered. r=dragana
Previously (under TLS 1.2), we would avoid advertising h2 support if the
spec-mandatory suite was disabled. That suite is only required for TLS
1.2, though. We would like to offer h2 in more cases, so only check for
the mandatory suite if someone has turned off TLS 1.3.

Differential Revision: https://phabricator.services.mozilla.com/D4345

--HG--
extra : moz-landing-system : lando
2018-08-27 18:56:44 +00:00
David Keeler
1cd81e4c5a bug 1485087 - remove the option to use the TLS session cache from nsITLSServerSocket r=jryans,mayhemer
As initially implemented, nsITLSServerSocket by default enabled the use of the
TLS session cache provided by NSS. However, no consumers of nsITLSServerSocket
actually used it. Because it was an option, though, PSM had to jump through some
hoops to a) make it work in the first place and b) not have NSS panic on
shutdown. Furthermore, it meant increased memory usage for every user of Firefox
(and again, nothing actually used the feature, so this was for naught).

In bug 1479918, we discovered that if PSM shut down before Necko, NSS could
attempt to acquire a lock on the session cache that had been deleted, causing a
shutdown hang. We probably should make it less easy to make this mistake in NSS,
but in the meantime bug 1479918 needs uplifting and this workaround is the
safest, most straight-forward way to achieve this.

Differential Revision: https://phabricator.services.mozilla.com/D3919

--HG--
extra : moz-landing-system : lando
2018-08-24 16:00:34 +00:00
Kris Maglione
3a5c05e76f Bug 1484496: Part 5e - Convert remaining nsISimpleEnumerator users to use JS iteration. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D3733

--HG--
extra : rebase_source : c0fac176d7b3d840c4dbb14f8d95ccfc7f83a5a8
extra : histedit_source : a92c40117d0808a3ad68c972f622a7a42c9ae8ba
2018-08-18 18:13:14 -07:00
Kris Maglione
c943b2a5c4 Bug 1484496: Part 4a - Add JS iterator support to nsISimpleEnumerator. r=mccr8
This patch adds simple stubs to convert between the nsISimpleEnumerator
iteration protocol and the JS iteration protocol.

Each iterable object is required to have an @@iterator method which returns an
object implementing the iterator protocol. The later objects, by convention,
also have such a method which returns the object itself.

This patch adds both a @@iterator() and entries() methods to
nsISimpleEnumerator. The former returns an iterator which returns plain
nsISupports objects. The latter accepts an IID and queries each element to
that IID before returning it. If any element fails to query, the error is
propagated to the caller.

Differential Revision: https://phabricator.services.mozilla.com/D3727

--HG--
extra : rebase_source : 340eb43a1c5e6d7ae69fa8ee486d66d31d079b14
extra : histedit_source : f3efc6c265851a563968ee410e4626e0540f55c0
2018-08-18 16:02:49 -07:00
Dorel Luca
07c6e76122 Merge mozilla-inbound to mozilla-central. a=merge 2018-08-21 12:54:24 +03:00