tinydns-predata.pl

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:fqdn
With 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.

Quick test:

make a backup of your 'data' file (e.g. cp data /tmp)
DON'T test this on your production machine!

mv data predata
tinydns-predata.pl && make
You 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 predata
Update 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-data
Note 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.

Changelog

v0.4 (2006-04-17)
  • Added support for split-horizon commands
  • Bugfix: now truly support domains with dashes (-) in them (thanks to Ron Guerin for reporting this bug!)
v0.3 (2003-01-27)
  • Domains with - in their names will now also be accepted
  • Sorting of records in generated data file now more logical - preliminary support for 3-level TLDs like .uk


(c) 2003-2024 Ward Vandewege. This software is GPL'd.