home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / mail / mh / 1410 < prev    next >
Encoding:
Internet Message Format  |  1992-12-20  |  2.9 KB

  1. Xref: sparky comp.mail.mh:1410 comp.mail.sendmail:3032
  2. Newsgroups: comp.mail.mh,comp.mail.sendmail
  3. Path: sparky!uunet!zaphod.mps.ohio-state.edu!uwm.edu!ux1.cso.uiuc.edu!news.cso.uiuc.edu!uxc.cso.uiuc.edu!paul
  4. From: paul@uxc.cso.uiuc.edu (Paul Pomes - UofIllinois CSO)
  5. Subject: Re: MH 6.8 sendmail/smtp uses "ONEX" (w. fix for IDA sendmail)
  6. References: <19322.724536025@dbc.mtview.ca.us>
  7. Message-ID: <BzFu4v.MxL@news.cso.uiuc.edu>
  8. Sender: usenet@news.cso.uiuc.edu (Net Noise owner)
  9. Reply-To: Paul-Pomes@uiuc.edu
  10. Organization: University of Illinois at Urbana
  11. Date: Fri, 18 Dec 1992 04:36:30 GMT
  12. Lines: 81
  13.  
  14. mrose@dbc.mtview.ca.us (Marshall Rose) writes:
  15.  
  16. >ONEX is a command that sendmail has which, assuming there will be only
  17. >one transaction on this SMTP connection,  allows it to avoid an extra
  18. >fork.
  19.  
  20. One problem I found during the beta-test period involved mailing to blind
  21. recipients with the IDA sendmail.  An example follows:
  22.  
  23. uxc-paul home 610$ comp
  24. To: paul@ux1
  25. Cc: 
  26. Bcc: paul@uxh
  27. Fcc: 
  28. Organization: Univ of Illinois, Computing Services Office
  29. Subject: d
  30. --------
  31. ^D--------
  32.  
  33. What now? send -snoop -verbose
  34. <= 220 uxc.cso.uiuc.edu 5.67a8/IDA-1.5 Sendmail is ready at Thu, 17 Dec 1992 22:21:28 -0600
  35. => ONEX
  36. <= 200 Only one transaction
  37. => MAIL FROM:<paul@uxc.cso.uiuc.edu>        sets sender address
  38. <= 250 <paul@uxc.cso.uiuc.edu>... Sender ok
  39.  -- Address Verification --
  40.   -- Network Recipients --
  41.   paul at ux1: => RCPT TO:<paul@ux1>
  42. <= 250 <paul@ux1>... Recipient ok
  43. address ok
  44.   paul at uxh: => RCPT TO:<paul@uxh>
  45. <= 250 <paul@uxh>... Recipient ok
  46. address ok
  47.  -- Address Verification Successful --
  48. => RSET
  49. <= 250 Reset state
  50.  -- Posting for Sighted Recipients --
  51. => MAIL FROM:<paul@uxc.cso.uiuc.edu>        sendmail complains about
  52.                         previous MAIL command
  53. <= 250 <paul@uxc.cso.uiuc.edu>... Sender ok
  54.   -- Network Recipients --
  55.   paul at ux1: => RCPT TO:<paul@ux1>
  56. <= 250 <paul@ux1>... Recipient ok
  57. address ok
  58. => DATA
  59. <= 354 Enter mail, end with "." on a line by itself
  60. => .
  61. <= 250 Ok
  62. => RSET
  63.  
  64. Because ONEX prevents sendmail from fork()ing, the normal cleanup performed
  65. by a RSET command doesn't occur.  That is, sendmail exits the child and
  66. re-fork()s when it sees a MAIL command.  Some extra code needs to be inserted
  67. in the srvrsmtp.c file to handle RSET when ONEX has been given.  A diff
  68. follows.  The sfgetsinit() call may not be present in the 5.65c release
  69. and my be safely deleted if so.
  70.  
  71. /pbp
  72. ====
  73. *** 5.31.0.2    1992/10/29 00:36:57
  74. --- srvrsmtp.c    1992/12/18 04:32:57
  75. ***************
  76. *** 430,435 ****
  77. --- 430,443 ----
  78.   
  79.             case CMDRSET:        /* rset -- reset state */
  80.               message("250", "Reset state");
  81. +             if (OneXact)
  82. +             {
  83. +                 hasmail = FALSE;
  84. +                 dropenvelope(CurEnv);
  85. +                 CurEnv = newenvelope(CurEnv);
  86. +                 CurEnv->e_flags = BlankEnvelope.e_flags;
  87. +                 sfgetsinit();
  88. +             }
  89.               if (InChild)
  90.                   finis();
  91.               break;
  92. -- 
  93. Necessity is the argument of tyrants, it is the creed of slaves.
  94.     --William Pitt (1783)
  95.