]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/resolve/resolved-dns-server.c
resolved: downgrade server feature level more aggressively when we have reason to
authorLennart Poettering <lennart@poettering.net>
Fri, 15 Jan 2016 18:23:51 +0000 (19:23 +0100)
committerLennart Poettering <lennart@poettering.net>
Sun, 17 Jan 2016 19:47:46 +0000 (20:47 +0100)
commitde54e62b4bd7856fb897c9a2ee93cc228adb2135
tree770ae4b97ee38183a3a5e81a97e521c105abed98
parentc3f7000e611b2c08052aca6db47245e77c008ae6
resolved: downgrade server feature level more aggressively when we have reason to

This adds logic to downgrade the feature level more aggressively when we have reason to. Specifically:

- When we get a response packet that lacks an OPT RR for a query that had it. If so, downgrade immediately to UDP mode,
  i.e. don't generate EDNS0 packets anymore.

- When we get a response which we are sure should be signed, but lacks RRSIG RRs, we downgrade to EDNS0 mode, i.e.
  below DO mode, since DO is apparently not really supported.

This should increase compatibility with servers that generate non-sensical responses if they messages with OPT RRs and
suchlike, for example the situation described here:

https://open.nlnetlabs.nl/pipermail/dnssec-trigger/2014-November/000376.html

This also changes the downgrade code to explain in a debug log message why a specific downgrade happened.
src/resolve/resolved-dns-server.c
src/resolve/resolved-dns-server.h
src/resolve/resolved-dns-transaction.c