You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by rb...@covalent.net on 2000/08/16 21:15:38 UTC
Re: cvs commit: apache-2.0/src/main http_core.c
This doesn't solve anything. As per my last e-mail, this only works when
all filters are inserted via insert_filters hooks. Since that isn't true,
and we have never said it would be true, this doesn't solve anything.
On 16 Aug 2000 gstein@locus.apache.org wrote:
> gstein 00/08/16 12:03:28
>
> Modified: src/main http_core.c
> Log:
> fix the insertion of the CORE filter. it should be happen last.
>
_______________________________________________________________________________
Ryan Bloom rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------
Re: cvs commit: apache-2.0/src/main http_core.c
Posted by rb...@covalent.net.
It doesn't reverse the problem. By using a LIFO, we can be sure that we
insert the filters that must be done at the end (the filters provided by
the core) are inserted first, and then any other filter is put on top of
them.
Because most of the Transport filters will not be inserted when we do
insert_filters, we remove all of these problems. The only time this
problem comes up again, is if we have a transport filter that is inserted
at during the insert_filters phase, but it has to come after some other
modules transport filter.
For example, if we insert the chunking filter in core_insert_filters, we
would have problems, because this would break SSL modules. Since all of
the transport modules other than core and SSL should be inserted as we
notice things about the headers, this is a non-issue.
Please provide an example of where the stack doesn't work.
Ryan
On Wed, 16 Aug 2000, Greg Stein wrote:
> That simply reverses the problem. We are having issues related to when
> people add filters, and how that when maps to "where in the chain". The
> filter types provide the correct ordering when the insert_filter hooks
> cannot properly resolve the problem.
>
> Cheers,
> -g
>
> On Wed, Aug 16, 2000 at 12:33:30PM -0700, rbb@covalent.net wrote:
> >
> > Is there a reason just using a LIFO stack won't work? I have given it
> > quite a bit of thought, and it seems to work. I haven't come up with a
> > case where it doesn't work, and it is cleaner and easier to understand
> > than having five or six kinds of filters.
> >
> > Ryan
> >
> > On Wed, 16 Aug 2000, Greg Stein wrote:
> >
> > > When we first outlined this stuff, we had a whole bunch of filter types. In
> > > my register/add_filter stuff, I coalesced them to two types. This was based
> > > on using the ordering of the insert_filters hook to get them inserted in a
> > > reasonable order.
> > >
> > > Since we cannot actually depend on the hook ordering now for this change,
> > > then the proper solution is to re-introduce some of the filter types that we
> > > had envisioned earlier in the process.
> > >
> > > Specifically, I would recommend adding AP_FTYPE_NETWORK and making the CORE
> > > filter have that type. Thus, if we add filters as N1, F1, C1, and F2, we get
> > > a final chain of F1, F2, C1, N1.
> > >
> > > Cheers,
> > > -g
> > >
> > > On Wed, Aug 16, 2000 at 12:15:38PM -0700, rbb@covalent.net wrote:
> > > >
> > > > This doesn't solve anything. As per my last e-mail, this only works when
> > > > all filters are inserted via insert_filters hooks. Since that isn't true,
> > > > and we have never said it would be true, this doesn't solve anything.
> > > >
> > > > On 16 Aug 2000 gstein@locus.apache.org wrote:
> > > >
> > > > > gstein 00/08/16 12:03:28
> > > > >
> > > > > Modified: src/main http_core.c
> > > > > Log:
> > > > > fix the insertion of the CORE filter. it should be happen last.
> > > > >
> > > >
> > > >
> > > > _______________________________________________________________________________
> > > > Ryan Bloom rbb@apache.org
> > > > 406 29th St.
> > > > San Francisco, CA 94131
> > > > -------------------------------------------------------------------------------
> > >
> > > --
> > > Greg Stein, http://www.lyra.org/
> > >
> >
> >
> > _______________________________________________________________________________
> > Ryan Bloom rbb@apache.org
> > 406 29th St.
> > San Francisco, CA 94131
> > -------------------------------------------------------------------------------
>
> --
> Greg Stein, http://www.lyra.org/
>
_______________________________________________________________________________
Ryan Bloom rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------
Re: cvs commit: apache-2.0/src/main http_core.c
Posted by Greg Stein <gs...@lyra.org>.
That simply reverses the problem. We are having issues related to when
people add filters, and how that when maps to "where in the chain". The
filter types provide the correct ordering when the insert_filter hooks
cannot properly resolve the problem.
Cheers,
-g
On Wed, Aug 16, 2000 at 12:33:30PM -0700, rbb@covalent.net wrote:
>
> Is there a reason just using a LIFO stack won't work? I have given it
> quite a bit of thought, and it seems to work. I haven't come up with a
> case where it doesn't work, and it is cleaner and easier to understand
> than having five or six kinds of filters.
>
> Ryan
>
> On Wed, 16 Aug 2000, Greg Stein wrote:
>
> > When we first outlined this stuff, we had a whole bunch of filter types. In
> > my register/add_filter stuff, I coalesced them to two types. This was based
> > on using the ordering of the insert_filters hook to get them inserted in a
> > reasonable order.
> >
> > Since we cannot actually depend on the hook ordering now for this change,
> > then the proper solution is to re-introduce some of the filter types that we
> > had envisioned earlier in the process.
> >
> > Specifically, I would recommend adding AP_FTYPE_NETWORK and making the CORE
> > filter have that type. Thus, if we add filters as N1, F1, C1, and F2, we get
> > a final chain of F1, F2, C1, N1.
> >
> > Cheers,
> > -g
> >
> > On Wed, Aug 16, 2000 at 12:15:38PM -0700, rbb@covalent.net wrote:
> > >
> > > This doesn't solve anything. As per my last e-mail, this only works when
> > > all filters are inserted via insert_filters hooks. Since that isn't true,
> > > and we have never said it would be true, this doesn't solve anything.
> > >
> > > On 16 Aug 2000 gstein@locus.apache.org wrote:
> > >
> > > > gstein 00/08/16 12:03:28
> > > >
> > > > Modified: src/main http_core.c
> > > > Log:
> > > > fix the insertion of the CORE filter. it should be happen last.
> > > >
> > >
> > >
> > > _______________________________________________________________________________
> > > Ryan Bloom rbb@apache.org
> > > 406 29th St.
> > > San Francisco, CA 94131
> > > -------------------------------------------------------------------------------
> >
> > --
> > Greg Stein, http://www.lyra.org/
> >
>
>
> _______________________________________________________________________________
> Ryan Bloom rbb@apache.org
> 406 29th St.
> San Francisco, CA 94131
> -------------------------------------------------------------------------------
--
Greg Stein, http://www.lyra.org/
Re: cvs commit: apache-2.0/src/main http_core.c
Posted by rb...@covalent.net.
Is there a reason just using a LIFO stack won't work? I have given it
quite a bit of thought, and it seems to work. I haven't come up with a
case where it doesn't work, and it is cleaner and easier to understand
than having five or six kinds of filters.
Ryan
On Wed, 16 Aug 2000, Greg Stein wrote:
> When we first outlined this stuff, we had a whole bunch of filter types. In
> my register/add_filter stuff, I coalesced them to two types. This was based
> on using the ordering of the insert_filters hook to get them inserted in a
> reasonable order.
>
> Since we cannot actually depend on the hook ordering now for this change,
> then the proper solution is to re-introduce some of the filter types that we
> had envisioned earlier in the process.
>
> Specifically, I would recommend adding AP_FTYPE_NETWORK and making the CORE
> filter have that type. Thus, if we add filters as N1, F1, C1, and F2, we get
> a final chain of F1, F2, C1, N1.
>
> Cheers,
> -g
>
> On Wed, Aug 16, 2000 at 12:15:38PM -0700, rbb@covalent.net wrote:
> >
> > This doesn't solve anything. As per my last e-mail, this only works when
> > all filters are inserted via insert_filters hooks. Since that isn't true,
> > and we have never said it would be true, this doesn't solve anything.
> >
> > On 16 Aug 2000 gstein@locus.apache.org wrote:
> >
> > > gstein 00/08/16 12:03:28
> > >
> > > Modified: src/main http_core.c
> > > Log:
> > > fix the insertion of the CORE filter. it should be happen last.
> > >
> >
> >
> > _______________________________________________________________________________
> > Ryan Bloom rbb@apache.org
> > 406 29th St.
> > San Francisco, CA 94131
> > -------------------------------------------------------------------------------
>
> --
> Greg Stein, http://www.lyra.org/
>
_______________________________________________________________________________
Ryan Bloom rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------
Re: cvs commit: apache-2.0/src/main http_core.c
Posted by Greg Stein <gs...@lyra.org>.
When we first outlined this stuff, we had a whole bunch of filter types. In
my register/add_filter stuff, I coalesced them to two types. This was based
on using the ordering of the insert_filters hook to get them inserted in a
reasonable order.
Since we cannot actually depend on the hook ordering now for this change,
then the proper solution is to re-introduce some of the filter types that we
had envisioned earlier in the process.
Specifically, I would recommend adding AP_FTYPE_NETWORK and making the CORE
filter have that type. Thus, if we add filters as N1, F1, C1, and F2, we get
a final chain of F1, F2, C1, N1.
Cheers,
-g
On Wed, Aug 16, 2000 at 12:15:38PM -0700, rbb@covalent.net wrote:
>
> This doesn't solve anything. As per my last e-mail, this only works when
> all filters are inserted via insert_filters hooks. Since that isn't true,
> and we have never said it would be true, this doesn't solve anything.
>
> On 16 Aug 2000 gstein@locus.apache.org wrote:
>
> > gstein 00/08/16 12:03:28
> >
> > Modified: src/main http_core.c
> > Log:
> > fix the insertion of the CORE filter. it should be happen last.
> >
>
>
> _______________________________________________________________________________
> Ryan Bloom rbb@apache.org
> 406 29th St.
> San Francisco, CA 94131
> -------------------------------------------------------------------------------
--
Greg Stein, http://www.lyra.org/