wmartin@brl-tgr.ARPA (Will Martin ) (09/10/84)
I recently ran into a strange situation with a batch of messages I received in response to a netnews posting. I had been trying to reply to each message, thanking the sender for his/her time and info. I then began receiving MAILER-DAEMON messages from the "hplabs" machine, telling me that it did not recognize host "uw-beaver". I am NOT complaining about hplabs' mailer here -- it was perfectly correct. For some reason, the "From:" field in the messages I was replying to had a slight (!) difference compared to the "Return-Path:" field -- host "tektronix", which should have been between "hplabs" and "uw-beaver", was in the Return-Path: field, but was NOT in the "From:" field. So, my host, when generating the reply, created an address based on the "From:" field, sent it out, and, when it reached hplabs, instead of "tektronix", that host found the unrecognized "uw-beaver". For what it is worth, I am on a 4.2 BSD machine on the MILNET, running mmdf. Mail from the ARPA/MILNET to USENET, and vice-versa, normally goes through host seismo in my case. Here are two examples of the situation, with the message text edited out. The first message is the one I received, the second my rejected reply: EXAMPLE # 1: Received: From Brl-Tgr.ARPA by ALMSA-1 via smtp; 8 Sep 84 16:08 CDT Received: from css-ring-gw by BRL-TGR.ARPA id a005341; 8 Sep 84 16:59 EDT Return-Path: <hao!hplabs!tektronix!uw-beaver!cornell!vax135!houxm!mhuxh!smitty@seismo.ARPA> Received: from hao.UUCP by seismo.ARPA with UUCP; Sat, 8 Sep 84 16:58:50 EDT Received: by hao (4.12/4.7) id AA24664; Sat, 8 Sep 84 14:13:41 mdt Received: by HP-VENUS id AA05553; Sat, 1 Sep 84 23:38:11 pdt From: hao!hplabs!uw-beaver!cornell!vax135!houxm!mhuxh!smitty@SEISMO.ARPA To: wmartin <@SEISMO.ARPA:wmartin@BRL-TGR.ARPA> Received: from uw-beaver.uucp by tektronix ; 1 Sep 84 18:58:09 PDT Received: by uw-beaver.arpa (3.346/1.9), id AA02693; 1 Sep 84 07:16:35 PDT (Sat) Received: by CORNELL-GVAX.ARPA (4.30/4.30), id AA12851; Fri, 31 Aug 84 11:34:15 edt Date: Fri, 31 Aug 84 10:25:06 edt Message-Id: <8408311425.AA13667@vax135.UUCP> Subject: Re: Electrical Service Query In-Reply-To: your article <4318@brl-tgr.ARPA> ****** Text removed here ****** Answer rejected and returned by HPLABS mailer: Received: From css-ring-gw.ARPA by ALMSA-1 via smtp; 10 Sep 84 14:03 CDT Return-Path: <hao!hplabs!MAILER-DAEMON@seismo.ARPA> Received: from hao.UUCP by seismo.ARPA with UUCP; Mon, 10 Sep 84 15:03:26 EDT Received: by hao (4.12/4.7) id AA10659; Mon, 10 Sep 84 11:55:22 mdt Date: Mon, 10 Sep 84 9:03:40 CDT From: Mail Delivery Subsystem <hao!hplabs!MAILER-DAEMON@seismo.ARPA> Received: by HP-VENUS id AA03018; Mon, 10 Sep 84 07:28:41 pdt Subject: Returned mail: unknown mailer error 101 Message-Id: <8409101428.AA03018@HP-VENUS> To: hao!seismo!wmartin@ALMSA-1.ARPA ----- Transcript of session follows ----- bad system name: uw-beav 554 uw-beaver!cornell!vax135!houxm!mhuxh!smitty... unknown mailer error 101 ----- Unsent message follows ----- Received: by HP-VENUS id AA03010; Mon, 10 Sep 84 07:28:41 pdt Received: by hao (4.12/4.7) id AA08404; Mon, 10 Sep 84 08:21:01 mdt Received: from ALMSA-1 (almsa-1.ARPA) by seismo.ARPA with SMTP; Mon, 10 Sep 84 10:09:09 EDT Message-Id: <8409101409.AA01355@seismo.ARPA> Date: Mon, 10 Sep 84 9:03:40 CDT From: Will Martin -- DRXAL-RI <hao!seismo!wmartin@ALMSA-1.ARPA> To: hao!hplabs!uw-beaver!cornell!vax135!houxm!mhuxh!smitty@seismo Subject: Re: Electrical Service Query ****** Text removed here ****** EXAMPLE # 2: Received: From Brl-Tgr.ARPA by ALMSA-1 via smtp; 8 Sep 84 19:38 CDT Received: from css-ring-gw by BRL-TGR.ARPA id a007336; 8 Sep 84 20:34 EDT Return-Path: <hao!hplabs!tektronix!uw-beaver!cornell!vax135!houxm!hou2e!mike@seismo.ARPA> Received: from hao.UUCP by seismo.ARPA with UUCP; Sat, 8 Sep 84 20:33:47 EDT Received: by hao (4.12/4.7) id AA27048; Sat, 8 Sep 84 17:39:54 mdt Received: by HP-VENUS id AA05683; Sat, 1 Sep 84 23:40:03 pdt From: hao!hplabs!uw-beaver!cornell!vax135!houxm!hou2e!mike@SEISMO.ARPA To: wmartin <@SEISMO.ARPA:wmartin@BRL-TGR.ARPA> Received: from uw-beaver.uucp by tektronix ; 1 Sep 84 19:00:52 PDT Received: by uw-beaver.arpa (3.346/1.9), id AA02719; 1 Sep 84 07:17:33 PDT (Sat) Received: by CORNELL-GVAX.ARPA (4.30/4.30), id AA12922; Fri, 31 Aug 84 11:36:26 edt Date: Fri, 31 Aug 84 11:02:23 edt Message-Id: <8408311502.AA14035@vax135.UUCP> Subject: Re: Electrical Service Query References: <4318@brl-tgr.ARPA> ****** Text removed here ****** Answer returned and rejected by HPLABS mailer: Received: From css-ring-gw.ARPA by ALMSA-1 via smtp; 10 Sep 84 14:03 CDT Return-Path: <hao!hplabs!MAILER-DAEMON@seismo.ARPA> Received: from hao.UUCP by seismo.ARPA with UUCP; Mon, 10 Sep 84 15:03:32 EDT Received: by hao (4.12/4.7) id AA10670; Mon, 10 Sep 84 11:55:44 mdt Date: Mon, 10 Sep 84 9:05:04 CDT From: Mail Delivery Subsystem <hao!hplabs!MAILER-DAEMON@seismo.ARPA> Received: by HP-VENUS id AA03034; Mon, 10 Sep 84 07:28:54 pdt Subject: Returned mail: unknown mailer error 101 Message-Id: <8409101428.AA03034@HP-VENUS> To: hao!seismo!wmartin@ALMSA-1.ARPA ----- Transcript of session follows ----- bad system name: uw-beav 554 uw-beaver!cornell!vax135!houxm!hou2e!mike... unknown mailer error 101 ----- Unsent message follows ----- Received: by HP-VENUS id AA03027; Mon, 10 Sep 84 07:28:54 pdt Received: by hao (4.12/4.7) id AA08417; Mon, 10 Sep 84 08:21:19 mdt Received: from ALMSA-1 (almsa-1.ARPA) by seismo.ARPA with SMTP; Mon, 10 Sep 84 10:09:21 EDT Message-Id: <8409101409.AA01361@seismo.ARPA> Date: Mon, 10 Sep 84 9:05:04 CDT From: Will Martin -- DRXAL-RI <hao!seismo!wmartin@ALMSA-1.ARPA> To: hao!hplabs!uw-beaver!cornell!vax135!houxm!hou2e!mike@seismo Subject: Re: Electrical Service Query ****** Text removed here ****** END OF EXAMPLES Is this evidence of some bug somewhere which is not updating the path in "From:" correctly, or does the problem lie elsewhere? Will Martin seismo!brl-bmd!wmartin or wmartin@almsa-1.ARPA
steveh@hammer.UUCP (Stephen Hemminger) (09/13/84)
The problem is that the mail program at the host ``tektronix'' outputs mail with both a From: (RFC822 style) and a From line (Uucp style). The next host down the chain on either side gets this and may or may not add its name to the From: line. This problem has been reported to them and will be fixed. P.s: we don't run that mail program here.
pag@hao.UUCP (Peter Gross) (09/22/84)
The problem everyone has been complaining about -- "From: " lines
out of sync with "From " lines and resulting dropped sites from
paths -- is NOT (repeat, NOT) due to a sendmail problem. I previously
posted a fix for this. It is a mal-design in Berkeley 4.2 Mail.
The problem is that when mail passes through a 4.2 mail system
it always uses the From: " line if present. But System V systems
ignore it and add their own sitename only to the "From " line.
Then when a 4.2-er does an "r[eply]" in Mail it constructs the return path
from the "From: " line which may be missing some of the sites.
The fix is simple -- force Mail to use the "From " line in preference
to the "From: " line. This works fine for uucp-only (ie non-ARPA) sites.
I haven't thought about implications for Internet sites. It may still
work fine there too.
--peter gross
hao!pag
The changes:
1. Add "-DIGNOREFROM" to the OPTIONS line in the Makefile
2. changes to cmd3.c and aux.c (in src/ucb/Mail):
*** /tmp/,RCSt1007362 Fri Sep 21 18:29:19 1984
--- cmd3.c Sat Jun 23 15:42:49 1984
***************
*** 1,5
#ifndef lint
! static char *sccsid = "@(#)cmd3.c 2.14 (Berkeley) 8/11/83";
#endif
#include "rcv.h"
--- 1,5 -----
#ifndef lint
! static char *rcsid = "$Header: cmd3.c,v 2.15 84/06/23 15:41:47 pag Exp $";
#endif
#include "rcv.h"
***************
*** 9,14
* Mail -- a mail program
*
* Still more user commands.
*/
/*
--- 9,20 -----
* Mail -- a mail program
*
* Still more user commands.
+ *
+ * $Log: cmd3.c,v $
+ * Revision 2.15 84/06/23 15:41:47 pag
+ * Added IGNOREFROM conditional code to keep responses from using a
+ * possibly incomplete "From:" header
+ *
*/
/*
***************
*** 205,210
cp = skin(nameof(mp, 1));
if (cp != NOSTR)
rcv = cp;
cp = skin(hfield("from", mp));
if (cp != NOSTR)
rcv = cp;
--- 211,217 -----
cp = skin(nameof(mp, 1));
if (cp != NOSTR)
rcv = cp;
+ #ifndef IGNOREFROM
cp = skin(hfield("from", mp));
if (cp != NOSTR)
rcv = cp;
***************
*** 208,213
cp = skin(hfield("from", mp));
if (cp != NOSTR)
rcv = cp;
replyto = skin(hfield("reply-to", mp));
strcpy(buf, "");
if (replyto != NOSTR)
--- 215,221 -----
cp = skin(hfield("from", mp));
if (cp != NOSTR)
rcv = cp;
+ #endif IGNOREFROM
replyto = skin(hfield("reply-to", mp));
strcpy(buf, "");
if (replyto != NOSTR)
***************
*** 673,678
for (s = 0, ap = msgvec; *ap != 0; ap++) {
mp = &message[*ap - 1];
dot = mp;
if ((cp = skin(hfield("from", mp))) != NOSTR)
s+= strlen(cp) + 1;
else
--- 681,687 -----
for (s = 0, ap = msgvec; *ap != 0; ap++) {
mp = &message[*ap - 1];
dot = mp;
+ #ifndef IGNOREFROM
if ((cp = skin(hfield("from", mp))) != NOSTR)
s+= strlen(cp) + 1;
else
***************
*** 676,681
if ((cp = skin(hfield("from", mp))) != NOSTR)
s+= strlen(cp) + 1;
else
s += strlen(skin(nameof(mp, 2))) + 1;
}
if (s == 0)
--- 685,691 -----
if ((cp = skin(hfield("from", mp))) != NOSTR)
s+= strlen(cp) + 1;
else
+ #endif IGNOREFROM
s += strlen(skin(nameof(mp, 2))) + 1;
}
if (s == 0)
***************
*** 684,689
head.h_to = cp;
for (ap = msgvec; *ap != 0; ap++) {
mp = &message[*ap - 1];
if ((cp2 = skin(hfield("from", mp))) == NOSTR)
cp2 = skin(nameof(mp, 2));
cp = copy(cp2, cp);
--- 694,700 -----
head.h_to = cp;
for (ap = msgvec; *ap != 0; ap++) {
mp = &message[*ap - 1];
+ #ifndef IGNOREFROM
if ((cp2 = skin(hfield("from", mp))) == NOSTR)
#endif IGNOREFROM
cp2 = skin(nameof(mp, 2));
***************
*** 685,690
for (ap = msgvec; *ap != 0; ap++) {
mp = &message[*ap - 1];
if ((cp2 = skin(hfield("from", mp))) == NOSTR)
cp2 = skin(nameof(mp, 2));
cp = copy(cp2, cp);
*cp++ = ' ';
--- 696,702 -----
mp = &message[*ap - 1];
#ifndef IGNOREFROM
if ((cp2 = skin(hfield("from", mp))) == NOSTR)
+ #endif IGNOREFROM
cp2 = skin(nameof(mp, 2));
cp = copy(cp2, cp);
*cp++ = ' ';
-----------------------
*** /tmp/,RCSt1007356 Fri Sep 21 18:28:38 1984
--- aux.c Sat Jun 23 15:41:13 1984
***************
*** 1,5
#ifndef lint
! static char *sccsid = "@(#)aux.c 2.11 (Berkeley) 8/11/83";
#endif
#include "rcv.h"
--- 1,5 -----
#ifndef lint
! static char *rcsid = "$Header: aux.c,v 2.12 84/06/23 15:39:54 pag Exp $";
#endif
#include "rcv.h"
***************
*** 10,15
* Mail -- a mail program
*
* Auxiliary functions.
*/
/*
--- 10,21 -----
* Mail -- a mail program
*
* Auxiliary functions.
+ *
+ * $Log: aux.c,v $
+ * Revision 2.12 84/06/23 15:39:54 pag
+ * Added IGNOREFROM conditional code to keep responses from using the
+ * incomplete "From:" header
+ *
*/
/*
***************
*** 616,621
register FILE *ibuf;
int first = 1;
if ((cp = hfield("from", mp)) != NOSTR)
return(cp);
if (reptype == 0 && (cp = hfield("sender", mp)) != NOSTR)
--- 622,628 -----
register FILE *ibuf;
int first = 1;
+ #ifndef IGNOREFROM
if ((cp = hfield("from", mp)) != NOSTR)
return(cp);
if (reptype == 0 && (cp = hfield("sender", mp)) != NOSTR)
***************
*** 620,625
return(cp);
if (reptype == 0 && (cp = hfield("sender", mp)) != NOSTR)
return(cp);
ibuf = setinput(mp);
copy("", namebuf);
if (readline(ibuf, linebuf) <= 0)
--- 627,633 -----
return(cp);
if (reptype == 0 && (cp = hfield("sender", mp)) != NOSTR)
return(cp);
+ #endif IGNOREFROM
ibuf = setinput(mp);
copy("", namebuf);
if (readline(ibuf, linebuf) <= 0)