On Mon, Jan 3, 2011 at 22:07, Joshua Marantz <jmara...@google.com> wrote:
> I answered my own question by implementing it and failing.  You can't bypass
> mod_authz_host because it gets invoked via the magic macro:
>
>  AP_IMPLEMENT_HOOK_RUN_ALL(int,access_checker,
>                          (request_rec *r), (r), OK, DECLINED)
>
> This means that returning OK from my handler does not prevent
> mod_authz_host's handler from being called.

You're mistaken, Joshua. The access_checker hook by default is empty.
mod_authz_host is a module and it can be disabled (if you're on a
Debian/Ubuntu system, run `a2dismod authz_host` and reload Apache).

With respect to the URL length, I'm fairly sure it's nearly 8K (grep
for HUGE_STRING_LEN in core_filters.c).

> I still add a translate_name hook to run prior to mod_rewrite, but I don't
> try to prevent mod_rewrite from corrupting my URL. Instead I just squirrel
> away the uncorrupted URL in my own entry in request->notes so that I can use
> that rather than request->unparsed_uri downstream when processing the
> request.  This seems to work well.  The only drawback is if the site admin
> adds a mod_rewrite rule that mutates mod_pagespeed's resource name into
> something that does not pass authentication, then mod_authz_host will reject
> the request before I can process it.  This seems like a reasonable tradeoff
> as that configuration would likely be borked in other ways besides
> mod_pagespeed resources.

I confess I'm not entirely sure what you are trying to accomplish.
You're serving up custom content and you're afraid mod_rewrite is
going to munch the URL? Or is it more involved than that?

Reply via email to