Commits


add mention of wildcarddns.conf(5) in SEE ALSO section


* add a debug and verbose flag (-d and -v) * document these along with -r which is recursive mode, which is still broken * add a dolog() function which replaces syslog and printf. In debug mode messages will be printed in the foreground and with verbose option show the parsing logic of the configfile. * replace all syslog() with dolog() tested in debug mode on OpenBSD/amd64


Change to berkeley db 4.6+, this allows us to use shared sysv memory needed to have multiple server instances that do recursing. The database is now on disk with this change, with a 260KB (default) SYSV shared memory cache. The cache size can be tweaked with the newly added -c flag. The OS has upper limits for SYSV shared memory though and the -c value must account for 25% more for internal purposes. Revert db.h struct domain to static arrays instead of pointers, this is necessary because we want to use shared memory between the database. This reverts revision 1.13 of db.h which was commited on Sun Mar 28 20:18:26 2010 UTC. So far wildcarddnsd has been extremely stable with the pointers, I'm hoping we'll get this much stability back. Added passive AXFR code. The axfr server does NOT bind to port 53 but rather another port, luckily that is configurable with other nameservers like BIND9. BIND nameservers wanting to make use of a wildcarddnsd master should turn IXFR queries off. Fix a small error that would bring wildcarddnsd to a SIGSEGV due to doing an FD_ISSET() on a non-descriptor. This only happens when one doesn't have the logging system turned on so it took a while for me to find it. Added the -n flag which allows multiple forked copies of wdnsd to be started. This is similar to how apache 1.3 web server does it.


* update email address in manpage * bump copyright


* change BUILD_REPLY macro to build_reply() function * fixed A and AAAA answers with tcp, this was a bug * bumped version to 3 in the configfile * added "wildcard-only-for" command to configfile where a slinked list determines who will be wildcarded for, much like a firewall rule * fixed getmask() function that wouldn't allow a rightshift of 32 * did the same for the getmask6 function * removed the -W flag * updated README, examples and manpage tested on FreeBSD, OpenBSD, Linux


* Marry TCP and UDP code, because having a "split-brain" server means you use double the RAM because the database is split in two. Managing just one server is much better. It's funny the mainloop looks exactly like it was intended to be in the prototype from 5 years ago. I guess it can work out, I got lucky it was this simple. * remove dead code * remove mention of two servers in manpage.


* update TODO * update manpage mentioning that wildcarddnsd now spawns two servers


* add -l flag which logs queries to the daemon to syslog previously this was default and may have been costly on cpu and disk


* rearranged some lines for variables in functions found in main.c * added a static variable called Wflag to main.c * Wflag when set disables wildcarding and the dns server should act more like any other nameserver responding with NXDOMAIN if the query doesn't match exactly to what's in the database. * updated manpage


* initial import