home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / vmsnet / mail / pmdf / 2292 < prev    next >
Encoding:
Internet Message Format  |  1992-09-14  |  7.9 KB

  1. Path: sparky!uunet!decwrl!infopiz!mccall!ipmdf-newsgate!list
  2. Newsgroups: vmsnet.mail.pmdf
  3. Subject: RE: Limiting access to outgoing mail.
  4. Message-ID: <01GOR6IUJ8F69FM7LA@INNOSOFT.COM>
  5. From: Ned Freed <ned@innosoft.com>
  6. Date: 14 Sep 1992 00:07:28 -0700 (PDT)
  7. Organization: The Internet
  8. Return-Path: <epmdf@YMIR.CLAREMONT.EDU>
  9. Resent-Date: 14 Sep 1992 00:07:28 -0700 (PDT)
  10. Resent-From: epmdf@YMIR.CLAREMONT.EDU
  11. Errors-To: epmdf@YMIR.CLAREMONT.EDU
  12. Resent-Message-ID: <01GOR6JRKNOI984UIU@YMIR.CLAREMONT.EDU>
  13. X-Vms-To: IN%"TERRY@spcvxa.spc.edu"
  14. X-Vms-Cc: IPMDF
  15. Mime-Version: 1.0
  16. Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
  17. Content-Transfer-Encoding: 7BIT
  18. Lines: 151
  19.  
  20. >   Well, I think that ease of understanding is getting lost in the effort to
  21. > have a conceptually clean design. Part of my problem in grasping some of the
  22. > subtleties about the way that PMDF works is probably due to this. I'd think
  23. > that a single "channel" per host+protocol with a configuration file that says
  24. > what actions are legal for addresses passed on that channel would be easier
  25. > to understand. However, I'll readily admit that you're lots more familiar with
  26. > this stuff than I am.
  27.  
  28. This isn't and has never been the conceptualization of a PMDF channel. A PMDF
  29. channel is an n-tuple that collects together a transport, a protocol, a
  30. collection of protocol usage characteristics, a collection of transport usage
  31. characteristics, and a message queue. Any time you want these things to vary
  32. you need another channel.
  33.  
  34. Look through the manual and you will see dozens of examples of channels being
  35. used to collect characteristics that have nothing at all to do with the
  36. selection of a host and protocol.
  37.  
  38. Actually, it is the use of host names on channels that's purely artificial. If
  39. I had it all to do over again I'd completely remove the notion that there's
  40. such a thing as a channel host name. This has always been a nonsensical
  41. concept. Most channels either have many host names or no host names associated
  42. with them. The insertion of host names into channel information is simply a
  43. side effect of the channel selection process, which should have selected a
  44. channel without reference to a channel host. Unfortunately this design choice
  45. came from MMDF and was present in PMDF before I even knew what PMDF was, so it
  46. is far too late to back out now.
  47.  
  48. > Anyway, on to the project at hand:
  49.  
  50. > ...
  51.  
  52. >  By the way, do I need any of these things on the d_noexquota channel?
  53.  
  54. You need any of the keywords that affect queuing messages to the channel and/or
  55. dequeuing message from the channel. Keywords that control messages originating
  56. from the channel are not needed. This means you should have something like
  57. this:
  58.  
  59. d_noexquota nox_env_to goldmail noexquota linelength 255 defragment
  60. ...
  61.  
  62. There is of course no harm in duplicating keywords that affect submission from
  63. the channel. Since this channel is never used for submissions they have no
  64. effect.
  65.  
  66. > The user had 4 blocks in use. I set the disk quota to 3 + 0 overdraft and
  67. > sent the user a mail message. The user did _not_ have an existing mail file.
  68. > Here is what I got:
  69.  
  70. > %MAIL-E-OPENOUT, error opening USER6:[GUESTS.ZZTEST_USER]MAIL.MAI; as output
  71. > -SYSTEM-F-IVDEVNAM, invalid device name
  72.  
  73. >  Now, I don't know why the "invalid device name" message popped up. The
  74. > logical for USER6 is:
  75.  
  76. >    "USER6" [exec] = "$1$DUA6:" [concealed,terminal] (LNM$SYSTEM_TABLE)
  77.  
  78. >   The message is now sitting in the D_NOEXQUOTA queue. So, I sent the user a
  79. > mail message locally with VMS mail. That created the mail file just fine (I
  80. > have EXQUOTA).
  81.  
  82. This is entirely a VMS MAIL issue. I cannot reproduce it on my system here. I
  83. have no recommendations for how to fix it.
  84.  
  85. >   I then mailed a 284 block file to the user via PMDF. That generated the
  86. > following log file:
  87.  
  88. This is once again entirely a VMS MAIL issue. I have no way of knowing how VMS
  89. MAIL implements, extends or modifies quotas. I have seen similar things happen
  90. and I have seen much stranger things happen. A lot of strange effects are
  91. explained by the fact that VMS MAIL doesn't check quotas per se; it simply
  92. reacts to quota errors and handles them cleanly by backing out all traces of
  93. the incomplete delivery.
  94.  
  95. So whether or not a given operation generates a quota error has to do with
  96. RMS's handling of quotas, which in the case of indexed files is quite a story
  97. in its own right. I suspect that a bunch of the operations RMS performs on
  98. indexed files are done in places where it simply isn't possible to check
  99. quotas. (RMS makes extensive use of various sorts of deferral mechanisms to
  100. handle complex and costly operations like bucket splits.)
  101.  
  102. All this is a central point of my earlier message -- we cannot possibly
  103. reproduce VMS MAIL's behavior since it is not documented and we cannot
  104. rationalize much of it. Nevertheless, everyone seems to want it to work "just
  105. like someone else was sending it using VMS MAIL". That's fine, but it
  106. automatically costs in terms of self-consistency.
  107.  
  108. >   For some reason, this got delivered. The user is now 300 blocks over quota.
  109. > Now, I try another test with a different file:
  110.  
  111. > %MAIL-E-OPENOUT, error opening !AS as output
  112. > -RMS-E-CRE, ACP file create failed
  113. > -SYSTEM-F-EXDISKQUOTA, disk quota exceeded
  114.  
  115. It seems that VMS MAIL has changed the error that is returned when a over-quota
  116. condition is detected. It used to return SS$_EXQUOTA. It now returns
  117. MAIL$_OPENOUT or MAIL$_WRITEERR. Unfortunately MAIL$_OPENOUT and MAIL$_WRITEERR
  118. are both used for many other things; it is probably not acceptable to fail
  119. messages unconditionally when this error is returned.
  120.  
  121. This actually may be a change in VMS proper that VMS MAIL hasn't picked up on
  122. yet. There's code in VMS MAIL to deal with SS$_EXQUOTA, but the STV error we're
  123. seeing here is SS$_EXDISKQUOTA. I suspect that this got changed as part of the
  124. big "let's fix quota/privilege errors to be more specific" move that started
  125. around VMS 5.2. (SS$_EXDISKQUOTA is third from the end of the SS$_ error list,
  126. which means it is one of the most recently added errors.) If this is in fact a
  127. case of VMS MAIL not picking up on the change it just means we have to add VMS
  128. MAIL to the very long list of applications that have been adversely affected by
  129. these changes.
  130.  
  131. >   Ok, so this one correctly failed to deliver the message. However, the message
  132. > is still sitting in the D_NOEXQUOTA queue and no bounce message was returned. I
  133. > thought "noexquota" would yield an immediate bounce, rather than a retry? Is it
  134. > possible that this is being converted to "holdexquota" somehow?
  135.  
  136. Yes, a change to VMS MAIL has done exactly this.
  137.  
  138. >  So, I believe I'm seeing 3 problems (or 3 aspects of one problem):
  139.  
  140. > 1) The MAIL.MAI file isn't being created (and a wrong error is generated) in
  141. >    this case. It may very well be a VMS MAIL issue, but if you could check it
  142. >    I'd appreciate it.
  143.  
  144. It is entirely a VMS MAIL issue.
  145.  
  146. > 2) Some mail is getting through, even with noexquota set. Possibly it's only
  147. >    the first message after a mail file is created?
  148.  
  149. This is also a VMS MAIL issue.
  150.  
  151. > 3) Mail which was correctly not delivered isn't generating bounce messages and
  152. >    is staying in the queue.
  153.  
  154. And this is a change in VMS MAIL that nobody pointed out to me before. (There
  155. is no way we can possibly check the hundreds of values VMS MAIL returns every
  156. time there is a new release of VMS. We don't even have the layered products
  157. necessary to produce many of them.)
  158.  
  159. I have completed modifications to PMDF to detect the new sort of error messages
  160. VMS MAIL is now producing. I found several complexities and inconsistencies as
  161. I was testing this stuff that I had never seen before, so I cannot say for sure
  162. when we'll be able to fold this into production PMDF.
  163.  
  164. Until I can add support for this into PMDF there is no way to get noexquota to
  165. bounce messages immediately. (You can of course use the notices mechanism to
  166. bounce all the mail within a day. Originators don't get an indication of what
  167. the real problem is but then again they probably don't need to know its a disk
  168. quota problem.)
  169.  
  170.                     Ned
  171.