From: Jeff Trawick Date: Thu, 16 Aug 2001 21:11:30 +0000 (+0000) Subject: check for timeout on socket read when we check for ECONNRESET and eof X-Git-Tag: 2.0.24~41 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=901dab0572cf0a906e1e0d05974bcf48c005596d;p=apache check for timeout on socket read when we check for ECONNRESET and eof previously, we'd die on an assert() (really nasty for threaded MPM) when we hit a keepalive timeout for a browser like netscape which keeps the connection open git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90244 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 11fde01025..94380a1dfb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,8 @@ Changes with Apache 2.0.25-dev + *) Fix an assertion failure in mod_ssl when the keepalive timeout is + reached. [Jeff Trawick] + Changes with Apache 2.0.24 *) Fixed the segfaults in mod_mime introduced by hash tables in 2.0.20. diff --git a/modules/ssl/ssl_engine_io.c b/modules/ssl/ssl_engine_io.c index 6dcad77ca0..64518103ea 100644 --- a/modules/ssl/ssl_engine_io.c +++ b/modules/ssl/ssl_engine_io.c @@ -265,7 +265,8 @@ static apr_status_t churn (SSLFilterRec *pRec, if(len == 0) { /* Lazy frickin browsers just reset instead of shutting down. */ - if(ret == APR_EOF || APR_STATUS_IS_ECONNRESET(ret)) { + /* also gotta handle timeout of keepalive connections */ + if(ret == APR_EOF || APR_STATUS_IS_ECONNRESET(ret) || ret == APR_TIMEUP) { if(APR_BRIGADE_EMPTY(pRec->pbbPendingInput)) return APR_EOF; else