||This module provides an interface to access DoH configuration - e.g. whether
DoH is enabled, whether capabilities are enabled, etc. The configuration is
sourced from either Remote Settings or pref values, with Remote Settings
||This module runs the automated heuristics to enable/disable DoH on different
networks. Heuristics are run at startup and upon network changes.
Heuristics are disabled if the user sets their DoH provider or mode manually.
||This module implements the heuristics used to determine whether to enable
or disable DoH on different networks. DoHController is responsible for running
these at startup and upon network changes.
||Some helpers for loading and modifying DoH config in
Remote Settings. Call resetRemoteSettingsConfig to set up
basic default config that omits external URLs. Use
waitForConfigFlush to wait for DoH actors to pick up changes.
Some tests need to load/reset config while DoH actors are
uninitialized. Pass waitForConfigFlushes = false in these cases.
||This module tests TRR performance by issuing DNS requests to TRRs and
recording telemetry for the network time for each request.
We test each TRR with 5 random subdomains of a canonical domain and also
a "popular" domain (which the TRR likely have cached).
To ensure data integrity, we run the requests in an aggregator wrapper
and collect all the results before sending telemetry. If we detect network
loss, the results are discarded. A new run is triggered upon detection of
usable network until a full set of results has been captured. We stop retrying
after 5 attempts.