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

187 Коммитов

Автор SHA1 Сообщение Дата
Dorel Luca b53fbe3617 Merge mozilla-central to autoland 2018-06-15 05:43:31 +03:00
Valentin Gosu d9800226a5 Bug 1417827 - Pass DNS arguments as nsACString& instead of char* r=bagder
MozReview-Commit-ID: 7Zk0wM2wsJF

--HG--
extra : rebase_source : 6bfe7a9c21d447252db1b0a5351305bdecb0fa3a
2018-06-15 01:15:13 +02:00
Andi-Bogdan Postelnicu 90ac230485 Bug 1453795 - Necko - Initialize member fields in classes/ structures. r=michal 2018-06-14 11:19:07 +03:00
Jeff Hemphill 0d0efc9d92 Bug 1417827: Convert internal char* to nsCString in DNS.h r=bagder
MozReview-Commit-ID: Js1mXiKaKnt

--HG--
extra : rebase_source : 55ae6349a65f20a2401aa76711b1e9c871b0c167
2017-11-29 23:30:27 -08:00
Dorel Luca ff4d587dc8 Backed out 2 changesets (bug 1417827) for windows build bustage. CLOSED TREE
Backed out changeset 35655153f9c9 (bug 1417827)
Backed out changeset 9606d0d95b53 (bug 1417827)

--HG--
extra : amend_source : ce9a86c7b5ded39d1b00a7c626ba7a082efaabde
2018-06-14 22:07:18 +03:00
Valentin Gosu e5efdc876d Bug 1417827 - Pass DNS arguments as nsACString& instead of char* r=bagder
MozReview-Commit-ID: GqNYfjy9SFp

--HG--
extra : source : 190c4f057ffafa28a9abec657a0c70fe8a9489ab
2018-06-14 14:30:40 +02:00
Jeff Hemphill deb1d4dff1 Bug 1417827: Convert internal char* to nsCString in DNS.h r=bagder
MozReview-Commit-ID: Js1mXiKaKnt

--HG--
extra : source : fc388a747aba88d3eb535e6105305bd85914600b
2017-11-29 23:30:27 -08:00
Gurzau Raul f2d3a45d49 Backed out 2 changesets (bug 1417827) backed out due to gecko decision task failure, tests did not run
Backed out changeset 190c4f057ffa (bug 1417827)
Backed out changeset fc388a747aba (bug 1417827)
2018-06-14 19:07:48 +03:00
Valentin Gosu 3620424d66 Bug 1417827 - Pass DNS arguments as nsACString& instead of char* r=bagder
MozReview-Commit-ID: GqNYfjy9SFp

--HG--
extra : rebase_source : 6bd7c4fcb1f6a5bbbaa9654907ce1b1224be64b2
2018-06-14 14:30:40 +02:00
Jeff Hemphill 85150abc1d Bug 1417827: Convert internal char* to nsCString in DNS.h r=bagder
MozReview-Commit-ID: Js1mXiKaKnt

--HG--
extra : rebase_source : 835ab465653aef0d9d513b8836ba54a27b98e556
2017-11-29 23:30:27 -08:00
Patrick McManus f18aa94399 Bug 1462357 - remove the channel and socket interface id r=bagder,baku
the id was a b2g feature only settable via chrome privd xhr and is no
longer active in the code base

MozReview-Commit-ID: 84GPNvhvjNb

--HG--
extra : rebase_source : ab5c2229b98e1407b8b74ef2ee00dcfea45e046a
2018-05-16 16:05:03 -04:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Daniel Stenberg e443c66c37 bug 1447642 - no more DNSService restarts r=valentin
The DNS service was shutdown and restarted again in several scenarios,
for example when one of its prefs changed and by nsIOService when going
offline/online. The DNSService restart dragged the resolver, TRRService
and others with it and they too were thus restarted.

Most notably this hurt TRR resolving, as the restart caused short gaps
in time when there was no TRRService available and nsHostResolver
defaults to TRR Mode "native" if there's no TRRservice up, causing the
name resolver to occasionally use the wrong or unexpected resolver even
though TRR is enabled.

