From 70cf75f60929837a4e61433f2598abb942c415c4 Mon Sep 17 00:00:00 2001 From: Ruediger Pluem Date: Fri, 29 Sep 2006 13:39:53 +0000 Subject: [PATCH] * Notice a timeout as an error message. This might be valuable for detecting clients with broken network connections or possible DoS attacks. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@451287 13f79535-47bb-0310-9956-ffa450edef68 --- modules/http/http_request.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/modules/http/http_request.c b/modules/http/http_request.c index b8bc300d08..545d8b4d43 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -276,6 +276,7 @@ void ap_process_request(request_rec *r) 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 @@ void ap_process_request(request_rec *r) 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); -- 2.40.0