>>> On 1/4/2008 at 10:12 AM, in message
<[EMAIL PROTECTED]>, "Rolf Banting"
<[EMAIL PROTECTED]> wrote:
> Folks,
> 
> I want to build mod_perl 2 against httpd trunk but
> I've encountered a few road-blocks. The one that has held me up
> recently is to do with the removal of ap_requires from the httpd
> source sometime since httpd
> 2.2.6.
> 
> The mod_perl test suite includes several tests that rely on ap_requires to
> dig out Require data e.g
> Require user shaun
> Require group sheep
> 
> These obviously now fail when mp is built against the httpd  trunk.
> 
> Presumably there are other straightforward
> ways to get at the Require configuration for a given directory?
> 
> I have had a scout round - the mod_authz code uses the require_line
> data structure but I can't
> immediately see how this can be related to mod_perl.
> 
> Thanks,
> 
> Rolf

Well, I'm not sure you are going to like the answer.  The authz functionality 
has been completely rearchitected in httpd trunk.  Rather than being hooked 
based which required every authz module in the chain to evaluate all of the 
require statements, it is now provider based.  Basically what this means is 
that an authz module simply registers the authz types that it supports and then 
the provider for that authz type is only called when needed.  In addition to 
being provider based, a new logic concept has been added to allow the user to 
combine different authz types using simple logic groupings.  In this 
architecture, the functionality that ap_requires() performed, no longer makes.  
The 'Require' statement(s) within a <Directory> block is no longer just a 
single authz type or list of types, the authz result must be evaluated within 
the logical context in which it exists. Under the old architecture, 
ap_requires() returned a simply list of authz types.  In the new architecture, 
the authz types that are included in a <Directory>  block are no longer a list, 
but rather a logic tree.

Since I don't know how the perl test suite works, I couldn't really tell you 
how the suite must be rearchitected to fit the new model.  I vaguely remember 
having this discussion with somebody a year or more ago.  You might want to 
check the list archive.  Other than that, we would just have to discuss what 
the test suite is doing and how it might be reworked.

Brad

Reply via email to