home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / vmsnet / mail / pmdf / 2124 < prev    next >
Encoding:
Internet Message Format  |  1992-08-17  |  5.7 KB

  1. Path: sparky!uunet!olivea!decwrl!decwrl!infopiz!mccall!ipmdf-newsgate!list
  2. From: dan@innosoft.com (Daniel C. Newman)
  3. Newsgroups: vmsnet.mail.pmdf
  4. Subject: RE: Problem with printer channel?
  5. Message-ID: <01GNN6E8XQ3694DZVH@INNOSOFT.COM>
  6. Date: 16 Aug 92 16:52:03 GMT
  7. Organization: The Internet
  8. Lines: 137
  9. Return-Path: <epmdf@YMIR.CLAREMONT.EDU>
  10. Resent-Date: 16 Aug 1992 08:52:03 -0800 (PST)
  11. Resent-From: epmdf@YMIR.CLAREMONT.EDU
  12. Errors-To: epmdf@YMIR.CLAREMONT.EDU
  13. Resent-Message-ID: <01GNN6FFPZJM95NC68@YMIR.CLAREMONT.EDU>
  14. X-Vms-To: IN%"C.Chaundy@its.unimelb.EDU.AU"
  15. X-Vms-Cc: IPMDF
  16. Mime-Version: 1.0
  17. Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
  18. Content-Transfer-Encoding: 7BIT
  19.  
  20. > With V4.1, I want to upgrade to use the standard PMDF printer channel and
  21. > wondered how it reacted if the mailbox part of the 'to' address was not a
  22. > AVPL to avoid having to re-educate users and make bulk changes to a huge
  23. > number of directory channel files - I got the answer - *badly*.  But what
  24. > was worse was instead of generating a bounce message to the postmaster and
  25. > the originator, it generated a message to the postmaster and the recipient!
  26. > Of course, the recipient address was illegal (no AVPL) so a groovy little
  27. > mail loop started up :-).
  28.  
  29. A patch for this (in the 4.1-8 timeframe) was posted to info-pmdf on 26 June.
  30. I've included the patch below.
  31.  
  32. > Apart from the fact that I will have to move to AVPL pairs (it would have
  33. > been nice to default mailboxes that are not AVPL pairs to just 'Attention:'),
  34.  
  35. No, the mail should just bounce.  Doing otherwiise makes an assumption: it
  36. assumes that the rest of the address is correct.  For instance, maybe I just
  37. sent mail to /.../@printer.innosoft.com and now I'm sending mail to Ned which
  38. and I accidentally send it to ned@printer.innosoft.com.  Now it prints over
  39. on the admin. side of the Innosoft office and the wrong people have a chance
  40. to read it....  Anyhow, maybe this sounds like a weak argument but my point is
  41. that making assumptions about mailboxes is always fraught with peril and best
  42. avoided whenever possible.
  43.  
  44. > I assume this other behaviour is most definitely a bug in the printer channel.
  45.  
  46. It was.
  47.  
  48. Dan
  49. ------------
  50.  
  51. Date: 26 Jun 1992 09:36 -0800 (PST)
  52. From: "Daniel C. Newman" <DAN@HMCVAX.CLAREMONT.EDU>
  53. Subject: RE: Delivery failure on the Printer channel....
  54. To: SMITH%NYUMED.BITNET@ymir.claremont.edu, INFO-PMDF@YMIR.CLAREMONT.EDU
  55. Errors-to: epmdf@YMIR.CLAREMONT.EDU
  56. Resent-message-id: <01GLNZ343T428ZDYVD@YMIR.CLAREMONT.EDU>
  57. Message-id: <01GLNZ2EFH688WVYOD@HMCVAX.CLAREMONT.EDU>
  58. X-Envelope-to: ned+info-pmdf, portia
  59. X-VMS-To: IN%"SMITH@NYUMED.BITNET"
  60. X-VMS-Cc: IPMDF
  61. Content-type: TEXT/PLAIN; CHARSET=US-ASCII
  62. Content-transfer-encoding: 7BIT
  63.  
  64. > I tried to use All-in-fun mail to create a message to send to the printer
  65. > channel.  To make it more interesting, I put an attachment on it (Ultimately
  66. > it would be good to have PostScript attachments, since this is a LaserWriter
  67. > being driven by PacerPrint).
  68.  
  69. Attachments won't buy you anything special.  The printer channel merely prints
  70. verbatim the contents of the message body.  If there's PostScript in it, it
  71. prints as text the PostScript.  If there's an encoded binary attachment, it
  72. prints the encoded data.
  73.  
  74. > What happened was that PMDF-MR and the pronter channel kept kicking the thing
  75. > back and forth: no printing though....  I then tried to kill it, whcih was
  76. > not at all easy (wait until the printer channel was working, stop the queue,
  77. > delete the job, delete the queued files).
  78.  
  79. Well, if there is some sort of error ($SNDJBC call fails, attribute-value pairs
  80. in the printer address are malformed, etc.) the printer channel will bounce
  81. the message back to the address specified by the Errors-To: header.  If no
  82. such header is present, the message is bounced to the envelope From: address
  83.  
  84. Now, the problems turns out to be that the envelope To: address is accidentally
  85. being used in place of the envelope From: address and thereby generating the
  86. loop you're seeing.
  87.  
  88. Dan
  89.  
  90. Here's the VMS DIFFerences
  91.  
  92. ************
  93. File PMDF_ROOT:[SRC]PRINTER.PAS;60
  94.   414     procedure add_bad (var env_to, why : vstring);
  95.   415
  96. ******
  97. File PMDF_ROOT:[SRC]PRINTER.PAS;59
  98.   414     procedure add_bad (var from, why : vstring);
  99.   415
  100. ************
  101. ************
  102. File PMDF_ROOT:[SRC]PRINTER.PAS;60
  103.   425           envelope_to := env_to;
  104.   426           reason      := why;
  105.   427           next        := nil;
  106.   428         end; (* with *)
  107. ******
  108. File PMDF_ROOT:[SRC]PRINTER.PAS;59
  109.   425           envelope_from := from;
  110.   426           reason        := why;
  111.   427           next          := nil;
  112.   428         end; (* with *)
  113. ************
  114.  
  115.  
  116. and here's the context differences
  117.  
  118. *** PRINTER.PAS;60
  119. --- PRINTER.PAS;59
  120. **************
  121. *** 411,417
  122.       printer_file                           : text;
  123.       to_address_list, to_address_list_root  : address_list_ptr;
  124.  
  125. !   procedure add_bad (var env_to, why : vstring);
  126.  
  127.       begin (* add_bad *)
  128.         if bad_addresses = nil then begin
  129. --- 411,417 -----
  130.       printer_file                           : text;
  131.       to_address_list, to_address_list_root  : address_list_ptr;
  132.  
  133. !   procedure add_bad (var from, why : vstring);
  134.  
  135.       begin (* add_bad *)
  136.         if bad_addresses = nil then begin
  137. **************
  138. *** 422,430
  139.           bad_addresses := bad_addresses^.next;
  140.         end; (* if *)
  141.         with bad_addresses^ do begin
  142. !         envelope_to := env_to;
  143. !         reason      := why;
  144. !         next        := nil;
  145.         end; (* with *)
  146.       end; (* add_bad *)
  147.  
  148. --- 422,430 -----
  149.           bad_addresses := bad_addresses^.next;
  150.         end; (* if *)
  151.         with bad_addresses^ do begin
  152. !         envelope_from := from;
  153. !         reason        := why;
  154. !         next          := nil;
  155.         end; (* with *)
  156.       end; (* add_bad *)
  157.