[MaraDNS list] duende changes

Sam Trenholme strenholme.usenet at gmail.com
Mon Jul 25 18:22:07 EDT 2011

> http://www.periapt.co.uk/arcana/struggling-with-duende

The name Duende is "daemon" in Spanish, as the page points out.  As
per the recent discussion on this list, "Duende" is the appropriate
translation for people from the BSD camp who pronounce "daemon"
"day-min"; people who pronounce "daemon" "demon" would be better off
with the word "demonio".

It also comes from this line in "La Calle de las Sirenas" by Kabah:

Parece que sólo levantan la mirada
cuando los duendes pasan hacia el castillo

(Roughly translated: It seems that one only looks up [to see some
faeries mentioned in the previous line] when the /duendes/ pass by on
to the castle)

When I asked a native speaker to translate "duende", she described
something that made me think of the BSD daemon:


Anyway, on to the changes:

short form	long form	description
-c	--chroot=DIR	Directory log helper should change and chroot to
-g	--gid=GID	Groupid log helper should change down to
-i	--ident=STR	How log helper should be identified in syslog
-p	--pid=FILE	File used to store pid of duende process
-r	--restart_on=INT	Exit status on which to restart child process
-u	--uid=UID	Userid log helper should change down to

Nicholas: Can I add this table to the MaraDNS documentation?

>These arguments are parsed with the argp library

I always get a little worried whenever we add a new library to
MaraDNS' codebase.  The reason being that it could make it harder for
embedded users to port MaraDNS to their embedded platform.  Before
integrating the patch, I will have to ensure it cleanly links against
an older uClibc.

Hopefully the BSDs' libcs have the argp functionality, but it looks
like this functionality is not quite 100% stable:


What I will probably do is add a "duende-simple.c" and add a note to
the README saying that, if "duende.c" doesn't compile, to try
compiling duende-simple.c

>[...] in some cases the log helper process gets missed and so a
>zombie process gets created. This Debian version reaps all
>exited child processes and takes the appropriate action
>according to whether this was a main child, the log helper
>or something that got missed from a previous cycle.

I think this is a good bugfix-only improvement to have and I think I
will make this a separate patch from the extended argument processing.

My goal is to give MaraDNS users the benefit of extended Duende
functionality without the bugs adding new functionality inevitably
adds.  I am very careful about what patches I integrate in to MaraDNS
because I have had to more than once deal with issues caused by a
patch someone else contributed.  For example:


It sometimes takes years for people to notice bugs in MaraDNS and 99
times out of 100, the person who has contributed the patch has long
since lost interest in MaraDNS so I'm the one left holding the hot

So, yes, I'm really excited by having some long-standing bugs in
Duende fixed and some functionality added.  On the other hand, I hope
this patch doesn't add any other bugs to the MaraDNS codebase.

- Sam

More information about the list mailing list