Changes for version 0.25
- BUG FIX: Make the C code not depend on (pure) Perl for memory handling. This intends to fix some longstanding (and hard-to-reproduce) memory-handling nits, but it’s also just much cleaner besides.
- BUG FIX: We now honour $Config{'ccflags'} when building the module. (This broke at some point on 32-bit RaspiOS.)
- BUG FIX: Previously we set ub_ctx_debugout() to STDERR immediately before destroying the Unbound instance. This worked around a bug in libunbound, but it also seems occasionally to cause “leftover” log messages then to go to STDERR. We now apply a different workaround: dup() the file descriptor when calling debugout(), which obviates the need to set it back to STDERR (since this is now libunbound’s very own file descriptor).
- BUG FIX: DNS::Unbound::Mojo no longer tight-loops.
- BUG FIX: DNS::Unbound::Mojo now removes itself from Mojo’s reactor at DESTROY time; previously it neglected this cleanup step.
- Fix t/load.t:
- The test now runs to completion rather than silently failing.
- The test now accommodates old Unbounds that lack `ttl`.
- Long TTLs. Unbound’s default was 86400, so responses that had longer TTLs caused a conflict between Net::DNS’s parse and Unbound’s response.
- Objects now warn() on DESTROY at global destruction. This helps to identify memory leaks. (It also entails a higher Promise::ES6 version dependency.)
- Internal style improvements.
- All tests now fail on warnings.
Modules
libunbound in Perl
DNS::Unbound for AnyEvent
DNS::Unbound for IO::Async
DNS::Unbound for Mojolicious
Provides
in lib/DNS/Unbound/AsyncQuery/AnyEventXSPromises.pm
in lib/DNS/Unbound/AsyncQuery/MojoPromise.pm
in lib/DNS/Unbound/AsyncQuery/PromiseES6.pm
in lib/DNS/Unbound/AsyncQuery/PromiseXS.pm
in lib/DNS/Unbound/EventLoopBase.pm
in lib/DNS/Unbound/FDFHStorer.pm
in lib/DNS/Unbound/X.pm
in lib/DNS/Unbound/X/BadDebugFD.pm
in lib/DNS/Unbound/X/Base.pm