httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Malo>
Subject Re: need help; main filters are bypassed on internal redirects in subrequests
Date Mon, 10 Mar 2003 21:34:39 GMT
* Stas Bekman wrote:

>> The attached patch solves the problem for me. But somehow I have the
>> feeling, that it's not the end solution (but would be cool, if it is :).
>> I'm not sure about all of the implications. What happens, for example, if
>> the redirects adds some filters itself?
> Or some filter removes itself. Also what happens to the filter context? You
> probably need to "deep-copy" the chain.

After some sleeping and further thinking about it...

I think, the solution (simply pointing to the upper request's filter chain) 
is correct -- for now.
If a filter removes itself from the chain after the first bucket, it's 
intended or broken. Actually we have that problem for entire subrequest, 
because we never deep-copy the chain.

For the (far?) future, we should think about a cleaner handling of the 
filter chains. If I understand all of it, the correct way would be:

- the main request has it's normal complete filter chain (resource -> proto 
  -> conn)
- subrequests semantically do not have a connection, so they cannot have 
valid connection filters. the subreq-filter (the pendant of the core 
network output filter) would move all buckets from the last proto filter 
back to the upper request's filter chain.

It's similar to the current state but nevertheless a big effort, IMHO.
Needs probably some further research.

However, if there are no objections, I'm going to apply the proposed patch 
for internal_redirect (and fast_redirect) ;-)

Opinions are greatly welcome.

\40\51/\134\137|ndparker <>;;print;

View raw message