Subject: | Test for TTL is broken |
in _parse_zone there is a test intended to ensure that each RR has a valid TTL. It looks like
this:
if(not defined $def_ttl) {
carp("no ttl is set");
next;
}
That doesn't do what it's supposed to because it always fails if there is no default $TTL
directive in the zone. We use generated zone files that have the TTL explicitly set in every
line. Those zone files can't be parsed using 0.41. I think the code should be changed to this
instead:
if(not defined $ttl ) {
carp("no ttl is set");
next;
}
That should work because a few lines earlier there's this statement:
$ttl = defined $ttl ? $ttl : $def_ttl;
So $ttl will only be undefined if $def_ttl is undefined.