I'm a very happy djbdns user. There's just no comparison with competing products.
I maintain several setups where a couple of domain names are used interchangeably. It is a pain to maintain all those zone definitions manually, especially when they become large.
There is no way in tinydns to define a domain as the exact duplicate of another, in one line.
tinydns-predata.pl is a preprocessor for tinydns data files, that allows just that by defining the following extra syntax:
*identicalfqdn:fqdnWith this line in your predata file, changes to fqdn will automatically result in the corresponding changes to identicalfqdn.
For future compatibility, the following is also allowed:
Q*something:somethingelse:something2:...The Q stands for quoted. Any line starting with Q will be put in the resulting data file unaltered, but without the leading Q.
make a backup of your 'data' file (e.g. cp data /tmp)
mv data predata tinydns-predata.pl && makeYou should now see a 'data' file and a newly compiled data.cdb. The 'data' file and your backup of your original 'data' file should be identical (except for missing comments). Now try adding a few new '*newfqdn:fqdn' lines to the predata file, and run tinydns-predata.pl. Look at the data file. If you like it, repeat the above line to build the data.cdb file.
More permanent installation:
First move your data file to predata. Tinydns-predata.pl will generate a data file from your predata file.
mv data predataUpdate your Makefile to look like this: (assuming tinydns-predata.pl lives in /usr/local/bin)
data.cdb: predata /usr/local/bin/tinydns-predata.pl /usr/local/bin/tinydns-dataNote the change on the first line (data -> predata)!
Remember to edit the predata file from now on!
You can download v0.4 of the script here.