The resolver restart also flushed the DNS cache which is now avoided.

It is also a performance gain.

MozReview-Commit-ID: pp4Y8bNQJk

--HG--
extra : rebase_source : 9e3b3e6c0df16b8ca6287d8045f594026ae9ad6d
2018-03-21 14:35:53 +01:00
Daniel Stenberg e5d3226694 bug 1434852 - introducing TRR (DOH); r=mcmanus,valentin
Provides an optional resolver mechanism for Firefox that allows running
together with or instead of the native resolver.

TRR offers resolving of host names using a dedicated DNS-over-HTTPS server
(HTTPS is required, HTTP/2 is preferable).

DNS-over-HTTPS (DOH) allows DNS resolves with enhanced privacy, secure
transfers and improved performance.

To keep the failure rate at a minimum, the TRR system manages a dynamic
persistent blacklist for host names that can't be resolved with DOH but works
with the native resolver. Blacklisted entries will not be retried over DOH for
a couple of days. "localhost" and names in the ".local" TLD will not be
resolved via DOH.

TRR is preffed OFF by default and you need to set a URI for an available DOH
server to be able to use it. Since the URI for DOH is set with a name itself,
it may have to use the native resolver for bootstrapping. (Optionally, the
user can set the IP address of the DOH server in a pref to avoid the required
initial native resolve.)

When TRR starts up, it will first verify that it works by checking a
"confirmation" domain name. This confirmation domain is a pref by default set
to "example.com". TRR will also by default await the captive-portal detection
to raise its green flag before getting activated.

All prefs for TRR are under the "network.trr" hierarchy.

The DNS-over-HTTPS spec: https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-03

MozReview-Commit-ID: GuuU6vjTjlm

--HG--
extra : rebase_source : 53fcca757334090ac05fec540ef29d109d5ceed3
2018-02-01 10:20:49 +01:00
Kris Maglione a75561bd62 Bug 1412726: Clean up XPCOM singleton constructor refcount handling. r=froydnj
This is a follow-up to bug 1409249. There are a lot of places where our
factory singleton constructors either don't correctly handle their returned
references being released by the component manager, or do handle it, but in
ways that are not obvious.

This patch handles a few places where we can sometimes wind up with dangling
singleton pointers, adds some explanatory comments and sanity check
assertions, and replaces some uses of manual refcounting with StaticRefPtr and
ClearOnShutdown.

There are still some places where we may wind up with odd behavior if the
first QI for a getService call fails. In those cases, we wind up destroying
the first instance of a service that we create, and re-creating a new one
later.

MozReview-Commit-ID: ANYndvd7aZx

--HG--
extra : rebase_source : acfb0611a028fef6b9387eb5d1d9e285782fbc7c
2017-10-29 16:02:40 -07:00
Jeff Hemphill 73c0663aec Bug 1425807 - Convert nsHostKey members to nsCString r=valentin
MozReview-Commit-ID: 8tZUukA8Rrk

--HG--
extra : rebase_source : 4877c8eef1c2fd3a630316641d492189663acc61
2017-12-22 14:08:17 -08:00
Valentin Gosu a7fe7a006d Bug 1424834 - Replace nsHostRecord.callbacks with LinkedList<RefPtr<nsResolveHostCallback>> r=mayhemer
* nsResolveHostCallback extends nsISupports (for addref-ing and because nsDNSAsyncRequest implements nsICancelable)
* nsResolveHostCallback extends LinkedListElement<RefPtr<nsResolveHostCallback>> so the list can properly manage references
* nsDNSAsyncRequest and nsDNSSyncRequest properly implement nsISupports and use RefPtr to manage lifetimes


MozReview-Commit-ID: 5NvBcWZzfyN

