mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
e5d3226694
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 |
||
---|---|---|
.. | ||
mdns | ||
ChildDNSService.cpp | ||
ChildDNSService.h | ||
DNS.cpp | ||
DNS.h | ||
DNSListenerProxy.cpp | ||
DNSListenerProxy.h | ||
DNSRequestChild.cpp | ||
DNSRequestChild.h | ||
DNSRequestParent.cpp | ||
DNSRequestParent.h | ||
effective_tld_names.dat | ||
GetAddrInfo.cpp | ||
GetAddrInfo.h | ||
moz.build | ||
nsDNSService2.cpp | ||
nsDNSService2.h | ||
nsEffectiveTLDService.cpp | ||
nsEffectiveTLDService.h | ||
nsHostResolver.cpp | ||
nsHostResolver.h | ||
nsIDNKitInterface.h | ||
nsIDNService.cpp | ||
nsIDNService.h | ||
nsIDNSListener.idl | ||
nsIDNSRecord.idl | ||
nsIDNSService.idl | ||
nsIEffectiveTLDService.idl | ||
nsIIDNService.idl | ||
nsPIDNSService.idl | ||
PDNSParams.h | ||
PDNSRequest.ipdl | ||
PDNSRequestParams.ipdlh | ||
prepare_tlds.py | ||
punycode.c | ||
punycode.h | ||
TRR.cpp | ||
TRR.h | ||
TRRService.cpp | ||
TRRService.h |