Commit Graph

10 Commits

Author SHA1 Message Date
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
Valentin Gosu
95aaaa5773 Bug 1422173 - Backed out changeset 27719294cb73 (Bug 1420677) r=me
MozReview-Commit-ID: 7iSG4279EfL
2017-12-04 16:02:59 +01:00
Jeff Hemphill
bc64b6ad42 Bug 1420677 - Convert nsHostResolver.addr_info to a UniquePtr. r=valentin
MozReview-Commit-ID: 4zX73VhxiKe
2017-11-25 23:55:26 -08:00
Dragana Damjanovic
82480b23f3 Bug 1108957 - Add per network interface dns query. This is possible only with gonk. r=mayhemer 2015-02-19 00:14:00 -05:00
Ryan VanderMeulen
a2be21d384 Bug 1115219 - Remove unnecessary RELEASE_BUILD check from GetAddrInfo.h. r=mcmanus 2015-01-02 16:51:04 -05:00
John Sullivan
b691107c76 Bug 1067679 - Call DnsQuery in addition to getaddrinfo to get DNS TTL on Windows r=sworkman 2014-09-20 15:10:18 -07:00
Patrick McManus
de7e1803bc Bug 820391 - Backout revision 4741ef815af9 for various regressions.
DONTBUILD
2014-08-21 10:53:11 -04:00
Ryan VanderMeulen
30e63485d6 Backed out changeset 49502f43bd03 for landing with the wrong bug number. 2014-08-21 11:03:02 -04:00
Patrick McManus
d8cd53790d bug 820931 - backout 4741ef815af9 r=backout
--HG--
extra : rebase_source : d862e877dd3d28df5322b3464e3c0b10a460a56d
2014-08-21 10:53:11 -04:00
josullivan
fa4f761593 Bug 820391: Use DnsQuery on Windows. r=sworkman
From 21e22e494541d5e4c085a6ba84e1bc5b4c92330e Mon Sep 17 00:00:00 2001
---
 netwerk/dns/DNS.cpp            |  65 +++++++-
 netwerk/dns/DNS.h              |   6 +
 netwerk/dns/GetAddrInfo.cpp    | 362 +++++++++++++++++++++++++++++++++++++++++
 netwerk/dns/GetAddrInfo.h      |  65 ++++++++
 netwerk/dns/moz.build          |   1 +
 netwerk/dns/nsHostResolver.cpp | 320 ++++++++++++++++++++++++++----------
 netwerk/dns/nsHostResolver.h   |  43 ++++-
 7 files changed, 766 insertions(+), 96 deletions(-)
 create mode 100644 netwerk/dns/GetAddrInfo.cpp
 create mode 100644 netwerk/dns/GetAddrInfo.h
2014-08-15 17:25:06 -07:00