httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Malo ...@perlig.de>
Subject Re: cvs commit: httpd-2.0/modules/http http_request.c
Date Fri, 16 May 2003 15:17:47 GMT
* William A. Rowe, Jr. wrote:

> It seems this code should be changed ONLY for fast internal redirects,
> if at all.  We strip back to the protocol filters on redirect because the
> body/content filters applied to the original request may be very bad for
> the redirected request.
> 
> I guess I'm whining that this is the sort of binary-compatible change
> that can really, really break 3rd party modules within the 2.0 cycle.
> It seemed better left on the httpd-2.1 branch with a warning to our
> module authors that this behavior is changing, and you better be
> prepared to reinsert your filters on every redirected request (as they
> are already doing for their modules that work.)
> 
> Consider a redirect from an .shtml document that had the INCLUDES
> filter inserted, over to an .html document.  It seems this patch leaves
> the INCLUDES filter on a document that the admin did not configure
> for SSI.

Darn. Then we need an alternative solution. (Actually we need a clear
distinction between main filter chain and subreq filter chain, but that
would really break some compatibilities).
The current code produces under some circumstances garbage (see
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17629>).

Here is a repost from an earlier mail about filter chain redesigning issues:

=====8<==================
The filter system should be considered for redesign anyway in a form that
the subreq_core filter acts as data link between the subrequest and the
caller. Given that figure:

main stream
---------------------------,----------->
                          /
subreq stream            /
------------------------x subreq_core_filter

The subrequests should get their own filter stack. And the subreq core
filter is the bottommost (!) within the subreq stack and redirects the data
back to the main stream (filtering out the EOS buckets).
At the moment any changes in the filter stack from within a subreq will
have effect on the main filter stack, which is not so really cool.
==================>8=====

Which should perhaps be considered for 2.1 series in order to handle the
filter stack cleanly.

However, I've currently no real idea how to solve the bugfix otherwise :-(
Any opinions?

nd
-- 
print "Just Another Perl Hacker";

# André Malo, <http://pub.perlig.de/> #

Mime
View raw message