Re: Post-2.2 Thoughts

2005-05-09 Thread Ben Laurie
Paul Querna wrote:
So, here is my short-list-made-up-this-afternoon of things I would like
to look at doing after 2.2 is branched/released as GA.  I welcome
additions too.
1) Eliminate the HTTP in HTTPD.  I would like to be able to compile
httpd with --disable-http.  Currently the 'http core' is half mangled
with the 'core core'.
This was one of the original goals for httpd 2 - so I'm pleased to hear 
its been revived.

--
http://www.apache-ssl.org/ben.html   http://www.thebunker.net/
There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit. - Robert Woodruff


Re: Post-2.2 Thoughts

2005-05-09 Thread Stas Bekman
Paul Querna wrote:
So, here is my short-list-made-up-this-afternoon of things I would like
to look at doing after 2.2 is branched/released as GA.  I welcome
additions too.
1) Eliminate the HTTP in HTTPD.  I would like to be able to compile
httpd with --disable-http.  Currently the 'http core' is half mangled
with the 'core core'.
and then we will have 'httpd' that can't serve http, how ironic :)
may be 2.2 should rename 'httpd' to something more realistic?
--
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Re: Post-2.2 Thoughts

2005-05-09 Thread Sander Temme
On May 9, 2005, at 5:27 PM, Stas Bekman wrote:
1) Eliminate the HTTP in HTTPD.  I would like to be able to compile
and then we will have 'httpd' that can't serve http, how ironic :)
may be 2.2 should rename 'httpd' to something more realistic?
Like 'ApacheSuperServer'...
S.
--
[EMAIL PROTECTED]  http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF


smime.p7s
Description: S/MIME cryptographic signature


Re: Post-2.2 Thoughts

2005-05-08 Thread Paul Querna
Rasmus Lerdorf wrote:
 Paul Querna wrote:
 
So, here is my short-list-made-up-this-afternoon of things I would like
to look at doing after 2.2 is branched/released as GA.  I welcome
additions too.

1) Eliminate the HTTP in HTTPD.  I would like to be able to compile
httpd with --disable-http.  Currently the 'http core' is half mangled
with the 'core core'.

2) Add a major Protocol Module.  I would like to add a major protocol
module, besides http, into the mainline distribution.  I believe adding
a FTP Server Module would be the best one to start with.  Many of the
paradigms are the same, but it is different enough to help with Goal #1,
eliminating the dependence on http.
 
 
 Is there a demand for this, or are we doing this just because we can?
 It seems like an odd way to force code cleanup to me.

I thought doing FTP would be interesting, and provide a good alternative
for sites that are doing high volume anonymous FTP.  For example,
consider mirror servers, which currently need two server programs and
two configuration files. With 'httpd' one set of permissions and one
config could serve both http and ftp.  I think its a cool application.




Re: Post-2.2 Thoughts

2005-05-08 Thread Jim Jagielski
Paul Querna wrote:
 
 I thought doing FTP would be interesting, and provide a good alternative
 for sites that are doing high volume anonymous FTP.  For example,
 consider mirror servers, which currently need two server programs and
 two configuration files. With 'httpd' one set of permissions and one
 config could serve both http and ftp.  I think its a cool application.
 

It actually is. I'm excited about donating Covalent's mod_ftp module
which has been used (and still currently is) by many extremely high-end
FTP sites... As mentioned previously, once ERS3 is released by Covalent,
mod_ftp is likely to enter incubation (already rec'd positive votes by
both HTTPD PMC and Incubator PMC).


-- 
===
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
There 10 types of people: those who read binary and everyone else.


Re: Post-2.2 Thoughts

2005-05-08 Thread Phillip Susi
Paul Querna wrote:
So, here is my short-list-made-up-this-afternoon of things I would like
to look at doing after 2.2 is branched/released as GA.  I welcome
additions too.
1) Eliminate the HTTP in HTTPD.  I would like to be able to compile
httpd with --disable-http.  Currently the 'http core' is half mangled
with the 'core core'.
 

I like this idea.  I think one of the best and most important things 
that apache is doing these days is trying to migrate away from being a 
web server and towards a generic server platform.  Eventually I would 
like to be able to run apache to serve web content, email ( smtp as well 
as pop3 ), and subversion repositories and other file shares ( possible 
now ). 

