home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.mail.mh:1410 comp.mail.sendmail:3032
- Newsgroups: comp.mail.mh,comp.mail.sendmail
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!uwm.edu!ux1.cso.uiuc.edu!news.cso.uiuc.edu!uxc.cso.uiuc.edu!paul
- From: paul@uxc.cso.uiuc.edu (Paul Pomes - UofIllinois CSO)
- Subject: Re: MH 6.8 sendmail/smtp uses "ONEX" (w. fix for IDA sendmail)
- References: <19322.724536025@dbc.mtview.ca.us>
- Message-ID: <BzFu4v.MxL@news.cso.uiuc.edu>
- Sender: usenet@news.cso.uiuc.edu (Net Noise owner)
- Reply-To: Paul-Pomes@uiuc.edu
- Organization: University of Illinois at Urbana
- Date: Fri, 18 Dec 1992 04:36:30 GMT
- Lines: 81
-
- mrose@dbc.mtview.ca.us (Marshall Rose) writes:
-
- >ONEX is a command that sendmail has which, assuming there will be only
- >one transaction on this SMTP connection, allows it to avoid an extra
- >fork.
-
- One problem I found during the beta-test period involved mailing to blind
- recipients with the IDA sendmail. An example follows:
-
- uxc-paul home 610$ comp
- To: paul@ux1
- Cc:
- Bcc: paul@uxh
- Fcc:
- Organization: Univ of Illinois, Computing Services Office
- Subject: d
- --------
- ^D--------
-
- What now? send -snoop -verbose
- <= 220 uxc.cso.uiuc.edu 5.67a8/IDA-1.5 Sendmail is ready at Thu, 17 Dec 1992 22:21:28 -0600
- => ONEX
- <= 200 Only one transaction
- => MAIL FROM:<paul@uxc.cso.uiuc.edu> sets sender address
- <= 250 <paul@uxc.cso.uiuc.edu>... Sender ok
- -- Address Verification --
- -- Network Recipients --
- paul at ux1: => RCPT TO:<paul@ux1>
- <= 250 <paul@ux1>... Recipient ok
- address ok
- paul at uxh: => RCPT TO:<paul@uxh>
- <= 250 <paul@uxh>... Recipient ok
- address ok
- -- Address Verification Successful --
- => RSET
- <= 250 Reset state
- -- Posting for Sighted Recipients --
- => MAIL FROM:<paul@uxc.cso.uiuc.edu> sendmail complains about
- previous MAIL command
- <= 250 <paul@uxc.cso.uiuc.edu>... Sender ok
- -- Network Recipients --
- paul at ux1: => RCPT TO:<paul@ux1>
- <= 250 <paul@ux1>... Recipient ok
- address ok
- => DATA
- <= 354 Enter mail, end with "." on a line by itself
- => .
- <= 250 Ok
- => RSET
-
- Because ONEX prevents sendmail from fork()ing, the normal cleanup performed
- by a RSET command doesn't occur. That is, sendmail exits the child and
- re-fork()s when it sees a MAIL command. Some extra code needs to be inserted
- in the srvrsmtp.c file to handle RSET when ONEX has been given. A diff
- follows. The sfgetsinit() call may not be present in the 5.65c release
- and my be safely deleted if so.
-
- /pbp
- ====
- *** 5.31.0.2 1992/10/29 00:36:57
- --- srvrsmtp.c 1992/12/18 04:32:57
- ***************
- *** 430,435 ****
- --- 430,443 ----
-
- case CMDRSET: /* rset -- reset state */
- message("250", "Reset state");
- + if (OneXact)
- + {
- + hasmail = FALSE;
- + dropenvelope(CurEnv);
- + CurEnv = newenvelope(CurEnv);
- + CurEnv->e_flags = BlankEnvelope.e_flags;
- + sfgetsinit();
- + }
- if (InChild)
- finis();
- break;
- --
- Necessity is the argument of tyrants, it is the creed of slaves.
- --William Pitt (1783)
-