DNS server should be using BIND
We have a bunch of cases where we know that our twisted-based DNS server is doing something wrong (c.f. bug #351721 and Trac tickets <https:/
I think it may be time to conclude that twisted.names is a cute toy project, but not really appropriate for when we're trying to run a Real DNS Server.
We've avoided BIND for a while now because we thought we couldn't get it to dynamically load records from our database, but sdb, BIND's Simple DataBase API, is a mechanism for doing exactly that. Unfortunately...it requires compile-time modification of BIND, and BIND doesn't come with any sdb drivers by default.
There is an sdb binding for Postgres: <http://
(1) The maintainer vehemently insists that he's no longer maintaining the code.
(2) That particular interface also only supports a more or less direct translation of a zone file into a database - the schema looks like this:
CREATE TABLE "reverse" (
(3) It's still important to us to have a set of overrides that shadow whatever is in the nics table of the database. I don't know if we can mix the file option and the database option in a single BIND zone.
One potentially cool idea might be to write a thin sdl library that just calls out to a Python module somewhere.
For more information on the sdl API, "Pro DNS and BIND" appears to have fairly extensive coverage (and with the right searches, Google Books will give you enough of the book to read through that section)