Knot Resolver is een opensource-dns-recursor geschreven in C en LuaJIT. Als je een dns-look-up uitvoert, begint een recursor in eerste instantie met het stellen van de look-upvraag aan een dns-rootserver. Deze kan dan doorverwijzen naar andere servers, vanaf waar weer doorverwezen kan worden naar andere servers enzovoort, totdat uiteindelijk een server is bereikt die het antwoord weet of weet dat de look-up niet mogelijk is. Van dit laatste kan sprake zijn als de naam niet bestaat of de servers niet reageren. Cloudflare gebruikt Knot Resolver bijvoorbeeld voor zijn 1.1.1.1 dns-dienst. De ontwikkelaars van CZ NIC hebben eerder versie 4.2.2 uitgebracht met de volgende aanpassingen:
Knot Resolver 4.2.2
BugfixesKnot Resolver 4.2.1
- lua bindings: fix a 4.2.1 regression on 32-bit systems (#514) which also fixes libknot 2.9 support on all systems
BugfixesImprovements
- rebinding module: fix handling some requests, respect ALLOW_LOCAL flag
- fix incorrect SERVFAIL on cached bogus answer for +cd request (!860) (regression since 4.1.0 release, in less common cases)
- prefill module: allow a different module-loading style (#506)
- validation: trim TTLs by RRSIG’s expiration and original TTL (#319, #504)
- NS choice algorithm: fix a regression since 4.0.0 (#497, !868)
- policy: special domains home.arpa. and local. get NXDOMAIN (!855)
Knot Resolver 4.2.0
- add compatibility with (future) libknot 2.9
ImprovementsBugfixes
- queries without RD bit set are REFUSED by default (!838)
- support forwarding to multiple targets (!825)
Module API changes
- tls_client: fix issue with TLS session resumption (#489)
- rebinding module: fix another false-positive assertion case (!851)
- kr_request::add_selected is now really put into answer, instead of the “duplicate” ::additional field (#490)