🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.vm.bug
Article #9501

Re: Fix for SunOS 4.1.1 Sendmail

#9501
From: Per Hedeland
Date: Thu, 04 Jul 1991 22:24
83 lines
5032 bytes
In article <GAMIN.91Jul4131814@pellan.ireq-robot.hydro.qc.ca> gamin@ireq-robot.hydro.qc.ca (Martin Boyer) writes:
>A while ago, I complained (in gnu.emacs.bugs) about mail errors when
>sending messages to global NIS aliases from VM, on a Sun client
>machine running SunOS 4.1.1.
>
>Well, I narrowed it down to a bug in SunOS 4.1.1 sendmail
[description deleted]

Note however that the bug only occurs if you use the OR option in
sendmail.cf, to forward mail to a common server (OR is in the default
sendmail.cf's delivered with SunOS). Below is the current version of my
list-of-bugs-and-problems that OR causes - I believe this is #10 (yes,
the last one, but I did add it before reading the above article:-) -
unfortunately my reading of gnu.emacs.bugs is rather sporadic).

--Per Hedeland
per@erix.ericsson.se  or
per%erix.ericsson.se@sunic.sunet.se  or
...uunet!erix.ericsson.se!per

--------------
Here is a list of the bugs/problems with Sun's braindead OR sendmail.cf
option that I've found to date:

1. If the connection between client and server sendmail is broken during
   the DATA phase (i.e when the actual letter is transferred), the letter
   is lost, without any information to user or Postmaster, the only trace
   is a "SYSERR: net hang reading from..." type of message in syslog.
   (In addition, it appears that the connection breaking like this happens
   rather more than would be expected due to "natural" causes.)

2. Anyone can fake sender addresses with sendmail -f.

3. Sendmail -t forgets to remove temp file (fixed post-4.0.3, I believe).

4. Sendmail -t called from emacs (actually whenever it can't do a
   getlogin()) with a local recipient address will put the *recipient*
   address in the From: line.

5. If a sendmail deamon is run (e.g. if you want to be kind enough to handle
   the occasional mail mis-addressed to user@client rather than having it
   sit in some queue for several days before being bounced), it will ignore
   the OR option, and happily do local delivery causing /bin/mail to write
   /var/spool/mail via NFS, or send directly to hosts in the YP map while
   setting the sender address to user@client. In addition, the local
   delivery is somehow half-baked, ignoring e.g. .forward files.

6. Since (in the normal non-deamon case) the sendmail.cf apart from OR is
   essentially ignored, it isn't possible to do *any* host-specific
   handling, e.g. splitting up mail to root depending on which client
   generated it.

7. If the mailhost isn't reachable, each letter sent will cause the
   corresponding sendmail process to sit in a loop doing repeated attempts
   - apart from the load, this means that if the client is shut down or
   rebooted before successful delivery, the mail is lost.

8. It doesn't work at all if /var/spool/mail is auto-mounted.

9. Sendmail -t will remove one empty line between header and body, with
   the effect that initial body lines that have leading whitespace, or
   that start with <word>:, are moved to the header.

10. Sendmail -t where the destination is a local alias will generate a
   "User unknown" error message (although the letter will be delivered
   correctly) - if PostmasterCopy is in effect, there will (of course)
   be an additional "User unknown" for Postmaster.

I realize that 6 and 7 are consequences of intentional design decisions, and
that 5 might be considered operator error; I still consider them deficiencies.

I definitely recommend using one of the minimalist sendmail.cf's for this
purpose that has been floating around the net instead of the OR option. The
only inconveniences with this are that you have to actually spell out the
name of the mailhost, and that you have to make sure the client's queue is
checked - if you don't want to run a deamon (which I think is the best
solution - the load from this should be neglible), you can have sendmail -q
run from crontab e.g. hourly. On the other hand, you can use the same
sendmail.cf on non-Sun mail clients.

I have done just this, using essentially the version that Rich Salz sent out
on comp.mail.sendmail a while back (the smallest one I've seen so far:-),
and all of the problems went away.
Technical Details
Message-ID: <1991Jul4.222454.13579@eua.ericsson.se>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!news.funet.fi!sunic!ericom!eua.ericsson.se!erix.ericsson.se!per
References: <GAMIN.91Jul4131814@pellan.ireq-robot.hydro.qc.ca>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f88e1,f736ae48553f2811
X-Google-Attributes: gidf88e1,public
X-Google-Thread: f6829,f736ae48553f2811
X-Google-Attributes: gidf6829,public
X-Google-ArrivalTime: 1991-07-05 00:15:15 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!news.funet.fi!sunic!ericom!eua.ericsson.se!erix.ericsson.se!per
From: per@erix.ericsson.se (Per Hedeland)
Newsgroups: gnu.emacs.vm.bug,alt.sys.sun
Subject: Re: Fix for SunOS 4.1.1 Sendmail
Message-ID: <1991Jul4.222454.13579@eua.ericsson.se>
Date: 4 Jul 91 22:24:54 GMT
References: <GAMIN.91Jul4131814@pellan.ireq-robot.hydro.qc.ca>
Sender: news@eua.ericsson.se
Distribution: gnu
Organization: Ellemtel Telecom Systems Labs, Stockholm, Sweden
Lines: 83
Nntp-Posting-Host: super.eua.ericsson.se