--HG--
extra : rebase_source : 67adcbd20a29803e5abbb3d16324f9cac6771d28
2017-12-20 01:13:46 +01:00
Dorel Luca d9227411a0 Backed out 2 changesets (bug 1424834) for AddressSanitizer failure r=backout a=backout
Backed out changeset 00e1d58aedfe (bug 1424834)
Backed out changeset 9b69f2b7d373 (bug 1424834)
2017-12-19 13:59:02 +02:00
Phil Ringnalda 74065c09ed Backed out changeset fc0b6106be47 (bug 1425807) for static build bustage
CLOSED TREE
2017-12-18 18:31:20 -08:00
Jeff Hemphill 6d1f1c52d8 Bug 1425807 - Convert nsHostKey members to nsCString. r=valentin
MozReview-Commit-ID: 8tZUukA8Rrk

--HG--
extra : source : 966836866e8afe423a01a9926834a26cb3d3e2b0
extra : amend_source : 8602ab726f16bc561fafc5196d05fa9578073471
extra : histedit_source : 724da61db9ba94554bfdb15992a3a2aad18eca14%2C2a576438e92928c4a8196429dbcd76d1bd1eca7d
2017-12-18 11:27:38 -08:00
Csoregi Natalia 10b1db0472 Backed out changeset 966836866e8a (bug 1425807) for Build Bustage. r=backout on a CLOSED TREE 2017-12-19 03:09:04 +02:00
Jeff Hemphill 0e5ba4ebd8 Bug 1425807 - Convert nsHostKey members to nsCString r=valentin
MozReview-Commit-ID: 8tZUukA8Rrk

--HG--
extra : rebase_source : 717e730de9c79f13553fa617c7588805683f18c5
2017-12-18 11:27:38 -08:00
Valentin Gosu d4f5405148 Bug 1424834 - Replace nsHostRecord.callbacks with LinkedList<RefPtr<nsResolveHostCallback>> r=mayhemer
* nsResolveHostCallback extends nsISupports (for addref-ing and because nsDNSAsyncRequest implements nsICancelable)
* nsResolveHostCallback extends LinkedListElement<RefPtr<nsResolveHostCallback>> so the list can properly manage references
* nsDNSAsyncRequest and nsDNSSyncRequest properly implement nsISupports and use RefPtr to manage lifetimes


MozReview-Commit-ID: 5NvBcWZzfyN

--HG--
extra : rebase_source : d8c5c89c35e455c5d8e6556a140a0ef119b95e86
2017-12-15 15:46:24 -06:00
Cosmin Sabou f0ab0b072a Backed out 2 changesets (bug 1424834) for leaks at netwerk/dns/nsHostResolver.cpp:352 r=backout a=backout
Backed out changeset 2503df83bbd9 (bug 1424834)
Backed out changeset 49cc08386f17 (bug 1424834)
2017-12-18 11:52:06 +02:00
Valentin Gosu d2697a43d6 Bug 1424834 - Replace nsHostRecord.callbacks with LinkedList<RefPtr<nsResolveHostCallback>> r=mayhemer
* nsResolveHostCallback extends nsISupports (for addref-ing and because nsDNSAsyncRequest implements nsICancelable)
* nsResolveHostCallback extends LinkedListElement<RefPtr<nsResolveHostCallback>> so the list can properly manage references
* nsDNSAsyncRequest and nsDNSSyncRequest properly implement nsISupports and use RefPtr to manage lifetimes


MozReview-Commit-ID: 5NvBcWZzfyN

--HG--
extra : rebase_source : d8c5c89c35e455c5d8e6556a140a0ef119b95e86
2017-12-15 15:46:24 -06:00
Valentin Gosu 10292308b3 Bug 1424066 - Rename nsResolveHostCallback.OnLookupComplete and nsHostResolver.OnLookupComplete r=mayhemer
We have several different methods called OnLookupComplete, with similar but different arguments.
This makes it difficult to reason about the code, when lots of methods are called the same.

* renames nsResolveHostCallback.OnLookupComplete to nsResolveHostCallback.OnResolveHostComplete
* renames nsHostResolver.OnLookupComplete to nsHostResolver.CompleteLookup

MozReview-Commit-ID: AeWTErs4OQM

