readers.conf -- is this possible

Todd Olson tco2 at
Thu Jun 15 17:24:28 UTC 2000


I'm wondering if the following is possible to implement within the
framework of  readers.conf.     If not I'm wonder which is the
best avenue to start hacking the code.

We have several news groups that are to be accessed only if 
an ID is permitted to do so.  Frequently an ID is permitted access to
several of these news groups.  The assignment of permissions is 
handled by a pre-existing authorization service that we do not run
but we can programatically interface with.

The problem is that the current *access* methods seem to be
  "choose one and only one"
while I need
  "additively combine several"

That is, if I have two access blocks, that match a particular user ID
then that user gets both newsgroup wildmats, one appended to the next,
rather than just getting the second one.

I could simulate this by setting up 3 (=4-1) access blocks ...
One for matching just condition A
One for matching just condition B
One for matching both condition A and B

But this is not scalable.  If I have five(5) conditions then I need
31 = 2^5  - 1
And if I have 10 conditions I need 1023

There are several avenues (in my order of preference)
1) make a new block, say "access_additive" that adds to 
   rather than replacing the wildmats
2) make a new key in the existing access block, that 
   adds to, rather than replaces the wildmats
    (will this work in the current readers.conf ??)
3) make a key that calls a program to call an external program
   to compute the wildmat and asign it dynamically.

In nnrpd for version 2.2.2 we currently a #3 style hack,
but I think #1 might be better.

Advice on how to proceed would be much appreciated!!!

Todd Olson
Cornell University

More information about the inn-workers mailing list