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)