Re: authz: file-group ugliness

2005-10-25 Thread Brad Nicholes
   Explain this a little further because I am a little confused.  What
do you intend to happen when a directive like:

require group ldap:foo dbm:bar bash

is issued?  The problem here is the confusion as to which module is
handling 'group'.  In order for this to work, every authorization type
needs to be unique which probably means that they need to be prefixed
with the authorization handler name

require file-group  somefilegroup
require ldap-group cn=someldapgroup,o=whatever
require dbm-group somedbmgroup

Then as we discussed a few weeks back, Satisfy  would have to
be refactored to deal with authorization types rather than just the
basic access control.

Or am I missing something??

Brad

>>> On 10/25/2005 at 9:47:31 am, in message
<[EMAIL PROTECTED]>,
[EMAIL PROTECTED] wrote:
> 
> Or not... why not
> 
>require group ldap:foo dbm:bar bash
> 
> where bash would be a match against any provider, while foo would be

> specific
> to ldap, and bar would be specific to dbm?


Re: authz: file-group ugliness

2005-10-25 Thread William A. Rowe, Jr.

Dirk-Willem van Gulik wrote:

AuthOrder user group dbm-group which specifies an order of authz checks,
and makes the last one 'authoritative' in terms of the old logic.

Of course that still leaves file-group looking lonely.  Maybe what that
wants is a provider from authz_[file|dbm|dbd|ldap|etc] ?


Or go back to this naming concept floating at one point:

require group ldap:foo

which solves this class of problems (but kills the failover part; i.e.
getting a group check done in ldap if possible; but fall trough to
htpasswd if all is down).


Or not... why not

  require group ldap:foo dbm:bar bash

where bash would be a match against any provider, while foo would be specific
to ldap, and bar would be specific to dbm?


Re: authz: file-group ugliness

2005-10-25 Thread Graham Leggett
Dirk-Willem van Gulik said:

> Or go back to this naming concept floating at one point:
>
>   require group ldap:foo
>
> which solves this class of problems (but kills the failover part; i.e.
> getting a group check done in ldap if possible; but fall trough to
> htpasswd if all is down).

This should work if memory serves:

require ldap:foo
require file:foo
satisfy any

Regards,
Graham
--



Re: authz: file-group ugliness

2005-10-25 Thread Dirk-Willem van Gulik

> AuthOrder user group dbm-group which specifies an order of authz checks,
> and makes the last one 'authoritative' in terms of the old logic.
>
> Of course that still leaves file-group looking lonely.  Maybe what that
> wants is a provider from authz_[file|dbm|dbd|ldap|etc] ?

Or go back to this naming concept floating at one point:

require group ldap:foo

which solves this class of problems (but kills the failover part; i.e.
getting a group check done in ldap if possible; but fall trough to
htpasswd if all is down).

Dw


Re: authz: file-group ugliness

2005-10-25 Thread Nick Kew
On Tuesday 25 October 2005 00:29, you wrote:
>This would be OK except that there is a bigger problem that I looked
> into trying to fix at one point but never completed it.  The problem is
> the duplication of authorization types.  Currently we have both
> mod_authz_groupfile and mod_authz_dbm implementing the types "group" and
> "file-group".  This causes a problem because if both of these modules
> are loaded and the configuration contains the directive:
>
> require group foo
> or
> require file-group
>
> which authorization module handles it?  Well it seems to be completely
> dependant on load order and/or the use of the directives
> AuthzXXXAuthoritative.  In addition to implementing an optional function
> in mod_authz_owner to get the owner id, all authorization types should
> probably be renamed to be unique.
>
> group - mod_authz_groupfile
> dbm-group  - mod_authz_dbm
> dbd-group  - mod_authz_dbd
> ldap-group  - mod_authnz_ldap (already done)
> etc...
>
> thoughts on this...?

Well, AFAICS that ambiguity only really kicks in if you have both an
AuthGroupFile and an AuthDBMGroupFile, which is something that
would be equally(?) problematic in 1.x/2.0.
Ugly - yes.  Totally broken - no.  Unless I'm missing something?

That still leaves an aura of ambiguity hanging around AuthAuthoritative.
Perhaps a better solution would be to replace that with something like
AuthOrder user group dbm-group
which specifies an order of authz checks, and makes the last one 
'authoritative' in terms of the old logic.

Of course that still leaves file-group looking lonely.  Maybe what that
wants is a provider from authz_[file|dbm|dbd|ldap|etc] ?

-- 
Nick Kew


Re: authz: file-group ugliness

2005-10-24 Thread Brad Nicholes
   This would be OK except that there is a bigger problem that I looked
into trying to fix at one point but never completed it.  The problem is
the duplication of authorization types.  Currently we have both
mod_authz_groupfile and mod_authz_dbm implementing the types "group" and
"file-group".  This causes a problem because if both of these modules
are loaded and the configuration contains the directive:

require group foo
or
require file-group

which authorization module handles it?  Well it seems to be completely
dependant on load order and/or the use of the directives
AuthzXXXAuthoritative.  In addition to implementing an optional function
in mod_authz_owner to get the owner id, all authorization types should
probably be renamed to be unique.  

group - mod_authz_groupfile
dbm-group  - mod_authz_dbm
dbd-group  - mod_authz_dbd
ldap-group  - mod_authnz_ldap (already done)
etc...

thoughts on this...?

Brad


>>> On 10/24/2005 at 4:08:39 pm, in message
<[EMAIL PROTECTED]>,
[EMAIL PROTECTED] wrote:
> I've just looked at authz.
> 
> There's an IMO ugly hack whereby every authz provider has to run
after
> authz_file and make a special case for file-group.  It's repitition
of
> identical code, and breaks modularity.
> 
> Wouldn't it be better for mod_authz_owner to be able to determine
whether
> file-group is satisfied before returning, instead of faffing about
with Notes
> and complicating the AuthAuthoritativeness logic?  We could implement
that
> using a file-group optional hook in mod_authz_owner.  The normal
authz_FOO
> modules can then implement the hook and properly preserve
modularity.
> 
> Any thoughts?


authz: file-group ugliness

2005-10-24 Thread Nick Kew
I've just looked at authz.

There's an IMO ugly hack whereby every authz provider has to run after
authz_file and make a special case for file-group.  It's repitition of
identical code, and breaks modularity.

Wouldn't it be better for mod_authz_owner to be able to determine whether
file-group is satisfied before returning, instead of faffing about with Notes
and complicating the AuthAuthoritativeness logic?  We could implement that
using a file-group optional hook in mod_authz_owner.  The normal authz_FOO
modules can then implement the hook and properly preserve modularity.

Any thoughts?

-- 
Nick Kew