httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Kew <>
Subject Re: Listen-Protocol branch is ready for review
Date Wed, 01 Jun 2005 19:54:44 GMT
Paul Querna wrote:

>>I have completed what I intend to do with the listen-protocol branch.  I
>>would love some code review and criticism.

I'd love some time ...

>>Currently, the 'httpready' Accept Filter is always applied on FreeBSD.
>>This breaks protocols like NNTP where the server must send data first.

OK, I can see that the idea in general makes sense, and that's
an instance of why.

OTOH, how useful is apache really for nontrivial non-http applications,
given just how much lives on the very HTTP-centric request_rec?
Not that I'm trying to raise an objection:-)

>>Short: Existing Configurations should behave nearly the same.


>>Extended the 'Listen' directive.


  Now optionally takes a protocol.  If
>>none is specified, it uses 'http'. (backwards compat)
>># both of these are equivalent.
>>Listen http
>># defaults to http
>># Force these to HTTPS
>>Listen https
>>Listen https
>>Added the 'Protocol' directive.  Sets the protocol for a server_rec. Can
>>inherit from a Listener. (eg, <VirtualHost> will inherit the
>>'Protocol https' from the above Listen lines.)

Where does it live?  It can't live in a namevirtualhost.  If it can
live in an IP/port virtual host, that'll get confusing!  And, as you
just demonstrated, it's redundant.  Or am I missing something?

>>Added 'AcceptFilter' directive. This takes 2 args, the protocol and the
>>name of an Accept Filter. It does include defaults values:
>> FreeBSD:
>>   AcceptFilter http httpready
>>   AcceptFilter https dataready
>> Linux:
>>   AcceptFilter http data
>>   AcceptFilter https data

Is that an ap_provider or something lower-level?

>>On Linux, any value will enable TCP_DEFER_ACCEPT.
>>Setting the name to 'none' will disable any accept filter for that
>>protocol.  To fix the nntp test in the Perl-Test-Framework, just add:
>>  Listen 119 nntp
>>  # AcceptFilter nntp none
>>(The AcceptFilter directive is not required, since it defaults to none,
>>if the protocol doesn't have a default entry)

Where are default entries defined?  Hardwired, or in httpd.conf?

>>Changed mod_ssl, to enable itself for any virtual hosts that are using
>>the 'https' protocol.  This means 'SSLEngine on' is no longer required
>>to enable mod_ssl.  We might not want merge this change, until a more
>>robust solution for registering protocols could be done. (I would like
>>to investigate doing that after trunk is branched.)

Looks good to me.

>>To test the sandbox branch in your local working copy:
>>svn merge -r 168457:HEAD
>> .

You around this weekend on IRC?  If I have [any] time ....

Nick Kew

View raw message