refactor DLZ into a dyndb module?
There was an offhand remark made at the ISC all-hands, which I think has potential.
It would be nice to reduce the number of external database API's for which BIND needs native support. Currently we have SDB (obsolete but still in use for built-in zones such as authors.bind), SDLZ (the DLZ driver API, semi-obsolete but still used for the dlz-dlopen driver and for one of the system tests), the DLZ module API (currently supported, and provided by the dlz-dlopen driver mentioned before). Finally there's dyndb (the new hotness with many advantages over the others, but seriously lacking in module support).
We could remove SDLZ and DLZ support from named by writing a dyndb module that provides the functions of the dlz-dlopen driver and the various helper functions in sdlz.c and dlz.c. The overall architecture could be substantially simplified, while keeping the interface for DLZ modules themselves unchanged.
We can keep configuration stable by having the dyndb module loaded automatically if "dlz" is used in named.conf. I think we still need to keep some DLZ-specific functions such as dns_view_searchdlz() but much of the DLZ enabling code could be moved out of named and pulled in only when needed.