You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jeff Trawick <tr...@gmail.com> on 2010/06/25 14:07:40 UTC

r->handler and non-filesystem requests, mod_status

On Thu, Jun 24, 2010 at 9:11 AM, Jeff Trawick <tr...@gmail.com> wrote:
> On Thu, Jun 24, 2010 at 9:00 AM, Eric Covener <co...@gmail.com> wrote:
>>> A general capability would need to be added to the server to handle
>>> this situation (e.g., restrict one/all handler adjustment from
>>> .htaccess when FileInfo can be overridden, or something else
>>> altogether).
>>
>> How about two mod_status directives:
>>
>>  * option for "ServerStatus ON|OFF" valid in <Location>
>>  * a per-server option to only respond to the new flag
>>
>> Perhaps with differing defaults for the latter in 2.2 and 2.4
>
> mod_info, mod_anything-activated-via-sethandler

hmmm, maybe the big picture isn't what I think it is...

here's what I see from looking at an issue in a third-party module:

* the module is activated via SetHandler
* the module ought to bypass directory walk (like mod_status/mod_info
in theory, though they don't implement that)
* core doesn't set r->handler from SetHandler until fixups hook
** the handler setting is readily available in translate name from
core's dir config, but that isn't an API

somewhat related issues:
* I think using mod_rewrite or some other mechanism to set r->handler
to override some module that thought it was a non-filesystem-request
could be broken (directory walk already bypassed)

Either

r->handler should be available prior to translate name
&& (don't-do-that if mod_rewrite/mod_foo resets r->handler to a
filesystem request after directory walk was bypassed
      || directory walk should be triggered when needed (ha!))

or

non-filesystem requests shouldn't set/look at/otherwise rely on
r->handler until fixups

---/---

If the latter, then mod_status could/should be changed to use its own
enablement flag instead of SetHandler for multiple reasons (bypassing
dir-walk and .htaccess issues).

--/--

Thoughts?  Any expertise on the nuances of r->handler to be shared?