You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2003/07/15 21:32:42 UTC

Re: [PATCH] UDP Listeners (was Re: DNS+HTTP redirection system inside an Apache module)

At 08:30 AM 7/15/2003, Michal Szymaniak wrote:

>What we have now, is a working UDP listener with two custom functions,
>'accept' and 'process'. Since accept's are serialized, we don't want to do
>any long-lasting stuff there. So, inside 'accept', we only retrieve all
>immediately-available datagrams, create a fake TCP socket to be
>returned (to fool some MPMs, such as worker, which tries to close the
>socket in some special cases), and register the listener inside the
>transaction pool, together with a list of the just-received datagrams (see
>dns_comm.c::dns_comm_accept_udp()).

First off, this should be considered a bug... that code SHOULD be handled
by the core, not the MPM.  We need an alternative for those special cases 
inside the worker MPM instead of directly manipulating the socket.  Hooks
would be fine here.  But let's not inject crufty workarounds when the real
answer is to just fix the bug.

Other 'protocol modules', eg pop3, also do interesting things with sockets.
The MPM should really avoid interacting with them directly.

>All this shows that running UDP in Apache can make sense, and I tried
>to get some attention about it one year ago.. But somehow everybody
>thought that UDP inside Apache can be used only for HTTP-over-UDP,
>which is indeed controversial.. I hope that full UDP-support will not
>be neglected in the next Apache release :-)

Let me offer one thought here.  I'm -0 on including this patch in Apache for
one very simple reason.  We are a standards-based server.  Yes, UDP is
a clear standard, as is HTTP.  But in order to incorporate your patch, I would
want to see nothing less than a draft RFC explaining the what and why of
what you are accomplishing, with community review.

Apache is a community project that tries to fill the need of the entire
community.  Without such review, this feature might be a great add-in
module (yes, we will help you find or add the right hooks), but it shouldn't
become part of the core distribution without RFC community discussion.
(IMHO).  Feel free to announce the draft RFC review discussion to this
list, it belongs on the IANA HTTP listserv, not here.

Bill



Re: [PATCH] UDP Listeners (was Re: DNS+HTTP redirection system inside an Apache module)

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
At 02:55 PM 7/15/2003, Jeff Trawick wrote:

>I thought the issue at hand was how to make it straightforward for a 3rd-party module to accomplish a specific task within the Apache server framework.

Ahhh, as a third party module, yes I would strongly support that.  Providing
base tcp, udp, maybe even the lightweight telnet 'protocol' without the specific
glue to do anything in particular could all be good core features.  I mention the
lightweight telnet implementation only because it is a common denominator
to several protocols, smtp, ftp etc.

Implementing pop3/smtp, or even http over udp in the core was what I was
suggesting we avoid ... as you say, third party add ons (or ASF module
subprojects) for the big stuff is the way to go for those implementations.

Bill



Re: [PATCH] UDP Listeners (was Re: DNS+HTTP redirection system inside an Apache module)

Posted by Ben Laurie <be...@algroup.co.uk>.
William A. Rowe, Jr. wrote:
>>All this shows that running UDP in Apache can make sense, and I tried
>>to get some attention about it one year ago.. But somehow everybody
>>thought that UDP inside Apache can be used only for HTTP-over-UDP,
>>which is indeed controversial.. I hope that full UDP-support will not
>>be neglected in the next Apache release :-)
> 
> 
> Let me offer one thought here.  I'm -0 on including this patch in Apache for
> one very simple reason.  We are a standards-based server.  Yes, UDP is
> a clear standard, as is HTTP.  But in order to incorporate your patch, I would
> want to see nothing less than a draft RFC explaining the what and why of
> what you are accomplishing, with community review.

I agree with the rest of what you said, but this doesn't seem right to
me, unless I'm misunderstanding. For a start, RFCs are not appropriate
for software architecture. Secondly, there's a ton of RFCs describing
services based on UDP. I can see no problem with having Apache have
generalised support for such services.

But perhaps I'm missing the point?

Cheers,

Ben.

-- 
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: [PATCH] UDP Listeners (was Re: DNS+HTTP redirection system inside an Apache module)

Posted by Jeff Trawick <tr...@attglobal.net>.
William A. Rowe, Jr. wrote:

> Let me offer one thought here.  I'm -0 on including this patch in Apache for
> one very simple reason.  We are a standards-based server.  Yes, UDP is
> a clear standard, as is HTTP.  But in order to incorporate your patch, I would
> want to see nothing less than a draft RFC explaining the what and why of
> what you are accomplishing, with community review.

I don't see what "standards-based" as to do with the discussion, unless 
somebody is proposing to distribute the whole #! with Apache httpd. 
Independent of our standards-based HTTP implementation, we have an 
infrastructure that can be useful for implementors of other protocols. 
Whether those protocols are standards based or not is not the concern of 
the infrastructure.

I thought the issue at hand was how to make it straightforward for a 
3rd-party module to accomplish a specific task within the Apache server 
framework.