--HG--
extra : rebase_source : 6d06b50c1fa2ba678a887b93f28e1e602e209da4
2017-12-07 23:19:48 +01:00
Valentin Gosu 1951f81b85 Bug 1422173 - Backed out changeset 34cfc821e335 (Bug 1417827) r=me
MozReview-Commit-ID: 5C5YN8zgAgt
2017-12-04 16:02:58 +01:00
Jeff Hemphill 0a383a895e Bug 1417827: Convert internal char* to nsCString in DNS.h r=valentin
MozReview-Commit-ID: Js1mXiKaKnt

--HG--
extra : rebase_source : 0b24a9a75dbb5a404f261e055a5bbc7fae95eff9
2017-11-29 23:30:27 -08:00
Jeff Hemphill 91d2efb8b5 Bug 1420673: Use UniquePtr to store nsHostResolver.addr r=valentin
MozReview-Commit-ID: Arrm0stdtNL

--HG--
extra : rebase_source : 24c9c9db0bfcfce435b244119b088e90cb6c4061
extra : source : 1bade2a7b61167128f9cef4b543dd0bcef6295e4
2017-11-25 23:37:24 -08:00
Nicholas Nethercote 9252435548 Bug 1410794 (attempt 2) - Change some |string| occurrences in nsIPrefBranch.idl to |ACString|. r=erahm.
This makes the code nicer. In particular, it removes many getter_Copies()
calls. The patch also converts a lot of nsCStrings to nsAutoCString, which will
avoid heap allocation in the common case.

The patch also renames PREF_CopyCharPref() as PREF_GetCStringPref(), because
it's actually getting a string, not a char, and that matches the existing
GetCString() and GetDefaultCString() methods. Correspondingly, it also renames
PREF_SetCharPref() as PREF_SetCStringPref().

The |aPrefName| arguments in nsIPrefBranch.idl remain as |string| because they
almost always involve passing in C string literals, and passing "foo" is much
nicer than passing NS_LITERAL_CSTRING("foo").

It's worth noting that early versions of this patch used |AUTF8String| instead
of |ACString|. But it turns out that libpref stores prefs internally as Latin1.
And |ACString| is compatible with Latin1 but |AUTF8String| isn't, because
non-ASCII Latin1 strings are not valid UTF-8!

MozReview-Commit-ID: D3f7a1Vl1oE

--HG--
extra : rebase_source : e6e4b15d6d210cfd93686f96400281f02bd1d06b
2017-10-27 10:30:33 +11:00
Kris Maglione 257d9118dc Bug 1409249: Require singleton constructors to return explicit already_AddRefed. r=froydnj
Right now, NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR expects singleton
constructors to return already-addrefed raw pointers, and while it accepts
constructors that return already_AddRefed, most existing don't do so.

Meanwhile, the convention elsewhere is that a raw pointer return value is
owned by the callee, and that the caller needs to addref it if it wants to
keep its own reference to it.

The difference in convention makes it easy to leak (I've definitely caused
more than one shutdown leak this way), so it would be better if we required
the singleton getters to return an explicit already_AddRefed, which would
behave the same for all callers.


This also cleans up several singleton constructors that left a dangling
pointer to their singletons when their initialization methods failed, when
they released their references without clearing their global raw pointers.

MozReview-Commit-ID: 9peyG4pRYcr

--HG--
extra : rebase_source : 2f5bd89c17cb554541be38444672a827c1392f3f
2017-10-16 21:08:42 -07:00
Phil Ringnalda 93456fb0f4 Backed out changeset 3d0093f961ee (bug 1410794) for Mac plugin crashes and Android test_worker_interfaces.html failures
MozReview-Commit-ID: 20UosHyIr0t
2017-10-24 22:46:36 -07:00
Nicholas Nethercote a861772b10 Bug 1410794 - Change some |string| occurrences in nsIPrefBranch.idl to |ACString|. r=erahm.
This makes the code nicer. In particular, it removes many getter_Copies()
calls. The patch also converts a lot of nsCStrings to nsAutoCString, which will
avoid heap allocation in the common case.

The patch also renames PREF_CopyCharPref() as PREF_GetCStringPref(), because
it's actually getting a string, not a char, and that matches the existing
GetCString() and GetDefaultCString() methods. Correspondingly, it also renames
PREF_SetCharPref() as PREF_SetCStringPref().

