>>> 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