Readers sound off.

I read with great interest your piece on open-source sendmail. While you brought up some great points regarding its technology and deployment, there were some inaccuracies that are noted below. The corrections were made by Sendmail, Inc., the commercial entity that was cofounded by sendmail author Eric Allman in 1998.

Article: 8.11, in fact, was a “features” release: rather than being released to patch security holes, it was released because the sendmail team had added support for TLS encryption and for the SMTP-AUTH extension to SMTP.

Correction: SMTP AUTH was released in 8.10, 8.11 adding support for encryption when using SMTP AUTH.

Article: The first and probably longest task in setting up an SMTP gateway is generating /etc/sendmail.cf.

Correction: The path is /etc/mail/sendmail.cf.

Article: Below is a mailertable with two different actions:

polkatistas.org       smtp:internalmail.polkatistas.org
mail.polkatistas.org  local:postmaster

In addition to delivery rules, sendmail needs to know which e-mail destinations should be considered synonyms of the local (SMTP gateway's) hostname. These are specified in /etc/mail/local-host-names, one per line:

Correction: mail.polkatistas.org should be in the mailertable or local-host-names, not both.

Article: Note that this won't work for aliases, which has its own utility, newaliases. Run newaliases without any flags to convert your changed /etc/aliases file into a new /etc/aliases.db file automatically.

Correction: The path should be /etc/mail/aliases (and /etc/mail/aliases.db).

—Anna Vrechek

Mick replies: First, yes, the official location of aliases, aliases.db and sendmail.cf has changed from /etc/ to /etc/mail. However, on the Linux distributions I used for my testing in writing this article (SuSE 7.1 and Red Hat 7.0), the Linux-vendor-provided sendmail packages installed these files in /etc/, probably for historical reasons (i.e., many users probably still expect them to be there). My article intentionally reflected the reality of most of my readers, even though this differs slightly from the reality of a sendmail distribution built from the latest source or installed from recent sendmail installation media from Sendmail, Inc. Second, I did indeed confuse my feature-add-dates for Sendmail 8.10 vs. 8.11, proving that reading the same release notes repeatedly late at night sometimes has the opposite of its intended effect of clarifying things. Thanks for setting the record straight. Third, thanks also for clarifying the mailertable vs. local-host-names redundancy. All I have to say in my defense is that 1) the method I described does work, even though it's redundant; and 2) sendmail's documentation (as included in the free version) isn't at all clear about the relationship between these files, so I do sincerely appreciate your feedback on this matter.

Hot Article

I'd like to congratulate Greg Kroah-Hartman on his Kernel Korner article “Hot Plug” [LJ, April 2002]. I particularly enjoyed the article since it was written in a way that mere mortals such as myself (C++/Qt is far more my style than C, thanks) could understand, whilst still remaining reasonably technical. It also taught me a lot about hot plug—I didn't know anything about it previously. I'd love to see more of this kind of feature. Thanks for a great magazine!

—Chris Howells

Easier Connection

I just got done reading the April 2002 issue of Linux Journal and have some comments on Andrew Trice's article “Connect to Microsoft SQL 2000 with the Perl Sybase Module”.

First, the original version of Microsoft SQL Server was built on Sybase technology, thus the reason that Sybase connectors can be utilized.

Second, there is a much easier way to connect to SQL Server 2000. SQL Server 2000 can connect to IIS via a virtual directory (and patch, patch, patch!), then a query can be performed by using an HTTP request such as:


This example connects to the nwind database and does a simple select; the data is then returned as an XML document with root as the top-most element. This could then be parsed with Perl in the standard way.

This method doesn't allow access to some of the handy elements of and ODBC connection, and doesn't allow an easy mechanism for inserts/updates, although they can be performed with templates and OpenXML.

If all you need SQL Server for is running ad hoc queries, this is a simple solution.

—David Scott