2) Add a major Protocol Module.  I would like to add a major protocol
module, besides http, into the mainline distribution.  I believe adding
a FTP Server Module would be the best one to start with.  Many of the
paradigms are the same, but it is different enough to help with Goal #1,
eliminating the dependence on http.
 

Sounds good.  FTP would offer the path of least resistance and help to 
eliminate the dependence on http.  I do not however, think that it has 
long term use in its own right, because ftp is being replaced with 
http/webdav. 

3) Asynchronous Connection Level Filters.  This one needs much more
thought, but the basic goal is to allow the Event MPM to do all of the
initial HTTP parsing without a worker. (eg, reading the headers).  Once
the headers are read, it would pass the request off to a worker.  I
don't think trying to make the different Hooks or Handlers Asynchronous
will be that helpful, but Connection Level Filters would need a
re-design to handle this idea.  I don't personally have a clear picture
how this would all work yet, and really want the input of everyone else.
 

I'm not quite sure what you mean here, but that is probably because I'm 
new to hacking on apache, so forgive me if this is a stupid question.  
As I understand it now, the MPM receives data from the socket and places 
it into a bucket, attaches the bucket to the brigade, and calls the 
lowest level filter, passing it the bucket.  Each filter in the chain 
then can modify the brigade, and can pass the bucket to the next filter, 
or possibly call back down the chain to the mpm to get more data.  
Eventually the brigade makes it to the handler which forms a reply and 
passes it back down the chain to the mpm to send out on the socket.  Is 
this about correct?  Where do workers fit in?

4) Configuration.  I would like to look at enabling different
configuration systems.  A major change would be to allow more runtime
configuration changes.  Others have mentioned using XML -- Im not sold
on it, and I don't think XML should be an exclusive method, but perhaps
an alternative file format.
I don't think I can do all of these myself.  If we did all of them, it
could be a '3.0'.  I am not sure if the project is ready for a 3.0 yet,
and in some ways, I think after 2.2 we should pick a few key things and
target them for '2.4'. But, it doesn't matter, this is open source, not
some commercial product :)
These are the types of things I would love to talk about at the
Hackathon before ApacheCon this summer. I am seeding them now, in the
hope that other minds will start hacking on new ideas for httpd.
-Paul
 




Re: Post-2.2 Thoughts

