[comp.unix.ultrix] bug in the way DECnet mail is delivered

zemon@pernod.dec.com (Art Zemon - SwsE/ACES) (10/04/88)

Reply-to: zemon@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.

avolio@decuac.dec.com (Frederick M. Avolio) (11/08/88)

Reply-to: avolio@decuac.dec.com (Frederick M. Avolio)

This bug, which Art reported, appears to be fixed in the next
release of ULTRIX (field test now).  By all means fix it in your
current releases but you needn't reapply the fix after you receive
3.0 of ULTRIX.

Fred