[comp.mail.sendmail] One space too many in your aliases file will ruin your day

fk@kos.rci.dk (Fleming Kraglund) (03/02/90)

Well, I don't know if anybody has heard about this before but this is
something i wouldn't wish on my worst enemy. So i post this here so
that everybody can read it and enjoy.

First of all, the setup:
I run a SysV3.2 (386/ix) with sendmail 5.51 (yes i know it's old)
I deliver in the background meaning that after address validation sendmail
forks a child to do the actual delivery, thus returns quick to the user.
Sendmail supports the Errors-To header, and my email address is there, this
means that i get a copy of every letter that fails delivery (if the final
mailer supports it), this helps to find first time users and other things.
Allso some wise guy at isc thougth that definening LOG is a waste of space,
[not to mention DEBUG in the 2.x version grrrrr]

Ok, here goes:

Last friday i made some changes in the aliases-file. Later i've found out
that i made a empty line that started with a space, sounds harmless but see
what the result was.

Monday morning there was a lot of error mail in my mailbox.
I even had error mail on error mail on error mail..., until maxhop stopped
that.
Well I've seen that before, that was when i made my smtp interface program
for our LAN, what i did then was to exit with EX_TEMPFAIL when something went
wrong, such as the connection broke or there was a failure when closeing the
connection.  But oh no, when using a smtp mailer everything about how it went
is known to sendmail. But if the mailer exits with non zero, sendmail gets
confused and thinks that it went wrong, queues the letter for another try
[nice], and sends a copy to the Errors-To [nice?], all this in spite the fact
that it has just talked to the recieving sendmail which had just said
"recipent@host.dom... Sent." which is smtp for mail delivered.
Worst of all my address is on another machine so gues whats happening to the
error copy's.....

After carefully checking that my mailer really did exit with 0, and from the
many number of persons comming to inform me that when they try to send mail
their letters was returned, it didn't seem to matter which mailer was used.
(and actualy their letter was sent.)
Trying sendmail with the -odq to just queue the letter stil faulted, and
even trying to verify failed?.
Well the problem was as i said in the beginning that there was a line with a
space in the aliases-file, which did set the exit value when parsed, but
sendmail continued to do it's job, and delivered the mail. After delivery
sendmail checks to se if *any* error has occured and if this is the case
assumes that delivery failed and did a 'return to sender'.

So i hope this is fixed in the new version [which i'm going to get now],

b.r Flemming

ps:	I have a compleate debug flag list for version 5.51 if anybody can
	use it mail me.

-- 
This is my OWN opinion        fk@rci.dk                   (I hate .sig files)
--------------------------------------------------------------------------------
1/2 * PS = PS/2 (half a computer)  |  1/2 * OS = OS/2 (half an operating system)