httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From TOKI...@aol.com
Subject Re: early close crash (2.0b1)
Date Wed, 20 Dec 2000 20:39:33 GMT

The ultimate test to make sure it's OK is to 
issue a connect from a client ( Telnet ) and then be 
sure to disconnect immediately without sending
anything. Not even a CR.

This is actually what the BigIP Load balancing software and
other front-ends do as a 'polling' scheme to make sure all
the back-end servers are 'alive'. BigIP does it once every 15
seconds for every server it knows about. If the 'connect' 
failes it takes that Server 'out of service' until it comes
back again.

Yours.
Kevin Kiley
CTO, Remote Communications, Inc.

In a message dated 00-12-20 19:36:18 EST, Ryan writes...

> Good catch.  Please apply before the beta.
>  
>  Ryan
>  
>  On Wed, 20 Dec 2000, Allan Edwards wrote:
>  
>  > This problem was hit on NT but it looks like it will be 
>  > a problem on other platforms too. If the connection is 
>  > closed before a complete request is received the server
>  > will crash in ap_http_filter due to an empty brigade.
>  > 
>  > I believe this patch will fix the problem but still being 
>  > on the learning curve for input filtering I'd appreciate
>  > other eyes making sure nothing was missed.
>  > 
>  > Allan
>  > 
>  > Index: http_protocol.c
>  > ===================================================================
>  > RCS file: /home/cvs/httpd-2.0/modules/http/http_protocol.c,v
>  > retrieving revision 1.258
>  > diff -u -d -b -r1.258 http_protocol.c
>  > --- http_protocol.c    2000/12/20 23:13:01 1.258
>  > +++ http_protocol.c    2000/12/20 23:49:13
>  > @@ -969,6 +969,10 @@
>  >          const char *str;
>  >          apr_size_t length;
>  >  
>  > +        if (AP_BRIGADE_EMPTY(ctx->b)) {
>  > +            return APR_EOF;
>  > +            }
>  > +
>  >          e = AP_BRIGADE_FIRST(ctx->b);
>  >          while (e->length == 0) {
>  >              AP_BUCKET_REMOVE(e);
>  > 
>  > 
>  

Mime
View raw message