Age | Commit message (Collapse) | Author |
|
elsewhere and unbreaks -fno-common.
Inspired by claudio
Problem reported by mortimer
|
|
Problem reported by mortimer.
|
|
Problem reported by mortimer.
|
|
Problem reported by mortimer
|
|
|
|
Since we are only serving localhost we could get away with doing
serving over UDP only because we have a huge MTU on lo0, it's still
not correct behavior.
This also enables sending truncated answers with TC set if the answer
does not fit into the edns announced udp size.
Testing at least by matthieu, jca, otto, phessler
OK phessler
|
|
functions.
With this we can filter out DNSSEC RRsets if the client did not ask
for them. We will also be able to send truncated answers to indicate
to the client to switch to tcp. This will be enabled in the next
commit.
Testing at least by matthieu, jca, otto, phessler
OK phessler
|
|
ok florian@
|
|
OK florian
|
|
Log the query and answer SERVFAIL instead of exiting fataly.
That way we can at least figure out where libunbound goes off the
rail.
OK otto
|
|
OK kn some time ago
|
|
has the downside to always copy the maximum IMSG size (about 16k)
between the resolver and frontend process for DNS answers because
we had to keep it as simple as possible.
We can now rearange things in -current to be less wasteful. This copies
only the usually small DNS answer.
In the unusual case that a DNS answer is larger than the maximum IMSG size
fragment the message and send multiple IMSGs.
|
|
upstream.
|
|
upstream.
|
|
Support for channel reuse of TCP and TLS (DoT) streams should improve
latency when the DoT strategy is used in unwind.
|
|
No binary change on amd64.
ok florian
|
|
If the configuration contains duplicate domains in the block list
file or a force list, the nodes would leak in the frontend process
each time the config is reloaded. Also add a check when copying the
force list over imsg and fatal if a duplicate is encountered. This
should never happen.
ok florian
|
|
Domains contained in the block list file were not correctly freed.
This would grow the frontend process by the size of the blocklist
file on each config reload.
ok florian
|
|
16k) by splitting them up.
Previously unwind would send meta-data about the finished query from
the resolver process to the frontend process and then silently fail to
send the actual answer because it was too big for imsg.
When receiving the meta-data for the next query the frontend process
would then exit via fatal() because it was still expecting an answer.
This likely fixes rare crashes observed by Leo Unglaub.
Note that even with DNSSEC signatures, answers this big are very rare.
OK tb, benno
|
|
done in unwind.
Inputs from jmc@ florian@
ok jmc@ florian@
|
|
|
|
freeing it is a no-op.
Leak detected by my experimental malloc leak detector. ok florian@
|
|
resolvers.
OK kn
|
|
Lets unwind(8) run when another name server listens on the wildcard
address. Conflict with unbound(8) spotted by sthen@, ok florian@ deraadt@
|
|
Reported upstream.
|
|
all heavy lifting done by sthen in unbound
testing benno
|
|
slaacd and unwind start very early in the boot process and syslog is
not fully available yet so these messages tend to get lost.
But they are also not particularly useful.
Prompted by a report by Jason Mader on bugs@
OK deraadt, claudio, bluhm
Note that this code has been copied around to all our privsep daemons
and also lives in usr.sbin. Leave it alone there because multiple people
said they find it useful for those daemons.
|
|
|
|
memcpy the address into a local var before comparing it with code
that reads ints using int *. at least sparc64 and landisk suffer from this.
with and ok jca@
|
|
Fixes a crash on landisk (strict alignement arch) reported by otto@
ok deraadt@ otto@
|
|
closes its service port when resolving is not working to give asr(3) a
chance (because it falls back to asr(3) internally)
Therefore it is ok to only list 127.0.0.1 in /etc/resolv.conf.
Triggered by a question from Frantisek Holop.
OK benno
|
|
this file. Pointed out by clang with -Wmissing-prototypes
|
|
Pointed out by clang with -Wstrict-prototypes
|
|
Heavy lifting by sthen in unbound(8)
Tested by benno and matthieu
|
|
in 'resolvers[type]->state = state'.
ok florian@
|
|
resulting in a "fatal in resolver: wrong unified cache set on
resolver".
I believe this happens because we are using an UNKNOWN resolving
strategy to resolve queries.
Disable the upgrade logic for now and always construct a fresh
resolver context and set the unified context on it before any cache
gets allocated. This causes a bit of memory churn on startup and when
changing networks, but better than a crashing unwind.
First observed by deraadt
|
|
OK florian@. reads ok benno@
|
|
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
|
|
|