home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / vmsnet / mail / pmdf / 2277 < prev    next >
Encoding:
Internet Message Format  |  1992-09-11  |  6.4 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: <01GONVDSCDG29ZLGPN@SIGURD.INNOSOFT.COM>
  5. From: Ned Freed <ned@sigurd.innosoft.com>
  6. Date: 11 Sep 1992 15:16:26 -0700 (PDT)
  7. Organization: The Internet
  8. Return-Path: <epmdf@YMIR.CLAREMONT.EDU>
  9. Resent-Date: 11 Sep 1992 15:16:26 -0700 (PDT)
  10. Resent-From: epmdf@YMIR.CLAREMONT.EDU
  11. Errors-To: epmdf@YMIR.CLAREMONT.EDU
  12. Resent-Message-ID: <01GONVFC1IIQ984MZ7@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: 108
  19.  
  20. >   I'd like to be able to specify keywords to override the channel parameters
  21. > or the PMDF defaults as well. That way, I can set holdexquota as a channel
  22. > keyword and noexquota for a particular "problem" user. Likewise, I can set
  23. > sendpost/nosendpost for delivery errors to this address.
  24. >
  25. >   What do you think?
  26.  
  27. Dan already addressed the issue of doing this generally. Let me add one
  28. preliminary point to this: such a change if done generally (all channel
  29. keywords can operate in a per-user manner) would violate a big chunk of the
  30. design philosophy behind PMDF and is therefore unlikely to occur, quite
  31. independent of how hard it is to do. We are perfectly willing to consider this
  32. on a case-by-case basis though.
  33.  
  34. Now let's get down to specifics and consider the keywords you're interested in
  35. here. It is important to first note that PMDF channel keywords take effect in
  36. all sorts of different ways -- some affect messages as they are enqueued,
  37. others affect dequeuing, and some only establish environmental conditions for
  38. the act of enqueing or dequeing.
  39.  
  40. The quota-related keywords fall into this last category. We don't implement
  41. them ourselves -- it is not possible for us to implement them ourselves. We
  42. simply establish an environment that causes VMS MAIL to do what we want.
  43.  
  44. The result of this is that we have absolutely no fine-grain control of the
  45. effect of these keywords. Moreover, no amount of hacking short of rewriting VMS
  46. MAIL from scratch will produce such fine grain control. In other words, we set
  47. up the quota strategy before we pass a list of addresses and a message off to
  48. VMS MAIL. That quota setting affects all addresses equally. The obvious way we
  49. could achieve finer control is submit each address one at a time in a separate
  50. session with VMS MAIL.
  51.  
  52. The result of doing this would be a huge increase in overhead -- probably a
  53. factor of 5 or more for every message delivered to VMS MAIL. And there is
  54. nothing we can do to lessen it; most of the overhead is in VMS MAIL and not
  55. PMDF. Needless to say, this is not a realistic avenue to pursue.
  56.  
  57. So is there another way? Of course there is. We can split up addresses by their
  58. quota characteristics and deliver each distinct quota group separately. This
  59. means writing out separate copies of messages queued by group and acting on
  60. them with separate processing facilities.
  61.  
  62. What I have just decribed is the bare minimum necessary to solve the problem.
  63. It is also a very close match to a PMDF channel. In other words, in order to
  64. get the effect you want to have on a per-user basis we would have to duplicate
  65. all the functionality in PMDF we already have that separates things out by
  66. channel. There is no real difference except that one directory would be
  67. involved and not two. Such a distinction is simply not worth the trouble
  68. involved in implementing it all.
  69.  
  70. But this immediately begs the question of whether or not the existing channel
  71. mechanisms can be coerced into doing what you want. And of course the answer is
  72. yes it can. All you have to do is create a new channel called d_noexquota that
  73. would look something like this:
  74.  
  75.     l holdexquota
  76.     localhost
  77.  
  78.     d_noexquota noexquota
  79.     noexquota.localhost
  80.  
  81. And then you need some additional rewrite rules:
  82.  
  83.     noexquota.localhost              $E$F$U%localhost@noexquota.localhost
  84.     noexquota.localhost              $E$F$U@localhost
  85.  
  86. Finally, for each user that you want to restrict so they cannot exceed quota
  87. you would add an alias:
  88.  
  89.     user:     user@noexquota.localhost
  90.  
  91. I have not tried this myself but I don't see any reason why it won't work.  It
  92. will have the side-effect of blocking the ability of these users to use
  93. DELIVER. However, since DELIVER can be used to bypass quota checking this is
  94. probably a good thing.
  95.  
  96. Now let's move the discussion on to the sendpost/nosendpost issue. These
  97. channel keywords fall into the category of things that PMDF acts on as  a
  98. result of the effects produced by calling some other entity. In the case of the
  99. local channel the entity is VMS MAIL. And right away we run into trouble again.
  100. The results returned by VMS MAIL relate to the original address list in a
  101. highly nontrivial way. Much of the complexity in PMDF's local delivery
  102. facilities is devoted to attempting to track this relationship. But it is
  103. simply not possible to do it accurately in all cases. Most of the time this
  104. does not matter, since all we're interested in is whether or not we need to
  105. issue an error, requeue the message, or toss out the address. But it begins to
  106. break down when you start talking about specific handling conditional on the
  107. address and exact sort of error that was reported. We had code back in VMS 4.x
  108. to actually walk around in VMS MAIL's internal data structures trying to
  109. recorrelate things, but this code became less useful in VMS 5.x because of the
  110. elimination of lists in forwarding addresses, so we decided it was more
  111. dangerous than the accrued benefits and dropped it.
  112.  
  113. The net of all this is that it once again is only possible to insure proper
  114. per-user sendpost handling is done only if we group the addresses in advance by
  115. sendpost setting. So we're back to the same problems that per-user quota
  116. restrictions present, albeit for somewhat different reasons. And once again the
  117. only efficient solution amounts to creating what amounts to a separate channel,
  118. and once again it is easy to cobble this up by using existing facilities.
  119.  
  120. I'm pretty sure there is no general moral here. I have only considered two
  121. channel keywords, and in both these cases implementing them on a per-user basis
  122. was only possible by creating another channel (either visibly or invisibly).
  123. Other things like access control definitely won't work out this way, and Dan
  124. has already described our proposed per-user access control facility. It now
  125. remains to consider any other cases as they come up.
  126.  
  127.                 Ned
  128.