[bind10-dev] Zone loading requirements, take 1

Michal 'vorner' Vaner michal.vaner at nic.cz
Sat Mar 3 13:45:38 UTC 2012


Hello

On Fri, Mar 02, 2012 at 11:40:23AM +0100, Shane Kerr wrote:
> In the spirit of old-style waterfall software engineering, we are going
> to be doing more requirements documents. We know we need work on our
> zone loader, so I've taken the liberty of typing some requirements up.
> Here's a link to the current draft:
> 
> http://bind10.isc.org/wiki/ZoneLoadingRequirements

I've read through it and I'd have few questions about it.

Why do we need to load _into_ a data source? I mean, we could want to have an
in-memory loaded from zone file, but the xfrout would want to send the data
directly from the zone file. That way, there's no need to put it into
intermediate data source, it would be more convenient if the loader itself could
act as a datasource with the whole-zone iterator. Maybe we could have two
levels, one would be just such loader with RR-level checks and then there'd be a
copier from one data source to another, that'd to the zone-level checks? Also,
it could be used to load sqlite3 to inmemory, or migrate from one database to
another.

Would the profile be visible to user for modification, or would that be just a
preset map<issue, bool> or something?

Why would be $INCLUDE forbidden when loading a stream? A stream might be a pipe
from local program that'd generate the zone, but it could want to insert common
parts from a file, or something.

I think our sqlite3/database backends don't handle literal dot in label
correctly. Also, user can't really type them into the browser. Should we warn
about it?

The section 3.4.5 ‒ should NSEC be allowed as well?

When loading bogus data to zone, what does „Correct operation“ mean? ;-)

I looked into the RFC and it indeed does forbid for CNAME and DNAME to coexist
in the same node. But is there a reason for this? DNAME redirects the things
below the node, CNAME the things in the node, so there doesn't seem to be a
place for confusion.

Bogus class values ‒ instead of listing the correct ones, I think it should say
that it should load whatever the library supports. If we add a new class to the
library, there should be no work needed for the loader to handle it.

Should infinite loops really be errors by default? This seems like a perfect
candidate for warning for me, the server can provide them without much problem.

With regards

-- 
The cost of living is going up, and the chance of living is going down.

Michal 'vorner' Vaner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <https://lists.isc.org/pipermail/bind10-dev/attachments/20120303/ef046022/attachment.bin>


More information about the bind10-dev mailing list