On 11/08/2005 01:36 AM, Roy T. Fielding wrote:
> On Nov 7, 2005, at 3:03 PM, Ruediger Pluem wrote:
> 

[..cut..]

> 
>> but the next request for this (fresh) resource will not check the
>> access control and
>> deliver it to any client, regardless of the IP. Correct?
> 

Many thanks for sorting my confused thoughts.

> 
> The forward proxy would deliver it to any client that had the
> ability to GET from that proxy.
> 

And this actually depends on if the resource requested by the client has been 
already
cached or not. If it has not been cached things like

<Proxy *>

order allow,deny
allow from 192.168.1.10

</Proxy>

work as expected (access to the proxied resource is only granted to 
192.168.1.10).

But once the resource has been cached by mod_cache access to it is granted to 
*every* client,
because the access checker has not been run when the quick handler decides to 
deliver
the (fresh) content by inserting the CACHE_OUT filter and kicking the filter 
stack.

Although this is not a regression to 2.0.x (is it one to 1.3.x???), it is a 
weird behaviour
from the users perspective. Even more as

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html#access

suggests to secure a forward proxy by using mod_authz_host. Currently the 
advice should be the
opposite: Yes, secure your forward proxy, but do *not* do this with 
mod_authz_host as it
does not work as expected.

Nevertheless I regard this discussion as very useful with respect to caching 
reverse proxies or
other cached local resources that are under access control.

That said I come back to the starting point of this discussion:

I think Paul's patch to make it configurable where to run the cache handler is 
currently the
best proposal on the table, provided that it is configurable in a way that 
expresses what it
does from the users perspective. So I would regard something like 
CacheRunQuickHandler as a
bad idea. I would have something in mind like CacheDisableAccessControl (ok the 
flaming can start :-).


Regards

RĂ¼diger

Reply via email to