In message <[EMAIL PROTECTED]>, 
[EMAIL PROTECTED] (Wietse Venema) wrote:

>Ronald F. Guilmette:
>> 
>> I'd like to propose a small enhancement for the Policy Server protocol.
>> I'll code up a first cut of it, if nobody else is willing.
>> 
>> Basically, I think it would be very useful if the protcol included a
>> line like:
>> 
>>      trusted_client=[yes/no]
>>
>> where the value would be set to "yes" if and only if the client had
>> either authenticated (SASL) _or_ the client connected from some IP
>> specified in $my_networks.
>
>You are assuming that mynetworks, SASL and TLS will grant identical
>privileges to the client

I don't believe that I was making such an assumption, but in any case,
I think the rest of what you said may make that debate moot anyay.

>For this reason, combining multiple different things in one name
>is not a good idea.

As a general design principal, I would have to agree with you 100% on that.
But of course, there are always times when one has to be a bit flexible about
one's design principals, in order to achieve the objective most succinctly
(e.g. reject_unauth_destination, which combines multiple kinds of checks
into a single name).  But here again, we could save this philosophoical
debate for another day, because I think what you proposed (below) will
solve my original problem neatly, and it wouldn't violate your design
principal.

>Perhaps it is better to extend the existing
>sasl_ and cert_ attributes where needed

OK.  That would work for me.  Could I just have something like this?

        client_in_my_networks=[yes/no]

>(for example, sasl_method
>and sasl_username already tell you if someone used SASL successfully).

Yes.  Quite so.  So that takes care of the SASL part of the problem.  Now
I'd just like my policy server to have enough information so that it can
also properly deal with the case where the client is trused on account of
where he is, not on account of his having been formally authenticated. 

Reply via email to