This allows us to use a consistent size for the dnsFlags field.
across different files (previously some would use uint16_t and some uint32_t).
It also improves type safety - making sure we don't pass in the wrong value
to DNSFlags.
Depends on D164856
Differential Revision: https://phabricator.services.mozilla.com/D164857
This allows us to use a consistent size for the dnsFlags field.
across different files (previously some would use uint16_t and some uint32_t).
It also improves type safety - making sure we don't pass in the wrong value
to DNSFlags.
Depends on D164856
Differential Revision: https://phabricator.services.mozilla.com/D164857
This allows us to use a consistent size for the dnsFlags field.
across different files (previously some would use uint16_t and some uint32_t).
It also improves type safety - making sure we don't pass in the wrong value
to DNSFlags.
Depends on D164856
Differential Revision: https://phabricator.services.mozilla.com/D164857
1. When we see a failed TRR lookup in nsHostResolver::CompleteLookup, we trigger
a Confirmation and retry the lookup.
2. When triggering Confirmation, we set LOAD_FRESH_CONNECTION on the TRR channel,
which will then tell the connection manager to clear out the current TRR conneection.
This will cause us to use a new connection for the Confirmation and subsequent
lookups.
Differential Revision: https://phabricator.services.mozilla.com/D129227
1. When we see a failed TRR lookup in nsHostResolver::CompleteLookup, we trigger
a Confirmation and retry the lookup.
2. When triggering Confirmation, we set LOAD_FRESH_CONNECTION on the TRR channel,
which will then tell the connection manager to clear out the current TRR conneection.
This will cause us to use a new connection for the Confirmation and subsequent
lookups.
Differential Revision: https://phabricator.services.mozilla.com/D129227
1. When we see a failed TRR lookup in nsHostResolver::CompleteLookup, we trigger
a Confirmation and retry the lookup.
2. When triggering Confirmation, we set LOAD_FRESH_CONNECTION on the TRR channel,
which will then tell the connection manager to clear out the current TRR conneection.
This will cause us to use a new connection for the Confirmation and subsequent
lookups.
Differential Revision: https://phabricator.services.mozilla.com/D129227
1. When we see a failed TRR lookup in nsHostResolver::CompleteLookup, we trigger
a Confirmation and retry the lookup.
2. When triggering Confirmation, we set LOAD_FRESH_CONNECTION on the TRR channel,
which will then tell the connection manager to clear out the current TRR conneection.
This will cause us to use a new connection for the Confirmation and subsequent
lookups.
Differential Revision: https://phabricator.services.mozilla.com/D129227
1. When we see a failed TRR lookup in nsHostResolver::CompleteLookup, we trigger
a Confirmation and retry the lookup.
2. When triggering Confirmation, we set LOAD_FRESH_CONNECTION on the TRR channel,
which will then tell the connection manager to clear out the current TRR conneection.
This will cause us to use a new connection for the Confirmation and subsequent
lookups.
Differential Revision: https://phabricator.services.mozilla.com/D129227
After bug 1719135 we no longer call TrrLookup from nsHostResolver::NameLookup
if we have not TRR service or if Enabled returns false. As a consequence
we'd record the TRR skip reason as TRR_UNSET - which we shouldn't do, as that
data point is useless.
This patch introduces a new TRRServiceEnabledForRecord method to
nsHostResolver that properly sets the skip reason when the TRR service
is not available or the request should skip TRR.
Differential Revision: https://phabricator.services.mozilla.com/D127442
This patch consists of the changes generated by running
`./mach static-analysis check --fix` on `netwerk/dns` after adding the
`modernize-use-default-member-init` clang-tidy lint.
Some additional changes were made by hand to ensure consistent results.
This patch ensures that all member variables are initialized in the header,
so when adding or changing constructors we don't miss one resulting in
uninitialized memory.
Differential Revision: https://phabricator.services.mozilla.com/D109339
This patch consists of the changes generated by running
`./mach static-analysis check --fix` on `netwerk/dns` after adding the
`modernize-use-default-member-init` clang-tidy lint.
Some additional changes were made by hand to ensure consistent results.
This patch ensures that all member variables are initialized in the header,
so when adding or changing constructors we don't miss one resulting in
uninitialized memory.
Differential Revision: https://phabricator.services.mozilla.com/D109339
- Adds new TRR* argument to CompleteLookup so we can extract the channel
status from the TRR request.
- Record event whenever the confirmation context changes
- NetworkID is recorded whenever we start a new confirmation attempt
- Captive portal status is updated based on observer notifications
- We keep a buffer of the last 32 confirmation results.
Differential Revision: https://phabricator.services.mozilla.com/D105173
- Pass status code to cancelled TRR channels
- When TRR timer expires, use NS_ERROR_NET_TIMEOUT_EXTERNAL
- When TRR is cancelled by nsHostResolver use NS_ERROR_ABORT
- Only call TRRIsOkay in OnStopRequest (doing so in TRR::Cancel causes us to
call it twice for the same TRR)
- Use NS_NewRunnableFunction instead of ProxyCancel runnable object
- Introduce TRR_REQ_CANCELLED skip reason
Differential Revision: https://phabricator.services.mozilla.com/D104371
I was running into issues where these names would conflict with the type's own Get/Set methods
and these names have the added benefit of indicating a bit more that atomic stuff is going on.
Differential Revision: https://phabricator.services.mozilla.com/D99268
TSan found races between mResolveAgain and mGetTtl. This makes them non-UB.
The code is a bit weird. Although the values are typed as uint16_t's, they're
used as bools (even assigned true/false). In addition, the atomic bool mTRRUsed
could be folded into these fields, as there is a spare bit. I decided not to
change these things, as network code can have weird representation requirements
that I'd prefer the owners of the code chime in on first.
Differential Revision: https://phabricator.services.mozilla.com/D93417