This version fixes two memory leaks that would build up after repeated
zone content loads.
By default the use of the syscalls recvmmsg and sendmmsg is disabled,
they give too much issues, e.g. endless loops with errors or failure to
use IPv6. They can be enabled at compile time.
Nonhosted zones get the REFUSED rcode instead of SERVFAIL. This is
copied from other authority servers, so that there is identical wire
performance. In the past NSD started to give SERVFAIL because the
upwards referral that was common at the time was not deemed a good
choice (or good to implement), but the REFUSED rcode serves a similar
purpose and is the behaviour of the other servers. For hosted zones
with problems, eg. secondary zones with bad data, SERVFAIL is still
returned, this is likely useful for monitoring scripts and also clearly
communicates the expectation of data (when it has been fixed) to
interested clients.
FEATURES:
- - Return REFUSED for queries to non-hosted zones.
BUG FIXES:
- - Fix expired zones to give SERVFAIL, also when parent zone loaded.
- - documented nsd-control zonestatus output in nsd-control manpage.
- - remove mention of nsdc from nsd-checkconf manpage.
- - Disabled recvmmsg and sendmmsg usage by default because kernel
versions have implementation issues: ipv6 ignored, security issues.
- - Detect libevent2 install automatically by configure, and use
event2 header files if necessary.
- - Fix #551: change Regent to Copyright holder in the LICENSE,
to match the definition on opensource.org for the BSD License.
- - Fix #552: zonefile loads on nsd-control reconfig when the name
of the file has changed.
- - Fix leak of zone name after zonefile read and fix malloc too
large that would be leaked in the radix tree.
- - Fix from 3.2: make SOA RDATA comparisons in XFR more lenient (only
check serial).
- - Fix that NSD will delete and recreate not-clean-closed databases.
Installed this, we us chroot for this, appears to not start anymore:
Mar 12 10:30:35 cs2test nsd[18120]: ...stale pid file from process 17872
Mar 12 10:30:35 cs2test nsd[18122]: problems sending reload xfrdtomain: Broken pipe
Mar 12 10:30:35 cs2test nsd[18122]: did not get start signal from main
That is certainly a lot of pain over this release, and we are trying
to fix these start-stop issues, and push out 4.0.3 for that. The
memory leak was considered very bad so we tried to push out a fix for
that before other fixes. But the 4.0.2 update caused lots more people
than we imagined to have to stop and start NSD and that caused them to
have the stop-start issues.
It contains fixes for the start-stop issues. It will delete nsd.db
for you and create it again (from zonefile and with zone transfers).
The issues should then not reappear, as the database is properly
closed and it checks more carefully before attempting to open the
database again.
The fixes are also in the code repository, and you can fetch it there.
If you still have issues, where it fails to start, I would like to
have the nsd.db file (and related config perhaps) that causes it. It
would also be nice to hear if there are users without problems or if
the problems are fixed by these updates, this may make it easier to
determine the situation where the error occurs.