From owner-freebsd-chat Sun Mar 24 18:14: 2 2002 Delivered-To: freebsd-chat@freebsd.org Received: from riker.skynet.be (riker.skynet.be [195.238.3.132]) by hub.freebsd.org (Postfix) with ESMTP id AA17237B400 for ; Sun, 24 Mar 2002 18:13:46 -0800 (PST) Received: from [10.0.1.8] (ip-27.shub-internet.org [194.78.144.27] (may be forged)) by riker.skynet.be (8.11.6/8.11.6/Skynet-OUT-2.16) with ESMTP id g2P2DKr02944; Mon, 25 Mar 2002 03:13:20 +0100 (MET) (envelope-from ) Mime-Version: 1.0 X-Sender: bs663385@pop.skynet.be Message-Id: In-Reply-To: <3C9DF87D.5050306@cream.org> References: <20020323002608.B20699@rain.macguire.net> <3C9C84CF.2090300@flash.net> <20020323084327.A354@rain.macguire.net> <3C9DF87D.5050306@cream.org> X-Grok: +++ath X-WebTV-Stationery: Standard; BGColor=black; TextColor=black Reply-By: Wed, 1 Jan 1984 12:34:56 +0100 X-Message-Flag: Outlook : A program to spread viri via e-mail. Try Eudora (http://www.eudora.com/), mutt (http://www.mutt.org/), or pine (http://www.washington.edu/pine/). But please, get something other than Outlook. Date: Mon, 25 Mar 2002 03:12:46 +0100 To: Andrew Boothman , Benjamin Krueger From: Brad Knowles Subject: Re: qmail (Was: Maintaining Access Control Lists ) Cc: Courtney Thomas , freebsd-chat@freebsd.org Content-Type: text/plain; charset="us-ascii" ; format="flowed" Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org At 4:02 PM +0000 2002/03/24, Andrew Boothman wrote: > I was interested about what you said about qmail and its author. > I've recently started playing with qmail to investigate what mail > server I prefer, but I agree that there is perhaps something a > little strange about its author. I don't know what, perhaps its > just that I find qmail.org such a weird site. The author of qmail is rightly considered to be one of the most whacked-out kooks on the 'net. I've been on IETF mailing lists with him, and his attitude is always that he is always right (by definition) and everyone else is always wrong (by definition). He insists on replying to each and every mail message posted to the list, and constantly dredging up old points that everyone else has agreed were dead a long, long, long time ago. He will reply to messages that are not anywhere near remotely related to his favourite topic, quote some random line that is least unlike the straw-man position that he wants to destroy, and then go off on a multi-page rant. He considers himself to be God's gift to programming, security, Internet mail, DNS, cryptography, and anything else he cares to decide to screw around with, and woe betide anyone who ever disagrees with his world-view -- even if that world-view changes and you used to be his most vocal supporter. The problem is that he is generally totally fscking clueless (at least on all the topics with which I am familiar), and his whacked-out ideas of how things should be done are non-solutions to non-problems, and he simply doesn't understand what the real problems are. Let's take qmail as one example. Read the literature, and you will find pretty universal agreement that the single biggest problem with handling Internet e-mail is the issue of synchronous meta-data updates, followed by synchronous data writes -- basically, you're waiting on the disk, which is the single slowest device in the entire system by many, many orders of magnitude, and the RFCs require you to do things that mean that you can't really make much use of the kinds of buffers and things you'd normally use to help insulate yourself from such seriously heinous latency issues. The problem is that every time you create a file, delete a file, or rename a file, the entire directory in which that file is located must be locked for the exclusive use of that one process, for the length of that directory operation. Now, you may be able to handle these operations very quickly, but when you serialize all directory operations in a busy mail queue, this starts to become a serious problem. Compound this problem with the fact that you are required by the RFCs to have committed the mail message to stable storage before you respond to the sender "Okay, I've got it." You have to flush the buffer for that file, and wait for the writes to complete before you can proceed. You also have to flush the write buffer for the directory before you can proceed (to ensure that the meta-data updates are reliably written out). Now, it turns out that older versions of sendmail make this problem doubly worse by using two files in /var/spool/mqueue for every mail message -- a qf* file and a df* file (with others being optional). This means twice as many files get created, written, read, and deleted in a very short period of time (with appropriate flushes of the buffers and waiting for the message to be committed to stable storage before continuing, etc...). But qmail makes this even worse -- it uses *three* files per message! At least postfix is more intelligent and it uses only one file (albeit in a proprietary format). Starting with version 8.12, sendmail has a new async I/O library that allows it to avoid *ALL* synchronous meta-data updates in most cases (i.e., those where the initial delivery attempt is successful). It's kind of hard to beat zero synchronous meta-data updates. ;-) More importantly, the author of postfix has relatively little ego wrapped up in his programs, and if you can show him an error or an incorrect assumption, he will generally listen to you. Do you know why no one has never collected the "bug bounty" that the author of qmail has offered? Simple -- he has never publicly acknowledged that any of his programs are less than 100% completely and totally perfect, and any time someone does point out something that is wrong, while he doesn't recognize it as a "bug", the problem does seem to mysteriously get fixed in later releases. There's a lot more development going on with regards to sendmail, and it may be more difficult to get them to listen to you. But I do know that Eric, Greg, Claus, and crew do listen, because they are in the process of eliminating every single major potential software bottleneck that I identified in my "Sendmail Performance Tuning for Large Systems" paper that I presented at SANE'98 (see ). I've got a whole laundry list (some twenty-three items by now) of things that are wrong with tinydns and dnscache, and a lot of them have to do with problems regarding the megalomaniacal author and his unholy disciples. I will be writing them up, but I can't make any guarantees as to when I'll be able to put them online. Even if I document my writings extensively with references to his own web pages, documentation, etc... and the public writings of others, I'm sure that he'll still file libel and slander charges against me -- he does the same to anyone else who dares to speak out against him, especially those who do so in a public forum. God help you if you ever join the Church of Dan. And Dan help you if you don't. -- Brad Knowles, Do you hate Microsoft? Do you hate Outlook? Then visit the Anti-Outlook page at and see how much fun you can have. "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, Historical Review of Pennsylvania. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message