On Tue, 5 Jun 2001 [EMAIL PROTECTED] wrote:
> On Tue, 5 Jun 2001, Greg Stein wrote:
>
> > On Tue, Jun 05, 2001 at 04:24:03PM -0700, [EMAIL PROTECTED] wrote:
> > > On Wed, 6 Jun 2001, Graham Leggett wrote:
> > >
> > > > [EMAIL PROTECTED] wrote:
> > > >
> > > > > > Return to whom? Clearly if you remove the TLS filter, it won't be the
> > > > > > user!
> > > > >
> > > > > Yep, right now TLS is broken. I don't have a great idea for how to fix it
> > > > > though. :-(
> > > >
> > > > Have reset_filters() not remove the TLS filter if it is there?
> > >
> > > That is very difficult, because it builds a specific case that into the
> > > server that may not always make sense.
> >
> > Agreed.
> >
> > How about if we just remove the request filters, and leave all the
> > connection filters?
> >
> > r->output_filters = c->output_filters;
> > add()
> > add()
> > add()
> >
> >
> > Think that would suffice? Conceivably, a problem could still occur in a
> > connection filter, but remember: we're talking about *request* errors here.
> > I believe we can assume the connection is fine.
>
> Only do 2 adds, and I can live with this. We need to review the
> comments I made when I originally committed reset_filters, because I was
> seeing an annoying bug that I want to be sure we don't put back though.
>
What greg suggests works great (and doesn't appear to re-introduce the bug
you speak of).... here's the patch:
Index: modules/http/http_protocol.c
===================================================================
RCS file: /home/cvspublic/httpd-2.0/modules/http/http_protocol.c,v
retrieving revision 1.323
diff -u -r1.323 http_protocol.c
--- modules/http/http_protocol.c 2001/06/04 21:43:08 1.323
+++ modules/http/http_protocol.c 2001/06/06 05:29:23
@@ -1745,9 +1745,8 @@
static void reset_filters(request_rec *r)
{
- r->connection->output_filters = r->output_filters = NULL;
- ap_add_output_filter("CORE", NULL, NULL, r->connection);
r->output_filters = r->connection->output_filters;
ap_add_output_filter("CONTENT_LENGTH", NULL, r, r->connection);
ap_add_output_filter("HTTP_HEADER", NULL, r, r->connection);
}