The |aPrefName| arguments in nsIPrefBranch.idl remain as |string| because they
almost always involve passing in C string literals, and passing "foo" is much
nicer than passing NS_LITERAL_CSTRING("foo").

It's worth noting that early versions of this patch used |AUTF8String| instead
of |ACString|. But it turns out that libpref stores prefs internally as Latin1.
And |ACString| is compatible with Latin1 but |AUTF8String| isn't, because
non-ASCII Latin1 strings are not valid UTF-8!

--HG--
extra : rebase_source : 725ccf57943283a60ef8c9d654afe4515b4089f8
2017-10-25 10:22:38 +11:00
Kris Maglione 63d03a767b Bug 1398646: Forbid sync DNS resolution on the main thread. r=valentin
MozReview-Commit-ID: A6mUDNSri2m

--HG--
extra : rebase_source : 43c58d61614e186b89523a301fd1d2d8bd99a503
extra : source : 963bf9d8573273894016e7082cb5f3fb85d80661
2017-09-10 19:13:42 -07:00
Kris Maglione 400f2bdf9d Backed out changeset 963bf9d85732 (bug 1398646) for causing bug 1400288. r=backout
MozReview-Commit-ID: Ivc7RmGx0j5
2017-09-15 15:45:44 -07:00
Kris Maglione 3038436c69 Bug 1398646: Forbid sync DNS resolution on the main thread. r=valentin
MozReview-Commit-ID: A6mUDNSri2m

--HG--
extra : rebase_source : 86a8b83bdbb7f58dc9d2e80cc4afcbc011999cf3
2017-09-10 19:13:42 -07:00
Nicholas Nethercote 73558eac3d Bug 1384834 (part 2) - Remove remaining uses of nsAdoptingCString. r=erahm.
--HG--
extra : rebase_source : 70a385a0a06bc88e728d51459e7460a68f15f7fb
2017-07-28 11:21:47 +10:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Bill McCloskey 7cb6a23814 Bug 1365101 - Convert NS_GetCurrentThread uses in netwerk/ (r=meyhemer)
MozReview-Commit-ID: IHBt6XAG8em
2017-06-12 20:21:43 -07:00
Patrick McManus d1c557fcfe Bug 1361099 - provide a way to map all dns to constant r=valentin
// When non empty all non-localhost DNS queries (including IP addresses)
// resolve to this value. The value can be a name or an IP address.
// domains mapped to localhost with localDomains stay localhost.
pref("network.dns.forceResolve", "");

Testing is the primary use case here - replay captive data on a 'fake
server' by directing all traffic to it at the DNS level. Chrome has
something similar.

MozReview-Commit-ID: 7AOgQZpZKec

--HG--
extra : rebase_source : ad2648a701fffecaae47cbfae17e7aa6badd50ee
2017-05-01 13:51:55 -04:00
Tim Huang defed589eb Bug 1337893 - Part 2: Making the DNS cache be aware of originAttributes. r=valentin
MozReview-Commit-ID: EroJiwwkGHa

--HG--
extra : rebase_source : 409730ef008b02373cc547a890224371806fbf4c
2017-02-14 12:25:35 +08:00
Ehsan Akhgari 1d19b4a99e Bug 1128311 - Only flush the DNS cache when the last private browsing window is closed; r=mcmanus 2017-01-03 14:32:49 -05:00
Andi-Bogdan Postelnicu c62f16bdda Bug 1311669 - Use C++11's override and remove virtual where applicable. r=valentin
MozReview-Commit-ID: Ab5BC8NhbIO
2016-11-08 16:36:58 +02:00
Andi-Bogdan Postelnicu 702a3fbf63 Bug 1311669 - replace default bodies of special member functions with = default; r=valentin
MozReview-Commit-ID: YxHWVHUyDq

--HG--
extra : rebase_source : 24dbb81862770d82a3dc139ba8041bb576cf7cc4
2016-11-01 14:44:09 +02:00