Syntax check of zonefiles in NSD 4

Hi,

I'm migrating from NSD 3 to NSD 4 and I'm really happy with the new NSD.
Especially that nsdc patch is gone and compiling zonefiles isn't necessary
anymore, is awesome.

But I was using zonec also for syntax checking my zonefiles.
Is there any alternative to do this with NSD 4?

Regards,

Florian

Hi Florian,

Hi,

I'm migrating from NSD 3 to NSD 4 and I'm really happy with the new
NSD. Especially that nsdc patch is gone and compiling zonefiles
isn't necessary anymore, is awesome.

But I was using zonec also for syntax checking my zonefiles. Is
there any alternative to do this with NSD 4?

Yes indeed there is no such feature right now. We should add a
checkzone, like nsd-checkconf. Right now you can 'make nsd-mem',
which makes a tool that parses the zone files and prints the total
memory usage, as a side effect this also checks the syntax of the zone
files. It prints errors in zone file syntax too, so it is a good
workaround.

Best regards,
   Wouter

Hi Wouter,

I have seen you have committed nsd-checkzone already.
Thanks a lot for this!
I have started testing and I like it really.

Just one question:

With nsd 4.0.1 I'm using SOA records like this:

@ IN SOA dns.example.de. hostmaster.dns.example.de. (
                                        1379078166; serial
                                        28800; refresh
                                        7200; retry
                                        604800; expire
                                        7200; minimum
                                )

With the current nsd from svn nsd-checkzone is complaining about my
syntax. It expects at least one whitespace between the SOA parameters
(serial, refresh, ...) and the semicolon.
1379078166; serial -> Error
1379078166 ; serial -> OK

Is there a reason for the changed behavior or is it a bug?

Regards,
Florian

Hi Florian,

Yes it is a bug, this is wrong due to recent changes to read oddly
syntaxed TXT records. Fixed and committed, here is the fix if you
need it for yourself:

Index: zlexer.lex