2005-05-08 Thread Olaf van der Spek
On 5/8/05, Phillip Susi [EMAIL PROTECTED] wrote:
 I like this idea.  I think one of the best and most important things
 that apache is doing these days is trying to migrate away from being a
 web server and towards a generic server platform.  Eventually I would
 like to be able to run apache to serve web content, email ( smtp as well
 as pop3 ), and subversion repositories and other file shares ( possible

pop3? What happened to imap?

 I'm not quite sure what you mean here, but that is probably because I'm
 new to hacking on apache, so forgive me if this is a stupid question.
 As I understand it now, the MPM receives data from the socket and places
 it into a bucket, attaches the bucket to the brigade, and calls the
 lowest level filter, passing it the bucket.  Each filter in the chain
 then can modify the brigade, and can pass the bucket to the next filter,
 or possibly call back down the chain to the mpm to get more data.
 Eventually the brigade makes it to the handler which forms a reply and
 passes it back down the chain to the mpm to send out on the socket.  Is
 this about correct?  Where do workers fit in?

I'd guess the socket handling code would be single-threaded. But you
can't block the entire server to handle a single request, so the
request would be handled in a thread of even another process.


Re: Post-2.2 Thoughts

2005-05-08 Thread Ben Collins-Sussman
On May 8, 2005, at 3:15 PM, Olaf van der Spek wrote:
On 5/8/05, Phillip Susi [EMAIL PROTECTED] wrote:
I like this idea.  I think one of the best and most important things
that apache is doing these days is trying to migrate away from  
being a
web server and towards a generic server platform.  Eventually I would
like to be able to run apache to serve web content, email ( smtp  
as well
as pop3 ), and subversion repositories and other file shares  
( possible

pop3? What happened to imap?
Actually, there have been jokes in the past about performing  
Subversion's native 'svnserve' protocol buried in HTTP requests.  But  
maybe it's no longer a joke... if this abstraction happens, then  
maybe apache could be taught to speak it natively!



Re: Post-2.2 Thoughts

2005-05-08 Thread Paul Querna
Ben Collins-Sussman wrote:
 
 On May 8, 2005, at 3:15 PM, Olaf van der Spek wrote:
 
 On 5/8/05, Phillip Susi [EMAIL PROTECTED] wrote:

 I like this idea.  I think one of the best and most important things
 that apache is doing these days is trying to migrate away from  being a
 web server and towards a generic server platform.  Eventually I would
 like to be able to run apache to serve web content, email ( smtp  as
 well
 as pop3 ), and subversion repositories and other file shares  ( possible


 pop3? What happened to imap?

 
 Actually, there have been jokes in the past about performing 
 Subversion's native 'svnserve' protocol buried in HTTP requests.  But 
 maybe it's no longer a joke... if this abstraction happens, then  maybe
 apache could be taught to speak it natively!
 
 

I had a hacked up 'mod_svnserve' several months ago, and got it to the
level of speaking a little bit to clients I will look at posting it
sometime.

-Paul


Re: Post-2.2 Thoughts

2005-05-08 Thread Eli Marmor
Paul Querna wrote:
 
 Ben Collins-Sussman wrote:
 
  On May 8, 2005, at 3:15 PM, Olaf van der Spek wrote:
 
  On 5/8/05, Phillip Susi [EMAIL PROTECTED] wrote:
 
  ...
 
  ...
 
 
  ...
 
 
 I had a hacked up 'mod_svnserve' several months ago, and got it to the
 level of speaking a little bit to clients I will look at posting it
 sometime.

What about adding mod_svnserve, mod_pop3, and mod_ftp to
modules/experimental with default configuration as no even when the
most flag is used?

-- 
Eli Marmor
[EMAIL PROTECTED]
Netmask (El-Mar) Internet Technologies Ltd.
__
Tel.:   +972-9-766-1020  8 Yad-Harutzim St.
Fax.:   +972-9-766-1314  P.O.B. 7004
Mobile: +972-50-5237338  Kfar-Saba 44641, Israel


Post-2.2 Thoughts

2005-05-07 Thread Paul Querna
So, here is my short-list-made-up-this-afternoon of things I would like
to look at doing after 2.2 is branched/released as GA.  I welcome
additions too.

1) Eliminate the HTTP in HTTPD.  I would like to be able to compile
httpd with --disable-http.  Currently the 'http core' is half mangled
with the 'core core'.

2) Add a major Protocol Module.  I would like to add a major protocol
module, besides http, into the mainline distribution.  I believe adding
a FTP Server Module would be the best one to start with.  Many of the
paradigms are the same, but it is different enough to help with Goal #1,
eliminating the dependence on http.

3) Asynchronous Connection Level Filters.  This one needs much more
thought, but the basic goal is to allow the Event MPM to do all of the
initial HTTP parsing without a worker. (eg, reading the headers).  Once
the headers are read, it would pass the request off to a worker.  I
don't think trying to make the different Hooks or Handlers Asynchronous
will be that helpful, but Connection Level Filters would need a
re-design to handle this idea.  I don't personally have a clear picture
how this would all work yet, and really want the input of everyone else.

4) Configuration.  I would like to look at enabling different
configuration systems.  A major change would be to allow more runtime
configuration changes.  Others have mentioned using XML -- Im not sold
on it, and I don't think XML should be an exclusive method, but perhaps
an alternative file format.

I don't think I can do all of these myself.  If we did all of them, it
could be a '3.0'.  I am not sure if the project is ready for a 3.0 yet,
and in some ways, I think after 2.2 we should pick a few key things and
target them for '2.4'. But, it doesn't matter, this is open source, not
some commercial product :)

These are the types of things I would love to talk about at the
Hackathon before ApacheCon this summer. I am seeding them now, in the
hope that other minds will start hacking on new ideas for httpd.

-Paul


Re: Post-2.2 Thoughts

2005-05-07 Thread Rasmus Lerdorf
Paul Querna wrote:
 So, here is my short-list-made-up-this-afternoon of things I would like
 to look at doing after 2.2 is branched/released as GA.  I welcome
 additions too.
 
 1) Eliminate the HTTP in HTTPD.  I would like to be able to compile
 httpd with --disable-http.  Currently the 'http core' is half mangled
 with the 'core core'.
 
 2) Add a major Protocol Module.  I would like to add a major protocol
 module, besides http, into the mainline distribution.  I believe adding
 a FTP Server Module would be the best one to start with.  Many of the
 paradigms are the same, but it is different enough to help with Goal #1,
 eliminating the dependence on http.

Is there a demand for this, or are we doing this just because we can?
It seems like an odd way to force code cleanup to me.

-Rasmus