httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <...@covalent.net>
Subject Re: Apache 2.0 for multi protocol usage
Date Mon, 09 Apr 2001 20:11:18 GMT
On Mon, 9 Apr 2001, William A. Rowe, Jr. wrote:

> From: <rbb@covalent.net>
> Sent: Monday, April 09, 2001 2:40 PM
>
>
> > On Mon, 9 Apr 2001, Greg Stein wrote:
> >
> > > On Mon, Apr 09, 2001 at 08:15:03AM -0700, rbb@covalent.net wrote:
> >
> > > > > And punt that darn state_rec thing.
> > > >
> > > > Punting the state_rec means that the only protocol that is optimized is
> > > > HTTP.  We can continue to optimize HTTP by having the request_rec have
two
> > > > pointers, one to the state and one to the connection_rec.  That solves
> > > > this problem.
> > >
> > > I'm fine with the per-protocol request record referring to an auth_rec. No
> > > problem there. But building another layer into the core server doesn't sit
> > > well at all.
> >
> > Why not?  How many protocols will use the state_rec?  How many won't?
>
> This is why I'm suggesting that a sub-connection rec _could_ solve the problem for
> stateful models.  Just like a sub-request, it's created when needed, ignored when
> it's not.  In any case, FTP might not need one, if auth was dropped into the
> identity chain I suggested just a minute ago.  A module would grab the most relevent
> connection_rec (last sub-connection added to the chain) in most cases.  When the
> part of the stateful session that created the sub-connection finished, it would
> close that sub-connection, leaving the connection flying.

The problem is that a sub-connection is not really the same as the state
record.  Think of this strictly from the point of view of the code.

To do this, we would basically need to put the auth stuff into the
conn_rec, which is where it was in 1.3.  This is just wrong, because most
protocols do not do auth on a connection level.  They also do not do it on
a request level.  Most protocols have a level between connection and
request, and that is where auth is done.  HTTP doesn't.  Fine, but the fix
for this, is to allow the state_rec to be ignored, which we can do by
just putting a pointer to the conn_rec in the request_rec.

Ryan

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------


Mime
View raw message