bug in the way DECnet mail is delivered
Art Zemon - SwsE/ACES
zemon at pernod.dec.com
Tue Oct 4 06:33:23 AEST 1988
Reply-to: zemon at pernod.dec.com (Art Zemon - SwsE/ACES)
I just found an interesting bug in the way mail is sent from
Ultrix to VMS. Sendmail uses the "m" flag to indicate that
mail11 can be invoked one time with multiple addresses. This
causes any errors which occur on any single address to be applied
to *all* addresses.
Consider mail sent like this:
% mail machine::user1 machine::user2
...
^D
with two scenarios:
1) "User1" is an unknown user on machine. The sender will get a
rejection message stating, "no such user USER1 at node
MACHINE". The surprise is that the mail is not delivered to
user2, either. No message is given to the sender stating
that user2 did not get the mail.
2) User1 is temporarily unavailable and the VMS machine sends
back a status which means try again later. The mail is
correctly delivered to user2. Sendmail sets the status on
the message to "Deferred". Some minutes later, sendmail runs
through the queue and tries the *pair of addresses* again.
Repeat until either the message can be simultaneously
delivered to both user1 and user2 or until the message times
out of the queue. (One of our people had 1440 messages in
her VMS mailbox this morning because of this bug!)
The fix is to change the invocation of mail11 in your sendmail.cf
file to not use the "m" option. Change the line in
/etc/sendmail.cf (/usr/lib/sendmail.cf on v2.0 and earlier
systems) which reads something like
MDmail, P=/usr/bin/mail11, F=mnsF ...
to
MDmail, P=/usr/bin/mail11, F=nsF ...
Rebuild your frozen configuration file with "/usr/lib/sendmail
-bz" and kill and restart the sendmail daemon.
Performance is reduced but at least mail is delivered reliably,
and once, to each addressee. If the mail is not delivered, an
error message is returned for each addressee who did not get it.
-- Art Z.
More information about the Comp.unix.ultrix
mailing list