Feature Request: more flexible logging facilities

Sam Trenholme strenholme.usenet at gmail.com
Mon Mar 8 01:19:08 EST 2010


> I've been looking hard for a tinydns replacement, and, finally,
> MaraDNS fits perfectly.

A lot of the design has been inspired by the djbdns suite.  DJB made a
great DNS server; it's too bad it had a lousy license until 2007 and
that no official release has been made since 2001 (the last version
has three security bugs).  DJB really should let someone be the
official maintainer so it can stay current; I think Russ Nelson would
make an excellent maintainer for djbdns.

> This is a perfect match, at least till your new non-threaded recursive
> local cache is out, which I hope will give dnscache a real treat! :-)

I don't give timelines for releasing my software.  If you have been
reading my blog, I have made a lot of progress with the full
recursion.

> The only gripe I found so far is that I'm a logging/monitoring freak,
> and I'm having really problems to implement a decent
> logging/monitoring solution for MaraDNS, and the main reason is the
> fact I cannot tell MaraDNS to log into a separate log file.

Logging is done by duende, which is a very simple 252-line C program.
MaraDNS uses stdout for all messages; these messages are caught by
duende, which logs them using syslog.

It's open source software; you are free to modify duende (or pay me or
anyone else to modify duende if you don't want to get your hands dirty
with programming) to log messages in a manner that works for you.

> On FreeBSD everything gets into daemon.info, which is
> /var/log/messages, and it's quite hard do split the MaraDNS lines from
> the rest,

tail -f /var/log/messages | grep maradns

I presume FreeBSD's syslog daemon does fflush() after logging a message.

> B) If possible, some statistics interface, so to be able to query
> MaraDNS for statistical informations (how many queries requested, how
> many for each RR type, % of query in errors, etc...)

See above about duende.  The authoritative half of MaraDNS is in a
deep freeze right now and it's very unlikely I'll implement features
besides finishing up the BIND zone file conversion Python script
unless fortune smiles on me and Oracle or someone else decides to pay
me to work full-time on MaraDNS.

> I don't want to have reasons to look back, hence I'm suggesting these things.

Yes, and I'm sorry I don't have time to implement features requests
people give me on the internet for fun and for free.  I'm married,
and, yeah, my wife keeps telling me I need to get paid if I'm going to
continue to work on MaraDNS, and I agree with her.

I'm getting older and my youthful days of developing open source
software will soon be behind me.  Marriage is nice, but I have to give
up some things to be the best possible husband for my beautiful wife.

I have posted about this on the blog.  For example, from
http://maradns.blogspot.com/search/label/freetards :

People who think open-source software (OSS) makes it possible for all
content to be free don’t understand how OSS changes the relationship
between the developer and the user. A lot of people think an OSS
program is like a commercial program, but free, and that they can ask
for features or get support for free, and it gets pretty tiring to
have people email me asking for free support, even though I make it
clear that I don't provide free email support for my program.

The thinking behind OSS is that I donate some of my coding time and
effort to the greater community. In return, people are free to
contribute bug fixes or improvements to the program, or supply support
on the mailing list. For example, someone wanted better IPv6 support,
supplied patches, and now MaraDNS has good IPv6 support. Another
person wanted better Windows service support, and supplied patches to
make MaraDNS’ new recursive core be a full Windows service. Other
people answer user's questions on the mailing list or translate
documentation. Webconquest very generously provides me a free Linux
shell account and hosting for the web site.

> Thank you for your patience and keep up the wonderful work,

Thank you for your kind words.  MaraDNS 2.0 will probably be my last
release; I will continue to maintain the software with bug fixes and
routine maintenance such as updating the root servers as needed. If
someone else who is a skilled C programmer becomes willing to carry
the torch, I will allow them to be the maintainer for MaraDNS 3.0 and
other future releases; I will remain responsible for bug fixes in the
1.4 and 2.0 branches of MaraDNS unless I get hit by a bus.

- Sam


More information about the list mailing list