PowerDNS is een dns-server met een database als backend, waardoor het beheer van een groot aantal dns-entries op een gemakkelijke manier kan plaatsvinden. De ontwikkelaars hebben eerder besloten om de twee delen waaruit PowerDNS bestaat, een recursor en een authoritative nameserver, apart uit te geven, waardoor sneller en gerichter een nieuwe versie kan worden uitgebracht, aldus de ontwikkelaars.
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. Het proces van het langslopen van verschillende authoritative servers heet recursie. De ontwikkelaars hebben PowerDNS Recursor 4.1.3 uitgebracht. De veranderingen in deze uitgave zien er als volgt uit:
Version 4.1.3
This release improves the stability and resiliency of the RPZ implementation, prevents metrics gathering from slowing down the processing of DNS queries and fixes an issue related to the cleaning of EDNS Client Subnet entries from the cache.
ImprovementsBug Fixes
- Move carbon/webserver/control/stats handling to a separate thread.
- Use a separate, non-blocking pipe to distribute queries.
- Add a subtree option to the API cache flush endpoint.
- Update copyright years to 2018 (Matt Nordhoff).
- Fix a warning on botan >= 2.5.0.
- Add _raw versions for QName / ComboAddresses to the FFI API.
- Respect the AXFR timeout while connecting to the RPZ server.
- Don’t increase the DNSSEC validations counters when running with process-no-validate.
- Count a lookup into an internal auth zone as a cache miss.
- Delay the loading of RPZ zones until the parsing is done, fixing a race condition.
- Reorder includes to avoid boost L conflict.
- Use canonical ordering in the ECS index.
- Add -rdynamic to C{,XX}FLAGS when we build with LuaJIT.
- Increase MTasker stacksize to avoid crash in exception unwinding (Chris Hofstaedtler).
- Use the SyncRes time in our unit tests when checking cache validity (Chris Hofstaedtler).