LWN.net Logo

The sad tale of qmail

The sad tale of qmail

Posted Aug 24, 2006 23:42 UTC (Thu) by cventers (subscriber, #31465)
In reply to: The sad tale of qmail by felixfix
Parent article: A comparison of Mail Transfer Agents - Part One

I'm still sticking to my qmail guns out of reliability and familiarity
reasons, but there are two main points of anguish:

1. The licensing issue you describe. It may be free beer and source
available, but it's not free software. Because it requires patches,
Gentoo is the only distro I've seen do it cleanly (they distribute patch
alongside original sources and then Portage glues it together)

2. The source code itself is ugly. Amazingly ugly. Qmail is a *fine*
piece of work - fast, secure and easy to administer. But DJB could use
some better CodingStyle.


(Log in to post comments)

The sad tale of qmail

Posted Aug 31, 2006 16:53 UTC (Thu) by RussNelson (guest, #27730) [Link]

Actually, I've gotten quite used to djbc. His library is more sublime than the standard C library. For example, stdC's strchr returns a pointer to the character or a null pointer. This leads to crappy coding like this:
*strchr(ptr,';') = '\0'; /* this string always has a semicolon; */
whereas djbc's str_chr returns an offset from the beginning of the array ALWAYS. If the character has not been found, the offset is to the null character. So this is guaranteed to always work:
ptr[str_chr(ptr,';')] = '\0';

His functions for dynamic string lengths are so easy to use that I've come to hate coding in stdC without them. They eliminate the half of all security problems caused by buffer overruns.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds