httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rpl...@apache.org
Subject svn commit: r451287 - /httpd/httpd/trunk/modules/http/http_request.c
Date Fri, 29 Sep 2006 13:39:54 GMT
Author: rpluem
Date: Fri Sep 29 06:39:53 2006
New Revision: 451287

URL: http://svn.apache.org/viewvc?view=rev&rev=451287
Log:
* Notice a timeout as an error message. This might be valuable for detecting
  clients with broken network connections or possible DoS attacks.

Modified:
    httpd/httpd/trunk/modules/http/http_request.c

Modified: httpd/httpd/trunk/modules/http/http_request.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http/http_request.c?view=diff&rev=451287&r1=451286&r2=451287
==============================================================================
--- httpd/httpd/trunk/modules/http/http_request.c (original)
+++ httpd/httpd/trunk/modules/http/http_request.c Fri Sep 29 06:39:53 2006
@@ -276,6 +276,7 @@
     apr_bucket_brigade *bb;
     apr_bucket *b;
     conn_rec *c = r->connection;
+    apr_status_t rv;
 
     ap_process_async_request(r);
 
@@ -283,7 +284,20 @@
         bb = apr_brigade_create(c->pool, c->bucket_alloc);
         b = apr_bucket_flush_create(c->bucket_alloc);
         APR_BRIGADE_INSERT_HEAD(bb, b);
-        ap_pass_brigade(c->output_filters, bb);
+        rv = ap_pass_brigade(c->output_filters, bb);
+        if (rv == APR_TIMEUP) {
+            /*
+             * Notice a timeout as an error message. This might be
+             * valuable for detecting clients with broken network
+             * connections or possible DoS attacks.
+             *
+             * It is still save to use r / r->pool here as the eor bucket
+             * could not have been destroyed in the event of a timeout.
+             */
+            ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
+                          "Timeout while writing data for URI %s to the"
+                          " client", r->unparsed_uri);
+        }
     }
     if (ap_extended_status) {
         ap_time_process_request(c->sbh, STOP_PREQUEST);



Mime
View raw message