Age | Commit message (Collapse) | Author |
|
The resolving only strategies mess up the negative cache by claiming
DNSSEC related records do not exist which confuses the validating
strategies.
Found the hard way by kn@ and analysed by otto@
OK kn@
|
|
ub_event_pluggable.c instead of ub_event.c.
( https://github.com/NLnetLabs/unbound/issues/99 )
We have been the odd one out, so switch to ub_event_pluggable, too.
|
|
The bind might fail if another daemon is running while the
control socket opening will succeed.
Then we end up with an overwritten control socket, unwind exiting
and no control socket to the already running unwind.
Found the hard way by deraadt
OK deraadt, mestre, kn, pamela
|
|
https://github.com/NLnetLabs/unbound/issues/99
ub_ctx_delete would free the passed in event_base leading to
use-after-free since libunbound never allocated the memory and
unwind expects to continue using the event_base.
|
|
Heavy lifting by sthen with updating in-tree unbound(8).
|
|
testing by otto & pamela as part of a larger diff
|
|
testing by otto & pamela as part of a larger diff
|
|
unwind can share caches between strategies.
testing by otto & pamela as part of a larger diff
|
|
|
|
recursor. Also change strategy to not fetch addresses of nameservers
pro-actively, it does not help a lot in typical unwind setups and
consumes resources we would like to spend on actual resolving user
queries. ok florian@
|
|
|
|
- check if this is an answer to a still running query up front,
if not there is nothing more to do
- get rid of the retry case, we can now just inline it
- reduce indent by always calculating elapsed time for DOUBT_NXDOMAIN_SEC
Triggered by, input and OK otto
|
|
|
|
|
|
|
|
|
|
Also add some consistentcy checking to detect logic errors. ok @florian
|
|
Unfortunately this required a fair amount of deck chair shuffling.
Input & OK otto
|
|
|
|
ok florian@
|
|
need to doubt validation errors as we might find ourselves behind a
captive portal.
The hotspot at schiphol airport uses login.hotspotschiphol.nl:
- it is NXDOMAIN on the public internet
- hotspotschiphol.nl is signed and attests that login does not exist.
- resolves to 1.1.1.5(!) when asking the dhcp nameservers
- the dhcp nameservers pass DNSSEC records so validation works
This resulted in unwind doing validation and answering SERVFAIL since
the answer is bogus.
Input & OK otto
|
|
fragmentation issues.
OK otto
|
|
* to mark opportunistic DoT forwarders; ok florian
|
|
This is beneficial since we prefer strategies according to their
performance.
Previously name servers were upgraded to opportunistic DoT if it was
available even if the round trip times went through the roof and there
was no way to got back to plain udp/53 DNS.
To make up a bit of space in the unwindctl status output, name servers
learned via DHCP or SLAAC are printed in a new subcommand.
The status output will be further improved shortly.
Input & OK otto
|
|
OK otto
|
|
instead of the right-hand side; ok florian@
|
|
this. We need to find a way to properly upstream this.
OK otto
|
|
|
|
|
|
time is wrong enable a timer to check it again later. ntpd might have
corrected the time.
input & OK otto
|
|
|
|
validating; ok florian@
|
|
Debug log level 1 gives us basic query progress, level 2 writes out
packages.
looks good to otto
|
|
Log answer packet only at debug level 2.
looks good to otto
|
|
with this. Currently only available as a command line flag (-vvv).
With this we now have two debug levels available in unwind proper, to
be used shortly.
looks good to otto
|
|
showing it in unwindctl.
But log it with level warn for check_resolver so that one can find out
what's wrong with a resolver strategy.
looks good to otto
|
|
Looks good to otto
|
|
|
|
ok florian@
|
|
OK otto
|
|
|
|
display; remove the why bogus status message; ok florian@
|
|
|
|
Handles typical split-horzizon setups. ok florian@
|
|
ok florian@
|
|
there might be others still working.
Make sure check_resolver() handles this correctly.
|
|
Pointed out by & OK otto
|
|
it in unwindctl status output next to the all time histogram.
|
|
resolver is doing. But circumstances can change, so decay the
histogram data over time to slowly forget about that past. Uses
fixed point arithmetic to avoid floating point. ok florian@
|
|
|