On Thursday 19 February 2004 23.28, Craig Sanders wrote: > On Thu, Feb 19, 2004 at 09:34:52PM +0100, Bj?rnar Bj?rgum Larsen wrote: > > For example, I'd like comments on > > http://homepages.tesco.net/~J.deBoynePollard/Reviews/UnixMTSes/postfix.ht > >ml > > a collection of lies, half-truths, and mistruths.
Since Bjørnar was asking for qualified information, let's do the dance for him... | It has an official web page, but no third-party user-run web pages. http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/ http://www.kobitosan.net/postfix/ http://postfix.state-of-mind.de/patrick.koetter/smtpauth/ | However unlike qmail, there is not a large cottage industry producing | third-party extensions and contributions to Postfix. This is because the | modules in Postfix are more tightly coupled to one another and the | interfaces between them are undocumented, making it harder to write | third-party add-ons and replacement modules for Postfix than for qmail. http://www.postfix.org./addon.html | Also, this modularity does not extend to Postfix' configuration files. | Postfix is firmly in the same camp as exim and Sendmail here. It uses two | large monolithic configuration files, master.cf and main.cf, rather than | multiple simple small task-oriented configuration files. Like with all True, but is in the 'it's a feature, not a bug' category: you have all the info in one place, and you have comments in the default and (lots of) example conffiles. I guess exim4 has the best of both worlds here with a .d style directory, I wonder if postfix will follow suit here. | applications that choose this route, configuring Postfix thus requires that | one learn a set of configuration file keywords, and automated configuration | cannot be easily done under script control with echo and cat. There is postconf, and if add sed/awk to your toolset, you are not so helpless. Besides: how often do you do scripted reconfiguration of your mailer? I touch conffiles less than every month. | The glaring omission is a secure queue submission mechanism. Here Postfix | trades the appearance of security for actual security. Postfix boasts that | as standard it has no set-UID or set-GID programs, which superficially | appears to be an attractive feature. However, this boast comes at a price. | The price is that local users can place arbitrary junk into the mail | submission area, or delete submitted messages. Both qmail and MMDF avoid | this by having a non-world-writable submission directory and the program | that does the writing to that directory (qmail-queue and submit, | respectively) set-UID to its owner (the only set-UID program in the entire | package in the case of qmail). Huh? Users can send arbitrary junk in mail. Wow. Unique feature of postfix, sure. The only world writable things I could find in /var/spool/postfix were the sockets - so everybody can open the sockets and fifos in the 'public' directory. I guess this makes sense as everybody should be permitted to send email. | Furthermore, Postfix does not even fully utilise the user partitioning | capabilities of the operating system to fully insulate users from other | users as qmail does. You'd have to read the code to assess these. | Which daemons in Postfix run as root is not documented in the manual pages. ps is a handy tool, for one thing. Also, the man pages *do* have a 'SECURITY' section, where it say things like 'The qmgr daemon does not talk to the outside world, and it can be run at fixed low privilege in a chrooted environment.' | Postfix contains numerous configuration options, particularly in the area of | SMTP Relay service. However, the flexibility of Postfix is in many ways | illusory. Many of the configuration options control features that are | half-baked ideas from the Half-Baked Ideas Brigade. The two examples, smtpd_helo_restrictions and reject_unknown_client, *can* be used by site administrators. The default configuration afaik leaves them out. The documentation does describe what they do - and anybody with a bit of experience in fighting spam can see why they are useful. | There are several different "mbox" formats. MTSes such as qmail use the | "mboxrd" format that was proposed by Rahul Dhesi on 1995-06-04, which uses a | reversible encoding of "From " lines in messages. However, Postfix uses the | "mboxo" format instead. The encoding of "From " lines is not reversible in | this format, and where the original message contained a "From " line there | is no means for an MUA to obtain the message in its original form as it was | before Postfix delivered it to the mailbox. Somebody else will have to comment on that - I've got no idea what he's talking about here. | Postfix always requires DNS service. Dunno, never have tracked DNS calls. | Postfix modifies in-transit and inbound mail. I think the idea here is that any mail postfix spits out is regular mail according to the RFCs. | Postfix apes Sendmail /usr/sbin/sendmail is the official interface to inject mail into the system. Since a /usr/sbin/sendmail intercface is expected, why not provide it natively, instead of first writing a different mail injection tool and then emulating sendmail on top of that? [sendmail interface provided] | - This is equally true of those MTSs that merely supply shims; | - Postfix' emulation of the Sendmail command line syntax is, and always will | be, incomplete; As will the other MTAs emulation of sendmail's cmdline syntax. It has all the syntax required for mail submission, it doesn't have any of the options to do administration. Works for me. | the number of MUAs where the interface to the MTS is configurable is | growing; and The mass of deployed software which expects /usr/sbin/sendmail is still here. | because it has chosen to emulate another MTS' command line, Postfix has no | native mail submission mechanism of its own that MUAs could use if they | wanted a more powerful and more regular MTS interface than that of Sendmail. Postfix *does* have a native mail submission mechanism: /usr/sbin/sendmail. It offers all control you can get: you can set the envelope to what you which, you can send as mail text what you wish. | Postfix uses /etc/aliases, recognises and obeys ~/.forward files, and | delivers to "mbox"-style mailboxes in /var/spool/mail. ("Maildir" format | mailboxes are supported as an option, however.) Again, it does not have more | powerful mechanisms of its own that can be used instead. These are its | native mechanisms. Postfix is largely only as flexible as Sendmail is. Postfix is designed as a sendmail replacement. However, it is trivial to incorporate different MDAs, and to have other /etc/aliases-styke maps. The number of available map types is truly staggering, and growing fast. I think it's difficult to come up with a mail configuration where you can't use postfix in a sensible way. | For example: Postfix does not provide native mechanisms for sorting into | multiple folders or filtering mail (equivalent to qmail's ~/.qmail files, | MMDF's ~/.maildelivery files, or exim's filter files). One has to resort to | third party local delivery agents such as procmail for this. So what? postfix is an MTA, not an MDA. Remember the Unix way: lots of different tools to build your system, each does its task? | Postfix is only available in source form, not as precompiled or prepackaged | binaries. There is a list of FTP sites that hold the source tarball on the | official web site. And how comes that Debian has a well configured postfix precompiled, but not qmail? > > the best that can be said about this document is that the author doesn't > know what he is talking about. I guess the document was written years ago, when postfix did indeed lack *some* of the features people did expect (one of them being the ability to reject mail instead of bounce it ;-) > > > and > > http://homepages.tesco.net/~J.deBoynePollard/Reviews/UnixMTSes/qmail.html > > biased bullshit and boosterism. rah rah rah! worship bernstein. | It supports all of the more recent innovations that one would expect of a | modern mail system: | | delivery to Maildir format mailboxes, postfix is basically not an MDA, but an MTA and includes a trivial MDA only. | host and user masquerading, | virtual users, | virtual domains, | users that are not in /etc/passwd, | SMTP Relay being denied by default, | per-host SMTP Relay control, | consultation of SMTP client blacklist and whitelist databases (using | rblsmtpd from UCSPI-TCP), and | an 8-bit clean SMTP server. postfix does all of these. | ... the POP3 server ... Huh? I thought we were talking about an MTA, not a POP server? | large monolithic configuration files with complex structures (that have to | be read and parsed every time that a new mail process is created, only to How often does this happen? We're not in the sendmail one-mail-is-one-process world anymore! | have 70% or more of that information remain unused because it is irrelevant | to the task at hand). qmail's configuration comprises individual files | in /var/qmail/control, each file having a single job. configuration files in /var? Sure. | qmail provides a flexible aliasing/forwarding mechanism: .qmail files. Which are not supported by any other software package, to make migration as big a problem as possible. qmails MDA sure has more possibilities than postfix' one. But see above. | The installation instructions are out of date. It is now recommended that | the qmail daemons (qmail-start and qmail-smtpd) be controlled by daemontools | rather than /etc/inittab or /etc/init.d/*, because it provides finer control | and does not have race conditions when starting and stopping daemons. | Similarly, for SMTP server support it is recommended that UCSPI-TCP be used | instead of inetd, because UCSPI-TCP can enforce inbound concurrency limits | in a reasonable manner. And why is there a difference between documentation and 'recommended practice'? Not good. Btw, the two web pages don't say anything at all about spam control, an area where postfix imho excels. Also not covered: postfix uses the standard message/report MIME format for bounces, qmail does not. postfix can reject early in the SMTP transaction in most cases, while qmail has become a major annoyance on the Internet because it frequently has to bounce mail after accepting it. cheerio -- vbi -- featured link: http://fortytwo.ch/smtp
pgp00000.pgp
Description: signature